Re: [Gems-users] about a 64-core CMP system


Date: Wed, 28 May 2008 19:17:01 -0500
From: Guoqiang Yang <nkyangguoqiang@xxxxxxxxx>
Subject: Re: [Gems-users] about a 64-core CMP system
Hi there,

I constructed a 64-core CMP system using mesh topology (but FILE_SPECIFIED), with four directories connected to the four corners of the mesh. But when I tried to run a simulation in this system, I ran into error which was mentioned in my last email. After a one-after debugging, I finally found where things went wrong.

I put the following line in my trace file "36 0x2c49ac0 0 LD" for debugging.This line basically said core 36 want to load data in address "0x2c49ac0". And after the address mapping, the L1 Cache controller decided to access L2 Cache with "m_version = 4". So it issues GETS to that L2 Cache Controller, but surprisingly L2 Cache Controller with "m_version = 36" wakes up and tries to process that request. And when the L2 cache controller tries to add the requester into sharer list, it figures out that it should process this data, and reports the runtime error given in my last email. To be precisely, error happens in file L2Cache_addSharer.C line 15.

Could anyone tell me why this would happen?

Many thanks,

Guoqiang Yang
=============================
Hi there,

I tried to construct a CMP system with 64 cores, using the way that Bruno mentioned several days ago. But I finally ran into the following error:

Runtime Error at ../protocols/MSI_MOSI_CMP_directory-L2cache.sm:275, Ruby Time: 15: assert failure,

I checked the source code and found that it failed in L2Cache_addSharer.C, where it tries to make sure that "map_L1CacheMachId_to_L2Cache(param_addr, param_requestor)) == m_machineID". So, I guess there is something wrong with the L2 mapping or the address mapping for 64-core system.

Does anyone know sth. about this? Any suggestion is appreciated.

Guoqiang Yang
[← Prev in Thread] Current Thread [Next in Thread→]