Research Interests
Current Research Projects
1)
Zygaria:
storage performance as a managed resource
a) As a research intern with IBM, I
focused on QoS support and performance management for storage
systems.
b) I also designed and implemented an improved I/O scheduling algorithm for IBM Kybos project.
2)
New: RBED scheduler for Linux 2.6
a) We have implemented a newer version
of RBED in Linux 2.6 kernel. The patch to the 2.6.8.1 kernel is
available here.
Before you download and apply the patch, please read the license here.
After you have
patched the kernel, please read the Documentation/rbed.txt for help.
b) Example workload is available here.
3)
BACKSLASH: Efficient resource
allocation and reclamation for improving application performance in an
integrated system
a)
Slack time management in an
integrated system
|
We schedule BE processes as SRT processes by assigning pseudo periods to them. With a pseudo deadline advancing mechanism, the BE processes could use up the slack time left by RT processes, while still maintain the feasibility of the processes. However, in RBED the SRT processes do not take advantage of the slack time left by other RT processes. |
b)
SLASH = SLAD + CASH: Improving
best-effort and soft real-time performance with better slack reclamation
i) i) SLAD
• Donates slack as soon as it is available
• Donates slack to the process with the earliest deadline
• Enabled by RBED rate enforcement
ii) ii) CASH (extension to CBS) and RBED
• Releases next job as soon as current job completes
• Allows processes to ˇ°borrowˇ± from subsequent jobs
• BUT, lowers EDF priority of needy tasks, reducing effectiveness
iii) iIi) SLASH combines the best of both
• Donates early, according to EDF
• Allows ˇ°borrowingˇ± from future jobs
4)
RBED: Design, model and
develop an integrated real-time system that simultaneously supports hard
real-time, soft real-time and best-effort processes.
a)
RBED framework and scheduler
|
Resource-rate Based Earliest Deadline first scheduler
(RBED) is a real-time scheduler, which consists of two independent
components: a rate-based resource allocation policy and an EDF scheduling
algorithm. RBED provides uniform scheduling for hard real-time (HRT),
soft real-time (SRT), and non-real-time (Best-Effort) processes.
• EDF provides hard guarantees • Varying rates and periods provide flexibility • Programmable timer interrupts guarantee isolation between processes
• Resource allocation: Target rate-of-progress for each process (S <= 100%) • Dispatching: Period based on process timeliness needs
• Rate-Enforcing EDF: EDF + programmable timer interrupts (microseconds granularity) |
b)
Soft real-time processing
in RBED
i) RBED supports multiple soft real-time classes, including missed-deadline soft real-time (MDSRT), resource allocation soft real-time (RASRT), rate-based real-time (RBRT), etc
ii) We are working on integrating firm real-time (FRT) into the RBED framework.
c)
Implementation of RBED
i)
We have implemented RBED in Linux 2.4 kernel.
The patch to the 2.4.20 kernel is available here. In addition,
I have provided a README file
for playing the scheduler.
ii) To test the functionality and performance of the RBED, we have implemented seven system calls for the RBED scheduler. The detailed description of these system calls is available here.
iii) Example workload is available here.
d)
Performance evaluation of
RBED
|
There is no unique and optimal quality metric to measure the performance of a real-time scheduler. The basic metrics should demonstrate the overall performance of the scheduler, the performance of scheduling hard real-time and soft real-time processes, and the performance of scheduling BE processes under various workloads. We use two schedulers, Linux scheduler and edf/linux scheduler, as comparisons to RBED. The edf/linux scheduler schedules real-time processes with EDF algorithm, but schedules Best Effort (BE) processes with the Linux round-robin time sharing scheduling algorithm, i.e. BE processes run in background. The performance results demonstrate RBED's feasibility (in underloaded situations) and flexibility (in overloaded situations) for fully integrated scheduling of HRT, SRT, and non-real-time processes. RBED achieved better performance in scheduling SRT processes than that of Linux scheduler, and better performance in scheduling BE processes than that of edf/linux scheduler. |
5)
Adaptive Resource Allocation
for Control System (already integrated into and implemented in RBED
scheduler)
Previous Research Projects
1)
RA/S model
a) CPU Scheduling consists of two independent components: Resource Allocation and Scheduling (RA/S). RA/S model has the potential to provide true Application-Specific Real-Time processing.
b) To verify the RA/S model, we have preliminarily implemented the RBED in Linux 2.4 kernel. The results show that the RA/S model is promising, while improving Linux support for real-time applications.
2)
OBFS
a) Preliminary implementation of OBFS in Linux 2.4.9. OBFS (Object-Based File System) is a new File System designed for OBSD (Object-Based Storage Device) .