Discussion:
gem5 cache latency, impact on performance
(too old to reply)
Sanem Arslan
2014-04-04 19:26:10 UTC
Permalink
Hi all,

I am using classic memory system and I have added several codes to
the "cache_impl.hh" and "blk.hh" files. However I cannot see the
performance overhead of these added codes on the gem5 execution time.
I have increased cache latency parameters from "CacheConfig.py" file
and I can see the values are updated through out the simulation by
looking trace file, but there is no significant impact on execution
time (sim_seconds). There is a post
(http://thread.gmane.org/gmane.comp.emulators.m5.users/15517/focus=15526) that
claims there is no significant impact of increasing latency because of
optimizations implemented in the cache protocol in Classic Memory.

Moreover I have changed "blk->whenReady" parameter aggresively and I
have put some sleep() functions somewhere in cache structures again,
but there is no effect on the execution time.

How can I observe the performance overhead of my added codes? If you
have any suggestions, please let me know.

By the way, I am using gem5.opt and X86 with full system mode.

Thanks for you time and help.

Sanem.
Mahmood Naderan
2014-04-05 04:34:04 UTC
Permalink
Sanem,
maybe you put sleep() somewhere in the code that never executes! Can
you confirm that by breakpoints?

On 4/4/14, Sanem Arslan <***@boun.edu.tr> wrote:
> Hi all,
>
> I am using classic memory system and I have added several codes to
> the "cache_impl.hh" and "blk.hh" files. However I cannot see the
> performance overhead of these added codes on the gem5 execution time.
> I have increased cache latency parameters from "CacheConfig.py" file
> and I can see the values are updated through out the simulation by
> looking trace file, but there is no significant impact on execution
> time (sim_seconds). There is a post
> (http://thread.gmane.org/gmane.comp.emulators.m5.users/15517/focus=15526)
> that
> claims there is no significant impact of increasing latency because of
> optimizations implemented in the cache protocol in Classic Memory.
>
> Moreover I have changed "blk->whenReady" parameter aggresively and I
> have put some sleep() functions somewhere in cache structures again,
> but there is no effect on the execution time.
>
> How can I observe the performance overhead of my added codes? If you
> have any suggestions, please let me know.
>
> By the way, I am using gem5.opt and X86 with full system mode.
>
> Thanks for you time and help.
>
> Sanem.
> _______________________________________________
> gem5-users mailing list
> gem5-***@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>


--
Regards,
Mahmood
Sanem Arslan
2014-04-05 13:55:32 UTC
Permalink
Mahmood,

I have comfirmed that sleep() function executes. Besides that,
simulation execution on host machine takes longer but execution time
value (sim_seconds) in stat file does not show a significant difference.
Alinti Mahmood Naderan <***@gmail.com>

> Sanem,
> maybe you put sleep() somewhere in the code that never executes! Can
> you confirm that by breakpoints?
>
> On 4/4/14, Sanem Arslan <***@boun.edu.tr> wrote:
>> Hi all,
>>
>> I am using classic memory system and I have added several codes to
>> the "cache_impl.hh" and "blk.hh" files. However I cannot see the
>> performance overhead of these added codes on the gem5 execution time.
>> I have increased cache latency parameters from "CacheConfig.py" file
>> and I can see the values are updated through out the simulation by
>> looking trace file, but there is no significant impact on execution
>> time (sim_seconds). There is a post
>> (http://thread.gmane.org/gmane.comp.emulators.m5.users/15517/focus=15526)
>> that
>> claims there is no significant impact of increasing latency because of
>> optimizations implemented in the cache protocol in Classic Memory.
>>
>> Moreover I have changed "blk->whenReady" parameter aggresively and I
>> have put some sleep() functions somewhere in cache structures again,
>> but there is no effect on the execution time.
>>
>> How can I observe the performance overhead of my added codes? If you
>> have any suggestions, please let me know.
>>
>> By the way, I am using gem5.opt and X86 with full system mode.
>>
>> Thanks for you time and help.
>>
>> Sanem.
>> _______________________________________________
>> gem5-users mailing list
>> gem5-***@gem5.org
>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>>
>
>
> --
> Regards,
> Mahmood
> _______________________________________________
> gem5-users mailing list
> gem5-***@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>
Mahmood Naderan
2014-04-05 17:48:09 UTC
Permalink
That is a normal thing. sim_second is a workload related parameter
while simulation execution on the host is related to your host, e.g
wall time.

Assume you are simulating single core at 2GHz frequency. As a result
simulating 1 second of your workload takes 2*10^9 cycles. If you write
a good code in gem5, it may takes 10 hours to complete and if you
write a bad code by putting sleep() it takes 20 hours to complete.

On 4/5/14, Sanem Arslan <***@boun.edu.tr> wrote:
> Mahmood,
>
> I have comfirmed that sleep() function executes. Besides that,
> simulation execution on host machine takes longer but execution time
> value (sim_seconds) in stat file does not show a significant difference.
> Alinti Mahmood Naderan <***@gmail.com>
>
>> Sanem,
>> maybe you put sleep() somewhere in the code that never executes! Can
>> you confirm that by breakpoints?
>>
>> On 4/4/14, Sanem Arslan <***@boun.edu.tr> wrote:
>>> Hi all,
>>>
>>> I am using classic memory system and I have added several codes to
>>> the "cache_impl.hh" and "blk.hh" files. However I cannot see the
>>> performance overhead of these added codes on the gem5 execution time.
>>> I have increased cache latency parameters from "CacheConfig.py" file
>>> and I can see the values are updated through out the simulation by
>>> looking trace file, but there is no significant impact on execution
>>> time (sim_seconds). There is a post
>>> (http://thread.gmane.org/gmane.comp.emulators.m5.users/15517/focus=15526)
>>> that
>>> claims there is no significant impact of increasing latency because of
>>> optimizations implemented in the cache protocol in Classic Memory.
>>>
>>> Moreover I have changed "blk->whenReady" parameter aggresively and I
>>> have put some sleep() functions somewhere in cache structures again,
>>> but there is no effect on the execution time.
>>>
>>> How can I observe the performance overhead of my added codes? If you
>>> have any suggestions, please let me know.
>>>
>>> By the way, I am using gem5.opt and X86 with full system mode.
>>>
>>> Thanks for you time and help.
>>>
>>> Sanem.
>>> _______________________________________________
>>> gem5-users mailing list
>>> gem5-***@gem5.org
>>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>>>
>>
>>
>> --
>> Regards,
>> Mahmood
>> _______________________________________________
>> gem5-users mailing list
>> gem5-***@gem5.org
>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>>
>
>
>


--
Regards,
Mahmood
Castillo Villar, Emilio
2014-04-05 18:21:11 UTC
Permalink
The sleep is delaying the simulator, NOT the simulation,
If you want the simulated workload to take longer you have to figure out how to stall the cpu.
Playing with cache latencies should do the trick.
________________________________________
De: gem5-users-***@gem5.org [gem5-users-***@gem5.org] en nombre de Mahmood Naderan [***@gmail.com]
Enviado: sábado, 05 de abril de 2014 19:48
Para: Sanem Arslan
CC: gem5 users mailing list
Asunto: Re: [gem5-users] gem5 cache latency, impact on performance

That is a normal thing. sim_second is a workload related parameter
while simulation execution on the host is related to your host, e.g
wall time.

Assume you are simulating single core at 2GHz frequency. As a result
simulating 1 second of your workload takes 2*10^9 cycles. If you write
a good code in gem5, it may takes 10 hours to complete and if you
write a bad code by putting sleep() it takes 20 hours to complete.

On 4/5/14, Sanem Arslan <***@boun.edu.tr> wrote:
> Mahmood,
>
> I have comfirmed that sleep() function executes. Besides that,
> simulation execution on host machine takes longer but execution time
> value (sim_seconds) in stat file does not show a significant difference.
> Alinti Mahmood Naderan <***@gmail.com>
>
>> Sanem,
>> maybe you put sleep() somewhere in the code that never executes! Can
>> you confirm that by breakpoints?
>>
>> On 4/4/14, Sanem Arslan <***@boun.edu.tr> wrote:
>>> Hi all,
>>>
>>> I am using classic memory system and I have added several codes to
>>> the "cache_impl.hh" and "blk.hh" files. However I cannot see the
>>> performance overhead of these added codes on the gem5 execution time.
>>> I have increased cache latency parameters from "CacheConfig.py" file
>>> and I can see the values are updated through out the simulation by
>>> looking trace file, but there is no significant impact on execution
>>> time (sim_seconds). There is a post
>>> (http://thread.gmane.org/gmane.comp.emulators.m5.users/15517/focus=15526)
>>> that
>>> claims there is no significant impact of increasing latency because of
>>> optimizations implemented in the cache protocol in Classic Memory.
>>>
>>> Moreover I have changed "blk->whenReady" parameter aggresively and I
>>> have put some sleep() functions somewhere in cache structures again,
>>> but there is no effect on the execution time.
>>>
>>> How can I observe the performance overhead of my added codes? If you
>>> have any suggestions, please let me know.
>>>
>>> By the way, I am using gem5.opt and X86 with full system mode.
>>>
>>> Thanks for you time and help.
>>>
>>> Sanem.
>>> _______________________________________________
>>> gem5-users mailing list
>>> gem5-***@gem5.org
>>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>>>
>>
>>
>> --
>> Regards,
>> Mahmood
>> _______________________________________________
>> gem5-users mailing list
>> gem5-***@gem5.org
>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>>
>
>
>


--
Regards,
Mahmood
Sanem Arslan
2014-04-05 19:07:08 UTC
Permalink
Actually I am not dealing with sleep() function. I have put some codes
to the cache structure and I can not figure out the performance
overhead of my added codes by looking execution time in stat file!
Playing with cache latencies or changing "blk->whenReady" value do not
affect the performance.
Alinti "Castillo Villar, Emilio" <***@unican.es>

> The sleep is delaying the simulator, NOT the simulation,
> If you want the simulated workload to take longer you have to figure
> out how to stall the cpu.
> Playing with cache latencies should do the trick.
> ________________________________________
> De: gem5-users-***@gem5.org [gem5-users-***@gem5.org] en
> nombre de Mahmood Naderan [***@gmail.com]
> Enviado: sábado, 05 de abril de 2014 19:48
> Para: Sanem Arslan
> CC: gem5 users mailing list
> Asunto: Re: [gem5-users] gem5 cache latency, impact on performance
>
> That is a normal thing. sim_second is a workload related parameter
> while simulation execution on the host is related to your host, e.g
> wall time.
>
> Assume you are simulating single core at 2GHz frequency. As a result
> simulating 1 second of your workload takes 2*10^9 cycles. If you write
> a good code in gem5, it may takes 10 hours to complete and if you
> write a bad code by putting sleep() it takes 20 hours to complete.
>
> On 4/5/14, Sanem Arslan <***@boun.edu.tr> wrote:
>> Mahmood,
>>
>> I have comfirmed that sleep() function executes. Besides that,
>> simulation execution on host machine takes longer but execution time
>> value (sim_seconds) in stat file does not show a significant difference.
>> Alinti Mahmood Naderan <***@gmail.com>
>>
>>> Sanem,
>>> maybe you put sleep() somewhere in the code that never executes! Can
>>> you confirm that by breakpoints?
>>>
>>> On 4/4/14, Sanem Arslan <***@boun.edu.tr> wrote:
>>>> Hi all,
>>>>
>>>> I am using classic memory system and I have added several codes to
>>>> the "cache_impl.hh" and "blk.hh" files. However I cannot see the
>>>> performance overhead of these added codes on the gem5 execution time.
>>>> I have increased cache latency parameters from "CacheConfig.py" file
>>>> and I can see the values are updated through out the simulation by
>>>> looking trace file, but there is no significant impact on execution
>>>> time (sim_seconds). There is a post
>>>> (http://thread.gmane.org/gmane.comp.emulators.m5.users/15517/focus=15526)
>>>> that
>>>> claims there is no significant impact of increasing latency because of
>>>> optimizations implemented in the cache protocol in Classic Memory.
>>>>
>>>> Moreover I have changed "blk->whenReady" parameter aggresively and I
>>>> have put some sleep() functions somewhere in cache structures again,
>>>> but there is no effect on the execution time.
>>>>
>>>> How can I observe the performance overhead of my added codes? If you
>>>> have any suggestions, please let me know.
>>>>
>>>> By the way, I am using gem5.opt and X86 with full system mode.
>>>>
>>>> Thanks for you time and help.
>>>>
>>>> Sanem.
>>>> _______________________________________________
>>>> gem5-users mailing list
>>>> gem5-***@gem5.org
>>>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>>>>
>>>
>>>
>>> --
>>> Regards,
>>> Mahmood
>>> _______________________________________________
>>> gem5-users mailing list
>>> gem5-***@gem5.org
>>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>>>
>>
>>
>>
>
>
> --
> Regards,
> Mahmood
> _______________________________________________
> gem5-users mailing list
> gem5-***@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>
Sanem Arslan
2014-04-05 19:08:14 UTC
Permalink
Actually I am not dealing with sleep() function. I have put some codes
to the cache structure and I can not figure out the performance
overhead of my added codes by looking execution time in stat file!
Playing with cache latencies or changing "blk->whenReady" value do not
affect the performance.
Alinti "Castillo Villar, Emilio" <***@unican.es>

> The sleep is delaying the simulator, NOT the simulation,
> If you want the simulated workload to take longer you have to figure
> out how to stall the cpu.
> Playing with cache latencies should do the trick.
> ________________________________________
> De: gem5-users-***@gem5.org [gem5-users-***@gem5.org] en
> nombre de Mahmood Naderan [***@gmail.com]
> Enviado: sábado, 05 de abril de 2014 19:48
> Para: Sanem Arslan
> CC: gem5 users mailing list
> Asunto: Re: [gem5-users] gem5 cache latency, impact on performance
>
> That is a normal thing. sim_second is a workload related parameter
> while simulation execution on the host is related to your host, e.g
> wall time.
>
> Assume you are simulating single core at 2GHz frequency. As a result
> simulating 1 second of your workload takes 2*10^9 cycles. If you write
> a good code in gem5, it may takes 10 hours to complete and if you
> write a bad code by putting sleep() it takes 20 hours to complete.
>
> On 4/5/14, Sanem Arslan <***@boun.edu.tr> wrote:
>> Mahmood,
>>
>> I have comfirmed that sleep() function executes. Besides that,
>> simulation execution on host machine takes longer but execution time
>> value (sim_seconds) in stat file does not show a significant difference.
>> Alinti Mahmood Naderan <***@gmail.com>
>>
>>> Sanem,
>>> maybe you put sleep() somewhere in the code that never executes! Can
>>> you confirm that by breakpoints?
>>>
>>> On 4/4/14, Sanem Arslan <***@boun.edu.tr> wrote:
>>>> Hi all,
>>>>
>>>> I am using classic memory system and I have added several codes to
>>>> the "cache_impl.hh" and "blk.hh" files. However I cannot see the
>>>> performance overhead of these added codes on the gem5 execution time.
>>>> I have increased cache latency parameters from "CacheConfig.py" file
>>>> and I can see the values are updated through out the simulation by
>>>> looking trace file, but there is no significant impact on execution
>>>> time (sim_seconds). There is a post
>>>> (http://thread.gmane.org/gmane.comp.emulators.m5.users/15517/focus=15526)
>>>> that
>>>> claims there is no significant impact of increasing latency because of
>>>> optimizations implemented in the cache protocol in Classic Memory.
>>>>
>>>> Moreover I have changed "blk->whenReady" parameter aggresively and I
>>>> have put some sleep() functions somewhere in cache structures again,
>>>> but there is no effect on the execution time.
>>>>
>>>> How can I observe the performance overhead of my added codes? If you
>>>> have any suggestions, please let me know.
>>>>
>>>> By the way, I am using gem5.opt and X86 with full system mode.
>>>>
>>>> Thanks for you time and help.
>>>>
>>>> Sanem.
>>>> _______________________________________________
>>>> gem5-users mailing list
>>>> gem5-***@gem5.org
>>>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>>>>
>>>
>>>
>>> --
>>> Regards,
>>> Mahmood
>>> _______________________________________________
>>> gem5-users mailing list
>>> gem5-***@gem5.org
>>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>>>
>>
>>
>>
>
>
> --
> Regards,
> Mahmood
> _______________________________________________
> gem5-users mailing list
> gem5-***@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>
Continue reading on narkive:
Loading...