I do not know what the problem is, but just a guess.
The garnet network has a default Macro called INFINITE_ which value
is 10000. This value is used to initialize all the virtual channels
and maybe some other components. If you run 1 billion cycle, and if
some virtual channels are never used( the enqueue time is set to
INFINITE_) , a deadlock might occur.
Some VCs not getting used should not create a deadlock. The deadlock
is because some particular request did not finish within the deadlock
threshold time. If you are running at high activity for a billion
cycles, it could also be that messages are seeing enormously high
latencies and a particular request happens to get unlucky. Note that
in this case it is just bad performance but not a deadlock. Without
more information on what you are exactly doing, it would be difficult
to nail down the problem.
|