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...

Full description

Bibliographic Details
Main Authors: Chi-Sung Su, 蘇啟松
Other Authors: Chih-Hung Yen
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