DOC PREVIEW
Duke CPS 210 - Operating System Performance

This preview shows page 1-2-3-4-5 out of 14 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

1AbstractComputer systems are rapidly changing. Over the next few years,we will see wide-scale deployment of dynamically-scheduledprocessors that can issue multiple instructions every clock cycle,execute instructions out of order, and overlap computation andcache misses. We also expect clock-rates to increase, caches togrow, and multiprocessors to replace uniprocessors. Using SimOS,a complete machine simulation environment, this paper exploresthe impact of the above architectural trends on operating systemperformance. We present results based on the execution of largeand realistic workloads (program development, transactionprocessing, and engineering compute-server) running on the IRIX5.3 operating system from Silicon Graphics Inc.Looking at uniprocessor trends, we find that disk I/O is thefirst-order bottleneck for workloads such as program developmentand transaction processing. Its importance continues to grow overtime. Ignoring I/O, we find that the memory system is the key bot-tleneck, stalling the CPU for over 50% of the execution time. Sur-prisingly, however, our results show that this stall fraction isunlikely to increase on future machines due to increased cachesizes and new latency hiding techniques in processors. We alsofind that the benefits of these architectural trends spread broadlyacross a majority of the important services provided by the operat-ing system. We find the situation to be much worse for multipro-cessors. Most operating systems services consume 30-70% moretime than their uniprocessor counterparts. A large fraction of thestalls are due to coherence misses caused by communicationbetween processors. Because larger caches do not reduce coher-ence misses, the performance gap between uniprocessor and multi-processor performance will increase unless operating systemdevelopers focus on kernel restructuring to reduce unnecessarycommunication. The paper presents a detailed decomposition ofexecution time (e.g., instruction execution time, memory stall timeseparately for instructions and data, synchronization time) forimportant kernel services in the three workloads.1 IntroductionUsers of modern computer systems expect the operating system tomanage system resources and provide useful services withminimal overhead. In reality, however, modern operating systemsare large and complex programs with memory and CPUrequirements that dwarf many of the application programs that runon them. Consequently, complaints from users and applicationdevelopers about operating system overheads have becomecommonplace.The operating system developer’s response to these complaintsThe Impact of Architectural Trends on Operating System PerformanceMendel Rosenblum, Edouard Bugnion, Stephen Alan Herrod,Emmett Witchel, and Anoop GuptaComputer Systems LaboratoryStanford University, Stanford CA 94305http://www-flash.stanford.eduhas been an attempt to tune the system to reduce the overheads.The key to this task is to identify the performance problems and todirect the tuning effort to correct them; a modern operating systemis far too large to aggressively optimize each component, and mis-placed optimizations can increase the complexity of the systemwithout improving end-user performance. The optimization task isfurther complicated by the fact that the underlying hardware isconstantly changing. As a result, optimizations that make sense ontoday’s machines may be ineffective on tomorrow’s machines.In this paper we present a detailed characterization of a mod-ern Unix operating system (Silicon Graphics IRIX 5.3), clearlyidentifying the areas that present key performance challenges. Ourcharacterization has several unique aspects: (i) we present resultsbased on the execution of large and realistic workloads (programdevelopment, transaction processing, and engineering compute-server), some with code and data segments larger than the operat-ing system itself; (ii) we present results for multiple generations ofcomputer systems, including machines that will likely becomeavailable two to three years from now; (iii) we present results forboth uniprocessor and multiprocessor configurations, comparingtheir relative performance; and finally (iv) we present detailed per-formance data of specific operating system services (e.g. file I/0,process creation, page fault handling, etc.)The technology used to gather these results is SimOS [11], acomprehensive machine and operating system simulation environ-ment. SimOS simulates the hardware of modern uniprocessor andmultiprocessor computer systems in enough detail to boot and runa commercial operating system. SimOS also contains featureswhich enable non-intrusive yet highly detailed study of kernel exe-cution. When running IRIX, SimOS supports application binariesthat run on Silicon Graphics’ machines. We exploit this capabilityto construct large, realistic workloads.Focusing first on uniprocessor results, our data show that forboth current and future systems the storage hierarchy (disk andmemory system) is the key determinant of overall system perfor-mance. Given technology trends, we find that I/O is the first-orderbottleneck for workloads such as program development and trans-action processing. Consequently, any changes in the operating sys-tem which result in more efficient use of the I/O capacity wouldoffer the most performance benefits.After I/O, it is the memory system which has the most signifi-cant performance impact on the kernel. Contrary to expectations,we find that future memory systems will not be more of a bottle-neck than they are today. Although memory speeds will not growas rapidly as instruction-processing rates, the use of larger cachesand dynamically-scheduled processors will compensate.We find that on future machines, kernel performance willimprove as fast as application program performance resulting inkernel overheads remaining relatively the same in the future. Theimportant services of the kernel tend to benefit equally fromimprovements in execution speed so their relative importanceremains unchanged in the future.Looking at small-scale shared-memory multiprocessors,another likely architectural trend, we observe that the memory sys-tem behavior becomes even more important for overall perfor-Copyright © 1995 by the Association for Computing Machinery, Inc. Permission tomake digital or hard copies of part or all of this work for personal or classroom use isgranted without fee provided that copies are not made or distributed for profit


View Full Document

Duke CPS 210 - Operating System Performance

Download Operating System Performance
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Operating System Performance and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Operating System Performance 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?