The Source Code and
Required Modification on the
Notes: Designed as a
loadable module for Linux kernel version 2.4 (includes the source code,
experiment results and the benchmark). It is works on multiple server nodes of a
cluster, and its effectiveness is to replicate a TCP connection in another
server node to implement high availability at the TCP connection granularity.
The latest update is made in Jun. 2005, and I quit working on this since then,
for the limited usage and its unclear future.
SDP (Simple Dynamic
Priority) Scheduler for Xen
Patch on Xen 3.4 and
Notes: A simple scheduler
for Xen 3.4 (with changeset 19028), which adopts very simple dynamic priority
adjusting algorithm. The scheduler is designed to solve the scheduling problem
happened in the virtualized client environment, where the roles of guest domains
are asymmetrically configured (i.e., one primary guest, and two or three
possible auxiliary guest domains). Using this scheduler, one can give the
primary guest high priority (e.g., 80), and the auxiliary guests lower priority
(e.g., 60). And by using SDP scheduler, you can play movies, audios in the
primary domain fluently, even when I/O intensive tasks are running inside the
auxiliary domains. I wrote this scheduler in the autumn of 2008, when I was
visiting Intel Asia R&D Center located in Shanghai, China. Note, the primary
domain using this scheduler should be HVM domain, and require that the video
card is directly assigned (VT-d) to it.
VCPU Scheduling Analyzer (VSA)
was now moved
Notes: A simple tool for analyzing
scheduling information of Xen. The code is made to
analyzing the scheduling data recorded by "xentrace" (plain text file, i.e.,
after processed by xentrace_format). Many statistics data can
be obtained, and this will help on your analysis on the behavior of the Xen's
scheduler during the recorded period.
Xen Smart yielding
Code Patch, and the
Notes: The work is made to
improve MPI communication performance inside the overcommitted virtual
processors, where Xen is used as the hypervisor. And the code patch is
applicable to MPICH2-1.2.1. I believe the mechanism manifested within this code
patch can be employed by other implementations of MPI libraries to improve
communication performance as well, although I have no time to make all of these.
The code is written in the winter of 2009, and Qiang Wang helped a lot.