0% found this document useful (0 votes)
3 views10 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.

Uploaded by

tanudivyamtd
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
0% found this document useful (0 votes)
3 views10 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.

Uploaded by

tanudivyamtd
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
You are on page 1/ 10
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 Scanner f / 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 Scanner ad-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 Scanner J 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 Scanner Image 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 Scanner The 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 Scanner cample 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

You might also like