[Shootout-list] Threads and Threads-Flow Proposal

James McIlree ovrskeek@mac.com
Sun, 17 Apr 2005 01:16:02 -0700


	The threads-flow test results should cluster around two camps.
Languages that create heavyweight (OS scheduled) threads, and
those that use lightweight user level mechanisms.

	The lightweight mechanisms are going to dominate in single
cpu performance, baring bad implementations.

	In the heavyweight threads camps, this is mostly a test of
how efficiently the languages pass locking primitives through to
the kernel. The bulk of the time should be spent in waiting for
the OS to wake up and schedule the next runnable thread.

	It would be interesting to see this test recast a bit and
run on a heavily MP system. In that arena, the heavyweight threads
should dominate, and the lightweight schemes would likely not
scale well.

	James M

>> They are working, correct but may fail the actual benchmark run.
>
> Given that the Java programs manage to complete on the test machine why
> do you think the Python programs will fail? (Maybe we should wait and
> see if they do.)
>
>
>> Obviously both threads want to create a "lot" of threads.  I suspect
>> to make signficant timings for some of the languages, the value was
>> upped to unlikely-to-be-seen-in-production 3000 threads.
>
> You suspicion is incorrect - the value was reduced from the 200,000
> favoured by the Erlang guys, to make sure a wide range of languages
> would complete the test.
>
>> Threads -- test the creation, start, and tear down time of a chain of
>> threads.  This models systems that dynamically spawn tasks so 10
>> repetitions over a chain of 300 threads is just as valid as 1
>> repetition with 3000 threads -- the same number of creates, starts,
>> and stops get exercised.
>
> Creation and start, not tear-down.
> And 10x300 may not to be the same as 1x3000
>
>> Threads-Flow -- test the overhead of moving messages repeatedly
>> through a group of threads in a worst case scenario where each thread
>> is woken up with a tiny bit of work to do before passing the message
>> onwards.  Once again, measurement of the moving overhead is just as
>> valid for 1500 messages over 300 threads as 150 messages over 3000
>> threads.
>
> Have you measured with different numbers of active threads?
>
> These guys did
> http://www.sics.se/~joe/ericsson/du98024.html
>
>
>
> 		
> __________________________________
> Do you Yahoo!?
> Read only the mail you want - Yahoo! Mail SpamGuard.
> http://promotions.yahoo.com/new_mail
>
> _______________________________________________
> Shootout-list mailing list
> Shootout-list@lists.alioth.debian.org
> http://lists.alioth.debian.org/mailman/listinfo/shootout-list
>