[Gems-users] Problems binding threads to cabinets


Date: Tue, 16 Oct 2007 22:24:13 +0200
From: "Rubén Titos" <rtitos@xxxxxxxxxxx>
Subject: [Gems-users] Problems binding threads to cabinets
Dear list,

I'm having some trouble with the way gems 2.0 binds threads to processors: when I run a transactional benchmark (i.e. btree) I always get the error "pset_bind: invalid argument" when threads call the function tm_bind_to_cabinet. (I'm using a sarek machine sol10-usiii+ and  simics 2.2.19).

I've tried to create as many processor sets as threads before running the benchmark, using the command "psrset -c", and then assign each processor to a different processor set. The problem is that I can't assign processor 0 since it's busy:

bash-3.00# psrinfo
0       on-line   since 06/02/2002 07:00:35
1       on-line   since 06/02/2002 07:00:40
bash-3.00# psrset -c
created processor set 1
bash-3.00# psrset -c
created processor set 2
bash-3.00# psrset -a 1 1
processor 1: was not assigned, now 1
bash-3.00# psrset -a 2 0
psrset: cannot assign processor 0: Device busy
bash-3.00


Doing this, I run the benchmark (with 2procs) and I get one error in pset_bind (tm_bind_to_cabinet). My guess is it fails for the processor that wasn't assigned (since I get two times the error if I dont create/assign psets at all).
Can anybody elaborate on how to bind threads with psrset/pset_bind in gems 2.0?

Another doubt related to this: I'm using the scripts generated by gen-scripts, and I'm confused about this line (found at the beginning of btree.simics and other microbenchmarks).
    proc_no = [0, 1, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
It seems as if proc numbers where different from what one could expect (0..num_p-1) and it was necessary to remap the numbers. However, calling psrset with proc_no[j] instead of just j doesn't work either. Can anyone clarify this as well?

btw, in gems-1.4 I used processor_bind to do this same thing and seemed to work just fine.

Thanks in advance,

Ruben


--
Ruben Titos
Parallel Computing and Architecture Group (GACOP)
Computer Engineering Dept.
University of Murcia
[← Prev in Thread] Current Thread [Next in Thread→]