[253] in java-interest

home help back first fref pref prev next nref lref last post

Re: thread scheduling

daemon@ATHENA.MIT.EDU (Casey Leedom)
Fri Jun 9 13:43:21 1995

From: leedom@sgihub.corp.sgi.com (Casey Leedom)
To: java-interest@java.sun.com
Date: Fri, 09 Jun 1995 10:29:10 -0700

| Date:  Fri, 9 Jun 1995 19:10:53 +1000
| From:  Greg Wilkins <gregw@ind.tansu.com.au>
| 
|  > I fully agree with whoever asked for truly pre-empty threads, ....
|  > it would seem worth even delaying beta for this type of improvement.
| ...
| Adding round Robin pre-emption makes the scheduler suitable for a perhaps
| larger group of applications. ... But then there are other applications that
| would like fair share style scheduling, where all applications get a go at
| the CPU, but high priority threads get more CPU.
| ...
| The Object Oriented solution to this problem, is to provide a schedular
| class that is used by the Java RunTime.  The default instance would
| provide the current scheduling.

  I fully agree.  I work on a multithreaded image processing library here at
SGI where we have many of the same issues.  There is no single scheduling
paradigm that works for all applications.  There correct answer is either to
blow off those applications (and shink your market) or provide some form of
scheduling policy control.  The best way (in my mind) to provide that
scheduling policy control is simply to allow users to write their own
schedulers and then provide them with several standard alternatives using
that mechanism.  Source for those predefined schedulers should be given away
freely.  This way you get the following benefits:

 1. People who have really specialized scheduling needs can do something
    special.  The example scheduler sources allow them to do this more
    easily by providing examples of how it's done and possibly a starting
    point for their own schedulers.

 2. The large majority of people will be happy with one of the predefined
    schedulers.  If those predefined schedulers are part of the standard
    environment, then their applications which select non-default, but
    standard schedulers will be portable.

 3. The default scheduler (and scheduling policy) is no longer a contentious
    issue.

Casey

-
Note to Sun employees: this is an EXTERNAL mailing list!
Info: send 'help' to java-interest-request@java.sun.com

home help back first fref pref prev next nref lref last post