Re: [Gems-users] LogTM Transactions Hanging (Gems 2.1)


Date: Wed, 18 Jun 2008 14:37:50 +1200
From: "Fuad Tabba" <fuad@xxxxxxxxxxxxxxxxx>
Subject: Re: [Gems-users] LogTM Transactions Hanging (Gems 2.1)
I've uploaded the dump files to

http://www.cs.auckland.ac.nz/~fuad/dump.TIMESTAMP
http://www.cs.auckland.ac.nz/~fuad/dump.BASE

so that you don't need to download/extract the tar in the previous email.

Thanks,
/Fuad

On Wed, Jun 18, 2008 at 2:30 PM, Fuad Tabba <fuad@xxxxxxxxxxxxxxxxx> wrote:
Hello again,

Sorry to bump this thread. But I have tried playing around with the settings, and performing a clean installation of LogTM again, compiling my binaries with a lower optimization level and I still can't get LogTMSe (MESI_CMP_FILTER) to work with more than one thread (ATMTP on the other hand is working fine for the same binaries - different paths for begin/commit transaction obviously).

I am using the default settings of microbench.py , except for:-


g_NETWORK_TOPOLOGY: PT_TO_PT
RETRY_LATENCY: 10
XACT_MEMORY: true
REMOVE_SINGLE_CYCLE_DCACHE_FAST_PATH: true
NUMBER_OF_VIRTUAL_NETWORKS: 5
g_PROCS_PER_CHIP=4 (since my checkpoint has four processors)

If I use the BASE conflict resolution scheme, I get an abortion followed by (for details refer to dump.BASE):-
 137639   1 [1,0] TID 1 XACT ABORT 0 caused by 0 [ 0, 0 ] xid: 0  address: [0x13248040, line 0x13248040] delay: 3142  PC [0x1be10, line 0x1be00]  *PC 0xf624e00c 'stw %i3, [%l3 + 12]'
Starting command line. (May have skipped commands in script files.)
[cpu1] v:0x0000000000015c74 p:0x00018871c74  ba 0x15c8c
Setting new inspection cpu: cpu1
Traceback (most recent call last):
  File "../../../gen-scripts/mfacet.py", line 308, in console_branch_internal
    wait_for_string(get_console(), __prompt)
  File "/home/fuad/Desktop/NoBackup/simics-3.0.30/x86-linux/lib/python/text_console_common.py", line 10, in wait_for_string
    wait_for_obj_hap("Xterm_Break_String", obj, break_id)
  File "/home/fuad/Desktop/NoBackup/simics-3.0.30/x86-linux/lib/python/cli_impl.py", line 3374, in wait_for_obj_hap
    return wait_for_hap_common([hap_name, name, idx0])
  File "/home/fuad/Desktop/NoBackup/simics-3.0.30/x86-linux/lib/python/cli_impl.py", line 3352, in wait_for_hap_common
simics>     raise SimExc_Break, "Script branch interrupted"
sim_core.SimExc_Break: Script branch interrupted

On the other hand, if I use XACT_CONFLICT_RES=TIMESTAMP, I fall (into exceptions) and cannot get up (dump.TIMESTAMP).

I'm completely baffled and would appreciate any help.

My benchmark is a redblack tree (that I wrote, not the one that comes with gems), and what I'm doing is spawning two thread, then starting ruby. I then run a few transactions on each thread (for warmup), clear ruby statistics, and then run some more transactions.

Cheers,
/Fuad

On Mon, Jun 16, 2008 at 11:35 AM, Fuad Tabba <fuad@xxxxxxxxxxxxxxxxx> wrote:
Hi,

I recently had to reinstall gems2.1 and things have been kind of acting up. What I'm trying to do is to run more than one thread with transactions using LogTM (this particular run has 2 threads):-
XACT_CONFLICT_RES=TIMESTAMP
g_NETWORK_TOPOLOGY=PT_TO_PT

otherwise, everything else is set to the default values.

One thread runs fine. However, two threads or more act up. Initially I get a bunch of "XACT CONSISTENCY CHECK FAILURE" and then a "SIMICS SEG FAULT", but it still continues to run. Finally however, I get a "Begin ESCAPE ACTION" and the simulation doesn't terminate (and the trace produces nothing afterwards).

As I mentioned, 1 thread works fine, and so does ATMTP (for any number of threads). I believe that I'm doing the TM_Workload_Setup as well. Any ideas what I'm doing wrong?

I've attached the dump for the run at debug level 2.

Thanks,
/Fuad


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