0% found this document useful (0 votes)
30 views2 pages

Parallel Computing Concepts and Metrics

The document discusses key topics in parallel computing including parallel computers, Moore's law, applications of parallel computing, pipelining, super-scalar execution, parallel programming platforms, differences between SIMD and MIMD, differences between UMA and NUMA, cache coherence, parallel systems and sources of overhead, performance metrics, speedup from pipelining, network topologies, and examples calculating overall speedup based on factors like CPU usage and instruction counts.

Uploaded by

andrew samanika
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views2 pages

Parallel Computing Concepts and Metrics

The document discusses key topics in parallel computing including parallel computers, Moore's law, applications of parallel computing, pipelining, super-scalar execution, parallel programming platforms, differences between SIMD and MIMD, differences between UMA and NUMA, cache coherence, parallel systems and sources of overhead, performance metrics, speedup from pipelining, network topologies, and examples calculating overall speedup based on factors like CPU usage and instruction counts.

Uploaded by

andrew samanika
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Parallel Processing Assignment 1

1) What is Parallel Computing?

2) What is a parallel computer?

3) What is Moore’s Law?

4) What are the applications parallel computing?

5) What is pipelining?

6) What is super-scalar Execution?

7) What is logical and physical organization of parallel programming platforms?

8) Differentiate between SIMD and MIMD?

9) Differentiate between UMA and NUMA.

10) What is Cache Coherence?

11) What is a Parallel system? What are the sources of overhead in parallel
programs?

12) What are the performance metrics of parallel systems?

13) Describe the speed up gain due to pipelining.

14) Explain completely-connected, linear array and Mesh networks?

15) Suppose that we are considering an enhancement to the processor of a server


system used for web serving. The new CPU is 10 times faster on computation in the
web serving application than the original processor. Assuming that the CPU is idle
for 20% of time, does computation for 30% of time and is waiting for I/O for 50%
time, what is the overall speed up in this case?

16) Assume we make an enhancement to a computer that improves some mode of


execution by a factor of 15. This new fast mode is used 40% of the time, measured
as a percentage of the execution time when the fast mode is in use. What is the
overall speedup we can achieve?

17)Computer A executes the 80286 ISA and has a 2.5 GHz clock frequency.
Computer B executes the 80386 ISA and has a 3 GHz clock frequency. On average,
programs execute 1.5 times as many 386 instructions than 286 instructions.
i. For Program P1, Computer A has a CPI of 2 and Computer B has a CPI
of 3. Which computer is faster for P1? What is the speedup?
ii. For Program P2, Computer A has a CPI of 1 and Computer B has a CPI
of 2. Which computer is faster for P2? What is the speedup?

Common questions

Powered by AI

SIMD (Single Instruction, Multiple Data) and MIMD (Multiple Instruction, Multiple Data) are two types of parallel computing architectures. SIMD consists of a single control unit that broadcasts instructions to multiple processing units, allowing for simultaneous execution of the same operation on different data elements. It is efficient for tasks that require the same operation across many data points, such as image processing. In contrast, MIMD architecture comprises multiple autonomous processors, each with its own instruction set, capable of executing different operations on different data sets simultaneously. MIMD is more flexible and better suited for complex computations involving different operations, like simulations .

Cache coherence in parallel computing systems ensures that all caches in a multiprocessor environment reflect the most recent updates to a shared memory. It prevents the possibility of processors working with outdated data, which can lead to inconsistencies and errors in computations. Effective cache coherence mechanisms maintain consistency by propagating changes in one processor’s cache to others, therefore ensuring data integrity across the computing system .

Key performance metrics for parallel systems include speedup, efficiency, scalability, and latency. Speedup measures the ratio of time taken to complete a task with one processor versus multiple processors. Efficiency evaluates the utilization rate of resources relative to the number of processors. Scalability examines the system's ability to maintain performance as processor count increases. Latency assesses the time delay in data transfer across the system, essential for evaluating communication speed among different computational processes .

Pipelining enhances processing speed by dividing the processing task into several stages, allowing multiple instructions to be processed concurrently at different stages of the pipeline. This overlapping of instruction execution reduces the overall time taken for a sequence of operations, as instructions can be completed in rapid succession. Each stage of the pipeline processes part of an instruction in parallel with other parts being processed in other stages, thus maximizing module utilization and throughput .

Parallel computing can be applied extensively across various fields, including scientific simulations, data analysis, machine learning, and graphics processing. In scientific research, parallel computing enables complex modeling and simulation tasks that would be computationally prohibitive on serial processors. In data analysis and machine learning, it allows for the rapid processing of large datasets, leading to quicker insights and model training. In graphics, parallel processing handles tasks like rendering images and videos, improving performance and quality significantly .

In UMA (Uniform Memory Access) architecture, all processors share a single memory with equal latency and bandwidth for accessing data, meaning each processor can access memory locations at the same speed. This is suited to smaller systems where the simplicity of equal access is beneficial. Conversely, NUMA (Non-Uniform Memory Access) architecture allows processors to access local memory faster than non-local memory. This architecture is suited for larger systems, as it optimizes access times for local processing while potentially incurring slower access for shared non-local data .

Moore’s Law, which predicts that the number of transistors on a microchip doubles approximately every two years, has driven exponential growth in computing power and efficiency. This has enabled rapid advancements in technology by constantly increasing processing capabilities while reducing cost per processor. Such progress is critical for the development of more sophisticated applications and systems requiring higher power computing, including parallel systems and applications. It provides a general guideline for expected advancements, influencing industry planning and research agendas .

In a system where the CPU is idle 20% of the time, performs computation 30% of the time, and waits for I/O 50% of the time, enhancing the processor speed yields limited performance gains since the processor is bound by I/O wait times. Although computation speeds up by a factor of 10 due to the faster processor, the I/O wait remains a bottleneck. This illustrates Amdahl's Law, where improvements to a subset (computation) have diminishing returns if other components (I/O, idle time) remain unchanged. Calculating overall speedup by focusing only on computation won't significantly enhance performance unless I/O is also optimized .

Sources of overhead in parallel computing include communication delay between processes, synchronization overhead, load imbalance, and resource contention. These factors can slow down the overall operation, as time is lost waiting for data exchange or synchronization between processors. Load imbalance, where tasks are unevenly distributed among processors, leads to some processors sitting idle, reducing efficiency. Resource contention occurs when multiple processors vie for limited resources, causing delays. These overheads are critical considerations in designing parallel systems as they directly impact the achievable speedup and efficiency .

The logical organization of parallel programming platforms refers to the abstract structure and interfaces utilized by programmers to develop parallel applications, often defined by software frameworks. In contrast, the physical organization pertains to the actual hardware setup, including processors, memory hierarchy, and interconnect networks responsible for executing these parallel applications. Understanding these distinctions helps in optimizing both software and hardware according to specific application needs, ensuring efficient parallel operation .

You might also like