Title

Position

Duration

Sponsor

Description

1.    Cross-Platform Task Migration Design and Its Application for Energy-Efficiency

PI

99/08~102/07

NSC

Keywords: Energy Consumption, Cross-Platform, Cross-OS, Multicore, Virtualization, Task Migration

   As the increasing computing power of microprocessors, the energy consumption of microprocessors is raised by more transistors. Since reducing the energy consumption in the application layer is the most effective, if we can achieve task (or process) migration, tasks can be migrated properly, the number of on-line machines can be reduced and the necessary workload is still retained, which could be the most immediate and effective way to save energy. However, since the complexity of task migration is high and its performance is conservative, live task migration is still not popular. Fortunately, since the virtualization is highly developed in recent years, task migration becomes possible. Virtualization is a technique that can virtualize hardware resource to run multiple operating systems on a single machine simultaneously, which not only provides a way to fully utilize software and hardware resources, but also makes task migration easier. Through special instruction set and multicore systems, the performance of task migration can be acceptable. Although using virtualization to implement task migration is still complicated, it can be applied to solve issues of energy consumption practically. With virtualization, this project develops a cross-platform and cross-operating system task migration mechanism. The mechanism will be optimized and applied to various applications, and the energy consumption and correctness will be analyzed and verified. The main subjects of this project are:

(1)   Application of virtualization technology

To reduce the development and migration overhead, we want to design a mechanism with virtualization for more efficiency, flexibility, and portability.

1st Year: Survey and study the core techniques of virtualization, and build the development environment with virtualization on different operating systems.

2nd Year: Port virtualization softwares to different hardware platforms.

3rd Year: Measure and optimize the performance with virtualization and power consumption.

(2)   A cross-platform and cross-operating system task migration mechanism

Design and develop a task migration mechanism, tasks can be migrated among different operating systems and different platforms.

1st Year: Survey and study the behavior of tasks and the difference among different operating systems and different platforms, and design the task migration mechanism.

2nd Year: Implement the mechanism on similar operating systems and the same platform.

3rd Year: Implement a cross-platform and cross-operating system task mechanism.

(3)   Apply the task mechanism to various applications and optimize the performance

Design a tool kit to help users use the task mechanism with ease. Also, to verify the mechanism, we will apply it to various applications to evaluate its performance and analyze its behavior.

1st Year: Design verification and analysis methods and analyze performance bottleneck.

2nd Year: Design automation tools and friendly user interface to improve the performance.

3rd Year: Apply the mechanism to various applications on different platforms for verification.

  Through the implementation of the three research subjects, we get a feasible task migration mechanism supporting cross-platform and cross-operating system. The mechanism not only can help users apply on various applications to save energy, but also has scalability and flexibility on different platforms. Researchers can use it to optimize their systems and programs automatically.

2. Measurement and Analysis Tool Kit Design for Energy Consumption Optimization

PI

96/08~99/07

NSC

Keywords: Embedded System, Energy Consumption, Physical Measurement Tool, Profiling Tool, Automation of Optimizing Power Consumption

   As the increasing computing power of microprocessors, the energy consumption of microprocessors is raised by more transistors. In recent years, embedded systems have been rapidly and widely spread, especially the mobile systems and portable devices. Most embedded devices get power supply from batteries, but the lifetime is limited by the battery capacity. Therefore, power consumption is the key consideration in developing embedded systems.

      This project develops a universal measurement and analysis tool kit for energy consumption optimization. This tool kit measures the system energy consumption precisely and analyzes what the energy consumption causes from to provide improvement approaches. Ultimately, it’s able to assist the product development, and researchers and developers can utilize this tool kit to minimize the energy consumption of program. The main subjects of this project are:

(1)   Develop physical measurement tools

Develop a physical measurement tool with higher sample rate and reduced error rate. It can measure the energy consumption of multi-tasking systems and record data during the system execution. We will degin a friendly interface to show the scheduling result and executing information of every process from the preliminary analysis of this tool. The main items of this subject are:

1st Year: Build a physical measurement environment, port an OS kernel on the evaluation board, and simulate the experiment environment of real development.

2nd Year: Port new OS kernels on different evaluation boards.

3rd Year: Test and verify the accuracy and consistency of this tool on various applications.

(2)   Integrate profiling tools with physical measurement tools and analyze factors

Modify existing profiling tools to profile measured program. We design a systematic approach to integrate accurate energy consumption from physical measurement with detailed system behavior from profiling. The two kinds of information are used for analyzing factors of system energy consumption and providing possible improvement approaches.

1st Year: Survey and test several common profiling tools.

2nd Year: Improve the features of profiling tools, then integrate profiling tools with physical measurement tools and analyze factors.

3rd Year: Test and verify this integrated tool on multimedia in depth.

(3)   Optimize the energy consumption of profiled programs

Finally, what this project develops is to directly assist systems or programs written by researchers and developers. It provides the automation of optimizing power consumption and then produces better executable programs in terms of low energy consumption. We look for an adaptive compiler and add an abstraction layer developed for optimizing energy consumption on it. The ultimate achievement is an integrated tool kit including measurement, analysis, and automatic optimization.

1st Year: Acquire the energy consumption from physical measurement accurately.

2nd Year: Research how to optimize energy consumption based on analyzed factors.

3rd Year: Make a compiler capable of optimizing energy consumption and achieve an integrated tool kit.

3. Development of Key Operating System Technologies in SOC Design

PI/Consultant

94/04~97/04

MOEA

This is a subproject of the group project “Development of Key Technologies in High-Performance Low-Power SOC Design” from the Technology Development Program for Academia (¾Ç¬É¬ì±M) of MOEA.. Basically, it is the integration and refinement of the above two NSC projects 9 and 10, where we focus on the technology transfer to the Industry. We need to deliver a configurable Real-Time Operating System for a new CPU Core (UniCore).

4.    Power-Aware Real-Time Operating System Design for Unified RISC/VLIW-DSP Processor

PI

92/8~95/10

NSC

This project is the subproject 3 of the interdisciplinary project “A Unified, Low-Power RISC/DSP Processor with Configurable VLIW for Multimedia SOC Applications.” ‘Unified design,’ ‘Low-power’ and ‘Configurability’ are the most important three features of the main project. In order to support these three features, this project has been proposed to implement a power-aware real-time operating system platform to verify SOC applications. The main subjects of this sub-project are:

(1)   The development of power-aware real-time operating system kernel

To help the system verification of the low-power driven SOC design platform for main project, in addition to priority-driven schedulers, this subproject will implement a power-aware real-time system kernel using time-driven real-time scheduling algorithms because they can further take advantages of the close integration of CPU and Timer clock on SoC and achieve system-wise higher predictability and schedulability. The main items of this subject are:

1st Year: Port traditional OS kernel on previous developed ARM-like CPU and establish verification environment.

2nd Year: Design scheduling algorithms for power-aware real-time OS.

3rd Year: Implement scheduling algorithms for power-aware real-time OS.

(2)   The development of configurable memory management modules

Memory management is one of the most important factors to OS performance, while supporting MMU or not is the most important factor of a memory management design. To help the design of the low-power operating system for main project, this subproject designs configurable memory management modules using paging technologies according to the supporting of MMU or not. The main items of this subject are:

1st Year: Develop a memory management module without MMU support.

2nd Year: Develop a memory management module with MMU and overlap support.

3rd Year: Design a paging memory management module with real-time support and memory protection mechanisms.

(3)   The development and application of system behavior and performance analysis auxiliary toolkit

Another objective of this subproject is to develop a behavior and performance analysis auxiliary toolkit for power-aware real-time operating system. The main items of this subject are:

1st Year: Design and implement the behavior and performance analysis auxiliary toolkit.

2nd Year: Apply the toolkit to assist designing power-aware scheduling algorithms.

3rd Year: Apply the toolkit to evaluate various memory protection mechanisms.

 

Through the development of the three research subjects with other subprojects, we develop a more accurate real-time OS kernel using time-driven real-time scheduling algorithms with fast timer on SoC, configurable memory management modules according to the requirement of low-power and supporting of MMU, and related device drivers. Compliant to the “low-power driven” design goal of main project, this is a power-aware real-time operating system to verify various SoC applications.

5.    Power-Aware Real-Time Operating System Design for Unified RISC/VLIW-DSP Processor

 

92/8~95/10

NSC

This project is the subproject 3 of the interdisciplinary project “A Unified, Low-Power RISC/DSP Processor with Configurable VLIW for Multimedia SOC Applications.” ‘Unified design,’ ‘Low-power’ and ‘Configurability’ are the most important three features of the main project. In order to support these three features, this project has been proposed to implement a power-aware real-time operating system platform to verify SOC applications. The main subjects of this sub-project are:

(1)   The development of power-aware real-time operating system kernel

To help the system verification of the low-power driven SOC design platform for main project, in addition to priority-driven schedulers, this subproject will implement a power-aware real-time system kernel using time-driven real-time scheduling algorithms because they can further take advantages of the close integration of CPU and Timer clock on SoC and achieve system-wise higher predictability and schedulability. The main items of this subject are:

1st Year: Port traditional OS kernel on previous developed ARM-like CPU and establish verification environment.

2nd Year: Design scheduling algorithms for power-aware real-time OS.

3rd Year: Implement scheduling algorithms for power-aware real-time OS.

(2)   The development of configurable memory management modules

Memory management is one of the most important factors to OS performance, while supporting MMU or not is the most important factor of a memory management design. To help the design of the low-power operating system for main project, this subproject designs configurable memory management modules using paging technologies according to the supporting of MMU or not. The main items of this subject are:

1st Year: Develop a memory management module without MMU support.

2nd Year: Develop a memory management module with MMU and overlap support.

3rd Year: Design a paging memory management module with real-time support and memory protection mechanisms.

(3)   The development and application of system behavior and performance analysis auxiliary toolkit

Another objective of this subproject is to develop a behavior and performance analysis auxiliary toolkit for power-aware real-time operating system. The main items of this subject are:

1st Year: Design and implement the behavior and performance analysis auxiliary toolkit.

2nd Year: Apply the toolkit to assist designing power-aware scheduling algorithms.

3rd Year: Apply the toolkit to evaluate various memory protection mechanisms.

 

Through the development of the three research subjects with other subprojects, we develop a more accurate real-time OS kernel using time-driven real-time scheduling algorithms with fast timer on SoC, configurable memory management modules according to the requirement of low-power and supporting of MMU, and related device drivers. Compliant to the “low-power driven” design goal of main project, this is a power-aware real-time operating system to verify various SoC applications.

6. Design and Implementation of Wireless Embedded Sensor Networks

PI

93/06~94/05

Pou-Chen Group

We study the power-aware issues where best lifetime and coverage are both concerned on the wireless embedded sensor networks and help to build a children cellular phone prototype with GPS positioning and GPRS monitoring.

7.  Real-Time Ethernet Channel Bonding using Regular Switching Hub

PI

91/08~92/03

NSC

We modified Linux network modules to do Channel Bonding without extra hardware so that the bandwidth can be multiplied proportional to the number of network interface cards and provided API for using the 3-band queue mechanism to form prioritized soft real-time channels.

8. SCORM-compliant Mobile e-Learning Platform and Components Design

Co-PI

91/05~92/04

NSC

We ported Linux on a PDA evaluation board (ARM) as a mobile e-learning client platform for a subproject of a group project “On the Design of SCORM Learning Components and Technical Tools”.

9. A Real-Time Operating System Platform for SoC Applications

PI

91/08~92/07

NSC

We ported our time-driven real-time kernel on a commercial-off-the-shelf platform (ARM), and designed the interfaces of operating system for SoC applications, such as scheduler, memory management, and interrupt interfaces.

10.A Time-Driven Real-Time Kernel and Networking Design

PI

89/08~90/07

NSC

We modified the timer mechanism in Linux on x86 platform, built a time-driven real-time kernel based on the pinwheel model and applied the mechanism in a network application which plays MP3 clips remotely from a server.

11. Distributed Real-Time Web Platform Design for Rapid Prototyping Manufacturing System

PI

89/08~92/07

NSC

We were in charge of one of the 4 subprojects for a group project “Advanced Rapid Prototyping Manufacturing System for E-automation”. We built a Distributed Real-Time Web platform on CORBA for Rapid Prototyping Manufacturing where we transfer the 3D objects and requests from Web browsers and transparently find matched manufacturing machines in a real-time fashion. In the distributed platform, we distributed the fast slicing and routing tasks onto Linux servers and designed a real-time scheduler to dispatch the slow manufacturing tasks to the prototyping machines on Windows servers. The manufacturing process could be video captured and sent back to browsers for real-time or offline monitoring. The project realized a multi-tier web-based rapid prototyping manufacturing system, reduced the average prototyping time from at least several days to few hours.

12. Time-Driven Scheduling Methodology on Distributed Real-Time Environment

PI

88/11~89/07

NSC

We extended the distributed pinwheel scheduling work from my dissertation to more general network topology (directed acyclic graph) and built API of pinwheel scheduling for time-driven scheduling.

13.  Real-Time Parallel Processing System for General Signal Processors

Co-PI

88/08~89/12

CSIST

We helped to design a phased array radar system, especially in real-time scheduling, with commercial-off-the-shelf components. The scheduling approach has been adopted to build an example radar system later in CSIST.