- Trending Categories
- Data Structure
- Operating System
- C Programming
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
What are the conditions of Parallelism in Computer Architecture?
There are various conditions of Parallelism which are as follows −
Data and resource dependencies − A program is made up of several parts, so the ability to implement various program segments in parallel is needed that each segment should be autonomous regarding the other segment. Dependencies in various segments of a program may be in various forms like resource dependency, control depending & data depending.
A dependence graph can define the relation. The program statements are defined by nodes and the directed edge with multiple labels displays the ordered relation among the statements. After analyzing the dependence graph, it can be demonstrated that where opportunity exists for parallelization & vectorization.
Data Dependencies − Relation between statements is shown by data dependencies. There are 5 types of data dependencies that are as follows −
- Antidependency − A statement S2 is antidependent on statement ST1 if ST2 follows ST1 in order and if the output of ST2 overlaps the input to ST1.
- Input dependence − Read & write are input statement input dependence occur not because of same variables involved put because of the same file is referenced by both input statements.
- Unknown dependence − The dependence relation between two statements cannot be found in the following methods
- The subscript of the variable is itself subscribed.
- The subscript does not have the loop index variable.
- Subscript is nonlinear in the loop index variable.
- Output dependence − Two statements are output dependence if they create a similar output variable.
- Flow dependence − The statement ST2 flows dependent if a statement ST1, if an expression path exists from ST1 to ST2 and at least are the output of ST, feeds in input to ST2.
Software Parallelism − Software dependency is represented by the control and data dependency of programs. The degree of parallelism is disclosed in the program profile or program flow graph. Software parallelism is a function of the algorithm, programming style, and compiler optimization. Program flow graphs show the pattern of simultaneously executable operation. Parallelism in a program changes during the implementation period.
Hardware Parallelism − Hardware Parallelism is represented by hardware multiplicity & machine hardware. It is a function of cost & performance trade-off. It presents the resource application design of simultaneously executable operations. It also denotes the execution of the processor resources. One method of identifying parallelism in hardware is using several instructions issued per machine cycle.
- What are the types of Parallelism in Computer Architecture?
- What are different methods of parallelism in Parallel Computer Architecture?
- What are the conditions of Status Bits in Computer Architecture?
- What are Computer Registers in Computer Architecture?
- What are the types of Instructions in Computer Architecture?
- What are the types of issue blockages in computer architecture?
- What are the methods of cache-coherency in computer architecture?
- What are the functions of Scheduling Model in computer architecture?
- What are the types of Program Interrupts in Computer Architecture?
- What are the elements of Bus Design in Computer Architecture?
- What are the interpretations of the theory of computer architecture?
- What are Instruction Cycles in computer architecture?
- What are different levels of abstraction in Computer Architecture?
- What are the Data Routing Functions in Computer Architecture?
- What are the routing potential problems in Computer Architecture?