lowering interactive scheduling latency with no TTYs

From: Mohammad R Nikseresht
Date: Wed Dec 08 2010 - 10:42:15 EST


Hi,

I have developed a Linux scheduling enhancement that gives significantly
lower scheduling latency for interactive processes (20+% improvement
versus the Mike Galbraith's recent "200 line" scheduling patch, 80+%
improvement versus 2.6.35 stock scheduler) but without any reference to
TTYs or use of cgroups. It also reduces latency for network server
processes under background load (mysql, apache).

My enhancement is currently implemented as a SystemTap script; as a
result general scheduling latency is currently a bit high. I am
currently working on translating it into a kernel patch.

More information is here, including a full description in a technical
report, benchmarks, and my SystemTap script:

http://people.scs.carleton.ca/~mniksere/appeasement.html

What follows is a brief description of how Customer Appeasement
scheduling works.

The basic idea behind my enhancement, which I call the Customer
Appeasement scheduling policy, is to boost the priority of critical processes
based upon their socket-level interactions. The assumption is that the processes that are
interacting with a customer have a higher non-zero socket read operations.
Based on this I increase their priority temporary whenever they have a non-zero socket
read operation to let them to respond to the customer request faster.
The exact amount of priority increase and the time interval that the process
receives this extra priority depends on the system load. The higher the system load
the higer the priority and the longer the time interval.

Please try running it, I'd appreciate your feedback,

Thanks,

--
Mohammad Nikseresht


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/