A B S T R A C TMobile c o m p u t e r s such as notebooks, subnotebooks, a n d p a l m t o p s require low weight, low power consumption, a n d good interactive performance. These requirements impose m a n y challenges on architectures a n d operating systems. This chapter investigates t h r e e alternative storage devices for mobile c o m p u t e r s : magnetic h a r d disks, flash m e m o r y disk emulators, a n d flash m e m o r y cards.We have used h a r d w a r e m e a s u r e m e n t s a n d trace-driven simulation t o evaluate each of t h e alternative storage devices a n d their related design strategies. H a r d w a r e measurem e n t s on an H P O m n i B o o k 300 highlight differences in t h e performance of t h e t h r e e devices as used on t h e O m n i b o o k , especially t h e poor performance of version 2.00 of t h e Microsoft Flash File System [12] when accessing large flies. T h e traces used Permission has been granted by the USENIX Association to reprint the above paper. An earlier version of this appeared in the Proceedings of the First Symposium on Operating Systems Design and Implementation, USENIX Association, November, 1994, Copyright ©USENIX Association, 1994. Unlike that version, this chapter considers an SRAM buffer cache in addition to flash memory. It also uses updated parameters for one of the devices, and measures response time differently. A detailed description of the changes appears at the end of the chapter on page 503. This work was performed in part at the Matsushita Information Technology Laboratory of Panasonic Technologies, Inc. 474CHAPTER 18 in our study came from different environments, including mobile computers (Macintosh PowerBooks) and desktop computers (running Windows or HP-UX), as well as synthetic workloads. Our simulation study shows that flash memory can reduce energy consumption and mean read response time by up to two orders of magnitude, compared to magnetic disk, while providing acceptable write performance. These energy savings can translate into a 25-115% extension of battery life. We also find that the amount of unused memory in a flash memory card has a substantial impact on energy consumption, performance, and endurance: compared to low storage utilizations (40% full), running flash memory near its capacity (95% full) can increase energy consumption by 50-165%, degrade write response time by 24%, and decrease the lifetime of the memory card by up to 70%. For flash disks, asynchronous erasure can improve write response time by a factor of 2.5.
It is often desirable, for reasons of clarity, portability, and efficiency, to write parallel programs in which the number of processes is independent of the number of available processors. Several modern operating systems support more than one process in an address space, but the overhead of creating and synchronizing kernel processes can be high. Many runtime environments implement lightweight processes (threads) in user space, but this approach usually results in second-class status for threads, making it difficult or impossible to perform scheduling operations at appropriate times (e.g. when the current thread blocks in the kernel). In addition, a lack of common assumptions may also make it difficult for parallel programs or library routines that use dissimilar thread packages to communicate with each other, or to synchronize access to shared data.We describe a set of kernel mechanisms and conventions designed to accord first-class status to user-level threads, allowing them to be used in any reasonable way that traditional kernel-provided processes can be used, while leaving the details of their implementation to userlevel code. The key features of our approach are (1) shared memory for asynchronous communication between the kernel and the user, (2) software interrupts for events that might require action on the part of a user-level scheduler, and (3) a scheduler interface convention that facilitates interactions in user space between dissimilar kinds of threads. We have incorporated these mechanisms in the Psyche parallel operating system, and have used them to implement several different kinds of user-level threads. We argue for our approach in terms of both flexibility and performance.
It is often desirable, for reasons of clarity, portability, and efficiency, to write parallel programs in which the number of processes is independent of the number of available processors. Several modern operating systems support more than one process in an address space, but the overhead of creating and synchronizing kernel processes can be high. Many runtime environments implement lightweight processes (threads) in user space, but this approach usually results in second-class status for threads, making it difficult or impossible to perform scheduling operations at appropriate times (e.g. when the current thread blocks in the kernel). In addition, a lack of common assumptions may also make it difficult for parallel programs or library routines that use dissimilar thread packages to communicate with each other, or to synchronize access to shared data.We describe a set of kernel mechanisms and conventions designed to accord first-class status to user-level threads, allowing them to be used in any reasonable way that traditional kernel-provided processes can be used, while leaving the details of their implementation to userlevel code. The key features of our approach are (1) shared memory for asynchronous communication between the kernel and the user, (2) software interrupts for events that might require action on the part of a user-level scheduler, and (3) a scheduler interface convention that facilitates interactions in user space between dissimilar kinds of threads. We have incorporated these mechanisms in the Psyche parallel operating system, and have used them to implement several different kinds of user-level threads. We argue for our approach in terms of both flexibility and performance.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.