ICOM Noack Scheduling For Distributed Systems Classification – degree of coupling Classification – granularity Local vs centralized scheduling Methods
ICOM Noack Motivation Additional computing capability can be added more easily by adding than enlarging processors Users and tasks are distributed, but in different ways Many applications and languages are now threaded
ICOM Noack Classification – degree of coupling Degree Of coupling Description Loosely coupled Autonomous systems with individual memory and I/O – networked systems Functionally specialized Separate specialized processors for I/O, networking, DSP, etc. Tightly coupled I/O and usually main memory are in common, CPU’s usually have semiprivate caches
ICOM Noack Classification – granularity Grain sizeDescription Synch interval fineSingle instruction stream – domain of processor and compiler design <20 mediumParallel processing or multiprocessing within application coarseMultiprocessing of applications inside an operating system very coarseDistributed processing across network M independen t Multiple unrelated processes ∞
ICOM Noack What scheduling involves Assigning processes to processors static assignment – process runs there until completion Common queue – time slot is the unit of assignment Peer architecture – each processor selects process to run Using multiprogramming on individual processors Primary issue is how threads are handled Goal is best performance rather than 100% utilization Actual dispatching of a process Coefficient of variance idea – variability of service times Simpler scheduling can work for multiprocessors without causing bottlenecks
ICOM Noack Thread scheduling Load sharing Global queue of ready threads – this is not load balancing Gang scheduling Related threads are scheduled to run on a set of processors at the same time Dedicated processor assignment Application is alloted a processor per thread until done Dedication of processors reduces thread-switching overhead Dynamic scheduling Number of threads in a process can change while it runs Scheduler allots processors on a demand basis (it can take them away)
ICOM Noack Real-time Scheduling Classification – hard vs soft real-time Classification – aperiodic/periodic Responsiveness requirements Reliability requirements
ICOM Noack Real-time OS characteristics CharacteristicComments DeterminismPredictable response time to event acknowledgement – latency much faster than non-RT OS ResponsivenessPredictable service time (after acknowledgement) User controlUser needs to be able to assign task priorities ReliabilityGoverned by needs of system under control – can be life-threatening Fail-soft operationUseful behavior (partial functioning) even after failure – crash survival
ICOM Noack RT scheduling approaches ApproachComments Static - table-drivenStatic analysis of tasks before run-time – result is schedule Static – priority- driven Static analysis determines priority table – result is priority list for standard scheduler Dynamic - planningFeasilility is determined at run time – table-driven, arriving tasks are accepted only if they can be done Dynamic – best effort System tries to meet all deadlines – aborts those whose deadline has expired * Tacit assumption – tasks are identified with deadlines and durations
ICOM Noack Deadline scheduling – explicitly Deadline typeDescription StartingWhen it needs to begin CompletionWhen it needs to finish Processing timeHow long it takes Resource requirementsResources needed (other than processor) PriorityRelative importance (hard RT tasks have priority over soft) Subtask structureMay have mandatory and optional parts
ICOM Noack Rate monotonic scheduling (RMS) Basic idea Suboptimal algorithm High arrival rate = high priority Empirical observations RMS is almost as good as earliest-deadline scheduling Soft-RT parts of tasks can be scheduled to use the CPU time not used by the hard-RT work Stability is better than earliest-deadline
ICOM Noack UNIX SVR4 scheduling Single priority queue Three priority classes Real-time – Kernel – Time-shared – 0-59 Each level is actually a priority queue Preemption is done when a high-priority RT process arrives Time-sharing class Penalty box – priority is reduced if process uses all its time Time allowed varies from 10 ms – priority ms – priority 0 Observations – system has much adaptability
ICOM Noack Linux RT scheduling Basic approach Like non-RT Linux – except RT processes have highest priority Three task queues SCHED_FIFO SCHED_RR – also has time quota SCHED_OTHER – executes only if no RT is waiting Multiple priorities within each class This description differs from present methods Continuous revision area of Linux
ICOM Noack Windows 2K Scheduling Priority-driven preemptive scheduler 2 bands Real-time All threads have fixed priority All threads in a given level are in a RR queue 16 levels (31-16) Other All threads have variable priority FIFO at each level – behavior-based priority modification 16 levels (15-0) Single vs multiple processor Single – highest priority thread Multiple – n-1 highest priority threads each get own processor Last processor is shared by all others