Date post: | 17-Dec-2015 |
Category: |
Documents |
Upload: | audrey-harmon |
View: | 217 times |
Download: | 2 times |
IT SystemsMultiprocessor SystemEN230-1
Justin Champion
C208 – 3273www.staffs.ac.uk/personel/engineering_and_technology/jjc1
IT Systems
ContentsWhat is itWhat are the benefitsWhat are the considerations
• Task scheduling
IT Systems
Multiprocessor systems These are motherboards / Main boards which have more than
one processor attached• In home PC’s these are commonly 2 processors
• Servers can have a larger number
Alternative is a distributed computation environment where a larger number of processors work on a problem
• These processors are connected by some method• Fibre Optic• Internet• FireWire
• Special operating systems are required and special applications to make use of this type of environment
IT Systems
Multi Processor systems Increased CPU Power
A large number of applications are using increased processing power
• Graphics Programs• Computer Aided Design• Mathematical programs
• Compression algorithms
Processor 1
Processor 2
IT Systems
Multi Processor systems As the operating systems schedules this system
• The applications do not need to know anything about the multi processors
• If the applications do know about it they can make better use of the technology
IT Systems
CPU Scheduling Last week we discussed about swapping a process
• Using the Operating System it swaps processes in and out of memory quickly to give the effect of Multitasking
• Each time we swap another program into the processor• CPU time is wasted getting the values from that have been
stored previously
• By adding multiprocessors (X) the work which can be done concurrently is increased by X
• So 2 processors, 2 tasks can be done at once.
IT Systems
Symmetric Multi-Processing (SMP) Each of the processors are treated as an individual The Kernel will transfer the process to the first
available processor• Windows 2000 and XP use this technology
Both of the processors share all resources• Memory• Hard disk’s• I/O bus
The more processors the likely increase in Deadlock or Live lock
IT Systems
Asymmetric Processing One of the processors is intended for the Operating
system The other processors will be dedicated to applications
• This form of use of multi processors is not widely used• It is inefficient use of the CPU power
SMP is the commonly used technology
IT Systems
Kernel task scheduling Also know as the “Short term Scheduler” Takes a process from a queue of waiting processes and
allow this access to the CPU Two basic types
• Pre-emptive• None pre-emptive
IT Systems
Kernel task scheduling None pre-emptive
• A tasks is allowed to continue until it completes• Or• A process can not continue due to a resource not being available
• A resource could be memory or a hard disc or other I/O
• Suitability• These are not suited for modern operating systems
• The end user would have to wait for each task to finish in turn
• The OS can only really work on one task at a time
• This is suitable for certain environments where you do not want the processor doing multiple tasks
• This scheduling in the OS is relatively straight forward to program
IT Systems
Kernel task scheduling Pre-emptive
• Allows the current processor to be interrupted in what it is currently doing
• Interruption could come from• A waiting process• A timer interrupt• A software/hardware interrupt
Kernel use of the CPU must not be interrupted to prevent errors in data being stored
• This method is used in modern multitasking operating systems• A urgent task can operate on the CPU, when an interrupt occurs
IT Systems
Pre-emptive Scheduling Methods Round Robin (RR) Shortest Remaining Time (SRT) Priority Scheduling Queuing
IT Systems
Round Robin Define an amount of time that a process can run for Get the first process off the queue and load the details Allow to run
• If the process finishes in the time then get another process• If it does not then
• After the time slot it will be put to the back of the queue and wait until asked again
• If it requires resources which are blocked, it will also be put back onto the queue
• Round Robin concerns• Allocating enough time to each process• Without priority a background task would be given an equal amount of time
to the foreground tasks
IT Systems
Round Robin Time allocation
• Enough time must be given to each process to get work done• Time allocated can not be too long as this will slow down the
work of the processor• Issues need considering around the use of I/O in a process as
this may effect the amount of time allocated to the process• The process may never get the work completed, because the CPU
time out happens before a device can respond
• A:\ floppy drive in Windows
IT Systems
Shortest Remaining Time The processes are put into a queue
• The process which has the shortest remaining time will get the highest priority
• This process will then be selected when the processor requests the next task
• Problems• Difficult to predict how long a process will run for
• Long processes will have to wait longer or the processor
• Although long processes will become short ones with time
IT Systems
Priority Scheduling Each process is given a priority
• This priority can be set up based on a number of factors• Device sending the process
• Money
• Person sending process
• The process with the highest priority is selected for the processor• Potentially there is the possibility of starvation taking place
• This is where a process can not get access to the CPU and resources
• Avoidance• Ageing can be added to the algorithm
• As a process gets older the priority is increased until a point where it is the highest priority and is run
IT Systems
Microsoft Windows Uses the priority scheduling of a task
• The smallest task in Windows is referred to as a Thread
To prevent starvation in Windows if a process has not had the processor for more than 3 seconds it is given the highest priority
A time frame in Windows is 20, 40 and 60 Ms depending on what type of task it is
IT Systems
Multiple Queues used in Unix It is possible to have multiple levels of queuing and
processing• Each of the queues using a different method to prioritise
• The actual method depend on the priority of the tasks
• For example• Queue 1 – uses Round Robin
• Queue 2 – uses shortest Remaining time
• To control both queues a priority based scheme is used• This means that a priority can be issued to each queue
• Consider this as foreground and background tasks
IT Systems
Multiple Queues used in Unix Foreground = 80% of time Background = 20 % of time Using priority mostly the foreground will run unless th
ageing process gives a higher priority to a task in the background
Normally the background will only run if the foreground list is empty.
• In this respect it will give the best experience to the end user
IT Systems
Multi-processors Programs DO NOT run twice as fast The task scheduler now just has multiple processors to
issue work to• The programs will run slightly faster as they do not have to be
swapped as often, so they get the processor for longer• Software needs to be written that takes account of multi
processors• Very little of this software exist at the moment
IT Systems
ConclusionMultiprocessor systemsScheduling on a Operating system
• Round Robin• Priority
IT Systems Summary of what we have discussed