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

Reply via email to