Hi Tyler, Actually this error occurs very soon after I start the simulation from the QEMU monitor. The error occurs even before I get to the guest OS window. For both the machines (shared_l2 &private_L2) I get this error. More specifically I get the error message when I give the command "simconfig -run -machine MACHINE_NAME" in the QEMU monitor and when I press Ctrl+Alt+Shift-1 to switch to the guest OS. Hence I could not start any benchmarks too.
Also please find the error message I while simulating both the "shared_l2" & "private_L2" machines provided in the 'default.conf' configuration file. I am using the disk images provided in the marss86.org website. Both the machines provide the same error message: shared_l2: ERROR: guest physical address 0xfffffff0 is out of bounds ERROR: guest physical address 0xfffffff0 is out of bounds ERROR: guest physical address 0xfffffff0 is out of bounds ERROR: guest physical address 0xfffffff0 is out of bounds ERROR: guest physical address 0xfffffff0 is out of bounds ERROR: guest physical address 0xfffffff0 is out of bounds ERROR: guest physical address 0xfffffff0 is out of bounds qemu-system-x86_64: ptlsim/build/core/ooo-core/ooo-pipe.cpp:2054: int ooo::ReorderBufferEntry::commit(): Assertion `ctx.get_cs_eip() == uop.rip' failed. private_L2: ERROR: guest physical address 0xfffffff0 is out of bounds ERROR: guest physical address 0xfffffff0 is out of bounds ERROR: guest physical address 0xfffffff0 is out of bounds ERROR: guest physical address 0xfffffff0 is out of bounds ERROR: guest physical address 0xfffffff0 is out of bounds ERROR: guest physical address 0xfffffff0 is out of bounds ERROR: guest physical address 0xfffffff0 is out of bounds qemu-system-x86_64: ptlsim/build/core/ooo-core/ooo-pipe.cpp:2054: int ooo::ReorderBufferEntry::commit(): Assertion `ctx.get_cs_eip() == uop.rip' failed. Your comments are more welcome. Thanks, karthik Note: In my previous mail there were differences in error messages for these same machines as I was using my own disk image instead of the disk image available for download from www.marss86.org website. On Wed, Jul 23, 2014 at 8:24 AM, <[email protected]> wrote: > Karthik, > > Which benchmark(s) are you running? Kernel version? Are you using one of > the stock images? This shouldn't happen in a stock configuration like > this... > > Tyler > >> Hi, >> >> Thanks a lot for taking your time to help me out amidst your busy >> schedule. Do you need any more data from my side? Kindly let me know. >> >> Regards, >> karthik >> >> On Mon, Jul 14, 2014 at 5:38 PM, karthik vm <[email protected]> wrote: >>> Hi Brendan &Tyler, >>> >>> I have compiled MARSS with C=32 and ran both shared_l2 and private_L2. >>> Unfortunately both of them crashed. Please find below the assertions I >>> got with the simulation of each of them: >>> >>> shared_l2: >>> ERROR: guest physical address 0xfffffff0 is out of bounds >>> qemu-system-x86_64: ptlsim/build/core/ooo-core/ooo-pipe.cpp:2054: int >>> ooo::ReorderBufferEntry::commit(): Assertion `ctx.get_cs_eip() == >>> uop.rip' failed. >>> >>> private_L2: >>> qemu-system-x86_64: ptlsim/build/core/ooo-core/ooo-pipe.cpp:2054: int >>> ooo::ReorderBufferEntry::commit(): Assertion `ctx.get_cs_eip() == >>> uop.rip' failed. >>> >>> I got the above assertions for the simulated machines consistently. I >>> tried to simulate each one thrice. >>> Kindly let me know if you need any other data. >>> >>> Thanks, >>> karthik >>> >>> On Sun, Jul 13, 2014 at 10:51 PM, Brendan Fitzgerald >>> <[email protected]> wrote: >>>> Compile with c=32 then run either shared_l2 or private_L2 since they >>>> are >>>> configured with OoO cores. >>>> >>>> By sample he means it's the one we provide. The core doesn't reflect an >>>> actual machine, but it's close. >>>> >>>> >>>> On Sun, Jul 13, 2014 at 9:25 PM, karthik vm <[email protected]> wrote: >>>>> >>>>> Hi Tyler, >>>>> >>>>> I am not quite clear what you mean by sample OoO configurations. >>>>> Currently the 'shared_l2' or 'private_L2' machine configurations are >>>>> configured as OoO cores. So you want me to compile MARRS for 32 cores >>>>> and simulate one of these machines? Can you clarify? Thanks. >>>>> >>>>> Regards, >>>>> karthik >>>>> >>>>> On Sat, Jul 12, 2014 at 2:12 PM, <[email protected]> wrote: >>>>> > Karthik, >>>>> > >>>>> > Can you try one of the sample OoO configurations? The configuration >>>>> > files >>>>> > are sensitive and currently not fully checked for validity. >>>>> > >>>>> > Compile with: >>>>> > scons c=32 >>>>> > >>>>> > Then use the 'shared_l2" or 'private_L2' machine configuration (be >>>>> aware >>>>> > of the capitalization differences...) >>>>> > >>>>> > That should give you a 32-core non-SMT configuration. >>>>> > >>>>> > Tyler >>>>> > >>>>> >> Hi Tyler, >>>>> >> >>>>> >> Thanks for your immediate reply. Great to know that MARSS is suited >>>>> >> for analyzing lock contention. >>>>> >> >>>>> >> Basically I was trying to simulate the 'private_L2' machine from >>>>> the >>>>> >> 'default' configuration file with enable-kvm switch in qemu. The >>>>> >> configuration of 'cores' in private_L2 is below: >>>>> >> >>>>> >> cores: >>>>> >> - type: ooo >>>>> >> name_prefix: ooo_ >>>>> >> >>>>> >> Since there are no option for # of threads. I guess the cores are >>>>> >> single threaded or non SMT. Anyway to enforce this I added the >>>>> threads >>>>> >> option as below: >>>>> >> >>>>> >> cores: >>>>> >> - type: ooo >>>>> >> name_prefix: ooo_ >>>>> >> option: >>>>> >> threads: 1 >>>>> >> >>>>> >> When I ran the simulation I get the same error again: >>>>> >> qemu-system-x86_64: ptlsim/build/core/ooo-core/ooo-pipe.cpp:2054: >>>>> int >>>>> >> ooo::ReorderBufferEntry::commit(): Assertion `ctx.get_cs_eip() == >>>>> >> uop.rip' failed. >>>>> >> >>>>> >> Then I tried to change the core type from 'ooo' to 'atom' which is >>>>> non >>>>> >> SMT in the machine. Please find the configuration below: >>>>> >> >>>>> >> cores: >>>>> >> - type: atom >>>>> >> name_prefix: atom_ >>>>> >> option: >>>>> >> threads: 1 >>>>> >> >>>>> >> Now also I see that the simulation stops with the following error >>>>> >> shortly after it started: >>>>> >> qemu-system-x86_64: ptlsim/build/core/atom-core/atomcore.cpp:2128: >>>>> >> void atom::AtomThread::dtlb_walk(): Assertion `dtlb_miss_addr' >>>>> failed. >>>>> >> >>>>> >> Kindly let me know your comments. >>>>> >> >>>>> >> Thanks, >>>>> >> karthik >>>>> >> >>>>> >> On Thu, Jul 10, 2014 at 11:50 AM, <[email protected]> >>>>> wrote: >>>>> >>> Karthik, >>>>> >>> >>>>> >>> This assertion: >>>>> >>> ooo::ReorderBufferEntry::commit(): Assertion `ctx.get_cs_eip() == >>>>> >>> uop.rip' >>>>> >>> failed. >>>>> >>> >>>>> >>> is a long-living bug in the current MARSS code. I believe it may >>>>> been >>>>> >>> linked to SMT-based configurations, but I have not had the time to >>>>> >>> look >>>>> >>> into it. If your simulated machine uses SMT, can you try disabling >>>>> SMT >>>>> >>> and >>>>> >>> please regenerate checkpoints and try again? >>>>> >>> >>>>> >>> As for your second question, MARSS is definitely suited to giving >>>>> your >>>>> >>> more statistics than other options (i.e., instrumenting the >>>>> kernel, >>>>> >>> using >>>>> >>> hardware/machine counters, etc.). If you need detailed, >>>>> hardware-level >>>>> >>> statistics relating to lock contention, you can easily instrument >>>>> the >>>>> >>> MARSS code base with some heuristics/counters that suit your >>>>> research. >>>>> >>> >>>>> >>> Tyler >>>>> >>> >>>>> >>>> Hi, >>>>> >>>> >>>>> >>>> I am trying to use MARlSS for analyzing lock contention in >>>>> >>>> multi-threaded apps and in linux OS code. I have successfully >>>>> built >>>>> >>>> the simulator and able to simulate the cores. Some of the >>>>> questions I >>>>> >>>> have are: >>>>> >>>> >>>>> >>>> 1) When I try to run MARSS configured with large number of >>>>> cores(e.g >>>>> >>>> 32), the simulation is very slow. From the discussion here >>>>> >>>> >>>>> >>>> "http://article.gmane.org/gmane.comp.emulators.marss86/112/match=enable+kvm" >>>>> >>>> I get that atleast for creating checkpoints we can use KVM which >>>>> will >>>>> >>>> be much faster. But I do not understand where should we enable >>>>> the >>>>> >>>> KVM? I tried the following: >>>>> >>>> >>>>> >>>> $ qemu/qemu-system-x86_64 -enable-kvm -m [memory_size] -hda >>>>> >>>> [path-to-qemu-disk-image] >>>>> >>>> >>>>> >>>> Then in qemu monitor mode I configured the simulator as follows: >>>>> >>>> simconfig -run -machine private_L2 >>>>> >>>> >>>>> >>>> But shortly after the simulator starts I get the following error: >>>>> >>>> qemu-system-x86_64: ptlsim/build/core/ooo-core/ooo-pipe.cpp:2054: >>>>> int >>>>> >>>> ooo::ReorderBufferEntry::commit(): Assertion `ctx.get_cs_eip() == >>>>> >>>> uop.rip' failed. >>>>> >>>> >>>>> >>>> Can someone point me what I miss here and what Avadh was talking >>>>> >>>> about >>>>> >>>> enabling KVM? >>>>> >>>> >>>>> >>>> 2) From the mailing list discussion >>>>> >>>> >>>>> >>>> (http://www.mail-archive.com/marss86-devel%40cs.binghamton.edu/msg01882.html) >>>>> >>>> I see that MARSS runs the cores concurrently. Hence I believe >>>>> MARSS >>>>> >>>> can simulate the lock contentions in both application & OS code >>>>> >>>> needed >>>>> >>>> for my research. Kindly let me know your comments for >>>>> confirmation. >>>>> >>>> >>>>> >>>> Thanks for your time, >>>>> >>>> karthik >>>>> >>>> >>>>> >>>> _______________________________________________ >>>>> >>>> http://www.marss86.org >>>>> >>>> Marss86-Devel mailing list >>>>> >>>> [email protected] >>>>> >>>> https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel >>>>> >>>> >>>>> >>> >>>>> >>> >>>>> >> >>>>> > >>>>> > >>>>> >>>>> _______________________________________________ >>>>> http://www.marss86.org >>>>> Marss86-Devel mailing list >>>>> [email protected] >>>>> https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel >>>> >>>> >> > > _______________________________________________ http://www.marss86.org Marss86-Devel mailing list [email protected] https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel
