Institute of Information Science
Computer System Laboratory
Principal Investigators:
:::Jan-Jan Wu(Chair) :::Yuan-Hao Chang :::Sheng-Wei Chen
:::Pei-Zong Lee :::Chien-Min Wang :::Pen-Chung Yew

[ Group Profile ]
The Computer Systems Lab was established in 2009. Its primary research areas include multicore systems, virtualization, system software for cloud computing and related applications, and storage and operating system designs for embedded systems.
1. System Design Support for Multicore Systems
This research effort focuses on the architecture and system support needed for various new system features. Designing such multicore systems requires extensive simulations at the system level. In order to shorten critical time-to-market, software development needs to proceed on simulators at the same time hardware is being designed and implemented. Hence, speeding up these simulations will facilitate faster design time and produce better system designs. Our approach is to use existing multicore platforms to simulate new multicore designs by exploiting their inherent thread-level parallelism. To speed up such simulations and obtain accurate simulation results, various existing techniques for single cores are extended to multicores.
排版插圖2. System Support for Virtualization
Virtualization is an important technology for multicores and cloud computing. It allows applications running on such systems to be agnostic about the underlying platforms. This research effort focuses on the core technologies, in particular, dynamic compilation techniques for binary translation and binary optimization targeting multicore systems. The research team is exploring new ways of extending compilation techniques for single-core to multicores. One of the goals is to take binary codes from multiple instruction-set architectures and translate them to another set of instruction-set architectures on multicores. All of such binary manipulations are under one unified dynamic compilation framework. Furthermore, this occurs at the binary-code level, instead of using high-level language virtual machines such as Java and C#. It affords much higher transparency and portability.
3. Design and Implementation of Cloud Infrastructure for Network
Virtual Environments (co-funded by CITI and IIS) Today, to provide a quality gaming experience to players, MMORPG operators tend to overly provision game servers. The dedicated game servers could be attributed to 40% of the operation cost of an MMOG. Despite of the mature virtualization technology, there is still no ready-to-use solution for a cloud-aware computation platform for MMOGs. One of our research efforts is to design and implement a cloud-based infrastructure for MMOGs by utilizing virtualization and zone partitioning techniques. Our research will provide a fundamental understanding and standard measurement benchmarks in this area. We expect that our platform will reduce significant cost and energy consumption for operating MMOGs, and also enable indie game developers to focus on game design. Moreover, our research results will firm the base of gaming on cloud computing and benefit future researches.
4. Distributed File Systems for Clouds
Distributed file systems for Clouds integrate a large number of storage devices and provide a virtualized huge storage space. However, the design of such systems faces several challenges. In particular, we are interested in fault tolerance, QoS support, and energy conservation. Storage resources are distributed in different locations, connected by networks, and managed by middleware. Such an environment usually faces unpredictable failures. Thus, fault tolerance becomes a critical requirement. QoS support is the ability to guarantee a certain level of performance to an application. It is especially important for Clouds because resources are usually virtualized and shared. Finally, in a typical data center, storage systems consume more than 28% of total energy consumption. Therefore, saving energy of storage systems is critical for cost reduction and environment protection.
排版插圖5. Storage System Designs for Embedded Systems
Embedded systems usually adopt flash memory as their storage media. Because of the advance of manufacturing technologies, flash-based storage systems face critical challenges on performance and reliability problems. Meanwhile, existing file systems do not utilize the characteristics of flash memory, and embedded systems are usually battery-backed devices that might lose data due to accidental power losses. Thus, we designed new cache systems for general-purpose file systems with new non-volatile storage media to prevent from data losses upon power losses and to improve the file-system’s efficiency over flash storage devices. Now we are developing new energy-saving technologies for embedded storage systems so as to realize the concept of “green storage” in embedded systems.
6. Operating System Designs for Embedded Systems
As the fast-growing complexity of the operating systems on embedded systems requires more powerful hardware resources, the development of embedded systems faces critical challenges in energy consumption and system performance. Meanwhile, battery-backed embedded systems are usually forced to shut down for energy saving when the battery is running low. Hence, we developed new hibernation techniques to reduce the resuming time of operating systems by stealing the idle time of storage devices, and to dynamically adjust the CPU frequencies and the device’s power modes for energy saving according to the system’s runtime information. Now we are investigating fast hibernation technologies with finer hibernation granularities and designing advanced energy-efficient resource scheduling algorithms to further improve the efficacy of embedded systems.


Academia Sinica Institue of Information Science Academia Sinica