xesep (Xwindow Evolution Scheduling and Evolving Processes)

Xesep is a graphical user interface to the esep (Evolution Scheduling and Evolving Processes). It's intended to show users how to start, play, and feel the Evolution Scheduling and Evolving Processes, including sub-programs to display system status, evolving process status, queue status, and evolution scheduling status periodically in as small as one milli-second. It also provides a convenient command table to manage evolving processes and control evolution scheduling. All the commands and messages are showed on a status bar. It requires Motif and esep, which can be found on Sunsite.


xesep-1.2.tgz (12270 bytes)(Xwindow Evolution Scheduling and Evolving Processes)

xesep-1.2.lsm (1384 bytes)

Sunsite archive http://sunsite.unc.edu/pub/Linux/system/status

Must see esep(Evolution Scheduling and Evolving Processes)


1. program xesep

This is the major program to manage evolving processes and control evolution scheduling. Almost all the esep commands can be run under xesep. See "man esep" and "man xesep" for details of all commands. "Esep -cp pr" is used to switch back to original Linux scheduling. "Esep -cp es" will power your system with Evolution Scheduler. From the "File" menu you can run xesep-es, xesep-ss, xesep-ps, and xesep-qs sub-programs.

2. sub-program xesep-es

This program is showing evolution scheduling status. The screen is the same as "esep", or "esep -info". From the screen you can see system resource SYS status. Current scheduling policy is ES(Evolution Scheduling). Context switch is 416 times in around 1000 jiffies. In this case two queues are involved in the scheduling. Nine evolving processes are in the ready(run) queues. Guarantee device ensures that each process is chosen at least once during an evolutionary cycle. Each scheduling will consume one guarantee value. When all guarantee values are used up, the Evolution Scheduler starts a new evolutionary cycle, and gives each process new fitness and guarantee values based on both of system status and process's objective function. For fitness and guarantee values, x/y means that x is the current value and y is the initial value for the evolutionary cycle.

3. sub-program xesep-ss

This is showing system status. You can see CPU, system, memory, and disk usage status. The cpu-free, sys-free, mem-free, and dsk-free will be reflected on each process's fitness.

4. sub-program xesep-ps

This is showing evolving process status. Genetic algorithms are employed in the fitness calculation. The fittest process will be granted next timeslice. In this case we used about sixty active evolving processes in the ready queues. They are all waiting for scheduling at the same time. You may try to test it by tens or hundreds of simple while-loop programs to eat the CPU(s) and see the evolutionary results on your screen. Note that the window is resizable.

5. sub-program xesep-qs

This is showing queue status. Evolutionary programming is used to decide which queue should go first. Higher fitness is potentially selected for the next run.