RBED install steps: 1. Use the Linux.2.4.20 kernel: download from kernel.org 2. Patch the kernel (under your top source code directory, e.g., linux.2.4.20/) patch -p1 < linux-2.4.20.rbed-patch 3. Build the kernel using the attached my.xconfig file (it works fine on a Intel P3 machine) make xconfig: load the my.xconfig file or use your customized config file. Make sure following flags are set: CONFIG_X86_UP_APIC=y CONFIG_X86_UP_IOAPIC=y CONFIG_X86_IO_APIC=y CONFIG_X86_LOCAL_APIC=y CONFIG_APIC_TIMER_UP=y CONFIG_X86_TSC=y make dep make bzImage make modules make modules_install 4. Install the new kernel using grub or lilo 5. Test the new kernel with a sample workload (workload/) Our application side is getting complicated because we are supporting Quality of Contol now. But the basic scheme is to set an application to a SRT or HRT process with multiple QoS levels. A contorl error randomly perturbs the process to trigger the dynamic rate adjustment among all the SRT or HRT processes. Right now our workloads are simulated, but not real. We would like to use real multimedia or control tasks later on. The demo uses a sample workload with three SRT control tasks with same QoS configuration, i.e., three QoS levels with a specified minimum and maximum QoS level and a varying middle level depending on its dynamic error value. QoS config files: qoc.cfg.srt.* benefit(error) exe time (s) period(s) buffer size(ignored) 1.91 0.10 0.2 0 0.64 0.10 0.6 0 -> the middle level is set to any value 0.64 0.10 0.6 0 Batch file: run-qoc exe qos config loop output file process SRT Dynamic/ perturb num type type Static seed srtsim qoc.cfg.srt.0 1000 qoc.out.srt.0 1 1 1 4$ srtsim qoc.cfg.srt.1 1000 qoc.out.srt.1 1 1 1 9$ srtsim qoc.cfg.srt.2 1000 qoc.out.srt.2 1 1 1 15$ Comments: Loop num: the iteration number of the period Output file: log all the output Process type: BE (0), SRT (1), HRT (2) SRT type: MDSRT (0), RASRT (1), RBSRT (2). RASRT is SRT with multiple QoS levels. Dynamic/Static: Using dynamic rate adjustment or not Perturb Seed: Random seed to perturb the error to control tasks 1). build the workload (workload/exe/)by typing make: make sure you use the correct head file of the new kernel source (you may need to link /usr/src/linux to the patched one) 2). run the batch file, run-qoc: you can also run other BE processes (I/O or CPU bound) at the same time 3). check the results in the output files: right now it's hard to explain, please see the 'C' source file for the detailed meaning of each column.