Data and block distribution, Computer Networking

Assignment Help:

Data Distribution

Data distribution directives tell the compiler how the program data is to be distributed between the memory areas associated with a set of processors. The logic used for data distribution is that if a set of data has independent sub-blocks, then computation on them can be carried out in parallel. They do not let the programmer to state directly which processor will do a particular computation. But it is expected that if the operands of a particular sub-computation are all found on the similar processor, the compiler will allocate that part of the computation to the processor holding the operands, where upon no remote memory accesses will be include.

Having seen how to describe one or more target processor arrangements, we need to introduce mechanisms for distributing the data arrays above those arrangements. The DISTRIBUTE directive is used to supply a data object) onto an abstract processor array.

The syntax of a DISTRIBUTE directive is:

!HPF$ DISTRIBUTE  array_lists  [ONTO arrayp]

Where array_list is the list of array to be distributed and arrayp is abstract processor array. The ONTO specifier can be used to do a distribution across a particular processor array. If no processor array is showing, one is chosen by the compiler.

HPF allows arrays to be distributed over the processors directly, but it is often more convenient to go through the intermediary of an explicit template. A template can be declared in much the similar way as a processor arrangement.

!HPF$ TEMPLATE T(50, 50, 50)

declares a 50 by 50 by 50 three-dimensional template called T. Having declared it, we can create a relation between a template and some processor arrangement by using DISTRIBUTE directive. There are three methods in which a template may be distributed over Processors: Block, cyclic and *.

(a) Block Distribution

Simple block distribution is identified by

!HPF$ DISTRIBUTE T1(BLOCK) ONTO P1

where T1 is some template and P1 is some processor arrangement.

In this case, every processor gets a contiguous block of template elements. All processors get the similar sized block. The last processor may get lesser sized block.

Example 3:

!HPF$ PROCESSORS P1(4)

!HPF$ TEMPLATE T1(18)

!HPF$ DISTRIBUTE T1(BLOCK) ONTO P1

As a result of these instructions, distribution of data will be as shown in Figure.

34_Block Distribution of Data.png

                                                                            Block Distribution of Data

In a variant of the block distribution, the number of template elements allocated to every processor can be explicitly identified, as in

!HPF$ DISTRIBUTE T1 (BLOCK (6)) ONTO P1

Distribution of data will be as shown in Figure.

 

21_Variation of Block Distribution.png

                                                                                                   Variation of Block Distribution

It means that we allocate all template elements earlier than exhausting processors, some processors are left empty.

(b) Cyclic Distribution

Simple cyclic distribution is specified by

!HPF$ DISTRIBUTE T1(CYCLIC) ONTO P1

The first processor gets the first template element, the second gets the second, and so on. When the set of processors is exhausted, then go back to the first processor, and continue allocating the template elements from there.

Example 4

!HPF$ PROCESSORS P1(4)

!HPF$ TEMPLATE T1(18)

!HPF$ DISTRIBUTE T1(CYCLIC) ONTO P1

The result of these instructions is shown in Figure .

267_Cyclic Distribution.png

                                                                                                      Cyclic Distribution

But in an analogous variant of the cyclic distribution

!HPF$ DISTRIBUTE T1 (BLOCK (3)) ONTO P1

921_Variation of Cyclic Distribution.png

                                                                                                Variation of Cyclic Distribution

That covers the case where both the processor and the template are one dimensional. When the and processor have (the same) higher dimension, each dimension can be distributed independently, mixing any of the four distribution formats. The correspondence among the template and the processor dimension is the obvious one. In

!HPF$ PROCESSORS P2 (4, 3)

!HPF$ TEMPLATE T2 (17, 20)

!HPF$ DISTRIBUTE T2 (CYCLIC, BLOCK) ONTO P2

the first dimension of T2 is distributed cyclically over the first dimension of P2; the second dimension is distributed blockwise over the second dimension of P2.

(c) * Distribution

Some dimensions of a template might  have ''collapsed distributions'', allowing a template to be distributed onto a processor arrangement with fewer dimensions than the template.

Example 5

!HPF$ PROCESSORS P2 (4, 3)

!HPF$ TEMPLATE T2 (17, 20)

!HPF$ DISTRIBUTE T2 (BLOCK, *) ONTO P1

means that the first dimension of T2 will be distributed over P1 in blockwise order but for a fixed value of the first index of T2, all values of the second subscript are mapped to the same processor.


Related Discussions:- Data and block distribution

Advantages of configuring virtual local area network, Many benefits of conf...

Many benefits of configuring VLAN as listed below: • Performance Enhancements: It reduces heavy load on the network by permitting operations at lower latencies by using VLAN t

Determine 802.11a OFDM, 802.11a OFDM a) Orthogonal frequency-division m...

802.11a OFDM a) Orthogonal frequency-division multiplexing utilizing a 5-GHz band b) Same as FDM except all sub bands are used by only one source at a given time c)  Secu

What is bens network, Q. What is Bens Network? It's a non-blocking netw...

Q. What is Bens Network? It's a non-blocking network. It's a special type of Clos network where first and last stage consists of  2×2 switches (for n input  and m output networ

What are the two functions of the data link mac layer, a) Manages protocol ...

a) Manages protocol access to the physical network medium b) Permits multiple devices to uniquely signify one another on the data link layer

What is dhcp, What is DHCP? DHCP is short for Dynamic Host Configuratio...

What is DHCP? DHCP is short for Dynamic Host Configuration Protocol. Its major task is to automatically assign an IP address to devices across the network. It first checks for

Illustrate the term- search engine and surfing, Illustrate the term- Search...

Illustrate the term- Search Engine and Surfing Search Engine: Software used to find information on the Web. Examples are Google, Lycos and Yahoo. Server: A computer with

Domains and sub domains, Hosts are generally, individual machines at a spec...

Hosts are generally, individual machines at a specific location. Normally Resources of host machine are shared and can be used by any user on Internet. Hosts & local networks are g

What are the benefits of wireless devices, What are the benefits of wireles...

What are the benefits of wireless devices One benefit is that if everyone uses standard, everyone can talk to anyone. Another benefit is that extensive use of any standard will

Which layer defines the physical topology, The Physical layer deals with th...

The Physical layer deals with the definite physical medium and the method of transporting 1s and 0s.

Implement a web server on personal computer, Question: a) The Systems ...

Question: a) The Systems Administrator of Acme Company performs the backup of the website database file every day at 15:50. The original file location is database.sql. The Ad

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