Hi Tiago, As I already pointed out a while back, there are some good reasons to not implement fine-grained parallelisation in the simulation kernel.
In most use-cases a large number of experiment will be run comparing various options, or merely getting statistical significance in the results. Thus, when running 10, 100 or even 1000’s of runs, there is already trivial parallelism, and adding synchronisation/locks etc to gem5 would only serve to slow things down and throw potential performance away. As an example, just making the reference counting pointers atomic costs ~15% performance even for a single-core run that does not even use it. All that said, it makes sense to parallelise chunks of a large-scale simulation that are already parallel without much interaction, such as multiple systems communicating via Ethernet etc. There has already been efforts in this direction (the support is there with multiple EQs), and I think any efforts on making the latter a more well-developed flow/methodology is valuable. Andreas From: Tiago Mück via gem5-users <gem5-users@gem5.org<mailto:gem5-users@gem5.org>> Reply-To: Tiago Mück <tm...@uci.edu<mailto:tm...@uci.edu>>, gem5 users mailing list <gem5-users@gem5.org<mailto:gem5-users@gem5.org>> Date: Monday, 26 January 2015 23:56 To: gem5 users mailing list <gem5-users@gem5.org<mailto:gem5-users@gem5.org>> Subject: Re: [gem5-users] Gem5 on multiple cores Hi everyone, Is there any new effort in making this parallelization work for arbitrary multi-core systems (e.g scaling the number of threads/EQs according to the number of cores in the simulated system) ? Regards, Tiago On Tue, Aug 26, 2014 at 9:07 AM, Steve Reinhardt via gem5-users <gem5-users@gem5.org<mailto:gem5-users@gem5.org>> wrote: I'll mention that gem5 does have the foundation for parallelizing a single simulation across multiple cores; see for example http://repo.gem5.org/gem5/rev/2cce74fe359e. However, if you want to model a non-trivial configuration (i.e., one where there is communication between threads), then you have to insert synchronization, and that does limit your speedup, as Andreas has mentioned. Steve On Tue, Aug 26, 2014 at 3:03 AM, Hussain Asad via gem5-users <gem5-users@gem5.org<mailto:gem5-users@gem5.org>> wrote: Thank you, Andreas *moved to gem5-users :) On Tue, Aug 26, 2014 at 8:39 AM, Andreas Hansson <andreas.hans...@arm.com<mailto:andreas.hans...@arm.com>> wrote: Hi Hussain, I’d suggest to ask on the gem5-users list for everyone’s benefit. Multi-threading invariably comes at a cost, and if you want to run say 10 experiments, they are embarrassingly parallel. As one of the main purposes of gem5 is design-space exploration most users will be running 10’s or 100’s of experiments. Thus, instead of making gem5 multi-threaded and “throwing performance away”, it is efficient as a single-threaded simulator, and I suggest to run your experiments in parallel to make use of your many cores/servers etc. Andreas From: Hussain Asad <x7xcloudstr...@gmail.com<mailto:x7xcloudstr...@gmail.com>> Date: Tuesday, 26 August 2014 04:13 To: Andreas Hansson <andreas.hans...@arm.com<mailto:andreas.hans...@arm.com>> Subject: Gem5 on multiple cores Hi Andreas, I have a quick question, I am running gem5 build on a core i7 system, but gem5 uses just one core of the available 8(4cores +4threads). Is this feature not yet implemented or am I compiling the system not correctly, As I would assume if it was using all my CPU cores the simulation would be much faster. running gem5 on Ubuntu 14 LTS, core i7, 8GB of RAM at the moment, should I move my system to University servers would it be faster in a server system? Thanks Best Regards Hussain -- 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 _______________________________________________ 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