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>