{"title":"The persistent relevance of IPC performance: new techniques for reducing the IPC penalty","authors":"Wilson C. Hsieh, M. Kaashoek, W. Weihl","doi":"10.1109/WWOS.1993.348151","DOIUrl":"https://doi.org/10.1109/WWOS.1993.348151","url":null,"abstract":"Although there have been substantial improvements in interprocess communication (IPC) performance (in particular round-trip IPC time) in recent years, further reduction of the IPC penalty is still important for parallel applications and microkernel-based operating systems. We describe a number of new software and hardware techniques that we are investigating for reducing various components of the IPC penalty.<<ETX>>","PeriodicalId":345070,"journal":{"name":"Proceedings of IEEE 4th Workshop on Workstation Operating Systems. WWOS-III","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-10-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126168436","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"The case for run-time replaceable kernel modules","authors":"Richard Draves","doi":"10.1109/WWOS.1993.348155","DOIUrl":"https://doi.org/10.1109/WWOS.1993.348155","url":null,"abstract":"Kernel modules encapsulate too many policy and implementation trade-offs. No matter how you design your VM, IPC, scheduling, or IO subsystems, you will make some customers unhappy. It is argued that an operating system kernel that allows the run-time replacement of modules is an appropriate solution, especially for consumer-oriented environments. The replacement of core kernel modules allows applications to solve feature-deficiency, performance, and version-skew problems. Seamless replacement at run time allows other active applications to continue undisturbed. For example, a primitive virtual memory system might be replaced with one that supports mapped files and copy-on-write. A time-sharing scheduler might be upgraded with one that supports dead-line scheduling. An interprocess communication facility might be replaced to make a particular combination of communication options more efficient. An application known to tickle a bug in an old version of the MMU-handling code might load a more recent version of this machine-dependent code. After reviewing the motivation for this proposal, the author examines existing approaches and dismisses them as inadequate. He then considers run-time module replacement, with the goal of establishing it as a conceivable alternative worthy of further research.<<ETX>>","PeriodicalId":345070,"journal":{"name":"Proceedings of IEEE 4th Workshop on Workstation Operating Systems. WWOS-III","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-10-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114760237","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Adaptive real-time resource management supporting composition of independently authored time-critical services","authors":"Michael B. Jones","doi":"10.1109/WWOS.1993.348159","DOIUrl":"https://doi.org/10.1109/WWOS.1993.348159","url":null,"abstract":"This paper describes ongoing investigations at Microsoft Research into algorithms for adaptive real-time scheduling and resource management. We are implementing a system which will allow sets of independently authored real-time applications to be scheduled, providing both initial resource negotiation and dynamic feedback to applications about their resource consumption. Instead of relying on human beings to pre-compute scheduling and resource requirements, applications will be able to dynamically adapt their run-time behavior to the resources available. Under overload conditions, user preferences and policies will be applied in order to bring the total resource requirements within available resources. This will permit chosen applications to continue executing perfectly even while others execute with dynamically renegotiated resource grants or are gracefully shut down, as per user preferences. We believe that this approach will lead to real-time scheduling and resource management algorithms which are appropriate for workstation and home multi-media environments.<<ETX>>","PeriodicalId":345070,"journal":{"name":"Proceedings of IEEE 4th Workshop on Workstation Operating Systems. WWOS-III","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-10-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128050279","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A microkernel-based operating system for personal digital assistants","authors":"Larry K. Loucks, Ravi Manikundalam, F. Rawson","doi":"10.1109/WWOS.1993.348180","DOIUrl":"https://doi.org/10.1109/WWOS.1993.348180","url":null,"abstract":"There are a number of projects currently underway to create a new class of computing device called a personal digital assistant (PDA). These devices are hand-held computing systems that provide a range of applications including personal productivity, connectivity, entertainment and field data collection. One of the most important problems to be solved in developing practical PDAs is to provide a reasonable operating system for the application software that runs on the PDA. We believe that previous work on a microkernel using the Mach technology (D.L. Black et al., 1992) and operating system personalities provides the best foundation for such an operating system. Our microkernel offers modularity, a message-passing programming paradigm and real time features, all of which are important in a PDA operating system. Reusing the code developed for, or to run on our microkernel on a PDA also has obvious economic benefits. However, our standard microkernel and microkernel-based products require a number of changes to make them smaller and to adapt them to the PDA environment.<<ETX>>","PeriodicalId":345070,"journal":{"name":"Proceedings of IEEE 4th Workshop on Workstation Operating Systems. WWOS-III","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-10-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127930943","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
J. Carter, B. Ford, Mike Hibler, R. Kuramkote, Jeffrey Law, Jay Lepreau, D. Orr, L. Stoller, M. Swanson
{"title":"FLEX: a tool for building efficient and flexible systems","authors":"J. Carter, B. Ford, Mike Hibler, R. Kuramkote, Jeffrey Law, Jay Lepreau, D. Orr, L. Stoller, M. Swanson","doi":"10.1109/WWOS.1993.348148","DOIUrl":"https://doi.org/10.1109/WWOS.1993.348148","url":null,"abstract":"Modern operating systems must support a wide variety of services for a diverse set of users. Designers of these systems face a tradeoff between functionality and performance. Systems like Mach provide a set of general abstractions and attempt to handle every situation, which can lead to poor performance for common cases. Other systems, such as Unix, provide a small set of abstractions that can be made very efficient, at the expense of functionality. We are implementing a flexible system building tool, FLEX, that allows us to support a powerful operating systems interface efficiently by constructing specialized module implementations at runtime. FLEX improves the performance of existing systems by optimizing interprocess communications paths and relocating servers and clients to reduce communications overhead. These facilities improve the performance of Unix system calls on Mach from 20-400%. Furthermore, FLEX can dynamically extend the kernel in a controlled fashion, which gives user programs access to privileged data and devices not envisioned by the original operating system implementor.<<ETX>>","PeriodicalId":345070,"journal":{"name":"Proceedings of IEEE 4th Workshop on Workstation Operating Systems. WWOS-III","volume":"55 6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-10-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115682453","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Object groups may be better than pages","authors":"M. Day","doi":"10.1109/WWOS.1993.348161","DOIUrl":"https://doi.org/10.1109/WWOS.1993.348161","url":null,"abstract":"Argues against trying to solve the problem of clustering objects into disk pages. Instead, the author proposes that objects be fetched in groups that may be specific to an application or user, and that can be computed at fetch time. He briefly describes crystals, which serve to record such groups statically. Finally, I speculate that object fetching may be particularly relevant for providing services to very small machines with limited memory, such as personal digital assistants.<<ETX>>","PeriodicalId":345070,"journal":{"name":"Proceedings of IEEE 4th Workshop on Workstation Operating Systems. WWOS-III","volume":"75 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-10-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124194912","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Resolving the integrity/performance conflict","authors":"A. Myers","doi":"10.1109/WWOS.1993.348156","DOIUrl":"https://doi.org/10.1109/WWOS.1993.348156","url":null,"abstract":"It is argued that future applications will require integrity of complex, persistent data in the face of hardware and program failures. We discuss Thor, a new object-oriented database, which offers a computational model that ensures data integrity in a distributed system without sacrificing expressiveness or performance. Perhaps surprisingly, compiler technology is important to make this work well.<<ETX>>","PeriodicalId":345070,"journal":{"name":"Proceedings of IEEE 4th Workshop on Workstation Operating Systems. WWOS-III","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-10-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132948604","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Generic support for caching and disconnected operation","authors":"M. Nelson, Y. Khalidi","doi":"10.1109/WWOS.1993.348171","DOIUrl":"https://doi.org/10.1109/WWOS.1993.348171","url":null,"abstract":"Current systems use caching to provide high performance and possibly support disconnected operation. However, current solutions are type specific. With the advent of modular distributed operating systems and mobile machines there is a need to provide generic support for implementing cacheable/disconnectable services. We present an architecture that can be used to implement cacheable/disconnectable services of any type. In addition we present the implementation of this architecture on the Spring operating system. We have used this architecture for implementing file caching and are currently working on other caching implementations and providing support for disconnected operation.<<ETX>>","PeriodicalId":345070,"journal":{"name":"Proceedings of IEEE 4th Workshop on Workstation Operating Systems. WWOS-III","volume":"69 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-10-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123292539","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Processor capacity reserves: an abstraction for managing processor usage","authors":"C. W. Mercer, S. Savage, H. Tokuda","doi":"10.1109/WWOS.1993.348160","DOIUrl":"https://doi.org/10.1109/WWOS.1993.348160","url":null,"abstract":"We have briefly motivated and described processor capacity reserves and our prototype implementation of reserves in Real-Time Mach. The reservation mechanism provides a way for application programs to specify their reservation requests and incorporates a scheduling framework which supports an admission control policy. The reservation system accurately measures processor usage of individual threads, even when these threads invoke user-level servers to do work on their behalf, and the scheduler enforces reservations by relegating reserves to a time-sharing pool after their reservations have been consumed.<<ETX>>","PeriodicalId":345070,"journal":{"name":"Proceedings of IEEE 4th Workshop on Workstation Operating Systems. WWOS-III","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-10-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122183981","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Service without servers [operating system architecture]","authors":"C. Maeda, B. Bershad","doi":"10.1109/WWOS.1993.348153","DOIUrl":"https://doi.org/10.1109/WWOS.1993.348153","url":null,"abstract":"We propose a new style of operating system architecture appropriate for microkernel-based operating systems: services are implemented as a combination of shared libraries and dedicated server processes. Shared libraries implement performance critical portions of each system service, while dedicated servers implement the parts of each service that do not require high performance or that are difficult to implement in an application. Dedicated servers might be used, for example, to manage shared state that must persist across process lifetimes or to implement high-level abstractions that are difficult or impossible to provide in a library. Our initial experiments show that this approach to operating system structure can yield performance that is comparable to monolithic kernel systems while retaining all the modularity advantages that led industry to adopt microkernel technology in the first place. Since services reside in libraries, an application is free to use the library that is most appropriate. This approach can even yield better performance than monolithic kernel systems by allowing the shared libraries to be closely coupled with the applications, thereby exploiting application-specific knowledge in policy decisions.<<ETX>>","PeriodicalId":345070,"journal":{"name":"Proceedings of IEEE 4th Workshop on Workstation Operating Systems. WWOS-III","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-10-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125168874","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}