Hello
I am modelling a Ruby based CHI multicore, 3-cluster system with two different
configs.
In one config, all the cluster CPUs have a private L2$ and in the other config,
for two clusters, the CPUs share an L2$.
I wanted to check the snoop out traffic at the L2$ controller and the HNCache
controller (in the HNF a shared L3$ is modelled) for the two different configs.
In the stats.txt, I have been looking at the cpux.l2.snpOut.m_buf_msgs metric.
Each of the L2CacheController and HNFCacheController processes the incoming
snpIn request and if the requested cache line resides in another CPU cache will
send out the snpOut request to the CHI network.
Now in MessageBuffer.cc, we have
MessageBuffer::MessageBuffer(const Params &p)
: SimObject(p), m_stall_map_size(0),
m_max_size(p.buffer_size), m_time_last_time_size_checked(0),
m_time_last_time_enqueue(0), m_time_last_time_pop(0),
m_last_arrival_time(0), m_strict_fifo(p.ordered),
m_randomization(p.randomization),
m_allow_zero_latency(p.allow_zero_latency),
ADD_STAT(m_not_avail_count, "Number of times this buffer did not have "
"N slots available"),
ADD_STAT(m_buf_msgs, "Average number of messages in buffer"),
So as I understand it, each snpOut request that the CacheController generates
will get buffered in the corresponding snpOut MessageBuffer first, then
arbitrate for access to the network and once arbitration is won, the request is
sent out to the CHI interconnect.
A couple of questions:
1) Will snpOut.m_buf_msgs give an accurate account of the number of snpOut
requests that the CacheController has generated?
2) Is it possible for the request to be buffered in the snpOut Message
buffer and if there is no conflict to the network, the request could be sent
out to the network on the next clock cycle? If yes, then will this be visible
in the snpOut.m_buf_msgs metric?
3) For snpOut.m_msg_bufs, how is the "Average number of messages in the
buffer" actually being computed?
Tks in advance
JO
_______________________________________________
gem5-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s