Session3-Multiprocessor Organization
Session3-Multiprocessor Organization
UNIT STRUCTURE
5.2 INTRODUCTION
Today computers are not used for solving only scientific and military
applications but are used in all other areas such as banking, share
markets, Universities, reservation such as airline reservations and
train reservations. Although kind of data to be processed in each
application is different but there is one common factor among the
data processed in all these applications. The common factor is data
to be processed is huge and in most of the applications there is a
symmetry among the data in each applications. For example airline
reservation has to process the data that has information about
passengers , flight and flight schedules. Thus instead of using high
end server like mainframe to process these related large volume of
data, we can use multiple programs running on different computers
which are interconnected to obtain the same result. This and many
more detailed observations listed below give insight into benefit of
executing the programs in parallel.
for greater performance in their use when one wants to employ their
full parallelism. SIMD perform excellently on digital signal and image
processing and on certain types of Monte Carlo simulations. Though
limited to a small number of applications such as image processing
and the solution of 2D and 3D field problems, the speed up factor is
significant in that it is almost directly proportional to the number of
processing elements. Fig-5.3 above gives the block diagram for SIMD
architecture.
5.4 SINGLE-INSTRUCTION-MULTIPLE-DATA
(SIMD)
Access Control.
Access control determines which process can access which
of possible resources. This list is often maintained in separate table.
For every access request issued by the processors to the shared
Synchronization.
Synchronization controls and coordinates access of shared
resources by multiple processors. Appropriate synchronization
ensures that the information flows properly and ensures system
functionality. Many synchronization primitives such as semaphores
are used along the shared memory access.
Protection
Protection is a system feature that prevents processes from
making arbitrary access to resources belonging to other processes.
One must not confuse between access control and protection. Access
control is something to determine what are you allowed to do. This
has to do with the policy making regarding who are all can use which
are all resources. Whereas in protection question asked is who are
you. Protection is often done by authorization. There are many
authorization mechanisms ranging from simpler password based to
more powerful cryptographic methods may be used for authorization.
Sharing
Sharing and protection are incompatible; sharing allows
access, whereas protection restricts it. Sharing often leads to
resource conflicts and synchronization problem. One extreme of
sharing is not to share the resources. Another extreme is to share
the resources completely. Shared memory when used along with
the cache results in greater data inconsistency leading to cache
coherence problem. We explain cache coherence problem briefly
here. For example when two processors cache the data then when
one processor write-Back the modified data back into memory, the
Interconnection Networks
There are many ways of classifying interconnection networks.
Classification is often based on mode of operation, control system,
switching techniques used and topology used.
Single bus
In this interconnection system a common communication
path is shared by all functional units. As each unit try to same same
path mechanisms such as bus arbitration are needed when multiple
units try accessing the shared bus simultaneously. Further
performance of shared bus is limited by number of processors
connecting to it. Performance of shared bus decrease according to
number of processors connected to it.
Crossbar networks
Multistage networks
Hypercube Networks
E(n) = Efficiency
S (n)
E(n) = 100%
n