Date: Mon, 22 Sep 1997 21:42:04 +0200 From: Poul-Henning Kamp <phk@critter.freebsd.dk> To: Nate Williams <nate@mt.sri.com> Cc: current@freebsd.org Subject: Re: New timeout capability (was Re: cvs commit:....) Message-ID: <899.874957324@critter.freebsd.dk> In-Reply-To: Your message of "Mon, 22 Sep 1997 13:10:31 MDT." <199709221910.NAA02147@rocky.mt.sri.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <199709221910.NAA02147@rocky.mt.sri.com>, Nate Williams writes:
>Can you explain a bit more about your 'rover' setup, and how it's used?
The "rover" in my lab is named after it's more adventurous namesake
on Mars. Basically it's a machine (K6/233, 64M, Ahc, Quantum Atlas),
which will repeatedly run through this (vastly simplified) loop:
boot diskless
dd if=/dev/rsd1a of=/dev/rsd0a bs=64k
mount /dev/sd0a /mnt
#setup /etc/rc to run experiment
umount /mnt
reboot from disk
#run experiment in /etc/rc
ifconfig
gather_results | rsh server "mail phk@freebsd.org"
reboot to diskless
The trick is that the initial condition is as similar as I can
possibly make it. That way I have gotten very low spread on
my measurements and consequently often found that just one
shot would be statistically significant, although I don't anticipate
running less than three shots on any one experiment.
The results gathered after the run includes the output of "time -l",
"dmesg" output (to watch for errors) and a "sysctl -a" output. But
any command can be run of course.
My current reference measurement is a make world with the standard
kernel.GENERIC as shipped in the snapshot distribution:
10 samples
avg stddev stddev/avg min -stddev avg +stddev max
---------------------------------------------------------------------------
9011.84 6.11 0.000678 9003.66 9005.73 9011.84 9017.95 9023.14
4549.31 4.16 0.000915 4540.18 4545.15 4549.31 4553.48 4554.99
1305.56 3.90 0.002985 1300.22 1301.66 1305.56 1309.46 1311.60
5854.87 5.83 0.000996 5847.87 5849.04 5854.87 5860.71 5862.61
3156.97 4.79 0.001518 3149.34 3152.18 3156.97 3161.76 3165.07
---------------------------------------------------------------------------
The five rows of data are: real, user, sys, (user+sys), (real-user-sys)
My current row of experiments are targeted at quantifying various
features and variables impact on a make world. My general studylist
looks like this at this time:
Kernel = {kernel.GENERIC, kernel.tuned}
MB Ram = {16 ... 64}
__getcwd() = {enable, disable}
debug.ncnegfactor = {2 ... 20}
-pipe = {enable, disable}
kern.maxvnodes = {2000 ... 8000}
"vnode freelist relative size"
mount /usr/obj -o async = {yes, no}
APM = {On, Off}
Statclock freq = {128, 256, 512, 1024}
AHC_TAGENABLE = {yes, no}
AHC_SCBPAGING = {yes, no}
BIOS parameters. = {...}
I also have a bunch of micro-benchmarks on the vnode/namecache to
run, but those are not of very general interest I pressume. I
hope to have a turnaround time of two experiments per day or so.
If you have a change you want tested, I should be able to give
the result back to you in one or two days. (I only ask in return
that I may publish the results in case I write a paper on this
experiment later on).
If you're wondering how it works in practice: I have an EPROM
emulator in a old wd8003 board hooked up to the parallel port
of another computer. Since the network interface isn't even
configured during the duration of the experiment, this old card
does not negatively impact performance.
--
Poul-Henning Kamp FreeBSD coreteam member
phk@FreeBSD.ORG "Real hackers run -current on their laptop."
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?899.874957324>
