Re: QoS scheduler

From: Stephen Pollei
Date: Fri Jul 29 2005 - 20:06:38 EST


On 7/29/05, Vitor Curado <curado.vitor@xxxxxxxxx> wrote:
> You assumed right, Stephen: I'm interested in QoS process scheduling,
> sorry for not specifying it...
>
> I'm taking a deeper look at the qlinux, ckrm and the plugsched
> schedulers, if you have any more links, please send them to me...
Also you didn't specify what kind of clustering you are doing and for
what ultimate purpose.

http://www.beowulf.org/
http://www-unix.mcs.anl.gov/mpi/implementations.html
http://www.csm.ornl.gov/pvm/pvm_home.html
http://www.open-mpi.org/

http://openmosix.sourceforge.net/
http://www.mosix.org/

http://www.remote-dba.cc/teas_aegis_rac06.htm
http://www.dba-oracle.com/bp/bp_book1_rac.htm
Oracle DB Real Application Clusters (RAC)
transparent application failover (TAF)

http://pgcluster.projects.postgresql.org/feature.html
http://dev.mysql.com/doc/mysql/en/replication.html

High Availability (HA)
High Performance Computing (HPC)

That can strongly effect what solutions you would want to look at.
For instance if you were running a render farm, or a scientific
compute beowulf cluster, then
your "scheduling" will be handled more in the MPI or PVM code perhaps.
The running processes themselves would most likely be using something
like SCHED_BATCH, with larger than usual time-slices. Maybe you
monitor how many mips actually get consumed and then adjust which
nodes get scheduled with what, or how many work units get handed out
to get back to fairness.

clock_t times(struct tms *buf);
int getrusage(int who, struct rusage *usage);
to track system and user time is about on track, but I think someone
might be able to fool you, if thats all you could use to account for
cpu time taken from another userland process.

So maybe you just need better reporting/accounting hooks and then you
can do the rest in userland?

> On 7/28/05, Wes Felter <wesley@xxxxxxxxxx> wrote:
> > Vitor Curado wrote:
> > > I'm working on a research about QoS schedulers for Linux clusters.
> > > Moreover, the ideal would be that the scheduler is implemented
> > > altering the native kernel scheduler. I'm kind of having trouble to
> > > find such schedulers, can anybody help me out?
> >
> > http://lass.cs.umass.edu/software/qlinux/
> > http://ckrm.sourceforge.net/

That qlinux one is new to me. I notice that the 2.6 kernel has support
for modular plugable disk I/O and network schedulers now.
So a Hierarchical Start Time Fair Queuing (H-SFQ) network packet
scheduler module could be made.

I wonder how that Cello scheduler would stack-up to AS, Deadline, cfq,
noop, etc etc.

The qlinux cpu scheduler would be best to use plugsched for use with 2.6.x

--
http://dmoz.org/profiles/pollei.html
http://sourceforge.net/users/stephen_pollei/
http://www.orkut.com/Profile.aspx?uid=2455954990164098214
http://stephen_pollei.home.comcast.net/
-
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/