Re: [gem5-users] How queued port is modelled in real platforms?
Hello Andreas, I have modelled a system with large MSHRs, LSQ depth etc. With this i could see that the packet size grows beyond 100 and hits this assertion. After disabling this assertion the test runs to completion. 1)Is it safe to disable this? However as i mentioned in an earlier email, i have modified the DRAM controller switching algorithm to prioritize reads and never switch to writes as long as there are reads in the read buffer. With this modification, In one set of memory intensive benchmarks with high page hit rate, I could see that min_number_of_writes_per switch is ~15 . I expect that the write buffer(DRAM and cache) gets full as a result the core stalls, and no more requests arrives at DRAM controller. Once the DRAM controller drains the existing reads it switches to writes and when a write is serviced, and corresponding buffer is freed, core can generate a new load/store. But the number of writes per switch(15) that i see doesn't justify the round trip time. Further debugging this issue, I observed that once the write queue/ write buffers are full, and when the DRAM controller service the queued reads, which generates the write backs(due to eviction). Note that DRAM controller write_buffer is full at this time. These write backs will be get queued in the port(deferred packets) and any further reads will be queued at the end of write backs. 2) Is this a desired behaviour? to address write after read hazard? Thanks, Prathap On Mon, Jul 27, 2015 at 9:22 AM, Andreas Hansson wrote: > Hi Prathap, > > 100 was chosen to be “sufficiently infinite”, and only break if > something is wrong. > > The caches have a limited number of MSHRs, the cores have limited LSQ > depth etc. We could easily add an outstanding transaction limit to the > crossbar class. In the end it is a detail/speed trade-off. If it does not > matter, do not model it… > > Andreas > > From: gem5-users on behalf of Prathap > Kolakkampadath > Reply-To: gem5 users mailing list > Date: Monday, 27 July 2015 15:15 > To: gem5 users mailing list > Subject: Re: [gem5-users] How queued port is modelled in real platforms? > >Hello Andreas, > > Currently, the reasonable limit of this queue is set to 100. Is there a > specific reason to choose this as the maximum packet queue size. > Do any bus interface protocol specifies this limit in real platforms? > > Thanks, > Prathap > > On Mon, Jul 27, 2015 at 4:54 AM, Andreas Hansson > wrote: > >> Hi Prathap, >> >> The queued port is indeed infinite, and is a convenience construct. It >> should only be used in places where there is already an inherent limit to >> the number of outstanding requests. There is an assert in the queued port >> to ensure things do not grow uncontrollably. >> >> Andreas >> >> From: gem5-users on behalf of Prathap >> Kolakkampadath >> Reply-To: gem5 users mailing list >> Date: Sunday, 26 July 2015 18:34 >> To: gem5 users mailing list >> Subject: [gem5-users] How queued port is modelled in real platforms? >> >> Hell Users, >> >> Gem5 implements a queued port to interface memory objects. In my >> understanding this queued port is of infinite size. Is this specific to >> Gem5 implementation? How packets are handled in real hardware if the >> request rate of a layer is faster than the service rate of underlying layer? >> It would be great if someone could help me in understanding this. >> >> Thanks, >> Prathap >> >> >> >> -- 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 >> >> ___ >> gem5-users mailing list >> gem5-users@gem5.org >> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >> > > > -- 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. > > AR
Re: [gem5-users] How queued port is modelled in real platforms?
Hi Prathap, 100 was chosen to be “sufficiently infinite”, and only break if something is wrong. The caches have a limited number of MSHRs, the cores have limited LSQ depth etc. We could easily add an outstanding transaction limit to the crossbar class. In the end it is a detail/speed trade-off. If it does not matter, do not model it… Andreas From: gem5-users mailto:gem5-users-boun...@gem5.org>> on behalf of Prathap Kolakkampadath mailto:kvprat...@gmail.com>> Reply-To: gem5 users mailing list mailto:gem5-users@gem5.org>> Date: Monday, 27 July 2015 15:15 To: gem5 users mailing list mailto:gem5-users@gem5.org>> Subject: Re: [gem5-users] How queued port is modelled in real platforms? Hello Andreas, Currently, the reasonable limit of this queue is set to 100. Is there a specific reason to choose this as the maximum packet queue size. Do any bus interface protocol specifies this limit in real platforms? Thanks, Prathap On Mon, Jul 27, 2015 at 4:54 AM, Andreas Hansson mailto:andreas.hans...@arm.com>> wrote: Hi Prathap, The queued port is indeed infinite, and is a convenience construct. It should only be used in places where there is already an inherent limit to the number of outstanding requests. There is an assert in the queued port to ensure things do not grow uncontrollably. Andreas From: gem5-users mailto:gem5-users-boun...@gem5.org>> on behalf of Prathap Kolakkampadath mailto:kvprat...@gmail.com>> Reply-To: gem5 users mailing list mailto:gem5-users@gem5.org>> Date: Sunday, 26 July 2015 18:34 To: gem5 users mailing list mailto:gem5-users@gem5.org>> Subject: [gem5-users] How queued port is modelled in real platforms? Hell Users, Gem5 implements a queued port to interface memory objects. In my understanding this queued port is of infinite size. Is this specific to Gem5 implementation? How packets are handled in real hardware if the request rate of a layer is faster than the service rate of underlying layer? It would be great if someone could help me in understanding this. Thanks, Prathap -- 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 ___ gem5-users mailing list gem5-users@gem5.org<mailto:gem5-users@gem5.org> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users -- 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 ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Re: [gem5-users] How queued port is modelled in real platforms?
Hello Andreas, Currently, the reasonable limit of this queue is set to 100. Is there a specific reason to choose this as the maximum packet queue size. Do any bus interface protocol specifies this limit in real platforms? Thanks, Prathap On Mon, Jul 27, 2015 at 4:54 AM, Andreas Hansson wrote: > Hi Prathap, > > The queued port is indeed infinite, and is a convenience construct. It > should only be used in places where there is already an inherent limit to > the number of outstanding requests. There is an assert in the queued port > to ensure things do not grow uncontrollably. > > Andreas > > From: gem5-users on behalf of Prathap > Kolakkampadath > Reply-To: gem5 users mailing list > Date: Sunday, 26 July 2015 18:34 > To: gem5 users mailing list > Subject: [gem5-users] How queued port is modelled in real platforms? > > Hell Users, > > Gem5 implements a queued port to interface memory objects. In my > understanding this queued port is of infinite size. Is this specific to > Gem5 implementation? How packets are handled in real hardware if the > request rate of a layer is faster than the service rate of underlying layer? > It would be great if someone could help me in understanding this. > > Thanks, > Prathap > > > > -- 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 > > ___ > gem5-users mailing list > gem5-users@gem5.org > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Re: [gem5-users] How queued port is modelled in real platforms?
Hi Prathap, The queued port is indeed infinite, and is a convenience construct. It should only be used in places where there is already an inherent limit to the number of outstanding requests. There is an assert in the queued port to ensure things do not grow uncontrollably. Andreas From: gem5-users mailto:gem5-users-boun...@gem5.org>> on behalf of Prathap Kolakkampadath mailto:kvprat...@gmail.com>> Reply-To: gem5 users mailing list mailto:gem5-users@gem5.org>> Date: Sunday, 26 July 2015 18:34 To: gem5 users mailing list mailto:gem5-users@gem5.org>> Subject: [gem5-users] How queued port is modelled in real platforms? Hell Users, Gem5 implements a queued port to interface memory objects. In my understanding this queued port is of infinite size. Is this specific to Gem5 implementation? How packets are handled in real hardware if the request rate of a layer is faster than the service rate of underlying layer? It would be great if someone could help me in understanding this. Thanks, Prathap -- 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 ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
[gem5-users] How queued port is modelled in real platforms?
Hell Users, Gem5 implements a queued port to interface memory objects. In my understanding this queued port is of infinite size. Is this specific to Gem5 implementation? How packets are handled in real hardware if the request rate of a layer is faster than the service rate of underlying layer? It would be great if someone could help me in understanding this. Thanks, Prathap ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users