Re: [gem5-users] How queued port is modelled in real platforms?

2015-07-27 Thread Andreas Hansson
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 
gem5-users-boun...@gem5.orgmailto:gem5-users-boun...@gem5.org on behalf of 
Prathap Kolakkampadath kvprat...@gmail.commailto:kvprat...@gmail.com
Reply-To: gem5 users mailing list 
gem5-users@gem5.orgmailto:gem5-users@gem5.org
Date: Monday, 27 July 2015 15:15
To: gem5 users mailing list gem5-users@gem5.orgmailto: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 
andreas.hans...@arm.commailto: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 
gem5-users-boun...@gem5.orgmailto:gem5-users-boun...@gem5.org on behalf of 
Prathap Kolakkampadath kvprat...@gmail.commailto:kvprat...@gmail.com
Reply-To: gem5 users mailing list 
gem5-users@gem5.orgmailto:gem5-users@gem5.org
Date: Sunday, 26 July 2015 18:34
To: gem5 users mailing list gem5-users@gem5.orgmailto: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.orgmailto: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?

2015-07-27 Thread Prathap Kolakkampadath
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 andreas.hans...@arm.com
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 gem5-users-boun...@gem5.org on behalf of Prathap
 Kolakkampadath kvprat...@gmail.com
 Reply-To: gem5 users mailing list gem5-users@gem5.org
 Date: Monday, 27 July 2015 15:15
 To: gem5 users mailing list 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 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 gem5-users-boun...@gem5.org on behalf of Prathap
 Kolakkampadath kvprat...@gmail.com
 Reply-To: gem5 users mailing list gem5-users@gem5.org
 Date: Sunday, 26 July 2015 18:34
 To: gem5 users mailing list 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



 -- 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

Re: [gem5-users] How queued port is modelled in real platforms?

2015-07-27 Thread Prathap Kolakkampadath
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 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 gem5-users-boun...@gem5.org on behalf of Prathap
 Kolakkampadath kvprat...@gmail.com
 Reply-To: gem5 users mailing list gem5-users@gem5.org
 Date: Sunday, 26 July 2015 18:34
 To: gem5 users mailing list 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 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?

2015-07-27 Thread Andreas Hansson
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 
gem5-users-boun...@gem5.orgmailto:gem5-users-boun...@gem5.org on behalf of 
Prathap Kolakkampadath kvprat...@gmail.commailto:kvprat...@gmail.com
Reply-To: gem5 users mailing list 
gem5-users@gem5.orgmailto:gem5-users@gem5.org
Date: Sunday, 26 July 2015 18:34
To: gem5 users mailing list gem5-users@gem5.orgmailto: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?

2015-07-26 Thread Prathap Kolakkampadath
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