r-Skewing Scheme : A Method of Storage Allocation for Arrays on Parallel Memories
碩士 === 國立嘉義大學 === 應用數學系研究所 === 100 === As the effective speeds of central processing units (CPUs) have increased, more parallel memory modules have been used in computers. In the use of such memory modules, unless memory and compiler designers are careful, serious accessing conflicts may arise...
Main Authors: | , |
---|---|
Other Authors: | |
Format: | Others |
Language: | zh-TW |
Published: |
2012
|
Online Access: | http://ndltd.ncl.edu.tw/handle/50292968627170600596 |
id |
ndltd-TW-100NCYU5507013 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-TW-100NCYU55070132015-10-13T21:12:55Z http://ndltd.ncl.edu.tw/handle/50292968627170600596 r-Skewing Scheme : A Method of Storage Allocation for Arrays on Parallel Memories r-偏斜的策略方案:陣列在平行記憶體上的一個存儲配置方法 Chi-Sung Su 蘇啟松 碩士 國立嘉義大學 應用數學系研究所 100 As the effective speeds of central processing units (CPUs) have increased, more parallel memory modules have been used in computers. In the use of such memory modules, unless memory and compiler designers are careful, serious accessing conflicts may arise and thus effectively slow down the computer. Therefore, one of the most difficult tasks in organizing the program of a computer with parallel memory modules is the allocation of storage for avoiding that accessing conflicts arise. To illustrate we shall consider storing an N*N array A = [A_{i,j}]_N*N of data into a computer with N parallel memory modules. If the data element A_{i,j} is stored in memory module j for all i and j, then it will be possible to simultaneously fetch all the data elements of any row of A, since distinct data elements of a row of A lie in distinct memory modules. Fetching all the data elements of any column of A, however, will result in delays, since more than one data element of the column of A (in fact all) will lie in the same memory module. But, if we adopt a different storage strategy instead, where the data element A_{i,j} is stored in memory module i + j (mod N), then all the data elements of any row or any column of A will lie in distinct memory modules and can be fetched simultaneously. Hence, a problem arose that“how do we store an M*M array of data into a computer with N parallel memory modules so that all the data elements comprising any given array subpart are stored in different memory modules". In fact, such a problem can be studied in a somewhat different viewpoint. Let Z denote the set of all integers and Z_n denote the set {0,1,2,...,n-1} for some positive integer n. Given two positive integers M and N, a (two-dimensional) skewing scheme S is a mapping from Z_M*Z_M to Z_N. Moreover, a data template T is a subset of Z_M*Z_M and an instance of T is a set obtained from T by componentwise addition of some element w in Z*Z to T. Then we say that a skewing scheme S is valid for a data template T if, for any two distinct elements (i_s, j_s) and (i_t, j_t) in Z_M*Z_M satisfying S(i_s, j_s) = S(i_t,j_t), there exists no instance of T which contains both (i_s, j_s) and (i_t, j_t) as components. Thus the array problem mentioned above can be equivalently stated as“Consider a data template T, how do we determine if there is a valid skewing scheme S for T, and if a valid skewing scheme S for T exists, how do we determine what it is". So far, quite a few results on this problem have been obtained in the literature. Besides, it is always assumed that each skewing scheme S is from Z*Z to Z_N for some positive integer N and each data template T /subseteq Z*Z is of size N. In this thesis, we first give a more detailed survey of skewing schemes. Then we expand the notion of skewing scheme as follows. For any given positive integer r, a (two-dimensional) r-skewing scheme is a mapping from Z*Z to Z_{f_1}*Z_{f_2}*/cdots*Z_{f_r}, where f_k is a positive integer for all k and f_1*f_2*/cdots*f_r = N. Finally, we propose some results on r-skewing schemes. Chih-Hung Yen 嚴志弘 2012 學位論文 ; thesis 29 zh-TW |
collection |
NDLTD |
language |
zh-TW |
format |
Others
|
sources |
NDLTD |
description |
碩士 === 國立嘉義大學 === 應用數學系研究所 === 100 === As the effective speeds of central processing units (CPUs) have increased, more parallel memory modules have been used in computers. In the use of such memory modules, unless memory and compiler designers are careful, serious accessing conflicts may arise and thus effectively slow down the computer. Therefore, one of the most difficult tasks in organizing the program of a computer with parallel memory modules is the allocation of storage for avoiding that accessing conflicts arise. To illustrate we shall consider storing an N*N array A = [A_{i,j}]_N*N of data into a computer with N parallel memory modules. If the data element A_{i,j} is stored in memory module j for all i and j, then it will be possible to simultaneously fetch all the data elements of any row of A, since distinct data elements of a row of A lie in distinct memory modules. Fetching all the data elements of any column of A, however, will result in delays, since more than one data element of the column of A (in fact all) will lie in the same memory module. But, if we adopt a different storage strategy instead, where the data element A_{i,j} is stored in memory module i + j (mod N), then all the data elements of any row or any column of A will lie in distinct memory modules and can be fetched simultaneously. Hence, a problem arose that“how do we store an M*M array of data into a computer with N parallel memory modules so that all the data elements comprising any given array subpart are stored in different memory modules".
In fact, such a problem can be studied in a somewhat different viewpoint. Let Z denote the set of all integers and Z_n denote the set {0,1,2,...,n-1} for some positive integer n. Given two positive integers M and N, a (two-dimensional) skewing scheme S is a mapping from Z_M*Z_M to Z_N. Moreover, a data template T is a subset of Z_M*Z_M and an instance of T is a set obtained from T by componentwise addition of some element w in Z*Z to T. Then we say that a skewing scheme S is valid for a data template T if, for any two distinct elements (i_s, j_s) and (i_t, j_t) in Z_M*Z_M satisfying S(i_s, j_s) = S(i_t,j_t), there exists no instance of T which contains both (i_s, j_s) and (i_t, j_t) as components. Thus the array problem mentioned above can be equivalently stated as“Consider a data template T, how do we determine if there is a valid skewing
scheme S for T, and if a valid skewing scheme S for T exists, how do we determine what it is". So far, quite a few results on this problem have been obtained in the literature. Besides, it is always assumed that each skewing scheme S is from Z*Z to Z_N for some positive integer N and each data template T /subseteq Z*Z is of size N.
In this thesis, we first give a more detailed survey of skewing schemes. Then we expand the notion of skewing scheme as follows. For any given positive integer r, a (two-dimensional) r-skewing scheme is a mapping from Z*Z to Z_{f_1}*Z_{f_2}*/cdots*Z_{f_r}, where f_k is a positive integer for all k and f_1*f_2*/cdots*f_r = N. Finally, we propose some results on r-skewing schemes.
|
author2 |
Chih-Hung Yen |
author_facet |
Chih-Hung Yen Chi-Sung Su 蘇啟松 |
author |
Chi-Sung Su 蘇啟松 |
spellingShingle |
Chi-Sung Su 蘇啟松 r-Skewing Scheme : A Method of Storage Allocation for Arrays on Parallel Memories |
author_sort |
Chi-Sung Su |
title |
r-Skewing Scheme : A Method of Storage Allocation for Arrays on Parallel Memories |
title_short |
r-Skewing Scheme : A Method of Storage Allocation for Arrays on Parallel Memories |
title_full |
r-Skewing Scheme : A Method of Storage Allocation for Arrays on Parallel Memories |
title_fullStr |
r-Skewing Scheme : A Method of Storage Allocation for Arrays on Parallel Memories |
title_full_unstemmed |
r-Skewing Scheme : A Method of Storage Allocation for Arrays on Parallel Memories |
title_sort |
r-skewing scheme : a method of storage allocation for arrays on parallel memories |
publishDate |
2012 |
url |
http://ndltd.ncl.edu.tw/handle/50292968627170600596 |
work_keys_str_mv |
AT chisungsu rskewingschemeamethodofstorageallocationforarraysonparallelmemories AT sūqǐsōng rskewingschemeamethodofstorageallocationforarraysonparallelmemories AT chisungsu rpiānxiédecèlüèfāngànzhènlièzàipíngxíngjìyìtǐshàngdeyīgècúnchǔpèizhìfāngfǎ AT sūqǐsōng rpiānxiédecèlüèfāngànzhènlièzàipíngxíngjìyìtǐshàngdeyīgècúnchǔpèizhìfāngfǎ |
_version_ |
1718059059560579072 |