Hi All,
For a 2 level cache hierarchy with DDR3 (11-11-11) as the DRAM
specs, the number of prefetch requests issued by the L2 prefetcher is high
(very high in some cases) as compared to the number of prefetch requests
responded by the DRAM controller. Any thoughts on it.
The difference becomes almost negligible, when I use an L3 cache and turn
on the prefetchers at the L2. In case of 3 level cache hierarchy, this
equation holds true:
pf_issued at the L2s = Pf hits at the L3 + Pf requests
responded by the DRAM
Here are the actual numbers for a 4 core setup with PARSEC benchmarks:
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
130935 # Number of read requests responded to by this
memory
blackscholes_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
148226 # number of hwpf issued
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
346384 # Number of read requests responded to by this
memory
canneal_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
354459 # number of hwpf issued
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
2937725 # Number of read requests responded to by
this memory
dedup_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
3251216 # number of hwpf issued
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
3443990 # Number of read requests responded to by
this memory
facesim_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
3639481 # number of hwpf issued
ferret_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
2141141 # Number of read requests responded to by
this memory
ferret_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
12161061 # number of hwpf issued
freqmine_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
115625 # Number of read requests responded to by this
memory
freqmine_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
168290 # number of hwpf issued
rtview_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
590098 # Number of read requests responded to by this
memory
rtview_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
863745 # number of hwpf issued
swaptions_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
20308 # Number of read requests responded to by this
memory
swaptions_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
16689699 # number of hwpf issued
vips_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
3361213 # Number of read requests responded to by
this memory
vips_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
3542000 # number of hwpf issued
x264_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
1060135 # Number of read requests responded to by
this memory
x264_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
1805457 # number of hwpf issued
--
thanks®ards
BISWABANDAN
http://www.cse.iitm.ac.in/~biswa/
“We might fall down, but we will never lay down. We might not be the best,
but we will beat the best! We might not be at the top, but we will rise.”
Hi Biswabandan,
Is there any chance you could dig a bit deeper here?
My suspicion is that the DRAM read queue is filling up and forcing packets to wait. The controller only counts reads when they are actually serviced. Perhaps the prefetcher counts issues prefetches as it creates the packets, even if they are not successfully sent? Check numRdRetry and the rdQLenPdf.
Thanks,
Andreas
From: biswabandan panda via gem5-users <gem5-users(a)gem5.orgmailto:gem5-users(a)gem5.org>
Reply-To: biswabandan panda <biswa.uce(a)gmail.commailto:biswa.uce(a)gmail.com>, gem5 users mailing list <gem5-users(a)gem5.orgmailto:gem5-users(a)gem5.org>
Date: Monday, 30 June 2014 12:19
To: gem5 users mailing list <gem5-users(a)gem5.orgmailto:gem5-users(a)gem5.org>
Subject: [gem5-users] DRAM Controller and Prefetchers
Hi All,
For a 2 level cache hierarchy with DDR3 (11-11-11) as the DRAM specs, the number of prefetch requests issued by the L2 prefetcher is high (very high in some cases) as compared to the number of prefetch requests responded by the DRAM controller. Any thoughts on it.
The difference becomes almost negligible, when I use an L3 cache and turn on the prefetchers at the L2. In case of 3 level cache hierarchy, this equation holds true:
pf_issued at the L2s = Pf hits at the L3 + Pf requests responded by the DRAM
Here are the actual numbers for a 4 core setup with PARSEC benchmarks:
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher 130935 # Number of read requests responded to by this memory
blackscholes_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued 148226 # number of hwpf issued
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher 346384 # Number of read requests responded to by this memory
canneal_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued 354459 # number of hwpf issued
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher 2937725 # Number of read requests responded to by this memory
dedup_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued 3251216 # number of hwpf issued
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher 3443990 # Number of read requests responded to by this memory
facesim_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued 3639481 # number of hwpf issued
ferret_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher 2141141 # Number of read requests responded to by this memory
ferret_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued 12161061 # number of hwpf issued
freqmine_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher 115625 # Number of read requests responded to by this memory
freqmine_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued 168290 # number of hwpf issued
rtview_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher 590098 # Number of read requests responded to by this memory
rtview_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued 863745 # number of hwpf issued
swaptions_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher 20308 # Number of read requests responded to by this memory
swaptions_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued 16689699 # number of hwpf issued
vips_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher 3361213 # Number of read requests responded to by this memory
vips_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued 3542000 # number of hwpf issued
x264_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher 1060135 # Number of read requests responded to by this memory
x264_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued 1805457 # number of hwpf issued
[https://ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif]
--
thanks®ards
BISWABANDAN
http://www.cse.iitm.ac.in/~biswa/http://www.cse.iitm.ac.in/%7Ebiswa/
“We might fall down, but we will never lay down. We might not be the best, but we will beat the best! We might not be at the top, but we will rise.”
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590
ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
Hi Andreas,
Thanks for the prompt response. Actually DRAM readQ
is never filled up completely.
Here are some of the stats:
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.numRdRetry
0 # Number of times read queue was full causing retry
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::0
29760 # What read queue length does an incoming req
see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::1
23193 # What read queue length does an incoming req
see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::2
18571 # What read queue length does an incoming req
see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::3
15509 # What read queue length does an incoming req
see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::4
12970 # What read queue length does an incoming req
see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::5
11623 # What read queue length does an incoming req
see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::6
10339 # What read queue length does an incoming req
see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::7
9681 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::8
3538 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::9
2324 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::10
1782 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::11
1758 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::12
1112 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::13
957 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::14
822 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::15
710 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::16
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::17
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::18
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::19
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::20
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::21
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::22
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::23
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::24
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::25
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::26
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::27
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::28
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::29
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::30
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::31
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.numRdRetry
0 # Number of times read queue was full causing retry
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::0
1820343 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::1
820262 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::2
214278 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::3
59606 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::4
47136 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::5
46901 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::6
45035 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::7
43390 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::8
38898 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::9
22687 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::10
11365 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::11
6793 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::12
3105 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::13
1925 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::14
1095 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::15
654 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::16
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::17
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::18
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::19
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::20
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::21
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::22
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::23
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::24
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::25
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::26
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::27
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::28
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::29
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::30
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::31
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.numRdRetry
0 # Number of times read queue was full causing retry
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::0
601147 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::1
466636 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::2
397007 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::3
320737 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::4
273422 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::5
235104 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::6
215016 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::7
204993 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::8
160861 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::9
104896 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::10
78910 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::11
84566 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::12
42656 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::13
32575 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::14
24300 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::15
18088 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::16
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::17
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::18
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::19
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::20
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::21
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::22
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::23
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::24
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::25
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::26
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::27
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::28
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::29
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::30
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::31
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.numRdRetry
0 # Number of times read queue was full causing retry
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::0
923820 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::1
570722 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::2
412947 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::3
336858 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::4
278383 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::5
242649 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::6
218409 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::7
205175 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::8
176151 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::9
159665 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::10
137869 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::11
129144 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::12
75569 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::13
52159 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::14
35059 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::15
24994 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::16
9 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::17
6 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::18
1 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::19
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::20
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::21
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::22
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::23
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::24
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::25
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::26
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::27
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::28
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::29
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::30
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::31
On Mon, Jun 30, 2014 at 6:29 PM, Andreas Hansson <Andreas.Hansson(a)arm.com>
wrote:
Hi Biswabandan,
Is there any chance you could dig a bit deeper here?
My suspicion is that the DRAM read queue is filling up and forcing
packets to wait. The controller only counts reads when they are actually
serviced. Perhaps the prefetcher counts issues prefetches as it creates the
packets, even if they are not successfully sent? Check numRdRetry and the
rdQLenPdf.
Thanks,
Andreas
From: biswabandan panda via gem5-users <gem5-users(a)gem5.org>
Reply-To: biswabandan panda <biswa.uce(a)gmail.com>, gem5 users mailing
list <gem5-users(a)gem5.org>
Date: Monday, 30 June 2014 12:19
To: gem5 users mailing list <gem5-users(a)gem5.org>
Subject: [gem5-users] DRAM Controller and Prefetchers
Hi All,
For a 2 level cache hierarchy with DDR3 (11-11-11) as the DRAM
specs, the number of prefetch requests issued by the L2 prefetcher is high
(very high in some cases) as compared to the number of prefetch requests
responded by the DRAM controller. Any thoughts on it.
The difference becomes almost negligible, when I use an L3 cache and turn
on the prefetchers at the L2. In case of 3 level cache hierarchy, this
equation holds true:
pf_issued at the L2s = Pf hits at the L3 + Pf requests
responded by the DRAM
Here are the actual numbers for a 4 core setup with PARSEC benchmarks:
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
130935 # Number of read requests responded to by this
memory
blackscholes_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
148226 # number of hwpf issued
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
346384 # Number of read requests responded to by this
memory
canneal_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
354459 # number of hwpf issued
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
2937725 # Number of read requests responded to by
this memory
dedup_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
3251216 # number of hwpf issued
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
3443990 # Number of read requests responded to by
this memory
facesim_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
3639481 # number of hwpf issued
ferret_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
2141141 # Number of read requests responded to by
this memory
ferret_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
12161061 # number of hwpf issued
freqmine_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
115625 # Number of read requests responded to by this
memory
freqmine_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
168290 # number of hwpf issued
rtview_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
590098 # Number of read requests responded to by this
memory
rtview_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
863745 # number of hwpf issued
swaptions_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
20308 # Number of read requests responded to by this
memory
swaptions_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
16689699 # number of hwpf issued
vips_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
3361213 # Number of read requests responded to by
this memory
vips_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
3542000 # number of hwpf issued
x264_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
1060135 # Number of read requests responded to by
this memory
x264_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
1805457 # number of hwpf issued
--
*thanks®ards *
BISWABANDAN
http://www.cse.iitm.ac.in/~biswa/
“We might fall down, but we will never lay down. We might not be the best,
but we will beat the best! We might not be at the top, but we will rise.”
-- IMPORTANT NOTICE: The contents of this email and any attachments are
confidential and may also be privileged. If you are not the intended
recipient, please notify the sender immediately and do not disclose the
contents to any other person, use it for any purpose, or store or copy the
information in any medium. Thank you.
ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ,
Registered in England & Wales, Company No: 2557590
ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ,
Registered in England & Wales, Company No: 2548782
--
thanks®ards
BISWABANDAN
http://www.cse.iitm.ac.in/~biswa/
“We might fall down, but we will never lay down. We might not be the best,
but we will beat the best! We might not be at the top, but we will rise.”
Just something to note that the prefetcher in previous versions of gem5
does not operate as it is supposed. A couple of patches were pushed in
early this year to fix this issue, but I never checked to see if they
really fixed the issue. The issue, if I remember right, is that prefetcher
may generate multiple requests per cache line which is basically merged to
one request in the DRAM read queue.
I am not sure this directly relates to your problem...
Thanks,
Amin
On Mon, Jun 30, 2014 at 7:50 AM, biswabandan panda via gem5-users <
gem5-users(a)gem5.org> wrote:
Hi Andreas,
Thanks for the prompt response. Actually DRAM readQ
is never filled up completely.
Here are some of the stats:
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.numRdRetry
0 # Number of times read queue was full causing retry
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::0
29760 # What read queue length does an incoming req
see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::1
23193 # What read queue length does an incoming req
see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::2
18571 # What read queue length does an incoming req
see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::3
15509 # What read queue length does an incoming req
see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::4
12970 # What read queue length does an incoming req
see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::5
11623 # What read queue length does an incoming req
see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::6
10339 # What read queue length does an incoming req
see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::7
9681 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::8
3538 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::9
2324 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::10
1782 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::11
1758 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::12
1112 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::13
957 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::14
822 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::15
710 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::16
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::17
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::18
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::19
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::20
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::21
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::22
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::23
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::24
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::25
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::26
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::27
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::28
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::29
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::30
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::31
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.numRdRetry
0 # Number of times read queue was full causing retry
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::0
1820343 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::1
820262 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::2
214278 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::3
59606 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::4
47136 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::5
46901 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::6
45035 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::7
43390 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::8
38898 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::9
22687 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::10
11365 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::11
6793 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::12
3105 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::13
1925 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::14
1095 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::15
654 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::16
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::17
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::18
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::19
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::20
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::21
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::22
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::23
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::24
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::25
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::26
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::27
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::28
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::29
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::30
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::31
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.numRdRetry
0 # Number of times read queue was full causing retry
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::0
601147 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::1
466636 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::2
397007 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::3
320737 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::4
273422 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::5
235104 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::6
215016 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::7
204993 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::8
160861 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::9
104896 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::10
78910 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::11
84566 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::12
42656 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::13
32575 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::14
24300 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::15
18088 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::16
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::17
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::18
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::19
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::20
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::21
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::22
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::23
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::24
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::25
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::26
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::27
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::28
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::29
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::30
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::31
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.numRdRetry
0 # Number of times read queue was full causing retry
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::0
923820 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::1
570722 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::2
412947 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::3
336858 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::4
278383 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::5
242649 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::6
218409 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::7
205175 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::8
176151 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::9
159665 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::10
137869 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::11
129144 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::12
75569 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::13
52159 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::14
35059 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::15
24994 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::16
9 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::17
6 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::18
1 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::19
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::20
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::21
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::22
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::23
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::24
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::25
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::26
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::27
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::28
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::29
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::30
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::31
On Mon, Jun 30, 2014 at 6:29 PM, Andreas Hansson <Andreas.Hansson(a)arm.com>
wrote:
Hi Biswabandan,
Is there any chance you could dig a bit deeper here?
My suspicion is that the DRAM read queue is filling up and forcing
packets to wait. The controller only counts reads when they are actually
serviced. Perhaps the prefetcher counts issues prefetches as it creates the
packets, even if they are not successfully sent? Check numRdRetry and the
rdQLenPdf.
Thanks,
Andreas
From: biswabandan panda via gem5-users <gem5-users(a)gem5.org>
Reply-To: biswabandan panda <biswa.uce(a)gmail.com>, gem5 users mailing
list <gem5-users(a)gem5.org>
Date: Monday, 30 June 2014 12:19
To: gem5 users mailing list <gem5-users(a)gem5.org>
Subject: [gem5-users] DRAM Controller and Prefetchers
Hi All,
For a 2 level cache hierarchy with DDR3 (11-11-11) as the
DRAM specs, the number of prefetch requests issued by the L2 prefetcher is
high (very high in some cases) as compared to the number of prefetch
requests responded by the DRAM controller. Any thoughts on it.
The difference becomes almost negligible, when I use an L3 cache and
turn on the prefetchers at the L2. In case of 3 level cache hierarchy, this
equation holds true:
pf_issued at the L2s = Pf hits at the L3 + Pf requests
responded by the DRAM
Here are the actual numbers for a 4 core setup with PARSEC benchmarks:
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
130935 # Number of read requests responded to by this
memory
blackscholes_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
148226 # number of hwpf issued
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
346384 # Number of read requests responded to by this
memory
canneal_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
354459 # number of hwpf issued
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
2937725 # Number of read requests responded to by
this memory
dedup_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
3251216 # number of hwpf issued
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
3443990 # Number of read requests responded to by
this memory
facesim_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
3639481 # number of hwpf issued
ferret_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
2141141 # Number of read requests responded to by
this memory
ferret_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
12161061 # number of hwpf issued
freqmine_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
115625 # Number of read requests responded to by this
memory
freqmine_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
168290 # number of hwpf issued
rtview_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
590098 # Number of read requests responded to by this
memory
rtview_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
863745 # number of hwpf issued
swaptions_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
20308 # Number of read requests responded to by this
memory
swaptions_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
16689699 # number of hwpf issued
vips_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
3361213 # Number of read requests responded to by
this memory
vips_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
3542000 # number of hwpf issued
x264_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
1060135 # Number of read requests responded to by
this memory
x264_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
1805457 # number of hwpf issued
--
*thanks®ards *
BISWABANDAN
http://www.cse.iitm.ac.in/~biswa/
“We might fall down, but we will never lay down. We might not be the
best, but we will beat the best! We might not be at the top, but we will
rise.”
-- IMPORTANT NOTICE: The contents of this email and any attachments are
confidential and may also be privileged. If you are not the intended
recipient, please notify the sender immediately and do not disclose the
contents to any other person, use it for any purpose, or store or copy the
information in any medium. Thank you.
ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ,
Registered in England & Wales, Company No: 2557590
ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ,
Registered in England & Wales, Company No: 2548782
--
thanks®ards
BISWABANDAN
http://www.cse.iitm.ac.in/~biswa/
“We might fall down, but we will never lay down. We might not be the best,
but we will beat the best! We might not be at the top, but we will rise.”
gem5-users mailing list
gem5-users(a)gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Thanks Amin.
I am using the latest gem5. Before generating the prefetch requests, the
prefetcher does check whether the corresponding blk address (of the to be
prefetched address) is already in the MSHR or in the MissQueue. So I don't
think it is about the multiple packets.
On Mon, Jun 30, 2014 at 9:41 PM, Amin Farmahini <aminfar(a)gmail.com> wrote:
Just something to note that the prefetcher in previous versions of gem5
does not operate as it is supposed. A couple of patches were pushed in
early this year to fix this issue, but I never checked to see if they
really fixed the issue. The issue, if I remember right, is that prefetcher
may generate multiple requests per cache line which is basically merged to
one request in the DRAM read queue.
I am not sure this directly relates to your problem...
Thanks,
Amin
On Mon, Jun 30, 2014 at 7:50 AM, biswabandan panda via gem5-users <
gem5-users(a)gem5.org> wrote:
Hi Andreas,
Thanks for the prompt response. Actually DRAM readQ
is never filled up completely.
Here are some of the stats:
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.numRdRetry
0 # Number of times read queue was full causing retry
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::0
29760 # What read queue length does an incoming req
see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::1
23193 # What read queue length does an incoming req
see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::2
18571 # What read queue length does an incoming req
see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::3
15509 # What read queue length does an incoming req
see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::4
12970 # What read queue length does an incoming req
see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::5
11623 # What read queue length does an incoming req
see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::6
10339 # What read queue length does an incoming req
see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::7
9681 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::8
3538 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::9
2324 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::10
1782 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::11
1758 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::12
1112 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::13
957 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::14
822 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::15
710 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::16
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::17
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::18
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::19
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::20
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::21
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::22
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::23
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::24
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::25
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::26
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::27
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::28
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::29
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::30
0 # What read queue length does an incoming req see
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::31
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.numRdRetry
0 # Number of times read queue was full causing retry
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::0
1820343 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::1
820262 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::2
214278 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::3
59606 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::4
47136 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::5
46901 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::6
45035 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::7
43390 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::8
38898 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::9
22687 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::10
11365 # What read queue length does an incoming req
see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::11
6793 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::12
3105 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::13
1925 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::14
1095 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::15
654 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::16
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::17
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::18
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::19
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::20
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::21
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::22
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::23
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::24
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::25
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::26
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::27
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::28
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::29
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::30
0 # What read queue length does an incoming req see
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::31
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.numRdRetry
0 # Number of times read queue was full causing retry
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::0
601147 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::1
466636 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::2
397007 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::3
320737 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::4
273422 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::5
235104 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::6
215016 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::7
204993 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::8
160861 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::9
104896 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::10
78910 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::11
84566 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::12
42656 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::13
32575 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::14
24300 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::15
18088 # What read queue length does an incoming req
see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::16
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::17
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::18
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::19
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::20
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::21
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::22
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::23
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::24
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::25
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::26
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::27
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::28
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::29
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::30
0 # What read queue length does an incoming req see
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::31
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.numRdRetry
0 # Number of times read queue was full causing retry
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::0
923820 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::1
570722 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::2
412947 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::3
336858 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::4
278383 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::5
242649 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::6
218409 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::7
205175 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::8
176151 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::9
159665 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::10
137869 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::11
129144 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::12
75569 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::13
52159 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::14
35059 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::15
24994 # What read queue length does an incoming req
see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::16
9 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::17
6 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::18
1 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::19
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::20
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::21
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::22
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::23
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::24
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::25
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::26
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::27
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::28
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::29
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::30
0 # What read queue length does an incoming req see
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.rdQLenPdf::31
On Mon, Jun 30, 2014 at 6:29 PM, Andreas Hansson <Andreas.Hansson(a)arm.com
wrote:
Hi Biswabandan,
Is there any chance you could dig a bit deeper here?
My suspicion is that the DRAM read queue is filling up and forcing
packets to wait. The controller only counts reads when they are actually
serviced. Perhaps the prefetcher counts issues prefetches as it creates the
packets, even if they are not successfully sent? Check numRdRetry and the
rdQLenPdf.
Thanks,
Andreas
From: biswabandan panda via gem5-users <gem5-users(a)gem5.org>
Reply-To: biswabandan panda <biswa.uce(a)gmail.com>, gem5 users mailing
list <gem5-users(a)gem5.org>
Date: Monday, 30 June 2014 12:19
To: gem5 users mailing list <gem5-users(a)gem5.org>
Subject: [gem5-users] DRAM Controller and Prefetchers
Hi All,
For a 2 level cache hierarchy with DDR3 (11-11-11) as the
DRAM specs, the number of prefetch requests issued by the L2 prefetcher is
high (very high in some cases) as compared to the number of prefetch
requests responded by the DRAM controller. Any thoughts on it.
The difference becomes almost negligible, when I use an L3 cache and
turn on the prefetchers at the L2. In case of 3 level cache hierarchy, this
equation holds true:
pf_issued at the L2s = Pf hits at the L3 + Pf requests
responded by the DRAM
Here are the actual numbers for a 4 core setup with PARSEC benchmarks:
blackscholes_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
130935 # Number of read requests responded to by this
memory
blackscholes_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
148226 # number of hwpf issued
canneal_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
346384 # Number of read requests responded to by this
memory
canneal_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
354459 # number of hwpf issued
dedup_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
2937725 # Number of read requests responded to by
this memory
dedup_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
3251216 # number of hwpf issued
facesim_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
3443990 # Number of read requests responded to by
this memory
facesim_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
3639481 # number of hwpf issued
ferret_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
2141141 # Number of read requests responded to by
this memory
ferret_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
12161061 # number of hwpf issued
freqmine_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
115625 # Number of read requests responded to by this
memory
freqmine_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
168290 # number of hwpf issued
rtview_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
590098 # Number of read requests responded to by this
memory
rtview_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
863745 # number of hwpf issued
swaptions_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
20308 # Number of read requests responded to by this
memory
swaptions_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
16689699 # number of hwpf issued
vips_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
3361213 # Number of read requests responded to by
this memory
vips_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
3542000 # number of hwpf issued
x264_4c_simlarge_ckpts.rcS.txt:system.mem_ctrls.num_reads::l2.prefetcher
1060135 # Number of read requests responded to by
this memory
x264_4c_simlarge_ckpts.rcS.txt:system.l2.prefetcher.prefetcher.num_hwpf_issued
1805457 # number of hwpf issued
--
*thanks®ards *
BISWABANDAN
http://www.cse.iitm.ac.in/~biswa/
“We might fall down, but we will never lay down. We might not be the
best, but we will beat the best! We might not be at the top, but we will
rise.”
-- IMPORTANT NOTICE: The contents of this email and any attachments are
confidential and may also be privileged. If you are not the intended
recipient, please notify the sender immediately and do not disclose the
contents to any other person, use it for any purpose, or store or copy the
information in any medium. Thank you.
ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ,
Registered in England & Wales, Company No: 2557590
ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1
9NJ, Registered in England & Wales, Company No: 2548782
--
thanks®ards
BISWABANDAN
http://www.cse.iitm.ac.in/~biswa/
“We might fall down, but we will never lay down. We might not be the
best, but we will beat the best! We might not be at the top, but we will
rise.”
gem5-users mailing list
gem5-users(a)gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
--
thanks®ards
BISWABANDAN
http://www.cse.iitm.ac.in/~biswa/
“We might fall down, but we will never lay down. We might not be the best,
but we will beat the best! We might not be at the top, but we will rise.”