How to find dependencies between cores

15 views
Skip to first unread message

Atie

unread,
May 17, 2012, 8:14:15 AM5/17/12
to MV5sim
Hello,

I’m a newbie to MV5. I want to find the data dependency between cores
when a multithreaded program is executed. I mean for each core I want
to find a list of producers and consumers so that if core1 used the
data produced by core2, then core1 is added to consumer list of core2
and core2 is added to the producer list of core1. I am trying to
understand the codes in mem/cache. However, I’d greatly appreciate it
if you let me know in which functions I should focus to implement
this. It's very kind of you if you could guide me.

Thanks in advance,
Regards,
Atie

Atie

unread,
May 20, 2012, 3:17:25 PM5/20/12
to MV5sim
Dear all,

Could anyone please help me on this issue? I want to implement
hardware local checkpointing on a shared memory multiprocessor with
mesi directory-based cache coherency protocol. For this I need to find
which processors communicate each other in a checkpointing interval by
consuming the cache data produced by a specific processor. In order to
do that, I tried to call pkt->getSrc() and pkt->getDest() in
satisfyCpuSideRequest function to find the source and destination
processors of the packet. But it didn't work. Would you please tell me
how can I find the ID of source and destination processors for each
interaction?
I would be extremely grateful if anyone could guide me.

Regards,
Atie

Jiayuan Meng

unread,
Jun 1, 2012, 3:17:08 PM6/1/12
to mv5...@googlegroups.com
Hi Atie,

Sorry, I was traveling during the last few weeks and I missed your email. 

pkt->req->getCpuNum() may be what you need.

Instead, pkt->getSrc/Dest() only returns the port number over the interconnect.

Thanks,

Jiayuan
Reply all
Reply to author
Forward
0 new messages