Why Aren't Operating Systems Getting Faster As Fast As Hardware?

Why Aren't Operating Systems Getting Faster As Fast As Hardware?

USENIX Summer Conference June 11-15, 1990 Why Aren't Anaheim, California Operating Systems John K. Ousterhout − University of California at BerkeleyGetting Faster As Fast as Hardware? ABSTRACT This paper evaluates several hardware platforms and operating systems using a set of benchmarks that stress kernel entry/exit, ®le systems, and other things related to operating systems. The overall conclusion is that operating system performance is not improving at the same rate as the base speed of the underlying hardware. The most obvious ways to remedy this situation are to improve memory bandwidth and reduce operating systems' tendency to wait for disk operations to complete. 1. Introduction 1.2 In the summer and fall of 1989 I assembled a collec- tion of operating system benchmarks. My original intent was to compare the performance of Sprite, a UNIX- R 1.0 compatible research operating system developed at the e l University of California at Berkeley [4,5], with vendor- a t supported versions of UNIX running on similar hardware. i 0.8 v After running the benchmarks on several con®gurations I e noticed that the ``fast'' machines didn't seem to be run- P ning the benchmarks as quickly as I would have guessed e 0.6 r from what I knew of the machines' processor speeds. In f order to test whether this was a ¯uke or a general trend, I o r 0.4 ran the benchmarks on a large number of hardware and m a software con®gurations at DEC's Western Research n Laboratory, U.C. Berkeley, and Carnegie-Mellon Univer- c sity. This paper presents the results from the benchmarks. e 0.2 Figure 1 summarizes the ®nal results, which are con- sistent with my early observations: as raw CPU power 0.0 increases, the speed of operating system functions (kernel 0 2 4 6 8 10 12 14 16 18 20 calls, I/O operations, data moving) does not seem to be MIPS keeping pace. I found this to be true across a range of Figure 1. Summary of the results: operating system speed hardware platforms and operating systems. Only one is not scaling at the same rate as basic hardware speed. Each point is the geometric mean of all the MIPS-relative ``fast'' machine, the VAX 8800, was able to execute a performance numbers for all benchmarks on all operating variety of benchmarks at speeds nearly commensurate systems on a particular machine. A value of 1.0 means that with its CPU power, but the 8800 is not a particularly fast the operating system speed was commensurate with the machine by today's standards and even it did not provide machine's basic integer speed. The faster machines all have consistently good performance. Other machines ran from values much less than 1.0, which means that operating sys- tem functions ran more slowly than the machines' basic 10% to 10x more slowly (depending on the benchmark) speeds would indicate. than CPU power would suggest. The benchmarks that I ran are mostly ``micro- The benchmarks suggest at least two possible factors benchmarks'': they measure speci®c features of the for the disappointing operating system performance: hardware or operating system (such as memory-to- memory bandwidth and disk I/O. RISC architectures memory copy speed or kernel entry-exit). Micro- have allowed CPU speed to scale much faster than benchmarks make it easy to identify particular strengths memory bandwidth, with the result that memory-intensive and weaknesses of systems, but they do not usually pro- benchmarks do not receive the full bene®t of faster CPUs. vide a good overall indication of system performance. I The second problem is in ®le systems. UNIX ®le systems also ran one ``macro-benchmark'' which exercises a require disk writes before several key operations can variety of operating system features; this benchmark complete. As a result, the performance of those opera- gives a better idea of overall system speed but does not tions, and the performance of the ®le systems in general, provide much information about why some platforms are are closely tied to disk speed and do not improve much better than others. I make no guarantees that the collec- with faster CPUs. tion of benchmarks discussed here is complete; it is 1 possible that a different set of benchmarks might yield 3. Operating Systems different results. I used six operating systems for the benchmarks: The rest of the paper is organized as follows. Sec- Ultrix, SunOS, RISC/os, HP-UX, Mach, and Sprite. tion 2 gives a brief description of the hardware platforms Ultrix and SunOS are the DEC and Sun derivatives of and Section 3 introduces the operating systems that ran on Berkeley's 4.3 BSD UNIX, and are similar in many those platforms. Sections 4-11 describe the eight bench- respects. RISC/os is MIPS Computer Systems' operating marks and the results of running them on various system for the M2000 machine. It appears to be a deriva- hardware-OS combinations. Section 12 concludes with tive of System V with some BSD features added. HP-UX some possible considerations for hardware and software is Hewlett-Packard's UNIX product and contains a com- designers. bination of System V and BSD features. Mach is a new UNIX-like operating system developed at Carnegie Mel- 2. Hardware lon University [1]. It is compatible with UNIX, and much Table 1 lists the ten hardware con®gurations used of the kernel (the ®le system in particular) is derived from for the benchmarks. It also includes an abbreviation for BSD UNIX. However, many parts of the kernel, includ- each con®guration, which is used in the rest of the paper, ing the virtual memory system and interprocess communi- an indication of whether the machine is based on a RISC cation, have been re-written from scratch. processor or a CISC processor, and an approximate MIPS Sprite is an experimental operating system rating. The MIPS ratings are my own estimates; they are developed at U.C. Berkeley [4,5]; although it provides the intended to give a rough idea of the integer performance same user interface as BSD UNIX, the kernel implemen- provided by each platform. The main use of the MIPS tation is completely different. In particular, Sprite's ®le ratings is to establish an expectation level for bench- system is radically different from that of Ultrix and marks. For example, if operating system performance SunOS, both in the ways it handles the network and in the scales with base system performance, then a DS3100 ways it handles disks. Some of the differences are visible should run the various benchmarks about 1.5 times as fast in the benchmark results. as a Sun4 and about seven times as fast as a Sun3. The version of SunOS used for Sun4 measurements ¡ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ £ £ £ £ £ was 4.0.3, whereas version 3.5 was used for Sun3 meas- £ £ £ £ £ ¡ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ Hardware Abbrev. Type MIPS ¡ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ urements. SunOS 4.0.3 incorporates a major restructuring £ £ £ £ £ MIPS M2000 M2000 RISC 20 £ £ £ £ £ DECstation 5000 DS5000 RISC 18 of the virtual memory system and ®le system; for exam- £ £ £ £ £ H-P 9000-835CHX HP835 RISC 14 ple, it maps ®les into the virtual address space rather than £ £ £ £ £ DECstation 3100 DS3100 RISC 12 keeping them in a separate buffer cache. This difference £ £ £ £ £ SPARCstation-1 SS1 RISC 10 is re¯ected in some of the benchmark results. £ £ £ £ £ Sun-4/280 Sun4 RISC 8 £ £ £ £ £ VAX 8800 8800 CISC 6 4. Kernel Entry-Exit £ £ £ £ £ £ £ £ £ £ IBM RT-APC RT-APC RISC 2.5 The ®rst benchmark measures the cost of entering £ £ £ £ £ Sun-3/75 Sun3 CISC 1.8 and leaving the operating system kernel. It does this by £ £ £ £ £ ¡ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ Microvax II MVAX2 CISC 0.9 repeatedly invoking the getpid kernel call and taking the average time per invocation. Getpid does nothing but Table 1. Hardware platforms on which the benchmarks were run. ``MIPS'' is an estimate of integer CPU perfor- return the caller's process identi®er. Table 2 shows the mance, where a VAX-11/780 is approximately 1.0. average time for this call on different platforms and operating systems. All of the machines were generously endowed with memory. No signi®cant paging occurred in any of the The third column in the table is labeled ``MIPS- benchmarks. In the ®le-related benchmarks, the relevant Relative Speed''. This column indicates how well the ®les all ®t in the main-memory buffer caches maintained machine performed on the benchmark, relative to its by the operating systems. The machines varied somewhat MIPS rating in Table 1 and to the MVAX2 time in Table in their disk con®gurations, so small differences in I/O- 2. Each entry in the third column was computed by tak- intensive benchmarks should not be considered ing the ratio of the MVAX2 time to the particular signi®cant. However, all measurements for a particular machine's time, and dividing that by the ratio of the machine used the same disk systems, except that the machine's MIPS rating to the MVAX2's MIPS rating. Mach DS3100 measurements used different (slightly fas- For example, the DS5000 time for getpid was 11 ter) disks than the Sprite and Ultrix DS3100 measure- microseconds, and its MIPS rating is approximately 18. ments. Thus its MIPS-relative speed is (207/11)/(18/0.9) = 0.94. A MIPS-relative speed of 1.0 means that the given The set of machines in Table 1 re¯ects the resources machine ran the benchmark at just the speed that would available to me at the time I ran the benchmarks. It is not be expected based on the MVAX2 time and the MIPS rat- intended to be a complete list of all interesting machines, ings from Table 1.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    10 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us