gem5-users@gem5.org

The gem5 Users mailing list

View all threads

DRAM Controller and Prefetchers

BP
biswabandan panda via gem5-users
Mon, Jun 30, 2014 11:19 AM

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&regards
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 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&regards* *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.”
AH
Andreas Hansson via gem5-users
Mon, Jun 30, 2014 12:59 PM

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&regards
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 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<mailto:gem5-users(a)gem5.org>> Reply-To: biswabandan panda <biswa.uce(a)gmail.com<mailto:biswa.uce(a)gmail.com>>, gem5 users mailing list <gem5-users(a)gem5.org<mailto:gem5-users(a)gem5.org>> Date: Monday, 30 June 2014 12:19 To: gem5 users mailing list <gem5-users(a)gem5.org<mailto: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&regards 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
BP
biswabandan panda via gem5-users
Mon, Jun 30, 2014 1:50 PM

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&regards *
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&regards
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 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&regards * > *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&regards* *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.”
AF
Amin Farmahini via gem5-users
Mon, Jun 30, 2014 4:11 PM

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&regards *
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&regards
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

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&regards * >> *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&regards* > *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 >
BP
biswabandan panda via gem5-users
Mon, Jun 30, 2014 4:38 PM

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&regards *
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&regards
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&regards
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.”

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&regards * >>> *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&regards* >> *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&regards* *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.”