ring of processes

Bengt Kleberg eleberg@REDACTED
Tue May 27 08:14:40 CEST 2003


greetings,

thanks to Ulf Wiger and Roger Peppe, who supplied the programs in
erlang and limbo respectivly, i have had the opportunity to run the
''ring of processes'' test/benchmark (as described in the ''Concurrency
Oriented programming in Erlang'' talk by Joe Amstrong).

i used the same, lightly loaded, machine for both tests:
SunOS cbe2131 5.8 Generic_108528-19 sun4u sparc SUNW,Ultra-5_10
with 256 Mb ram.

the test started with 1000 processes in the ring. since i knew that
they would not reach 200000 processes without thrashing i had 200000 as
the maximum number of processes. the number of processes increased with
20000 for each step.

erlang ''crashed'' when the spawning of a processes took more than 60
usec (this value is a timeout in the test code).
inferno crashed when there was no more memory left (i had given a limit
of 200 Mb at startup. i did not want to continue testing once
ram was exhausted).

these where the results for:
Erlang (THREADS,HIPE) (BEAM) emulator version 5.2.3.1

erl -noshell +P200000 -s ring main ring 1000 200000 20000

1000	24.2000	3.15600
21000	27.8362	4.43110
41000	24.4463	4.54617
61000	23.2400	4.43508
81000	22.6473	4.44777
101000	22.5306	4.41780
121000	22.0450	4.41909
141000	21.8246	4.45016
161000	29.2502	57.8320
{"init terminating in 
do_boot",{function_clause,[{ring,format,[standard_io,{181000,timeout}]},{lists,f
oreach,2},{ring,ramp,4},{ring,main,1},{init,start_it,1},{init,start_em,1}]}}


these where the result for:
Inferno Third Edition (20020715) main (pid=910) interp

inferno -pmain=200000000 /usr/eleberg/src/ring.dis 1000 200000 20000

1000	   28	    3
21000	27.1429	3.71429
41000	26.3415	3.82927
61000	20.3279	3.7377
81000	18.7407	3.7284
101000	18.5545	3.76238
121000	17.7934	3.72727
141000	29.305	89.2199
arena main too large: size 1088 cursize 199994592 arenasize 200000000 maxsize 
200000000
[Ring] Broken: "no memory"







More information about the erlang-questions mailing list