0 ratings 0% found this document useful (0 votes) 5 views 10 pages PC - Notes (Unit 2)
This document discusses performance evaluation metrics for computer systems, including execution time, instruction count, and the concepts of processes and threads. It explains the importance of concurrency and parallelism in computing, detailing various types of cluster computing and their architectures. Additionally, it highlights the advantages and disadvantages of cluster computing, as well as its applications in solving complex computational problems.
AI-enhanced title and description
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here .
Available Formats
Download as PDF or read online on Scribd
Go to previous items Go to next items
Save PC_Notes[Unit 2] For Later i
Shey
Sas
1.4 PERFORMANCE EVALUATION
[In this section, we discuss the primary attributes used to measure the performance of a
computer system. Unit 2 of block 3 is completely devoted to performance evaluation of
Parallel computer systems. The performance atrbutes are:
i) (Cyeetime(1: Is the unin forall the operations ofa compute system. tis.
‘hefnvereofeloek ate (iD The ple simeistepesetedinnsec,
ie gritos les dient numb
* Giacinto Stator pe nston
iy Instruction count): Number ofistuction na rogram scaled isreson cou
fw assume tat all instructions have same numberof cycles, then the total execution
time ofa progam
‘= numberof instruction inthe propram*aumber of cycle required by cone instruction
*time of one cycle
Hence, execution tine
‘Practically the clock frequency of the system is specified in MHz, Also, the processor
sre pmenoel as palin inser se MIPS). ae, ff
P=LACPI*Tsee.
15. SOME ELEMENTARY;CONCEPTS Set D
= TUNVERSHY_.. ee
Tats sow hl SoU Fnac th sien is, poss”
‘process, thread, concurrency and granularity.
1.51 The Concept of Program
From the programmer's perspective, roughly a program isa
‘well-defined set of instructions, writtea in some programming language, with defined sets
of inputs and outpts. From the operating systems perspective, progam is an executable
file stored in a secondiry memory. § Software may, consist of a single program or a number
(—efrgamic Hower apse does thing unless instructions are exeued he
1.52) The Concept dtrocksé=O} PLE’S
Jf $
Informally, a process isa 1 AADUMFEERSLT Morte propa ia en lode is
tain memory. However a process is more than just a program code. A proces has its
‘own address space, value of program counter, return addresses, temporary variables, fle
handles, security attributes, treads, ee.
foe
© scanned with OKEN Scanner“TmentptParitd |) (/*)Eaehprosts has li ecle, which consis ferent, exon a ein) |
oan phases. A process may create several new processes maya este
Ha TUNE operating system environment ane pros 8 CEN by forksystem
9 THI ealleProgens eration requtes the following four actions: | | THE PEOPLE'S
ri : Y
Jaane Y
| UNITY ESa@ bY tie process description: Setting up the Process
See Pipeens Contra lock (PCB). APCB conti basic 68 such
process idemiffeation number, owner, proces status, descrip of the alloca
ae nc and other implementation dependent process specie {information
needed for process management.
ii) Allocating an address space: Th
processes: sharing the address spa
separate space to each process.
dit) Loading the program into the allocated address space:
file is loaded into the allocated memory.sP2Eacmn | | | i
| 4) Passing the process description tothe process scheduler; O'S, the three steps of.
| ‘process creation as mentioned above are ‘completed, the information ‘gatherd through
) | THE pptepboye mentioned ‘stops is sent fo the process scheduler ‘which 2 silos QPLE’ S
aa Eee te various competing obese UNIVER SITY
| UN IE aRS LE on phase is controlled by the process scheduler: Process scheduling
waa pet poess or per hea. The press scheduling involves es ‘concepts: process
state, state transition and scheduling policy.
te address space 0
here are two ways to allocat c
sor allocating
ce among the created processes
‘Acprocess may be in one of the following states:
‘= New: The process is being created.
process is being executed ona single proc
process is wating for some event f0,0ccur.
seess is ready to be executed if'a processor
or multiple processors
\ | ro f
sm Wi | sos Te ‘The process has finished executi ,"*
|) | THE PEREL E'Su ano inny otte dees EAE BOR LES
FTN ger areata es segue Y
‘dispatches the process, its state becomes running. Tf the processlis completely execute
anitis terminated aad we say that tis in terminated state, However, the process may
aac to ready state due fo some interrupts or may go to waiting state due to some /O
ivy. When UO ectvity is over it may goto ready state. The state transition diagram is
shown in Figure I:
= | UNIVERSITY
)) | THE ore \ spy) Ceminatt o1 Eg
© scanned with OKEN Scanner‘The scheduling policy may be éi
$ may t ler pre-emptive Or non tive, Ir ive
ef ive 6 non pre-emptive. In pr:emptive
rao. ie proces yk ner Onsing yes vce iis
Ss an PO re seca ‘one ofthe secheduling policy
Jiinvepe !
‘When the process fnishds URN etinaled by system calls like abort feleasing
all the allocated resources,
153 The Concept of Thread
‘Thread is a sequential low of control within a process. A process can contain one or more
threads. Threads have their own program counter and register values, but they are share
the memory space and other resources of the process. Each process stars with a single
thread. During the execution ther threads may be created as and when required. Like
processes, each thread has an execution state (running, ready, blocked or terminated). A.
‘thread has access to the memory adress space and resources ofits process. Threads have
similar life cycles as the processes do. A single processor system can support concurrency
by switching execution A multi-processor system can
Between two.or more
support parallel eoncuirency by, exon, separate thread on each processor, There are”
fanguages for creating and terminating ="
three basic methods in concuarent programming I
threads: 1
+ Unsynchronised creation and termination: In this method threads are created and
terminated using library functions such as CREATE_PROCESS, START_PROCESS,
(CREATE THREAD, and START_THREAD. As a result ofthese function calls a new
‘processor thread is created and stars running independent ofits parents.
‘© Unsynchronised creation and synchronized termination: This method uses two
‘instructions: FORK ard JOIN. The FORK instruction creates a new procéss or.thréad,
‘When the parent needs the child's (process or thread) result, it calls JOIN instruction.
‘At this jimetion two threads (processes) are synchronised. (
ef ETHE PEOPLE'S av ayamncds
: rpanatons Theos requenl sytem cons
RAIN ERSITY een co
CCOBEGIN...COEND, The tends between the COBEGIN...COEND construct are
‘executed in parallel. The termination of parent-child is suspended until all child threads
are terminated.
We can think ofa thread as basically a lightweight process. However, threads offer some
advantages over processes. The advantages arc:
‘yp _Ittakes less sidpe to greate and terminate anew thread than to create
| terminate « process, The reason being that a newly created thread uses the current
process ad eae ’ ce)
me 2 | THE pes. Ae 2
i) Sates fs ine tb Hie Bel iad within the same proses, aly
Seas the new cal threads fh Curent process address sp s
|
iil) Less communication overheads ~ communicating between the threads of one
process is simple because the threads share among other entities the address
space. So, data produced by one thread is immediately available to all the other
Tatroduction to
Parallel Competing
TH
UNIVERSITY
THE PEOPLE'S
UNIVERSITY
THE PEOPLE'S
UNIVERSITY
ye
u
THE PEOPLE'S
UNIVERSITY
u
© scanned with OKEN Scannerf
/
J HhentofParalle
Computing and
Architecture
12
|
|
er Execion
Real world systems are Fehce if about modeling the
natural i cjence if about mode ;
rally concurrent, and conmputer seichce i ROPLE'S
1.54,The Coneept of Concurrent and Pars
| HIE eal iwoitd) Exatiples of real world systems which require eoncurrs 0
ueyook and machines in actor. In the compu word mah) 2 ree Y
ipo eocuiesey, While working on our personal omputes, We MY OY ip
Tsten to streaming audi, havea clock raming, print something, and Oe m0 ct gia
‘A multiprocessor ora distributed computer system can better exploit ee ait
Concurrency in problem solions han a uniproceasor system. Concurrency is Sec
tithr by erating simullancous roceses orb erating threads within 2 Proc.
Whichever ofthese alos i wad, equa ot of eo to syncrons= ine
processsesthreads to avoid race conditions, deadlocks and starvation
‘Study of concurrent and parallel executions is important duc to following reasons:
3). Sotie problems are most naturally solved by using #st Of erating processes.
ii) To reduce the execution time. F PEOPI E'S
THE-PEOPLE’ he JJ
TE PEOPLE Seen” and ‘parle are often sed interch eh ingle Y
UN{eisina SITY te | UNIV.
Concurrent execution is the temporal behaviour ofthe N-client l-server model where only
‘one clients served at any given moment. Ithas dual nature; itis sequential in a small
‘time scale, but simultaneous in a large time scale, In our context, a processor ‘works as
server and process or thread works as ‘client, Examples of concurrent languages include
‘Adam, concurrent Pascal, Modula-2 ‘and concurrent PROLOG). A
Parallel execution is associated with the N-client N-server model. It allows the servicing
‘of more than one client at the same time as the number of servers is more ‘than one.
Examples of parallel languages includes Octam-2, Parallel Cand strand-88:°
= Parl krone ot nnd exist opency a language: Parallelism can be 5
“THE epee he ering hard. Sima, we ean have near laspiaee
iol pall eecuton This isthe case when a program ‘ed on a single
UNIRESESI¥ eee TONIVERSITY
1.5.5 Granularity
Granularity refers to the amount ‘of computation done in parallel relative to the size of the
‘whole program. In parallel computing, granularity is a qualitative measure of the ratio of
Computation to communication. According to granularity ofthe system, parallel-
processing systems canbe divided into two groups: fine-grain systems and coarse-grain
systems. In fine-grained systems, parallel parts are relatively small and that means more
frequent communication. Taey have low computation to communication ratio and require.
_ high communication overhead. In coarse-grained systems, parallel parts are relatively) |
large and that means more computation and less ‘communication. If granularity is too fine
or. srritis:possible thatthe overhead required for ‘communications, rt
THE ey Sf opehnips bon be TES
sRstakts longer {han the computation. On the other hand, in chars¢-Brain parallcl
UNIGHERSSIE ts ent ofeonpanl wks daw Thy etic SIT Y
‘computation to communication ratio and imply more opportunity for performance
increase.
© scanned with OKEN Scanner—
“AW Overview of Custer Compu ing,
introduction :
collection of tightly or loosely connected computers that work together so
. ingle entity. The connected computers execute operations altogether thus ereating the idea oF &
Single system. The clusters are generally eomected through fast focal area networks (LANS)
Cluster Computing
Why is Cluster Computing important?
Cluster computing gives a relatively inexpensive, unconventi ge server or mainframe
1
computer solutions. 7
lity and process services in a faster way
ft resolves the demand for content critical
3 Many organizations and IT companies are implementing cluster computing to augment their
scalability, availability, processing speed and resource management at economic prices.
It ensures that computational power is always available.
It provides a single general strategy for the implementation and application of parallel high-
‘sions,
4.
5,
idependent of certain hardware vendors and their product deci
performance system:
A Simple Cluster Computing Layout
Types of Cluster computin;
1. High performance (HIP) clusters :
HP clusters use computer clusters and supcreomputers to solve advance computational problems. They are
used to performing functions that need nodes to communicate as they parform their jobs, They are de
to take benefit of the parallel processing power oT Several node
© scanned with OKEN Scannerad-balancing cluster
are distributed for resources among several nodes running s
disproportionate amount of
imilar programs or having
K. This type o
Incoming request
similar content. This prevents any single node from receiv
nerally used in a web-hosting environment,
distribution ise
jability (IA) Clusters :
3. High Ava
tems incase any’ fi
senviees like
es that can act as backup 3}
ives, compl
wv are designed 0 give uninterrupted data
‘customers
LIK clusters are designed to maintain redundant node:
occurs. Consistent computing Services like busine:
ebsites and network file distribution are provided.
availability to the customers.
on of Cluster :
tore
JcBpen Cluster ray Henk & VOoes Ay oS!
IPs are needed by every node and those are accessed only through the internet or web. This type of cluster
Classify
go Seeeye
nhanced security con s.
Jo BREE Apwes 3 Badges of nab, SO Less AeLoVe
nereased protection. They need fewer IP
caus
Close Clust
‘The nodes are hidden behind the gateway node,
addresses und are good for computational tasks.
| __eiister Computing Ai
nd they provi
/
|
tect
erconnected individual computers and the computer systems
Itis designed with an array of
perating collectively as a single standalone system.
Itis a group of workstations or computers working
resource connected via high speed interconnects.
‘A node — Either a single or a multiprocessor network having memory, input and output functions and
am operating system.
Two or more nodes are connected on a single line or every no
through a LAN connection.
cher as a single, integrated computing
night be connected individually
1 ff facnnacenceons|| =
°
B
|
1.
Int
ma
ow
han,
Cluster Computing Architecture
ents of a Cluster Computer :
1 Cluster No
2 Cluster Operatin
3. The switch or node interconnect
4. ‘Network switching hardware
© scanned with OKEN ScannerJ
menoL eWwARE Osean sein [ Rocks
OPERATING SYSTEM window ] [ Linux
Cluster Components
Advantages of Cluster Compu
Aligh Performance :
The systems offer better and enhanced performance than that of mainframe computer networks.
«Easy to manage :
Cluster Computing is manageable and easy to implement,
3-Sealable :
Resources can be added to the clusters accordingly.
oe :
Computer clusters can be expanded easily by adding additional computers to the network. Cluster
computing is capable of combining several additional resources or the networks to the existing computer
SMaitaility :
s will be active when one node
sure for enhanced availability.
‘The other no
This mah
iets failed and will function as a proxy for the failed node.
6, Flexibiti
It can be upgraded to the superior specification or additional nodes can be added.
Disadv
1es of Cluster Computing :
Jatt cost:
Itis not so much cost-effective due to its high hardware and its desi
Problem in
\ding fault :
Lig ifficult to find which component has a fault
More space is needed :
Infrastructure may increase as more servers are needed to manage and monitor
Applications of Cluster Computing :
Various complex computational problems can be solved,
It can be used in the applications of aerodynami
Weather for
strophys
sand in data mi
© scanned with OKEN ScannerImage Rendering.
Various e-commerce applications,
Earthquake Simulation.
Petroleum reservoir simulation,
_ Souter Architecture | Flynn's taxonomy
ted
Parallel computing is a computing where the jobs are broken into discrete parts that can be execut
cquicurrently. Each pact is further broken downto a series of institictions. Instruct ut execute
simultaneously on different CPUsJ Parallel systems deal with the simultaneous use of multiple computer
resources that can inelude a single computer with multiple processors, a number of computers connected by
a network to form a parallel processing cluster or a combination of both.
Parallel systems are more difficult to program than computers with a single processor because the
architecture of parallel computers varies accordingly and the processes of multiple CPUs must be
coordinated and synchronized.
on as
Fre eneeof pail! processing axe CPUs/Based on the number of instruction and data streams that an be
processed simultaneously. computing systems are Classified into Tour major categories:
ruction Streams
one many
Sp a
a MISD --
tional von asi ;
i lay be pipelined
nn single {May be pip
Computers
computer,
Wee Ss MIMD
ve rocessors
Meret Multi computers
ined data i
eotnen Multiprocessors
Parallel computers |
Flynn's classification ~
1, Single-instruetion, single-data (SISD) systems ~ ; k
‘An SISD computing system is a uniprocessor machine which le of executing a single instruction, 5
operating on a single data sizeam. In SISD, machine instsuctians are processeq in a sequential mantier 5
anf computers adopting this mode! are popularly called sequential computers Most conventional v
computers have SISD architecture, All the instructions and data to be processed have to be stored in Y
primary memory.
9
© scanned with OKEN ScannerThe speed of the processing element in the SISD model is Iimited(dependent) by the rate at which the
computer can transfer information intemally, Dominant representative SISD systems are IBM P
workstations.
ingle-instruction, multi
An SIMD system ultiprocessorm
but operating on ies da ste 1 ines based on an SIMD model a
COM RIRESTEETHRY vole Tots of vector and matix operations, So that the information ean e ps
to all th processing elements (PEs) organized data elements of vectors can be divided into multiple
Sets fot N PE systems) and each PE ean process one data set
Dominant representative SIMD systems is Cray’s vector processing machine. a
5, Multiple-instruction, single-data (MISD) systems —
An MISD computing system is a tnultipr ‘ocessor machine cupable of executing different instructions on
different PEs but all of them operating onthe same dataset .
are ——e—
© scanned with OKEN Scannercample Z
“i
no
6.
P ON ns
Quo FS
wn OXAUE WS,
(x) Htan(x)
« Sostem performs different operations on the same dataset. Machines built using the MISD model are
* useful in most ofthe application, a few machines are buil, but none of then a available commercially
Multiple-instruetion, multiple-data (MIMD) systems ~
An MIMD system is a multiprocessor machine which is capable of executing multiple instru
‘nultiple data sets. Each PE in the MIMD model has separate instruction an data streams; therefore
machines built using this model are capable to any kind of application. Unlike SIMD and MISD
machines, PEs in MIMD machines work asynchronously.
ns on
MIMD
MIMD machines are broadly categorized into shared-memory MIMD and distributed-memory
MIMD based on the way PEs are coupled to the main memory.
8
< Mared memory MIMD model (ightly coupled multiprocessor systems), all the PEs are connected to
Flee ie uemory and they all have access to it. The communication between PES in the model takes
place through the shered memory, modification of the data stored in the global memory by one PE is visible
Gill Ser PEs. Dominant representative shared memory MIMD systems are Silicon Graphics machines and
Sun/IBM’s SMP (Symmetric Multi-Processing
in Distributed memory MIMD machines (loosely coupled ‘multiprocessor s all PEs have a local
memory. The communication between PEs in this model takes ple reconnection network
(ihe inter process communication channel, be configured to tree,
‘mesh or in accordance with the requirement,
The shared-memory MIMD architecture is easier to {rogram but is less tolerant to failures and harder to
Extend wit respect tothe distributed memory MIMD model } ies inva shared-memory MIMD affect the
fntie s)stem, whereas this is not the ease of the distributed model, in which each of the PEs can be easily
isolated. Moreover, sh ed memory MIMD architectures are less likely to seala because the addit
PEs leads to memory contention. This isa situat m that does not happen in the r
in which each PE has its own memory. As a result of practical outcome
‘memory MIMD architecture is superior to the other existing models,
© scanned with OKEN Scanner