Re: [Gems-users] Ruby Initialization Error


Date: Mon, 21 Sep 2009 15:47:04 -0500
From: Philip Garcia <pcgarcia@xxxxxxxx>
Subject: Re: [Gems-users] Ruby Initialization Error
for any system, the checkpoint you start gems with needs to be booted on a system where the number of cpu's matches between ruby and simics.  To get a 2 or 4 cpu checkpoint you'll need to boot a fresh system where you have the $num_cpus parameter set, and then verify that simics indeed sees the expected number of cpus.  From there, save your checkpoint, and you should be able to load GEMS on top of it.  

The reason you can't change $num_cpu's dynamically is because the computers in question weren't designed to dynamically change how many CPUs are installed on them.  Just like you can't install another processor on your workstation without shutting down first (assuming you had a dual socket board), you can't do the same on the simulated machines.  

One issue you might run into though is that I don't know how much testing (if any) has been done using a cashew platform.  I'm sure someone from the GEMS group might know more about it than me, but I think most of their work is on the Serengeti targets.  I can verify that with some tweaks, GEMS will also play nicely with the bagle target systems.  

Phil
On Sep 21, 2009, at 3:30 PM, Yunlian Jiang wrote:

Thank you for your reply.
Indeed I want to simulate a CMP processor with 2 or 4 cores on it.
I noticed that I should set $num_cpus at the very begining.
I found that after I set $num_cpus=2 on Cashew, the ruby at least initiated successfully.
Does it mean I can continue my experiment on Cashew?

Another question is that, if Cashew works, should I just set $num_cpus before hand?
I mean that I can adjust cache, cpu speed etc at run time.

Thanks again.

On Mon, Sep 21, 2009 at 2:02 PM, Philip Garcia <pcgarcia@xxxxxxxx> wrote:
are you using the same checkpoint for both one and two processor
runs?  If so that definitely won't work, as you need to boot
checkpoints with the same number of CPUs as you set ruby to use
(unless using SMT in Opal).  Also, does Cashew work with multi-cpus?
I thought most of the solaris checkpoints were from sarengeti, and for
linux, I've always used bagle.

Phil
On Sep 21, 2009, at 11:32 AM, Yunlian Jiang wrote:

> I am now using simics 3.0.31 and gems-2.1.
> I use the cashew-common.simics to build a checkpoint and then load
> Ruby.
> When I set ruby0.setparam g_NUM_PROCESSORS  to 1
> The initialization goes well.
> But when I set set ruby0.setparam g_NUM_PROCESSORS  to 2
> It dumps out the following error
>
> Creating event queue...
> Creating event queue done
> Creating system...
>   Processors: 2
> Segmentation fault (SIGSEGV) in main thread
> The simulation state has been corrupted. Simulation cannot continue.
> Please restart Simics.
>
> What would be the problem? Thanks!
>
> --
> Yunlian
> _______________________________________________
> Gems-users mailing list
> Gems-users@xxxxxxxxxxx
> https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> Use Google to search the GEMS Users mailing list by adding
> "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.
>

_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.




--
Yunlian
_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.


[← Prev in Thread] Current Thread [Next in Thread→]