Download ICOM 4015 - Advanced Programming

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Scheduling For Distributed Systems
Classification – degree of coupling
Classification – granularity
Local vs centralized scheduling
Methods
ICOM 5007 - 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 5007 - 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 5007 - Noack
Classification – granularity
Grain size
Description
Synch
interval
fine
Single instruction stream – domain of
processor and compiler design
medium
Parallel processing or multiprocessing
within application
20-200
coarse
Multiprocessing of applications inside
an operating system
2002000
very coarse Distributed processing across network
independen Multiple unrelated processes
t
ICOM 5007 - Noack
<20
20001M
∞
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 5007 - 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 5007 - Noack
Real-time Scheduling
Classification – hard vs soft real-time
Classification – aperiodic/periodic
Responsiveness requirements
Reliability requirements
ICOM 5007 - Noack
Real-time OS characteristics
Characteristic
Comments
Determinism
Predictable response time to event
acknowledgement – latency much
faster than non-RT OS
Responsiveness
Predictable service time (after
acknowledgement)
User control
User needs to be able to assign task
priorities
Reliability
Governed by needs of system under
control – can be life-threatening
Fail-soft operation
Useful behavior (partial functioning)
even after failure – crash survival
ICOM 5007 - Noack
RT scheduling approaches
Approach
Comments
Static - table-driven
Static analysis of tasks before run-time – result is
schedule
Static – prioritydriven
Static analysis determines priority table – result is
priority list for standard scheduler
Dynamic - planning
Feasilility 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 5007 - Noack
Deadline scheduling – explicitly
Deadline type
Description
Starting
When it needs to begin
Completion
When it needs to finish
Processing time
How long it takes
Resource requirements
Resources needed (other
than processor)
Priority
Relative importance (hard RT
tasks have priority over soft)
Subtask structure
May have mandatory and
optional parts
ICOM 5007 - 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 5007 - Noack
UNIX SVR4 scheduling
Single priority queue
Three priority classes
Real-time – 100-159
Kernel – 60-99
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 59
100 ms – priority 0
Observations – system has much adaptability
ICOM 5007 - 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 5007 - 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
ICOM 5007 - Noack
Related documents