Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!pasteur!ames!apple!oliveb!tymix!doctor!jms From: jms@doctor.Tymnet.COM (Joe Smith) Newsgroups: comp.sys.amiga Subject: AmigaDOS scheduling Message-ID: <216@doctor.Tymnet.COM> Date: 19 May 89 01:12:55 GMT References: <17148@usc.edu> <24279@agate.BERKELEY.EDU> <18268@cup.portal.com> <17183@usc.edu> <21814@srcsip.UUCP> <18037@cisunx.UUCP> <1861@internal.Apple.COM> <761@boing.UUCP> Reply-To: jms@doctor.Tymnet.COM (Joe Smith) Organization: McDonnell Douglas Field Service Co, San Jose CA Lines: 31 In article <761@boing.UUCP> dale@boing.UUCP (Dale Luck) writes: >A very early version of exec had a Yield() call. This would give up >the cpu to whatever task was next in the Ready Q. I used it for cpu >bound demos that I did not want to be cpu bound if there was other >things going on. > [stuff about adjusting the size of the timeslice] The current priority scheme means that a ray-tracing program at priority -6 will not get any runtime if there is another compute-bound program running at priority -5 or higher. I would like to see a schedular that would allow me to declare that this compute-bound program is to get 1/3 of the background cycles and that compute-bound program is to get 2/3 of the background cycles. After listening to Bernardo Huberman at Xerox PARC, I found a way to include some of his ideas about "Computational Ecologies" to the scheduler. The main idea is that each background task gets to say "I want N units of CPU usage per unit time". If there are only 2 programs, the first wanting 2 units and the second wanting 1 unit, then the first program will be given 66% of the CPU and the seconds will get 33%. If a third program joins the background run queue also asking for 1 unit, then the first program gets 50%, and the other two get 25%. Likewise, if one program wants 1 unit and a second wants 9 units, then the former will get only 10% of the available CPU cycles. My vote is to keep positive priorities the way they are (absolute priority levels), but to change the definition of priorities less than zero to include sharing the CPU's idle time. -- Joe Smith (408)922-6220 | SMTP: JMS@F74.TYMNET.COM or jms@tymix.tymnet.com McDonnell Douglas FSCO | UUCP: ...!{ames,pyramid}!oliveb!tymix!tardis!jms PO Box 49019, MS-D21 | PDP-10 support: My car's license plate is "POPJ P," San Jose, CA 95161-9019 | narrator.device: "I didn't say that, my Amiga did!"