Good idea. This is a great option when a workload doesn't need the
various goodies that run in multiuser mode.
Daniel Nussbaum - Sun Microsystems - Burlington United States wrote:
Hi James.
It might help to boot the (simulated) OS down to single-user mode, to
reduce the range of possible background tasks that might interfere
with your runs.
To do this, type
shutdown -y -g0 -is
at the shell prompt (running simics -fast, without ruby loaded), then
wait for a fairly long time, then when it asks for the root password,
hit ENTER. At that point, (simulated) Solaris will booted in
single-user mode. Save the configuration, and run all of your tests
starting from that point.
You'll need to do this separately for 1-, 2-, 4-, etc. processor
machines as needed.
This is the environment from which we run all of our tests.
dann
Date: Thu, 03 May 2007 09:22:54 -0500
From: Kevin Moore <kmoore@xxxxxxxxxxx>
James,
Binding a thread to a processor does not mean that it will run
there continuously. It just means that the thread will only run on
that processor. If you've created a processor set (psrset), and
bound only the one thread to that set, no other user threads will
run in that set. But, OS processes can and do sometimes run on
bound processors. For whatever reason, Solaris likes to run mostly
on processor 0. For that reason, what we typically do is to create
a processor set for each other processor (not p0) and bind our
threads to those sets.
--Kevin
James Wang wrote:
Hi Dan:
Thank you very much for your prompt reply. But I don't really
understand what the nature of this situation is. Why would the
OS want to deschedule my benchmark? Also, I bound the thread
to the processor, should it just stay there and run? I did
this with a four processor simulated machine, why other
processors are not affected by this problem?
Regards
James
----- Original Message ----
From: Dan Gibson <degibson@xxxxxxxx>
To: Gems Users <gems-users@xxxxxxxxxxx>
Sent: Friday, May 4, 2007 1:03:42 AM
Subject: Re: [Gems-users] Processor Lost
The OS could be descheduling your transactional benchmark, though
I'm not sure why that might be happening. Try quiescing the system
by killing background processes, and then pre-fetch any binaries
or data you might be using in your benchmark by running it once to
completion before loading Ruby (and hence, without
synchronization). That should eliminate any I/O you might
inadvertenly cause at runtime. It will also cause your benchmark
to run with different system interactions, and will hopefully fix
the Processor Lost/Processor Found problem.
Regards,
Dan
James Wang wrote:
Hi All:
I am running some transactional memory benchmark using a
customized SMP cache coherent protocol. For some reason, p0
will run code other than the transactional benchmark and the
other processors finishes fine. I cannot really tell what p0
is doing. I tried a few different random seed, the same
situation happens every time.
Any idea?
Thanks for any reply in advance.
Regards
James
_______________________________________________
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.
--
http://www.cs.wisc.edu/~gibson [esc]:wq!
|