[parsec-users] Running PARSEC with only one thread (pthreads)
cbienia at CS.Princeton.EDU
Fri May 14 14:23:42 EDT 2010
You should consider the parameter `-n' more as a lower threshold. Many
programs use more threads, depending on what exactly they do. The 2 LWPs
that you observed for `-n 1' are the boss thread plus one worker thread. The
boss thread is idle during the parallel phase. In other words, the total
number of threads in those cases is 1 + N. And some programs like dedup use
several thread pools because of their pipeline model. Other programs use
dedicated I/O threads to hide disk latencies, so it all depends.
If you want to limit the number of CPUs that the programs use you must use
other mechanisms. The hooks library supports thread pinning that can be
controlled via environment variables from the command line. Just restrict
all threads of the program to a subset of the CPUs and you're fine. This is
currently only implemented for Linux, but similar functionality also exists
for other operating systems. You can find details about this mechanism in
the PARSEC man pages.
For the special case where you want to use only one CPU you can also run the
serial version of the programs. However, this does not include the
parallelization overhead because it is de facto a different algorithm that
From: parsec-users-bounces at lists.cs.princeton.edu
[mailto:parsec-users-bounces at lists.cs.princeton.edu] On Behalf Of kishore
Sent: Friday, May 14, 2010 1:50 PM
To: PARSEC Users
Subject: [parsec-users] Running PARSEC with only one thread (pthreads)
I would like to run streamcluster, canneal, ferret, blackscholes,
fluianimate, and swaptions with only one thread on OpenSolaris 2009.06.
Though I am giving "-n 1" as a command-line parameter, most of the
applications are running with 2 LWPs and ferret is running with 7.
Please let me know how to run these with 1 LWP.
Kishore Kumar Pusukuri
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the parsec-users