Here it is:-

-bash-3.2$ cat fork.output
# bin/../bin-i86pc/fork -E -C 200 -L -S -W -N fork_100 -B 100 -C 100
             prc thr   usecs/call      samples   errors cnt/samp
fork_100       1   1  28262.30682          101        0      100
#
# STATISTICS         usecs/call (raw)          usecs/call (outliers removed)
#                    min  19303.53724             24279.60363
#                    max  35682.69021             35682.69021
#                   mean  28843.85537             28938.31396
#                 median  28262.30682             28262.30682
#                 stddev   2480.86228              2301.52907
#         standard error    245.64197               229.01070
#   99% confidence level    571.36322               532.67889
#                   skew      0.58140                 1.31861
#               kurtosis      2.43780                 1.26418
#       time correlation    -11.92490               -17.95016
#
#           elasped time    306.42171
#      number of samples          101
#     number of outliers            1
#      getnsecs overhead          238
#
# DISTRIBUTION
#          counts   usecs/call                                         means
#                  1  24000.00000 |*                                24279.60363
#                  0  24400.00000 |                                           -
#                  0  24800.00000 |                                           -
#                  1  25200.00000 |*                                25530.67435
#                  1  25600.00000 |*                                25864.52269
#                  3  26000.00000 |*****                            26215.47420
#                  1  26400.00000 |*                                26787.31801
#                  6  26800.00000 |**********                       26978.43441
#                 10  27200.00000 |*****************                27416.17151
#                 18  27600.00000 |******************************** 27814.69021
#                 14  28000.00000 |************************         28211.51786
#                 14  28400.00000 |************************         28605.96807
#                  9  28800.00000 |****************                 28956.49312
#                  0  29200.00000 |                                           -
#                  2  29600.00000 |***                              29739.01901
#                  2  30000.00000 |***                              30155.75809
#                  1  30400.00000 |*                                30736.94535
#                  1  30800.00000 |*                                30986.33089
#                  2  31200.00000 |***                              31505.32102
#                  4  31600.00000 |*******                          31914.32562
#                  0  32000.00000 |                                           -
#                  1  32400.00000 |*                                32642.88572
#                  1  32800.00000 |*                                32818.75299
#                  1  33200.00000 |*                                33557.53675
#                  2  33600.00000 |***                              33778.43354
#
#                  6        > 95% |**********                       35025.72746
#
#        mean of 95%  28553.84574
#          95th %ile  34268.24321


--- On Mon, 5/5/08, Juergen Keil <[EMAIL PROTECTED]> wrote:
From: Juergen Keil <[EMAIL PROTECTED]>
Subject: Re: [xen-discuss] How to install Solaris 0508 HVM DomU at SNV87
To: [EMAIL PROTECTED]
Cc: [email protected]
Date: Monday, May 5, 2008, 12:43 PM

> We are done on SNV87 HVM DomU.
> Service ppd-cache-update now online.
> I gonna wait for completition on S10U5 HVM DomU


Can you please try to run the fork_100 test from
the libMicro-0.4.0 benchmark on that SNV87 HVM DomU?


The source of the benchmark is available for download here:

http://opensolaris.org/os/project/libmicro/
http://opensolaris.org/os/project/libmicro/files/libmicro-0.4.0.tar.gz


% wget http://opensolaris.org/os/project/libmicro/files/libmicro-0.4.0.tar.gz

% gunzip< libmicro-0.4.0.tar.gz |tar xf -
% cd libMicro-0.4.0
% make


% bin/fork -E -C 200 -L -S -W -N fork_100 -B 100 -C 100 > /tmp/fork.output
Running: fork_100 for 4.77470 seconds


% cat /tmp/fork.output
# bin/../bin-i86pc/fork -E -C 200 -L -S -W -N fork_100 -B 100 -C 100
prc thr usecs/call samples errors cnt/samp
fork_100 1 1 280.76964 100 0 100
#
# STATISTICS usecs/call (raw) usecs/call (outliers removed)
# min 237.29929 237.29929
# max 949.35702 424.32036
# mean 306.45514 298.44325
# median 281.65932 280.76964
# stddev 79.72480 44.62684
# standard error 7.89393 4.46268
# 99% confidence level 18.36128 10.38020
# skew 5.29799 1.00536
# kurtosis 38.85951 0.12177
# time correlation -1.47891 -1.07615
#
# elasped time 4.76910
# number of samples 100
# number of outliers 2
# getnsecs overhead 399
#
# DISTRIBUTION
# counts usecs/call means
# 1 234.00000 |** 237.29929
# 7 240.00000 |************** 242.43814
# 2 246.00000 |**** 249.26708
# 1 252.00000 |** 256.03853
# 3 258.00000 |****** 262.67013
# 16 264.00000 |******************************** 267.68925
# 10 270.00000 |******************** 273.27753
# 12 276.00000 |************************ 279.59795
# 7 282.00000 |************** 284.16094
# 5 288.00000 |********** 290.65786
# 2 294.00000 |**** 297.36328
# 3 300.00000 |****** 302.75731
# 1 306.00000 |** 309.20215
# 2 312.00000 |**** 315.67402
# 1 318.00000 |** 318.00967
# 1 324.00000 |** 326.74916
# 3 330.00000 |****** 331.74546
# 3 336.00000 |****** 340.82672
# 3 342.00000 |****** 342.74536
# 5 348.00000 |********** 350.05268
# 2 354.00000 |**** 357.77666
# 0 360.00000 | -
# 1 366.00000 |** 369.75543
# 0 372.00000 | -
# 1 378.00000 |** 383.21981
# 3 384.00000 |****** 386.35274
#
# 5 > 95% |**********
408.37425
#
# mean of 95% 292.65741
# 95th %ile 397.26077




On an "AMD Athlon(tm) 64 X2 Dual Core Processor 6400+" /
metal / snv_89, the fork benchmark runs for 4.77 seconds
(that's the output included above). Under xVM / Xen
and on current Intel / AMD processors it should complete
in 20-30 seconds.


I've seen cases where the fork_100 benchmark used > 700 seconds,
when I ran it in a 32-bit PV domU.


--------------------------------------------------------------------


I do have a workaround for this xen / opensolaris performance
problem[*]; it's a modified /usr/lib/libc/libc_hwcap3.so.1
shared C library (see the attachment). It was compiled from
current opensolaris source (post snv_89), but seems to work OK
under snv_81. Under xVM you should find a lofs mount like this
in "df -h" output:

# df -h
Filesystem size used avail capacity Mounted on
...
/usr/lib/libc/libc_hwcap3.so.1
6.1G 4.1G 1.9G 69% /lib/libc.so.1
...



Now try this in your domU:

# gunzip < libc_hwcap3.tar.gz | ( cd /tmp; tar xfv - )
x libc_hwcap3.so.1, 1646444 bytes, 3216 tape blocks

# mount -O -F lofs /tmp/libc_hwcap3.so.1 /lib/libc.so.1


Now run the fork_100 benchmark. It might run much faster.

And after "umount /lib/libc.so.1", the fork_100 should become slow.



===
[*] http://www.opensolaris.org/jive/thread.jspa?threadID=58717&tstart=0




      
Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now.
_______________________________________________
xen-discuss mailing list
[email protected]

Reply via email to