"Adaptive Quality of Service Architecture"
(for the Linux kernel)


Tools for servers management

The aquosa-qosres component includes a couple of useful tools, namely qres-wrap and qres.

The first tool is available for historical reasons that date back to the OCERA project, and constitutes a quick way to wrap an entire application within a sof reservation. The command

$ qres-wrap <max_bdg> <min_bdg> <period> <prog> <options>
creates a server with the supplied parameters, then exec()s the specified program, causing all processes or threads spawn by the program to automatically be constrained within the same server. For example, issue the command:
$ qres-wrap 75000 0 100000 /etc/init.d/tomcat start
and your Tomcat server will not exceed 75% of CPU load, whatever the network requests are.

The most useful tool is the new qres command, that allows a complete management of the servers and attached threads/tasks, through a command-line interface. As easily guessable from the help page, it is possible to create and destroy servers, attach and detach threads, change and retrieve server parameters.

tommaso@mobiletom:~/aquosa/website$ qres -h
Usage: -h [ options... ]
  -q-min Q_min : set minimum guaranteed budget per server period
  -q Q_max     : set required budget per server period
  -p P         : set server period
  -f flags     : set flags
  -pid pid     : set process id to affect or 0 for self (defaults to tid)
  -tid tid     : set thread id to affect or 0 for self (defaults to pid)
  -sid sid     : set id of existing server to affect
  -create      : create server (requires q, p, q_min=0)
  -destroy     : destroy server (requires sid)
  -attach      : attach thread to server (requires sid, pid, tid)
  -detach      : detach thread from server (requires sid, pid/tid)
  -setparams   : set server params (requires sid, q, p, q_min=0)
  -getparams   : get server params (requires sid or pid/tid)

Sample usage   : qres -create -q 10000 -p 30000 -attach -tid 44021
Altern. syntax : qres create q=10000 p=30000 attach tid=44021

Also, consider looking at the information in

- /proc/aquosa/qres/scheduler
- /proc/aquosa/qres/tasks
for a general overview of defined servers and attached tasks/threads.

Latest news

The IRMOS Real-Time Scheduler on lwn.net

New real-time SMP scheduler (IRMOS)

About page added to website

Papers page added to website

Last update:
August 4, 2010