There is one known problem with unserializing into a system with switch_cpus
defined, that I have an uncommitted patch for here:

http://reviews.m5sim.org/r/608

Based on your description I don't think this is what you're seeing, but I
thought I'd throw it out there in case I'm wrong, or you're actually running
into a different manifestation of the same bug, or perhaps it will jog
Brad's memory to think of a related cause.

Steve

On Fri, May 6, 2011 at 2:00 AM, Timothy M Jones
<[email protected]>wrote:

> Hi Brad,
>
> Thanks for the reply and the explanation about Ruby.
>
> I've attached the runscript.rcS file that I was using.  I'm using the
> kernel from the M5 website and disk image from UTexas (
> http://www.cs.utexas.edu/~parsec_m5/linux-parsec-2-1-m5-with-test-inputs.img.bz2)
>
>
> I looked at the config file and checkpoint files.  The CPUs do have the
> same names and I don't get any unserialization warnings at all when running
> from the checkpoint.  I did notice that the CPU types were different (since
> I was creating checkpoints with AtomicSimpleCPU) but adding the '-t' switch
> to the creation command didn't make the error go away.
>
> I also tried using the ruby_fs.py script to create checkpoints too by
> adding support for '--script' within it using the attached patch.  This
> created a checkpoint without problems.  Loading from it caused a
> segmentation fault in the simulated program though.  These were the commands
> I used for that:
>
> ./build/ALPHA_FS/m5.fast -d ../outputs --remote-gdb-port 0
> ./configs/example/ruby_fs.py -n 2 --script=../scripts/runscript.rcS
> --max-checkpoints=1
>
> ./build/ALPHA_FS/m5.fast -d ../outputs --remote-gdb-port 0
> ./configs/example/ruby_fs.py -n 2 -r 0
>
> Thanks again
> Tim
>
>
> Beckmann, Brad wrote:
>
>> Hi Tim,
>>
>> Before I try to help you with your specific problem, I want to point out
>> that is Ruby's current support for checkpointing is a little confusing and
>> that is one area that we are actively improving.  In particular Ruby
>> currently uses physmem as a functional memory image and thus messages within
>> Ruby only impact the timing of memory accesses.  Thus, loading a checkpoint
>> with Ruby is nothing more than loading Ruby's backing image of physmem with
>> the checkpointed memory image. Also there is no current support for cache
>> warmup. We are in the process of changing that, but that code is not yet
>> ready.
>>
>> Having said that, I suspect that your problem is something different.  In
>> general, your sequence of commands should work and I can't reproduce your
>> specific error since I don't have your particular rcS script.  I'd be
>> curious to know if you see any unserialzation warnings complaining that
>> certain simobjects aren't in the loaded checkpoint.  In particular, do the
>> cpus have the exact same name between the config.ini file with ruby and the
>> m5.cpt file in your checkpoint?
>> Sorry I can't be more help, but if you send me your rcS script, I'd be
>> happy to investigate further.
>>
>> Brad
>>
>>
>>  -----Original Message-----
>>> From: [email protected] [mailto:m5-users-
>>> [email protected]] On Behalf Of Timothy M Jones
>>> Sent: Wednesday, May 04, 2011 5:49 AM
>>> To: M5 users mailing list
>>> Subject: [m5-users] Creating ruby checkpoints
>>>
>>> Hello,
>>>
>>> I'm trying to create checkpoints for use with ruby using ALPHA_FS.  It
>>> takes
>>> ages to boot linux with ruby enabled, and since I want several
>>> checkpoints
>>> for different numbers of cores, I was hoping I'd be able to create
>>> checkpoints
>>> without ruby, then run from the checkpoints with.
>>> This doesn't appear to work.  If I create a checkpoint with this command:
>>>
>>> ./build/ALPHA_FS/m5.fast -d ../outputs --remote-gdb-port 0
>>> ./configs/example/fs.py -n 2 --max-checkpoints=1 --
>>> script=../scripts/runscript.rcS
>>>
>>> Then I can run it fine with this command:
>>>
>>> ./build/ALPHA_FS/m5.fast -d ../outputs --remote-gdb-port 0
>>> ./configs/example/fs.py -n 2 -r 0
>>>
>>> But switching to ruby causes errors:
>>>
>>> /build/ALPHA_FS/m5.fast -d ../outputs --remote-gdb-port 0
>>> ./configs/example/ruby_fs.py -n 2 -r 0
>>>
>>> In the system.terminal file I get this error output:
>>>
>>> script(759): unhandled unaligned exception pc = [<fffffc00006b83c0>]  ra
>>> =
>>> [<fffffc00006b83bc>]  ps = 0007
>>> r0 = 000000001f6c8000  r1 = fffffc00003111a0  r2 = fffffc0000018000
>>> r3 = 000000000000002b  r4 = 0000000000000720  r5 = fffffc000085ecb8
>>> r6 = 0000000000000059  r7 = 0000000000000040  r8 = 0000000000003fff
>>> r9 = fffffc001f5c5580  r10= fffffc001f3eec00  r11= fffffc0000d09b80 r12=
>>> fffffc001f6b0740  r13= 0000000000000001  r14= 0000000000000008 r15=
>>> fffffc001f657e48 r16= 000000001f654000  r17= fffffc001f3eec00  r18=
>>> fffffc001f6b0740 r19= 0000000000000001  r20= 0000000000000000  r21=
>>> fffffc0000860640 r22= 0000000000000000  r23= 000000200618a0cf  r24=
>>> 4000000000000000 r25= 00000000000003ff  r27= fffffc0000311190  r28=
>>> fffffc001f5c5580
>>>
>>> This seems to happen no matter which protocol I compile into the binary,
>>> although this was with MESI_CMP_directory.  Does anyone have any
>>> suggestions as to how I can go about creating some checkpoints to use
>>> like
>>> this or what I'm doing wrong?
>>>
>>> Thanks
>>> Tim
>>>
>>> --
>>> Timothy M. Jones
>>> http://www.cl.cam.ac.uk/~tmj32
>>> _______________________________________________
>>> m5-users mailing list
>>> [email protected]
>>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>>
>>
>>
>> _______________________________________________
>> m5-users mailing list
>> [email protected]
>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>
>
> --
> Timothy M. Jones
> http://www.cl.cam.ac.uk/~tmj32
>
> #!/bin/sh
>
> # File to run the blackscholes benchmark using 2 cores.
>
> cd /parsec/install/bin
> /sbin/m5 checkpoint
> ./blackscholes 2 /parsec/install/inputs/blackscholes/in_16.txt
> /parsec/install/inputs/blackscholes/prices.txt
> echo "Done :D"
> /sbin/m5 exit
>
> _______________________________________________
> m5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>
_______________________________________________
m5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users

Reply via email to