看板 DFBSD_kernel 關於我們 聯絡資訊
--20cf303f6708f30349049dfe79da Content-Type: text/plain; charset=UTF-8 Hi, Recently I came across this site: http://bulk.fefe.de/scalability/ The author ran a number of microbenchmarks on a then-current Linux and BSD systems to get an idea of the scalability (or breakdown) of a number of common and uncommon paths. I just ran the tests on a DragonFly 2.9 (kernel of 03/04/2011, compiled with gcc 4.4, world of 3/2) 1.5 GHz P4 (willamette) with 512 MB of RAM. I don't have any comments on the tests themselves, here are just graphs of the results. -> The first test from the set I ran was the bind benchmark; this just calls bind to port 0 on a number of sockets. http://m-net.arbornet.org/~sv5679/bind4-dfly-03042011.png
(using the same scale as the graph on the original page) -> The fork benchmark; creates a pipe, forks a number of child processes, wait for each to write a byte into that pipe; aggregates time between fork and receiving the byte. http://m-net.arbornet.org/~sv5679/fork-dfly-03042011.png
(larger vertical scale than fefe.de) -> The static fork benchmark; same as above, but with a statically linked process. http://m-net.arbornet.org/~sv5679/fork-vs-forks-dfly-03042011.png
(larger vertical scale than fefe.de) -> The mmap benchmark: http://m-net.arbornet.org/~sv5679/mmap-dfly-03042011.png
(very similar scale) -> the mmap benchmark part 2 (touching the pages); http://m-net.arbornet.org/~sv5679/mmap1-dfly-03042011.png
(same scale) -> Fork cleanup benchmark (in the comments): http://m-net.arbornet.org/~sv5679/fork-cleanup-latency2-dfly-03042011.png
(same scale) Overall, our graphs look very similar to the FreeBSD systems tested there (shapewise; the hardware & values are different and not directly comparable); our fork() curve is closer to FreeBSD 4's than FreeBSD 5's, (see http://bulk.fefe.de/scalability/freebsd/fork-freebsd-current.png and
http://m-net.arbornet.org/~sv5679/fork-dfly-03042011.png). Just thought that these'd be interesting. Take them with a grain of pepper; they are microbenchmarks and are measuring things about very specific code paths. -- vs --20cf303f6708f30349049dfe79da Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi,<br><br>Recently I came across this site: <a href=3D"http://bulk.fefe.de= /scalability/">http://bulk.fefe.de/scalability/</a><br><br>The author ran a= number of microbenchmarks on a then-current Linux and BSD systems to get a= n idea of the scalability (or breakdown) of a number of common and uncommon= paths. I just ran the tests on a DragonFly 2.9 (kernel of 03/04/2011, comp= iled with gcc 4.4, world of 3/2) 1.5 GHz P4 (willamette) with 512 MB of RAM= .. I don&#39;t have any comments on the tests themselves, here are just grap= hs of the results.<br> <br>-&gt; The first test from the set I ran was the bind benchmark; this ju= st calls bind to port 0 on a number of sockets.<br><a href=3D"http://m-net.= arbornet.org/~sv5679/bind4-dfly-03042011.png">http://m-net.arbornet.org/~sv= 5679/bind4-dfly-03042011.png</a><br> (using the same scale as the graph on the original page)<br><br>-&gt; The f= ork benchmark; creates a pipe, forks a number of child processes, wait for = each to write a byte into that pipe; aggregates time between fork and recei= ving the byte.<br> <a href=3D"http://m-net.arbornet.org/~sv5679/fork-dfly-03042011.png">http:/= /m-net.arbornet.org/~sv5679/fork-dfly-03042011.png</a><br>(larger vertical = scale than <a href=3D"http://fefe.de">fefe.de</a>)<br><br>-&gt; The static = fork benchmark; same as above, but with a statically linked process.<br> <a href=3D"http://m-net.arbornet.org/~sv5679/fork-vs-forks-dfly-03042011.pn= g">http://m-net.arbornet.org/~sv5679/fork-vs-forks-dfly-03042011.png</a><br= >(larger vertical scale than <a href=3D"http://fefe.de">fefe.de</a>)<br><br= > -&gt; The mmap benchmark:<br><a href=3D"http://m-net.arbornet.org/~sv5679/m= map-dfly-03042011.png">http://m-net.arbornet.org/~sv5679/mmap-dfly-03042011= ..png</a><br>(very similar scale)<br><br>-&gt; the mmap benchmark part 2 (to= uching the pages);<br> <a href=3D"http://m-net.arbornet.org/~sv5679/mmap1-dfly-03042011.png">http:= //m-net.arbornet.org/~sv5679/mmap1-dfly-03042011.png</a><br>(same scale)<br= ><br>-&gt; Fork cleanup benchmark (in the comments):<br><a href=3D"http://m= -net.arbornet.org/~sv5679/fork-cleanup-latency2-dfly-03042011.png">http://m= -net.arbornet.org/~sv5679/fork-cleanup-latency2-dfly-03042011.png</a><br> (same scale)<br><br>Overall, our graphs look very similar to the FreeBSD sy= stems tested there (shapewise; the hardware &amp; values are different and = not directly comparable); our fork() curve is closer to FreeBSD 4&#39;s tha= n FreeBSD 5&#39;s,=C2=A0 (see <a href=3D"http://bulk.fefe.de/scalability/fr= eebsd/fork-freebsd-current.png">http://bulk.fefe.de/scalability/freebsd/for= k-freebsd-current.png</a> and <a href=3D"http://m-net.arbornet.org/~sv5679/= fork-dfly-03042011.png">http://m-net.arbornet.org/~sv5679/fork-dfly-0304201= 1.png</a>).=C2=A0 <br> <br>Just thought that these&#39;d be interesting. Take them with a grain of= pepper; they are microbenchmarks and are measuring things about very speci= fic code paths. <br><br>-- vs<br> --20cf303f6708f30349049dfe79da--