Community
cancel
Showing results for 
Search instead for 
Did you mean: 
zhihong_l_
Beginner
234 Views

about Cbo and CAs ,help!

Jump to solution

hi,

I have a question about haswell architecture :

I am reading haswell EDS document, there are 18 cache agent (CBO) in a 8890v3 socket , but when i read at Home agent(chapter 6.0), it says: "Support for up to 8 Caching Agents (CAs)", It seems that one socket has one Caching Agents(CAs).now I am confusing about Cbo and CAs, Are they the same thing ? what's the different between Cbo and CAs?

can anyone help to figure them out ?

 

thanks very much!

rejohn

Tags (1)
0 Kudos
1 Solution
McCalpinJohn
Black Belt
234 Views

I think in this usage the term "Caching Agent" is being used to refer to what might otherwise be called a "node".   The functionality of the "caching agent" is implemented across a set of CBo units -- with addresses hashed across that set of CBo units.   So the functionality of the caching agent is in the CBo's, but it takes multiple CBo's working together to constitute a "Caching Agent".  

"Support for up to 8 Caching Agents" means that there is support for 8 sockets, each acting as one "node".   When a transaction reaches a target "node", a hash on the physical address is used to determine which of the CBo's is going to handle the Caching Agent's responsibilities for that transaction.

View solution in original post

3 Replies
McCalpinJohn
Black Belt
235 Views

I think in this usage the term "Caching Agent" is being used to refer to what might otherwise be called a "node".   The functionality of the "caching agent" is implemented across a set of CBo units -- with addresses hashed across that set of CBo units.   So the functionality of the caching agent is in the CBo's, but it takes multiple CBo's working together to constitute a "Caching Agent".  

"Support for up to 8 Caching Agents" means that there is support for 8 sockets, each acting as one "node".   When a transaction reaches a target "node", a hash on the physical address is used to determine which of the CBo's is going to handle the Caching Agent's responsibilities for that transaction.

View solution in original post

zhihong_l_
Beginner
234 Views

John,

thank you , now I know that.

And if a transaction reaches a target node ,who is the resbonsibility to hash on the physical address to determine the Cbo to handle it ?(the target nodes's QPI agent or HA ? or the request node ?)

 

rejohn

McCalpinJohn
Black Belt
234 Views

I don't think that Intel has documented the chip-internal protocol with enough detail to know how this is implemented.  It is certainly possible that the transaction simply loops around the entire ring and every CBo ignores it except the one that owns that physical address.  The description of the R3QPI box in the Xeon E5 v3 Uncore Performance Monitoring Guide seems to support this interpretation, but that could be a misunderstanding on my part.

I have worked on the design of processors that use "broadcast" mechanisms (where every box sees every transaction), and on processors that distribute mapping tables (and use those to convert requests from "broadcast" to "point-to-point" messages), and on processors that use some of each (depending on the transaction type). 

It seems likely that the Uncore Performance Monitoring Events for "RING_AD_USED" could be used (in combination with carefully generated test cases) to determine whether the ring uses a broadcast or a point-to-point mechanism to implement the mapping of physical addresses to CBo slices.  The details are left as an exercise for the reader....

Reply