Successfully reported this slideshow.

Coa presentation5


Published on

Published in: Education
  • Be the first to comment

  • Be the first to like this

Coa presentation5

  1. 1. Multi Processor Architecture
  2. 2. Industry Demands More Processing Power For • Drug Design • To simulate engineering model • To general complex graphics in computer application • To process large amount of historical data and predict future trend • To predict financial and economical trends Limitations of Single Processor Machine • Clock speed can not be increase further. • In Digital circuit maximum signal speed is as much as light speed. • More speed generate more heat.
  3. 3. Multiprocessor System A multiprocessor system is an interconnection of two or more CPUs with memory and input output equipment. Multiprocessor System A multiprocessor system is an interconnection of two or more CPUs with memory and input output equipment. Support concurrent operations. Multicomputer System A multicomputer system consists of several autonomous computers interconnected with other by means of communication lines. Support concurrent operations. A multiprocessor system is controlled by one operating system that provides interaction between processors and all the components of the system cooperate in the solution of a problem.
  4. 4. Multiprocessor System Benefits Reliability Multiprocessing improves the reliability of the system so that a failure or error in one part has a limited effect on the rest of the system. If a fault causes one processor to fail, a second processor can be assigned to perform the functions of the disabled processor. Improved System Performance The system derives its high performance from the fact that computations can proceed in parallel in one of two ways. 1. Multiple independent jobs can be made to operate in parallel. 2. A single job can be partitioned into multiple parallel tasks.
  5. 5. Memory Organization in Multiprocessors Multiprocessors are classified by the way their memory is organized. Shared Memory / Tightly Coupled Multiprocessor A multiprocessor system with common shared memory is classified as a shared memory or tightly coupled multiprocessor. Tightly Coupled System
  6. 6. Loosely Coupled System In loosely coupled system, each processor element has its own private local memory. The processors are tied together and communicate with one another through a message passing scheme. Loosely Coupled System
  7. 7. Inter processor Communication and Synchronization Inter processor Communication Communication refers to the exchange of data between different processors. Processors in a multiprocessor system must be provided with a facility for communicating with each other. A communication path can be established through common input-output channels. In a shared memory multiprocessor system, the most common procedure is to set aside a portion of memory that is accessible to all processors. The primary use of the common memory is to act as a message center similar to mailbox, where each processor can leave messages for other processors. P1 P2 P3 Shared Memory Data for other processors
  8. 8. Race condition When two processes try to access shared data simultaneously, it will leave data in abnormal condition this situation is known as race condition. Balance=5000 P1 P2 Read Balance Balance=Balace-1000 Write Balance Read Balance Balance=Balace-2000 Write Balance
  9. 9. Mutual Exclusion with a Semaphore(Synchronization) A properly functioning multiprocessor system must provide a mechanism that will guarantee orderly access to shared memory and other shared resources. This is necessary to protect data from being changed simultaneously by tow or more processors. This mechanism has been termed mutual exclusion. Mutual exclusion must be provided in a multiprocessor system to enable one processor to exclude or lock out access to a shared resource by other processors when it is in a critical section. A critical section is a program sequence that, once begun, must complete execution before another processor accesses the same shared resource. A binary variable called a semaphore is often used to indicate whether or not a processor is executing a critical section. A semaphore is a software controlled flag that is stored in a memory location that all processors can access. When the semaphore is equal to 1, it means that a processor is executing a critical program, so that the shared memory is not available to other processors. When the semaphore is equal to 0, the shared memory is available to any requesting processor.
  10. 10. Balance=5000 P1 P2 Read Balance Balance=Balace-1000 Write Balance Read Balance Balance=Balace-2000 Write Balance critical section semaphore
  11. 11. What is Cache? Cache Memory : “A computer memory with very short access time used for storage of frequently used instructions or data” – Cache memory function: • an extremely fast memory that is built into a computer’s central processing unit (CPU), or located next to it on a separate chip. • The CPU uses cache memory to store instructions that are repeatedly required to run programs. • When the processor needs to read from or write to a location in main memory, it first checks whether a copy of that data is in the cache
  12. 12. Cache in multiprocessor system issues Issue 1 Since all the processors share the same address space, it is possible for more than one processor to cache an address at the same time.(coherence issue) Issue 2 If one processor updates the data item without informing the other processor, inconsistency may result and cause incorrect execution.(consistency issue)
  13. 13. Cache Coherence Problem X=52 X=52 P1 X=52 P2 X=52 P3 Step 1 Processor P1 reads X Step 2 Processor P2 reads X Step 3 Processor P3 reads X Main Memory Cache Memory Processors
  14. 14. X=120 X=120 P1 X=52 P2 X=52 P3 Step 4 Processor P1 writes 120 to X. With write- through policy updated in memory. Step 5 Processor P2 read X from cache. Inconsistent Value. Step 6 Processor P3 read X from cache. Inconsistent Value. Unacceptable: leads to incorrect program execution. Cache Memory Processors Main Memory
  15. 15. Solution to Cache Coherence Problem Solution 1 A simple scheme is to disallow private caches for each processors and have a shared cache memory associated with main memory. Every data access is made to the shared cache. This method violates the principle of closeness of CPU to cache and increases the average memory access time. Solution 2 Allow only non shared and read only data to be stored in caches. This method introduces extra software overhead that may degrade performance. Solution 3 Bus snooping protocols : Used in bus-based systems where all the processors observe memory transactions and take proper action to invalidate or update the local cache content if needed.
  16. 16. Parallel Processing Concepts Parallel processing is the simultaneous execution of the same task, split into subtasks, on multiple processors in order to obtain results faster. The idea is based on the fact that the process of solving a problem can usually be divided into smaller tasks, which may be solved out simultaneously with some coordination mechanisms. In order to explain what is meant by parallelism inherent in the solution of a problem, let us discuss an example of submission of electricity bills. Suppose there are 10000 residents in a locality and they are supposed to submit their electricity bills in one office. Let us assume the steps to submit the bill are as follows: 1) Go to the appropriate counter to take the form to submit the bill. 2) Submit the filled form along with cash. 3) Get the receipt of submitted bill.
  17. 17. Assume that there is only one counter with just single office person performing all the tasks of giving application forms, accepting the forms, counting the cash, returning the cash if the need be, and giving the receipts. This situation is an example of sequential execution. Let us the approximate time taken by various of events be as follows: Giving application form = 5 seconds Accepting filled application form and counting the cash and returning, if required = 5mnts, i.e., 5 ×60= 300 sec. Giving receipts = 5 seconds. Total time taken in processing one bill = 5+300+5 = 310 seconds. Now, if we have 3 persons sitting at three different counters with i) One person giving the bill submission form ii) One person accepting the cash and returning,if necessary and iii) One person giving the receipt. The time required to process one bill will be 300 seconds because the first and third activity will overlap with the second activity which takes 300 sec. whereas the first and last activity take only 10 secs each. This is an example of a parallel processing method as here 3 persons work in parallel. As three persons work in the same time, it is called temporal parallelism. However, this is a poor example of parallelism in the sense that one of the actions i.e., the second action takes 30 times of the time taken by each of the other.