Re: [Gems-users] LogTM SE in Gems 2.1


Date: Wed, 5 Mar 2008 17:02:36 +1300
From: "Fuad Tabba" <fuad@xxxxxxxxxxxxxxxxx>
Subject: Re: [Gems-users] LogTM SE in Gems 2.1
Thanks for your reply Jayaram.

I guess it was simple after all. However; I am having some problems. I tried converting one of the old benchmarks (a red black tree, running one thread on a two processor machine). I call the initialization and set_register functions however the simulation crashes. I'm using closed transactions, however the first thing I notice (from the debug trace) is that I'm getting what seems to be a mismatch of open/closed transactions:-

 185045   0 [0,0] TID 0 XACT BEGIN 0  PC 0x19d38  *PC 0x1000400 'magic (sethi 0x400, %g0)' CLOSED
...
...
...
 185626   0 [0,0] TID 0 XACT COMMIT 0  PC 0x19e6c  *PC 0x4000094d 'call 0x196283a0' OPEN

After a few of those transactions I get the following in the middle of a transaction:-
 186331   0 [0,0 ]  XACT Exception(68)_START--Trap Level 0--(PC=0x1a0a0, 1a0a4) instruction = stw %o1, [%o0 + 0]
 186332   0 [0,0 ]  XACT Exception(68)_DONE--Trap Level 1--(PC=0x1001660, 1001664)--(TPC=0x1a0a0, 1a0a4)
 186332   0 [0,0] TID 0 XACT ABORT 0 caused by 0 [ 0, 0 ] xid: 0  address: [0x0, line 0x0] delay: 186332  PC [0x0, line 0x0]  *PC 0xffffffff 'illegal instruction: ff ff ff ff'
SIMICS SEG FAULT  for thread 0 of proc 0
SIMICS SEG FAULT

And that's it pretty much. I'm sure I must be doing something wrong, a setting here or there but not sure what it is. I've attached the debug trace to this email.

Thanks again for your help.

Cheers,
/Fuad



On Wed, Mar 5, 2008 at 1:23 PM, Jayaram Bobba <bobba@xxxxxxxxxxx> wrote:

Step 1: Call init_transaction_state(num_threads) before thread creation
Step 2: Call set_transaction_registers(thread_id) before a thread starts
executing transactions.

Binding threads to processors is highly recommended.

Hope this answers your questions...

Jayaram

Fuad Tabba wrote:
> Hi,
>
> I'm an old user of GEMS 1.3, I'm now migrating to GEMS 2.1,
> specifically to use the LogTM SE simulation. After reading the page TM
> Workload Setup
> (http://www.cs.wisc.edu/gems/doc/wiki/moin.cgi/TM_Workload_Setup) , it
> doesn't seem to be as straightforward as I initially thought it would
> be. I thought that all I needed to do was redefine the magic calls
> that would begin and commit a transaction in the old LogTM, but if I
> understand that page correctly, some data structures need to be
> initialized first....
>
> Anyone can point me in the direction of the easiest way to port
> existing code based on the old LogTM to the new one? Something along
> the lines of the minimum that needs to be done to get old code running
> the old LogTM to work with LogTM SE.
>
> Thanks.
>
> Cheers,
> /Fuad
> ------------------------------------------------------------------------
>
> _______________________________________________
> 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.


Attachment: rb-logtm.dump
Description: Binary data

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