Many proxies are either multi-threaded or have multiple processes. Hummingbird is both thread- and process-safe. We implemented multi-threaded versions of both our workload generators, with a thread for the daemons in wg-Hummingbird, and ran similar experiments to the above with one processor running FreeBSD 4.1 with the LinuxThreads library. Table 5 contains a subset of the results of our experiments using four threads and two disks. In multi-threaded squid workload generator, two cache root directories are used, each residing on a disk. The experiment run time for the experiments in Table 5 are consistently longer than the corresponding cases in Table 3 due to an uneven distribution of the files on the 2 disks; we observed a bursty access pattern to each disk in the iostat log. Queuing in the device driver results in longer FS read/write time too. However, the Hummingbird throughput is again 2-4 times greater than for UFS, UFS-async, and UFS-soft.
|file||disk||proxy||FS read||FS write||# of disk||mean disk||experiment|
|system||size||hit rate||time (ms)||time (ms)||I/Os||I/O time (ms)||run time (s)|