I’ve checked in an SMP-aware scheduler and would love folks to start
testing with it. I’m seeing good scaling performance when running it
on multiprocessor/multicore systems. On a dual-quad-core Xeon, there
are cases where I get 7.9 times improvement in performance over the
earlier scheduler. I’ll post some graphs later.
Check out and build boost 1.35 as described above, then
$ export LD_LIBRARY_PATH=/opt/boost_1_35_0/lib
$ cd mp-sched
$ ./bootstrap
$ ./configure --with-boost=/opt/boost_1_35_0
$ make
$ make check
$ sudo make install
The code contains both the old single-threaded-scheduler (STS) and the
new thread-per-block (TPB) scheduler. By default you’ll get the TPB
scheduler. If you want to do A:B testing, you can select the
scheduler by setting the GR_SCHEDULER environment variable like so:
$ GR_SCHEDULER=TPB
or
$ GR_SCHEDULER=STS
Have fun and please let me know if you run into any snafus.
There was a fair amount of build system hacking, and it’s possible
that I may have damaged non-Linux builds accidentally.
On Thu, Jul 17, 2008 at 07:55:29AM -0700, Eric B. wrote:
I’ve checked in an SMP-aware scheduler and would love folks to start
testing with it. I’m seeing good scaling performance when running it
on multiprocessor/multicore systems. On a dual-quad-core Xeon, there
are cases where I get 7.9 times improvement in performance over the
earlier scheduler. I’ll post some graphs later.
In my excitement (ooh, ooh, it’s working!) I forgot to mention that
^C handling is not fully sorted out in the feature branch. If you try
^C and nothing happens, switch to ^. I’ll let you know when there’s
a proper fix.
On Fri, Jul 18, 2008 at 08:17:33AM +0200, Dominik A. wrote:
Hi Eric!
Very nice work! I have run the synthetic benchmark program on our machine.
The scaling is wonderful. It is running almost 8x faster.
If you like, I can send you some reports.
Dominik
I’d love to have them. If you’ve got them with the -m option, that’s
even better. Please be sure to send along a description of the
machine it’s running on.
OSX 10.5.4, XCode 3.0 (gcc 4.0.1), using MacPorts for all
requirements. I can send specific versions of requirements upon
request.
From the checked out branch:
% mkdir build_all
% cd build_all
% …/configure
[snip]
checking for guile… /opt/local/bin/guile
checking for boost >= 1.35… yes
checking whether the Boost::Thread library is available… yes
checking whether the Boost::Date_Time library is available… yes
configure: error: Could not link against !
On Fri, Jul 18, 2008 at 03:46:42PM -0400, Michael D. wrote:
checking for boost >= 1.35… yes
checking whether the Boost::Thread library is available… yes
checking whether the Boost::Date_Time library is available… yes
configure: error: Could not link against !
Michael,
Where is boost 1.35 installed on your system?
What’s the path to the include directory and the lib directory?