34 research outputs found
Hail: A language for easy and correct device access
ABSTRACT It is difficult to write device drivers. One factor is that writing low-level code for accessing devices and manipulating their registers is tedious and error-prone. For many system-on-chip based systems, buggy hardware, imprecise documentation, and code reuse worsen the situation further. This paper presents HAIL (Hardware Access Interface Language), a language-based approach to simplify device access programming and generate error checking code against bugs in software, hardware, and documentation. HAIL is a domain-specific language that specifies all aspects of a device's programming interface and the access methods in a particular system and OS. A compiler automatically checks the specification and translates it into C code for device access, with optional debugging code. The generated code can be included directly into device driver code. In the paper, we argue that HAIL lowers development effort, incurs minimal runtime overhead, and reduces device access related bugs. We also show that the HAIL specification can be reused for different operating systems, thereby reducing porting costs
GRACE-2: integrating fine-grained application adaptation with global adaptation for saving energy
GRACE-OS: An Energy-Efficient Mobile Multimedia Operating System
Multimedia-enabled mobile devices, such as camera phones, need to support multimedia semantics with high quality of service (QoS) requirements under limited system resources such as CPU time and battery energy. On the other hand, these mobile devices also provide new opportunity for QoS provisioning and energy saving due to the adaptive hardware and software components. Researchers have therefore introduced adaptation into various system layers, ranging from hardware to applications. Previous adaptation work often adapts only some layers or only at coarse time granularity such as application entry or exit. We believe that to fully reap the benefits of adaptation, it is necessary to take a cross-layer adaptation approach, in which all system layers are adaptive and cooperate with each other in response to system changes at different time granularity.
This thesis presents a novel operating system, called GRACE-OS, to support such cross-layer adaptation in the operating system by coordinating the adaptation in different layers and enforcing the coordinated decisions via energy-aware real-time scheduling. This thesis makes four major contributions. First, we propose a hierarchical adaptation framework to coordinate adaptation in different layers. This framework consists of global and internal adaptation. The former coordinates all three layers in response to large system changes, while the latter adapts each individual layer in response to small system changes. This two-level adaptation hierarchy achieves the benefits of the cross-layer adaptation with acceptable overhead. Second, we extend traditional real-time scheduling with another dimension, speed, for mobile devices with a variable-speed processor. That is, the scheduler decides how fast to execute applications in addition to when to execute what applications. This extended scheduling algorithm enables applications to operate at the coordinated quality level with minimum energy. Third, we develop a set of algorithms for internal adaptation in the operating system and CPU hardware. These algorithms adjust the CPU speed to handle small variations in application CPU demand. Their goal is to minimize the total power consumed by the device while preserving the soft deadline guarantees. Finally, we develop a kernel-based profiling technique to monitor the CPU usage of individual applications and predict their CPU demand for both global and internal adaptation.
We have implemented GRACE-OS in the Linux kernel and evaluated it with adaptive Athlon processor and adaptive video codec applications. Our experimental results show that GRACE-OS efficiently trades off QoS for energy with acceptable overhead. In particular, compared to previous systems that adapt only some system layers, GRACE-OS achieves the user-desired battery lifetime and saves energy by up to 59% while providing better or the same multimedia quality. Compared to previous systems that adapt only at coarse time granularity, GRACE-OS saves energy by 2% to 8.9% without affecting multimedia quality
GRACE -Os: An Energy -Efficient Mobile Multimedia Operating System
145 p.Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 2004.We have implemented GRACE-OS in the Linux kernel and evaluated it with adaptive Athlon processor and adaptive video codec applications. Our experimental results show that GRACE-OS efficiently trades off QoS for energy with acceptable overhead. In particular, compared to previous systems that adapt only some system layers, GRACE-OS achieves the user-desired battery lifetime and saves energy by up to 59% while providing better or the same multimedia quality. Compared to previous systems that adapt only at coarse time granularity, GRACE-OS saves energy by 2% to 8.9% without affecting multimedia quality.U of I OnlyRestricted to the U of I community idenfinitely during batch ingest of legacy ETD
Co-operative Energy-Constrained Resource Management in Mobile Multimedia Environments
Traditionally, the problem of minimizing energy consumption in mobile wireless devices has been addressed independently for various system components such as the CPU (via process management), network interface (via traffic management), I/O devices, etc. In this paper, we explore an integrated system architecture, consisting of co-operative process and network management, to perform multimedia streaming over a wireless LAN shared by several energy-constrained mobile devices. Co-operation among the system resource components is required so that they jointly yield the same operating QoS level for the application, under the device energy constraints. We maximize aggregate utility of all applications in a wireless LAN, while still meeting the system lifetime (i.e. energy usage), bandwidth usage, and computational capacity constraints of each mobile device. The key to co-operative energy-constrained process and network management is decoupling CPU-usage and network-usage time-scales. Consequently, both these system components minimize their individual energy consumption while still meeting the overall quality requirements of multimedia applications. Our experiments with a prototype h.263 application illustrate the benefit in terms of system energy-saving of using our scheme (34\% energy-saving on the base system and 42\% network energy-saving, for a device with a single application running at its highest QoS level), and its impact on application performance. We also demonstrate the flexibility of our architecture and its applicability to various mobile devices with different energy consumption characteristics
Practical Voltage Scaling for Mobile Multimedia Devices
This paper presents the design, implementation, and evaluation of a practical voltage scaling (PDVS) algorithm for mobile devices primarily running multimedia applications. PDVS seeks to minimize the total energy of the whole device while meeting multimedia timing requirements. To do this, PDVS extends traditional real-time scheduling by deciding what execution speed in addition to when to execute what applications. PDVS makes these decisions based on the discrete speed levels of the CPU, the total power of the device at different speeds, and the probability distribution of CPU demand of multimedia applications. We have implemented PDVS in the Linux kernel and evaluated it on an HP laptop. Our experimental results show that PDVS saves energy substantially without affecting multimedia performance. It saves energy by 14.4% to 37.2% compared to scheduling algorithms without voltage scaling and by up to 10.4% compared to previous voltage scaling algorithms that assume an ideal CPU with continuous speeds and cubic power-speed relationship
Energy-Efficient Soft Real-Time CPU Scheduling for Mobile Multimedia Systems
present s GRACE-OS, an energy-e#cient soft real-t-e CPU scheduler for mobile devicestvi primarily run multD]A1D applicatD4D[ The major goal of GR CE-OS is t support applicatDD qualit y of service and save energy. To achievet his goal, GR CE-OS int egrat] dynamic volt]% scaling int osoft real-t1D scheduling and decides howfast t execut applicat37: inaddit]] t when and how longt executt hem. GR CE-OS makes such scheduling decisions based ont heprobabilit y distD[A1%M3 of applicat%M cycle demands, andobt23] t he demanddistA3:772A via online profiling and est]:A1%]2 We have implementl GR CE-OS in tA Linux kernel and evaluat: it on an HPlapt7 wit a variable-speed CPU and mult37MA1 codecs. Our experiment alresult showt hat (1) tA demand dist2DA1%%M oft he stA7M7 codecs isst373 or changes smoot73 . ThisstsA74[ y impliest hat it is feasiblet o perform st chast: scheduling and volt]3 scaling wit low overhead; (2) GR CE-OS deliverssoft performance guarant ees by boundingtn deadline miss rat4 under applicat7:]7M ecific requirementu and (3) GR CE-OS reduces CPU idlet ime and spends more busyt ime in lower-power speeds. Our measurement indicati t hat comparedt o det::2A1744M scheduling and volt age scaling, GR CE-OS saves energy by 7% t 72% while delivering stMD%A17%D performance guarant ees