[Gems-users] Direct cache-to-cache transfer


Date: Thu, 6 May 2010 23:54:38 -0500
From: Byn Choi <bynchoi1@xxxxxxxxxxxx>
Subject: [Gems-users] Direct cache-to-cache transfer
Hello-

I'm using MESI_SCMP_bankdirectory protocol. I am trying to experiment with direct cache-to-cache transfer (without going through the directory) based on predictions.

As a first step, I'm trying to model a "perfect" predictor, by simply looking at the directory (for free) to locate the L1 cache that has the line in E state. I managed to get this information, but I am having trouble actually sending the request through the network.

I suspect that the network isn't setup to handle direct cache-to-cache traffic. In MESI_SCMP_bankdirectory-L1cache.sm, I only see MessageBuffer/s setup to/from L2 bank, nothing to/from other L1 caches. I did try sending a message (destined for one of the L1 caches) through "requestFromL1Cache" MessageBuffer, but I get the following error:

---------------------------------------------------------------------------------
Warning: in fn void MessageBuffer::enqueue(const MsgPtr&, Time) in buffers/MessageBuffer.C:210: *this is [MessageBuffer: [PrioHeap: ]]

Warning: in fn void MessageBuffer::enqueue(const MsgPtr&, Time) in buffers/MessageBuffer.C:211: m_name is Fatal Error: in fn void MessageBuffer::enqueue(const MsgPtr&, Time) in buffers/MessageBuffer.C:212: Ordering property of this queue has not been set
---------------------------------------------------------------------------------

As far as I can tell, this means the MessageBuffer isn't setup correctly - the setOrder() is called at the initialization time for all the MessageBuffer/s that will be used in the experiment.

For now, I can assume something like a crossbar (2D mesh would be more realistic but I expect more trouble in that direction).

I guess my question is: how would one go about setting up stuff like this? Is there some pre-built routines in network/ that I can use to do this?

Thanks,

Byn
[← Prev in Thread] Current Thread [Next in Thread→]
  • [Gems-users] Direct cache-to-cache transfer, Byn Choi <=