Professional Documents
Culture Documents
ACA21012021 - Sharred Memory MultiProcessor
ACA21012021 - Sharred Memory MultiProcessor
Partitioning
• The program overhead time which is
configuration and scheduling dependent, limits
the maximum degree of parallelism among
executing sub tasks.
• If amount of parallelism is increased by using
finer and finer grain task sizes the amount of
overhead time is accordingly increased.
• If available parallelism exceeds the known
number of processors, or several shorter tasks
share the same instruction / data working set,
Clustering is used to group subtasks into a
single assignable task
Partitioning
• The detection of parallelism is done by one of
three methods.
– Explicit statement of concurrency in high level
language. Programmers delineate boundaries
among tasks that can be executed in parallel.
– Programmers hint in source statement which
compilers can use or ignore.
– Implicit parallelism: sophisticated compilers can
detect parallelism in normal serial code and
transform program code for execution on
multiprocessors.
Scheduling
• Scheduling is done both statically ( at
compile time ) and dynamically ( at run
time).
• Statically scheduling is not sufficient to
ensure optimum speedup or even fault
tolerance.
• The processor availability is difficult to
predict and may vary from run to run.
• Runtime scheduling has advantage of
handling changing system environments
and program structures.
Scheduling
• Run time overhead is prime disadvantage of
run time scheduling.
• It is desirable from fault tolerance point of
view that run time scheduling is initiated by
any processor and then the process itself is
distributed across all available processors.
• The major run time overheads in run time
scheduling include.
– Information gathering: (about dynamic program
state and state of the system)
– Scheduling
Scheduling
– Dynamic execution control: dynamic clustering or
process creation at run time.
– Dynamic data management.: Assignment of
tasks and processors in such a way as to
minimize the required amount of memory
overhead delay in accessing the data.
– Overhead is primarily a function of following two
program characteristics-
• Program Dynamicity
• Granularity- size of basic program sub-task to be
scheduled
Scheduling
-Following Run time Scheduling Techniques
are arranged according to complexity-
• System Load Balancing
• Load Balancing
• Clustering
• Scheduling with Compiler Assistance
• Static Scheduling/ Custom Scheduling