> I am a little confused by the inter-connect networks implemented in
> GEMS. What does the "chip" stand for? Is it a CMP? Or just a core within
> the CMP?
>
A Chip in Ruby is really just a way to organize some parameters and to
keep track of instances of objects. We usually think of it as number of
processors within a CMP, but you don't have to.
For example, it is used by the CMP protocols to denote which processors
belong to the shared-L2 cluster.
however if your target CMP has multiple shared L2s on the same CMP, then
you could still model this as one CMP even though Ruby has several "Chip"
instantiations".
> I guess the organization here is in a computer system, we can have
> multiple CMP "chips", then within each chip, we have multiple cores. Is
> it right?
>
> If it is correct, I don't understand why you use
> m_nodes/MachineType_base_level(MachineType_NUM) to get the
> numberOfTorusSwitches. And you say it is number of inter-chip switches.
> How do you connect the components with chip?
>
The interconnect model doesn't care about Chips. It just connects
together MessageBuffers which attach to cache controllers.
Yes, its confusing and is an artifact of refactoring our old SMP-only code
to remain backwards compatible with our older SMP protocols (that were not
released).
|