CATAPULTS Example Schedulers
The following are a handful of example schedulers to show what the
CATAPULTS language looks like. Since these have been posted, there have
been some new features added to CATAPULTS that would make these even
simpler (e.g., scheduler inheritance). These examples should be updated
soon.
Generic Schedulers:
- pth.sched -- a reimplementation of GNU Pth's
internal scheduler
- queue_array.sched -- same as pth.sched
except that arrays of queues are used
- rr.sched -- a very simple round-robin scheduler
with no priority
- random.sched -- a random order
scheduler
Application-specific Schedulers:
- cow.sched -- an application-specific scheduler
for the PC version of the CoW web server (based on the GNU Pth
threading library).
- embcow.sched -- an application-specific
scheduler for the embedded version of the CoW webserver.
- mysql.sched -- an application-specific
scheduler for the MySQL database that maximizes the number of
New Order Transactions Per Minute (NOTPM) in the DBT2 benchmark.
It should be noted that our target application here is actually
the program using MySQL, not MySQL itself.
The code added to the above C programs to make them work optimally with a CATAPULTS scheduler was minimal.
The code added to the CoW web server can be found here.