Explain parallelism based on grain size in detail, Computer Engineering

Assignment Help:

Parallelism based on Grain size

Grain size: Grain size/ Granularity are a measure that defines how much computation is involved in a process. Grain size is concluded by counting number of instructions in a program segment. The subsequent types of grain sizes have been recognized (shown in Figure):

406_Parallelism based on Grain size.png

Figure: Types of Grain sizes

1)  Fine Grain: This type includes nearly less than 20 instructions.

2)  Medium Grain: This type includes nearly less than 500 instructions.

3)  Coarse Grain: This type includes nearly greater than or equal to one thousand instructions.

Based on these grain sizes, parallelism may be classified at several stages in a program. These parallelism stages create a hierarchy according to which, lower the level the finer is granularity of process. The amount of parallelism reduces with raise in level. Each level according to a grain size requires scheduling overhead and communication. Following are parallelism levels (shown in Figure):

408_Parallelism based on Grain size 1.png

Figure: Parallelism Levels

1)  Instruction level: It is the lowest level and degree of parallelism is highest at this level. Fine grain size is used at statement or instruction level as just few instructions make the grain size here. The fine grain size may perhaps vary according to type of the program. E.g. for scientific applications, Instruction level grain size may be higher. As the higher degree of parallelism is able to be achieved at this level, the overhead for a programmer would be more.

2)  Loop Level: This is other stage of parallelism where iterative loop instructions able to be parallelized. Fine grain size is used at this stage too. Simple loops in program are simple to parallelize whereas the recursive loops are hard. This kind of parallelism can be achieved by the compilers.

 3) Subprogram or Procedure Level: This level consists of subroutines, subprograms or procedures. Medium grain size is used at this level including several thousands of instructions in a process. Multiprogramming is applied at this stage. Parallelism at this level has been developed by programmers however not through compilers. Parallelism through compilers hasn't been attained at the medium and coarse grain size.

4)  Program Level: It is the last level consisting of independent programs for parallelism. Coarse grain size is used at this stage including tens of thousands of instructions. Time sharing is attained at this level of parallelism. Parallelism at this stage has been exploited through the operating system.  

The relation between parallelism levels and grain sizes has been shown in Table.

628_Parallelism Levels.png

Table: Relation between grain sizes and parallelism

Coarse grain parallelism is conventionally applied in shared memory or tightly coupled multiprocessors such as the Cray Y-MP. Loosely coupled systems are used to perform medium grain program segments. Fine grain parallelism has been monitored in SIMD organization of computers.


Related Discussions:- Explain parallelism based on grain size in detail

Command mode to insertion mode using vi editor, How to enter from command m...

How to enter from command mode to insertion mode using Vi Editor? Ans) There are various commands that put the VI editor into insert mode. The most usually used commands to get

Determine octant to hexadecimal conversion, What is the Octant to hexadecim...

What is the Octant to hexadecimal conversion of 734 ? Ans. (734) 8      = (1 D C) 16 0001 ¦ 1101 ¦ 1100 1         D         C

Search mechanisms in prolog, Search mechanisms in Prolog: Here we can ...

Search mechanisms in Prolog: Here we can needs this simple Prolog program to describe how Prolog searches as:president(X) :- first_name(X, georgedubya), second_name(X, bush).

Explain working of supercomputer, Q. Explain working of Supercomputer? ...

Q. Explain working of Supercomputer? Supercomputers, capable of executing in excess of one billion floating-point operations per second (FLOPS), are very powerful, extremely hi

Difference between panel and group box classes, Difference between Panel an...

Difference between Panel and Group Box classes? Panel & Group box both can used as container for other controls like radio buttons & check box. The dissimilarity in panel & gro

Define buffering, Define buffering.  A buffer is a memory area that kee...

Define buffering.  A buffer is a memory area that keeps data while they are transferred among two devices or among a device and an application. Buffering is done for three reas

Explain about distributed systems, Q. Explain about distributed systems? ...

Q. Explain about distributed systems? A Distributed System in that Data, Process and Interface component of information System are distributed to many locations in a computer n

Diffrentiate between non-relocatable & relocatable programs, How non-reloca...

How non-relocatable programs are different from relocatable programs? Non relocatable program: It is one that cannot be made to execute in any type of area of storage other t

How does VB.NET achieve polymorphism, How does VB.NET/C# achieve polymorphi...

How does VB.NET/C# achieve polymorphism?  VB.Net / C# give polymorphism through the following mechanisms: 1. Inheritance - base class gives overridable methods which are re-

Coding advantages of casex or casez, Coding advantages of casex or casez ...

Coding advantages of casex or casez By using casex or casez has the following coding advantages: -  It reduces number of lines, especially if the number of bits had been m

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd