scieee Open visual document viewer

Automatic Runtime Calculation of Communications for Data-Parallel Expressions with Periodic Conditions

Moreton Fernández, Ana,González Escribano, Arturo

Abstract

Producción Científica

Full text

... manusc ip No. (will be inse ed by he edi o ) Au oma ic Run ime Calcula ion o Communica ions o Da a-Pa allel Exp essions wi h Pe iodic Condi ions Ana Mo e on-Fe nandez ·A u o Gonzalez-Esc ibano Recei ed: da e / Accep ed: da e Abs ac Many eal-wo ld applica ions ea u e da a accesses on pe iodic do- mains. Manually implemen ing he synch oniza ions and communica ions as- socia ed o he da a dependences on each case, is cumbe some and e o -p one. I is inc easingly in e es ing o suppo hese applica ions in high-le el pa allel p og amming languages o pa allelizing compile s. In his pape we p esen a echnique ha , o dis ibu ed-memo y sys ems, calcula es he speci ic com- munica ion pa e ns de i ed om da a-pa allel codes wi h o wi hou pe i- odic bounda y condi ions on a ine access exp essions. I makes anspa en o he p og amme he managemen o agg ega ed communica ions o he cho- sen da a pa i ion. Ou echnique mo es o un ime pa o he compile- ime analysis ypically used o gene a e communica ion code o a ine exp essions, in oducing a comple e new echnique ha also suppo s he pe iodic bound- a y condi ions. We p esen an expe imen al s udy o e alua e ou p oposal using se e al s udy cases. Ou expe imen al esul s show ha ou app oach can au oma ically ob ain communica ion codes as e icien as hose ound in MPI e e ence codes, educing he de elopmen e o . Keywo ds Dis ibu ed memo y ·Pe iodic bounda y condi ion ·Communi- ca ion pa e ns ·Pa allel p og amming 1 In oduc ion Many eal-wo ld applica ions ea u e da a accesses on pe iodic domains; do- mains on which a leas one dimension is o oidal, and a walk h ough he A. Mo e on-Fe nandez ·A. Gonzalez-Esc ibano Depa amen o de In o m´a ica, Uni e sidad de Valladolid, Valladolid, Spain A. Mo e on-Fe nandez E-mail: [email p o ec ed]a.es A. Gonzalez-Esc ibano E-mail: [email p o ec ed]a.es 2 Ana Mo e on-Fe nandez, A u o Gonzalez-Esc ibano dimension becomes an in ini e ou on which he same elemen s o he do- main a e pe iodically a e sed once and again. When his kind o domains a e disc e ized and ep esen ed by a se o indexes, ad ancing pas he las index in he pe iodic dimension, ins ead o ge ing ou o he domain, means a i ing a he i s index. Fo example, physical phenomena can be modelled using sphe ical g ids wi h pe iodic bounda y condi ions [25], using a s encil p og am o e a pe iodic domain. Manually implemen ing he synch oniza ions and communica ions associa ed o he da a dependences o each speci ic ap- plica ion, is cumbe some and e o -p one. Thus, i is inc easingly in e es ing o suppo hese applica ions in high-le el pa allel p og amming languages o pa allelizing compile s. Cu en s a e-o - he a compile s ocus on he ans o ma ion o high- le el pa allel p og ams (e.g. [10]), o sequen ial codes (e.g. [6]), o low-le el pa allel p og ams. Typically, hey a ge s a ic-con ol p og ams wi h a ine exp essions, using compile- ime au oma ic echniques [11,4,17]. These ech- niques abs ac many issues ela ed o he execu ion pla o m, while hey s ill deli e good pe o mance. Howe e , hey p oduce a gene ic code ha does no ake in o accoun some speci ic de ails o he execu ion machine. Fo example, he mos sophis ica ed code gene a o s o dis ibu ed memo y [4], ha only suppo a ine exp essions, educe he olume o communica ed da a and a e pa ame ic in he numbe o p ocesses and p oblem sizes. Ne e heless, hey s ill need o ix a single ile size a compile ime, e en i he sys em has nodes wi h di e en capabili ies. Mo eo e , he applica ion o hese echniques o pe iodic domains is mo e complica ed. In gene al, hey need o compu e a ansi i e closu e o dependencies, which is ypically a e y ha d p oblem a compile ime. In his pape we p esen a echnique ha , au oma ically calcula es a un- ime he coa se-g ained communica ion pa e ns 1 ha a e needed o a co ec and e icien execu ion o SPMD (Single P og am Mul iple Da a) p og ams de- i ed om da a-pa allel codes wi h pe iodic a ine exp essions in da a accesses. I makes anspa en o he p og amme he managemen o agg ega ed com- munica ions o he chosen da a pa i ion. This echnique has been ecen ly announced o he communi y [20]. I mo es o un ime pa o he compile- ime analysis needed o gene a e he communica ion code. I p oduces p og ams mo e adap able o di e en execu ion en i onmen s, allowing, o example, he use o di e en ile sizes a he same hie a chical le el, a good app oach o clus e s ha include machines wi h di e en a chi ec u es [19]. To show he applicabili y o ou app oach, we de elop he echnique in he T asgo pa allel p og amming sys em p oposed in [12]. Ou implemen a ion au- oma ically gene a es MPI p og ams om abs ac da a-pa allel exp essions. We es six benchma ks wi h pe iodic access exp essions: An illus a i e exam- ple based on he o a e ou ine o he STL lib a y [28], he pe iodic e sions o 1Communica ion pa e ns: Abs ac s uc u es de e mining which da a should be mo ed ac oss each pai o p ocesses a a gi en p og am poin . Fo example, in he MPI message- passing in e ace a speci ic ins ance o an MPI All oall unc ion call can be ep esen ed as a communica ion pa e n. Ti le Supp essed Due o Excessi e Leng h 3 Hea 1-D, 2-D and 3-D applica ions [5], a ma ix mul iplica ion p og am us- ing Cannon’s algo i hm [8] and a mul i-g id V-cycle 3D-s encil applica ion, he NAS MG benchma k [1]. Ou expe imen al esul s, compa ing pu e MPI e - e ence codes and he p og ams au oma ically gene a ed, in bo h dis ibu ed- and sha ed-memo y en i onmen s, show ha he use o ou app oach can au- oma ically ob ain e icien codes while educing he de elopmen e o . Fo example, he use o ou solu ion leads o a educ ion o 44.42% in he numbe o code lines and a educ ion o 65.71% in he McCabe Cycloma ic Complexi y o he NAS MG Benchma k. 2 Rela ed Wo k Many ask-o ien ed p og amming app oaches (like S a Ss, OmpSs [7,24]) a e based on i e a o s o gene a e pools o asks wi h explici inpu and ou pu wo king se s. The wo king se s analysis allows dependence g aphs o be buil . Howe e , due o he ask execu ion model based on dynamic scheduling wi h ask-queues, synch oniza ions, and dynamic mapping in o ma ion, hese mod- els canno de i e agg ega ed communica ion calcula ions o g oups o asks. Mo eo e , he use o hese ask-o ien ed app oaches in dis ibu ed memo y leads o pe o mance penal ies in he gene al case, due o he ask c ea ion and des uc ion, he managemen o dis ibu ed queues, he synch oniza ion and load balancing mechanisms, and he da a communica ions due o dynamic ask scheduling and/o mig a ion. Ou app oach minimizes synch oniza ion o e - heads, by gene a ing p og ams wi h s a ic-scheduled p ocesses ha pe o m coa se-g ained compu a ion and communica ion phases. PGAS (Pa i ioned Global Add ess Space) models p esen an abs ac ion o wo k wi h mixed dis ibu ed- and sha ed-memo y en i onmen s simila o T asgo. The PGAS language ha is mo e closely ela ed o ou wo k is Chapel [9]. I p oposes a sepa a ion o domain and mapping modules o gene - a e dis ibu ed a ays. Howe e , he bes communica ion agg ega ion me hods p esen ed so a o Chapel abs ac ions a e es ic ed o speci ic ope a ions, o domain mapping p ope ies. Fo example, he wo k in [26] is es ic ed o global a ay assignmen s wi h block o cyclic dis ibu ions. The wo k in [27] p esen s a symbolic subs i u ion o mapping a ibu es in a ine access exp es- sions wi h he same inspi a ion as ou app oach. Howe e , he Chapel un ime canno agg ega e se e al exp essions ac oss di e en loops o gene a e he ull ask oo p in . Also, i needs o ely on non-agg ega e communica ions when he whole se o da a accessed by an exp ession is no ully alloca ed in he same emo e p ocesso . I only wo ks o cyclic o block-cyclic dis ibu ions. Fo an-D compile echniques o calcula ing communica ion in SPMD p og ams [15] use domain calcula ions o gene a e, a compile ime, di e en communica ion code depending on he da a pa i ion selec ed. This cons ain a oids o change da a pa i ion ea u es a un ime. Howe e , pe o ming a da a pa i ion based on he de ails o he a ge machines is key o achie e a 4 Ana Mo e on-Fe nandez, A u o Gonzalez-Esc ibano good pe o mance and a balanced wo kload, especially in dis ibu ed-memo y sys ems ha include machines wi h di e en a chi ec u es. The polyhed al model p o ides a o mal amewo k o de elop au oma ic ans o ma ion echniques a he sou ce code le el o gene a e low-le el code o sha ed- o dis ibu ed-memo y sys ems [4,2,31,16]. Using he cu en dis- ibu ed-memo y app oaches, communica ions canno be calcula ed ac oss di - e en a ine loop nes s sec ions unless loop usion can be done. Mo eo e , using hese me hods he e a e s ill cases o duplica ed o unnecessa y da a commu- nica ions, ha ou p oposal can a oid, as i will be shown in Sec . 6. The wo k in [17] p esen s a hyb id compile - un ime ansla o scheme simila o ou app oach ha calcula es he communica ion pa e n needed in an SPMD p og amming model. Howe e , hey only suppo egula and epe i i e appli- ca ions whe e he communica ion pa e n is he same in all he i e a ions o an ou e se ial loop ha encloses he SPMD block. Ou echnique is applicable o p og ams ha change hei communica ion s uc u e on each i e a ion. Applying he iling echnique o a se o indexes enables a medium-g ained pa alleliza ion. Some app oaches ha e been p esen ed o sol e he p oblem o iling wi h pe iodic bounda y condi ions. The closes me hod o ou app oach is a cu ing-and-pas ing echnique. In his echnique, he dependencies which a e a ec ed by he pe iodic condi ions a e b oken and displaced. I is simila o a ci cula loop skewing. This app oach needs a compu a ion o he ansi i e closu e o dependencies o de e mine he se o i e a ions which ano he ile depends on. Some lib a ies such as ISL [30] a e capable, o some p oblems, o compu ing a compile ime he ansi i e closu e o dependencies e icien ly. Howe e , he ansi i e closu e compu a ion ypically is a e y ha d p oblem o solu ions ha wo k a compile ime. Recen ly, ano he me hod o ile and op imize ime-i e a ed compu a ions o e pe iodic domains was p esen ed in [5]. This echnique i s spli s he i e a ion domain, cu ing close o he mid-poin wha hei au ho s call long dependences. A e his cu , hey apply a sepa a e a ine ans o ma ion on each hal o he space. All hese app oaches a ge sha ed-memo y sys ems. P og amming o dis ibu ed-memo y sys ems is mo e challenging due o he managemen o he dis ibu ed da a s uc u es. Mo eo e , communica ions among p ocesses should be de ised in e ms o , o example, message-passing ope a ions, aking in o accoun all he po en ial combina ions o p ope da a pa i ions o ma ix sizes. Ou echnique makes anspa en all hese issues. 3 Illus a i e Example This sec ion p esen s an illus a i e applica ion o show an example o how a pa ame izable algo i hm can be ackled wi h ou p oposed solu ion. We selec ed an example based on he o a e ou ine o he STL lib a y [28]. Re e o he sequen ial algo i hm in Fig. 1. The ou ine applies a o a ion o he ec o elemen s while applying a unc ion () on each one o hem. The ou ine ecei es an in ege pa ame e size, a ec o o elemen s (wi h he size indica ed Ti le Supp essed Due o Excessi e Leng h 5 ** Sequen ial o a e algo i hm Inpu s: size: Vec o size < ype> M[size]: Vec o wi h ini ial alues o : Amoun o posi ions o o a e he elemen s : unc ion o compu ing each elemen Ou pu s: < ype> M2[size]: Vec o wi h esul alues 1. < ype> M2[size]; 2. Fo i = 0 o size-1 M2[i] = (M[(i+ o ) mod size]) Fig. 1 Sequen ial algo i hm o he illus a i e example assuming a posi i e alue o o . Inpu s: size: Vec o size myRank: local p ocess Id L: mapping unc ion Ou pu s: < ype> M[ ]: Dis ibu ed ec o o : Amoun o posi ions o o a e < ype> M2[ ]: Dis ibu ed ec o 2. ....... ** B ing da a om emo e p ocesses ** Decla e local pa o M2 1. < ype> M2[ L(myRank).b : L(myRank).e ] ** Local compu a ion 3. o ( i=L(myRank).b ; i<=L(myRank).e; i++) M2[i] = ( M[ (i+ o ) mod size ] ) Comm. S age SPMD Comp. Fig. 2 Pa allel algo i hm o he illus a i e example in a SPMD model assuming a p e i- ously dis ibu ed inpu a ay. Boxes indica e he logical s eps in SPMD compu a ions. by he p e ious pa ame e ), and ano he in ege pa ame e o . The pa ame e o is used in he access exp essions o selec , a un ime, he amoun o posi ions ha he elemen s in he ec o should be shi ed. A dis ibu ed pa allel e sion o his algo i hm is shown in Fig. 2. In his case, he inpu pa ame e s a e: (1) The size o he o iginal inpu ec o , size; (2) he local p ocess iden i ie , myRank; (3) a mapping unc ion L ha ecei es a p ocess iden i ie and e u ns he se o indexes, in he ange [0:size-1], assigned o ha p ocess (band ewill indica e he limi s o he se o his p ocess) ; (4) An inpu ec o M ha was p e iously dis ibu ed among he di e en p ocesses using he mapping unc ion L; (5) The in ege pa ame e o ha is assumed o be posi i e in his example. Fi s , he local pa o he dis ibu ed ou pu ec o M2 is de ined, also using he mapping unc ion L. Thus, each p ocess s o es he same pa o bo h a ays, Mand M2. A e ha , each p ocess pa icipa es in he o a ion o he whole ec o elemen s, and applies he unc ion () on i s pa (SPMD block). When a p ocess applies he access exp ession (i+ o )mod size o i s assigned index domain, i is possible ha pa o he esul ed indexes a e ou o he assigned domain. Hence, we inse a communica ion s age be o e he SPMD block o ensu e ha e e y p ocess has he necessa y da a o compu e (). A e he communica ion and compu a ion, p ocesses will be able o upda e i s pa o he M2 ou pu ec o . Ou echnique calcula es au oma ically hese necessa y communica ion pa e ns. We illus a e he communica ion calcula ion o his example in Fig. 3. In he le o he igu e, we see in S age 1 he se o indexes assigned by he mapping unc ion L o each p ocess. In S age 2, we see he se o indexes 6 Ana Mo e on-Fe nandez, A u o Gonzalez-Esc ibano ... ... s s s s s s s s s s s s s s s s Fig. 3 Communica ion s uc u es calcula ion. Using he ead da a-access exp ession inside he pa allel compu a ion o he illus a i e example o build he unc ions ha calcula e he wo king inpu indexes se (WI) o M o he p ocesses 2 and 4. This example uses con iguous ec angula shapes, an i egula da a pa i ion policy, and conside s he pa icula case o o = 3, o a domain wi h |M0|= 25. esul ed by applying he exp ession (i+ o ) o he indexes assigned o he p ocesses 2 and 4. In ou example, he domain accessed by p ocess 2 o e laps wi h he domain owned by p ocess 3. Thus, in o de o compu e, p ocess 2 needs o ecei e hose da a om p ocess 3. Fo p ocess 4 we ob ain wo se s o indexes: (a) A se loca ed in o he o iginal a ay domain (i will be named s◦), and (b) a se loca ed ou side o he o iginal a ay domain. This se is ep esen ed in whi e and i will be named s+. No ice ha s+is a se o indexes highe han he end o he a ay domain, due o he posi i e alue o o in he example. I he alue o o had been nega i e, we would ha e had a se o indexes lowe han he s a o he a ay domain, named s−. The applica ion o he pe iodic bounda y condi ion (mod size) o e he se o indexes esul ed o applying i+ o in p ocess 4, ans o m hem o he se o indexes shown in S age 3. The whi e egion on S age 2 co esponds o he s ipped egion ha belongs o p ocess 1 a S age 3. We will need an ex a communica ion o ecei e he s ipped egion om p ocess 1 in p ocess 4. 4 Agg ega ed-Communica ion Model In his sec ion, we p esen a gene ic model ha calcula es a un ime he necessa y communica ion pa e ns o compu e SPMD blocks, ha con ain a ine access exp essions on he indexes o he pa allel loops (SPMD blocks) wi h op ional pe iodic bounda y condi ions. In his pape we assume an owne - compu es pa adigm, wi h he esul o a un ime mapping unc ion indica ing he owne ship. We desc ibe he model o calcula e communica ion pa e ns o mo e da a om owne p ocesses o he p ocesses whe e hese da a a e accessed o execu e compu a ion. The same model can be applied o mo e compu ed da a o des ina ion posi ions, in he case o w i e accesses which a e gene ic exp essions ha ans o m he domain indexes. Ti le Supp essed Due o Excessi e Leng h 7 In his sec ion, i s , we p esen he no a ion used in his pape . A e ha , a simpli ied one-dimensional o e iew o he communica ion calcula ion is p esen ed. Finally, he gene ic mul i-dimensional model is desc ibed. 4.1 De ini ions In his sec ion, we de ine he e ms used du ing he model desc ip ion. – Numbe o elemen s (N): numbe o elemen s in an a ay M. – Numbe o dimensions (n): numbe o dimensions o an a ay M. – Ca dinali y (|Mx|): numbe o indexes o he a ay Min he x- h dimen- sion. – Signa u e (Shb, e, zi): is a iple o h ee in ege numbe s begin (b), end (e), and s ide (z). A signa u e de ines a subse o in ege one-dimensional indexes om he begin o he end, using he s ide as s ep. We will use he classical Fo an90 no a ion [b:e:z] o simplici y in ou discussion. The se o all possible signa u es is S∗. – Domain (Dn): An n-dimensional domain o med by he Ca esian p oduc o nsigna u es (a hype ec angle). The se o all possible domains in n dimensions is deno ed as D∗ n. – Compu a ion indexes (−→ i): The se o indexes whe e a pa allel compu- a ion will be pe o med. – A ine exp ession (ρx(−→ i)): In ou echnique we conside a ine exp es- sions on he x- h dimension wi h he o m: ρx(−→ i) = α0×i0+... +αn−1×in−1+β whe e he coe icien s αx, β a e in a ian in he body o he SPMD block. We can also apply an a ine exp ession o a whole se o indexes desc ibed by a signa u e (ρx(s)). – Pe iodic exp ession (cyc(ρx(−→ i))): I deno es pe iodic bounda y condi- ions on he esul o an a ine exp ession. – Mapping unc ion (L(p)): I is a unc ion ha ecei es he index o a p ocess and e u ns he domain ep esen ing he se o indexes mapped o ha p ocess. – Access exp ession (M[cyc(ρ0(−→ i))]...[cyc(ρn−1(−→ i))]): An exp ession in he code ha accesses he da a in a da a s uc u e M. A pe iodic bounda y condi ion is applied on each dimension o he da a s uc u e. – Se o a ine exp essions (φ(−→ i)): The se o a ine exp essions (one o each dimension) o a single access exp ession. 4.2 Model o Calcula ing Communica ion Pa e ns in 1-D Applica ions In his sec ion we p esen an o e iew o he p oposed echnique o calcula e he communica ion pa e ns o only one-dimensional index domains. Recall 8 Ana Mo e on-Fe nandez, A u o Gonzalez-Esc ibano he pa allel algo i hm p esen ed in Fig. 1, ha pe o ms he o a ion o he elemen s o a ec o also applying a unc ion (). A communica ion phase is needed be o e he SPMD block o ealloca e some da a ac oss p ocesses, ensu ing ha each p ocess has he necessa y da a o compu e. The ollowing analysis is done independen ly o each da a s uc u e, and o each SPMD block. The Inpu Wo king Se o Indexes (WA,k I(p, L, −→ δ)) is a unc ion buil based on he access exp essions on a SPMD block. I e u ns he se o indexes o he da a s uc u e A, ead by a gi en p ocesso p, du ing he k- h SPMD block in he code ( emind S age 2 o Fig. 3). The pa ame e s o he unc ion a e: The p ocesso iden i ie p, a mapping unc ion L ha e u ns he se o indexes mapped o any p ocesso , and −→ δ, he alues o he symbolic pa ame e s ha appea in he exp essions. The unc ion applies a un ime he a ine exp essions (φ) ound in ead accesses o Ainside he k- h SPMD block, one by one, o he indexes se e u ned by he mapping unc ion (L(p)). See a calcula ion example in S age 2 o Fig. 3. Fo he one-dimensional case, we ob ain a se o indexes ha can be ep- esen ed by a se o signa u es. These signa u es can be classi ied as: –Se o signa u es whose indexes a e lowe han he begin o he o iginal a ay domain (S− 0). –Se o signa u es whose indexes in e sec wi h he o iginal domain (S◦ 0). –Se o signa u es whose indexes a e highe han he end o he o iginal a ay domain (S+ 0). We gene a e he code o he unc ions ha compu e he se o indexes ead pe each SPMD block, and each da a s uc u e (WA,k I(p, L, −→ δ)). These unc- ions e u n a se o signa u es ep esen ing he se o indexes ead. Wi h hese unc ions, a p ocess can calcula e he inpu wo king se o a da a s uc u e, o any p ocess, once he pa ame ic alues a e known. These unc ions simply apply he access exp essions o he index-space limi s a un ime o calcula e he wo king-se s (see he implemen a ion o hese unc ions in Sec . 5). Once we ha e he se o signa u es ha esul o applying he a ine ex- p essions, we can apply he pe iodic bounda y condi ions, whe e i is equi ed. This eloca es he indexes ha a e he applica ion o he a ine exp ession a e ou o he o iginal a ay domain, in o he domain. See S age 3 in Fig. 3. We de ine wo unc ions o apply he pe iodic condi ions o signa u es. Remind ha |M0|is he numbe o elemen s o Min he i s dimension. –Fo signa u es in S−we de ine ψ:S∗→S∗whe e ψ(s) = s0:   s0.b =−((−s.b)mod |M0|) + |M0|, s0.e =−((−s.e)mod |M0|) + |M0|, s0.z =s.z (1) –Fo signa u es in S+we de ine ϕ:S∗→S∗whe e ϕ(s) = s0:   s0.b =s.b mod |M0|, s0.e =s.e mod |M0|, s0.z =s.z (2) Ti le Supp essed Due o Excessi e Leng h 9 ALGORITHM 1: Model o calcula e he ecei e communica ion pa - e n o a SPMD block, o a gi en da a s uc u e A. Inpu : P: Numbe o p ocesses; myRank: Local p ocess id; L(): Mapping unc ion; −→ δ: Symbolic pa ame e s; |A0|: Ca dinali y o he 1-D a ay; WA,k I(): Func ion o compu e he wo king inpu se ; ψ(), ϕ(): Pe iodic ans o ming unc ions Ou pu :CR: Se o comm- uples ha indica es da a o be ecei ed CR← ∅ o p: 1 o P do lp ←L(p) o all s∈T(WA,k I(myRank, L, −→ δ)) do s0←s∩lp.S0 i s06=∅ hen mp0← ∅ i p6=myRank and s∈S◦ hen mp0←s0 end i s∈ψ(S−) hen mp0←s0− |A0| end i s∈ϕ(S+) hen mp0←s0+|A0| end CR←CR∪ hp, h mp0ii end end end A unc ion T:D∗ n→D∗ n ans o ms he wo king inpu se by applying he wo p e ious unc ions o eloca e all he indexes back in o he o iginal a ay domain, as i was showed in S age 3 o Fig. 3. We can exp ess he ans o ma ion wi h he ollowing unc ion: T(WA,k I(p, L, −→ δ)) =    i s ∈S−;s0=ψ(s), i s ∈S◦;s0=s, i s ∈S+;s0=ϕ(s) (3) An example o he applica ion o T(WA,k I(p, L, −→ δ) o he illus a i e ex- ample can be seen also in S age 3 on he igh o Fig. 3. Algo i hm 1 uses a simpli ied one-dimensional model o calcula e he da a o be ecei ed a any p ocess. The ou pu is a se o communica ion uples (CR). A comm- uple hp, D∗iassocia es he index o he emo e p ocess p, wi h he se o indexes D∗o he s uc u e whose da a alues should be communi- ca ed. Fo each da a s uc u e, he local p ocess, named myRank, calcula es he exac da a o be ecei ed om a emo e p ocess p. In o de o do ha , 16 Ana Mo e on-Fe nandez, A u o Gonzalez-Esc ibano Table 3 Compa ison o de elopmen e o measu es o h ee case s udies. KDSI McCabe’s C.C. Hals ead D.E. T asgo 24 6 74K Ro a e C+MPI 62 21 1 890K Reduc ion 61.29% 71.43% 96.08% T asgo 57 4 19K Cannon’s MM C+MPI 175 4 122K Reduc ion 67.43% 0.00% 84.43% T asgo 772 72 19 477K NAS MG C+MPI 1389 210 29 568K Reduc ion 44.42% 65.71% 34.13% 0.0001 0.001 0.01 0.1 1 10 100 1 4 8 16 32 64 Execu ion ime (sec.) P ocesses Hea -1d: Communica ion and compu a ion imes Compu a ion Comm. Execu ion Comm. Calcula ion 0.0001 0.001 0.01 0.1 1 10 100 1000 1 4 8 16 32 64 Execu ion ime (sec.) P ocesses Hea -2d: Communica ion and compu a ion imes Compu a ion Comm. Execu ion Comm. Calcula ion 0.0001 0.001 0.01 0.1 1 10 100 1000 1 4 8 16 32 64 Execu ion ime (sec.) P ocesses Hea -3d: Communica ion and compu a ion imes Compu a ion Comm. Execu ion Comm. Calcula ion Fig. 8 Compu a ion, communica ion calcula ion, and communica ion execu ion imes in seconds o he Hea examples on he dis ibu ed-memo y machine (log scale). using he p oblem sizes o Tab. 1. o app oaches is ha hese au oma ic calcula ions do no gene a e ce ain communica ion op imiza ions ac oss SPMD blocks ha could posi i ely im- pac pe o mance. An open ques ion is whe he hese pa icula op imiza ions could be applied a e he use o his kind o echniques. 7.3 S udy 2: Ease o p og amming Ou echnique a oids o he p og amme he managemen o he communica- ion and/o da a pa i ion codes. This leads o a educ ion on he pa allel p o- g amming complexi y. Table 3 shows, o ou s udy cases, se e al complexi y and de elopmen e o me ics, including KDSI me ic used in he COCOMO model [3] (numbe o lines), McCabes cycloma ic complexi y [18], and Hals ead de elopmen e o [14]. These me ics a e used o compa e he po en ial p o- g amming e o needed when using he di e en al e na i es conside ed. We obse e ha he de elopmen e o needed is highly educed when using ou app oach. As can be seen in Tab. 3, he educ ions o he di e en me ics used ange om 44% o 96% in all cases, excep in he McCabe complexi y o he Cannon’s ma ix mul iplica ion, whe e his measu e is ex emely low in bo h codes. 7.4 S udy 3: Rela i e cos o calcula ing communica ions Ou echnique o calcula e he communica ion pa e ns is pe o med a un- ime. In his sec ion we show an expe imen al s udy whe e we ocus on he cos Ti le Supp essed Due o Excessi e Leng h 17 0.0001 0.001 0.01 0.1 1 10 100 1 4 8 16 32 64 Execu ion ime (sec.) P ocesses Hea -1d: Communica ion and compu a ion imes Compu a ion Comm. Execu ion Comm. Calcula ion 0.0001 0.001 0.01 0.1 1 10 100 1000 1 4 8 16 32 64 Execu ion ime (sec.) P ocesses Hea -2d: Communica ion and compu a ion imes Compu a ion Comm. Execu ion Comm. Calcula ion 0.0001 0.001 0.01 0.1 1 10 100 1 4 8 16 32 64 Execu ion ime (sec.) P ocesses Hea -3d: Communica ion and compu a ion imes Compu a ion Comm. Execu ion Comm. Calcula ion Fig. 9 Compu a ion, communica ion calcula ion, and communica ion execu ion imes in seconds o he Hea examples on he sha ed-memo y machine (log scale) using he p oblem sizes o Tab. 1. o ou calcula ion and synch oniza ion imes wi h espec o he main compu- a ion imes. The expe imen was execu ed in wo di e en a chi ec u es, he dis ibu ed- and he sha ed-memo y machines, CETA and A las. Figu e 8 and 9 show he measu es o he compu a ion and he communica- ion imes, also sepa a ing in communica ion calcula ion and communica ion execu ion imes. We show esul s o he pe iodic e sions o he Hea -1d, Hea -2d and, Hea -3d benchma ks [5], o di e en numbe o MPI p ocesses launched (no ice he loga i hmic scale in he plo s). We see ha he com- pu a ion ime dec eases when he numbe o p ocesses inc eases, excep in one si ua ion (Hea -2D wi h 8 p ocesses in he dis ibu ed-memo y sys em). This phenomenon is no ela ed o he da a communica ion ha is he ocus o his s udy. We also obse e ha he ime spen by ou echnique in he un ime calcula ion o he communica ion pa e ns inc eases wi h he numbe o p ocesses, as expec ed. Howe e , hese imes can be conside negligible, as hey a e se e al o de s o magni ude smalle han he compu a ion and he communica ion execu ion imes. In summa y, ou echnique au oma ically and e icien ly calcula es a un- ime he communica ion pa e ns needed in a dis ibu ed-memo y pa allel p og am wi h pe iodic access exp essions, allowing he selec ion a un ime o he pa i ion policies, and he choice o he p ope ile sizes o he cu en execu ion pla o m. 8 Conclusion This pape desc ibes a echnique ha calcula es a un ime exac agg ega ed coa se-g ained dis ibu ed-memo y communica ions, o algo i hms wi h a ine exp essions wi h pe iodic bounda y condi ions. I is based on: (1) calcula ing a un ime di e en oo p in s h ough cu ing-and-pas ing me hods in e ms o he mapping unc ions chosen and, (2) in e sec ing a un ime he emo e and local oo p in s. Pe o mance esul s o six cases o s udy, including a eal-wo ld benchma k, indica e ha using ou echnique, we ob ain simila e iciency o op imized MPI codes, while he de elopmen e o is educed. Fu u e wo k includes he applicabili y o he p oposed echnique in cu en polyhed al model amewo ks. 18 Ana Mo e on-Fe nandez, A u o Gonzalez-Esc ibano Acknowledgemen s This esea ch has been pa ially suppo ed by MICINN (Spain) and ERDF p og am o he Eu opean Union: HomP og-He Sys p ojec (TIN2014-58876-P), CAPAP-H6 Ne wo k (TIN2016-81840-REDT), and COST P og am Ac ion IC1305: Ne wo k o Sus ainable Ul ascale Compu ing (NESUS). By he compu ing acili ies o Ex emadu a Resea ch Cen e o Ad anced Technologies (CETA-CIEMAT), unded by he Eu opean Regional De elopmen Fund (ERDF). CETA-CIEMAT belongs o CIEMAT and he Go e nmen o Spain. Re e ences 1. Bailey, D., Ha is, T., Saphi , W., an de Winjgaa , R., Woo, A., Ya ow, M.: The NAS Pa allel Benchma ks 2.0. Repo RNR-95-020, NASA Ad anced Supe compu ing (NAS) Di ision (1995) 2. Bikshandi, G., Guo, J., Hoe linge , D., Almasi, G., F aguela, B.B., Ga za n, M.J., Padua, D., on P aun, C.: P og amming o pa allelism and locali y wi h hie a chi- cally iled a ays. In: P oc. o he ACM SIGPLAN PPoPP, pp. 48–57. ACM, New Yo k, New Yo k, USA (2006) 3. Boehm, B.W., e al.: So wa e enginee ing economics, ol. 197. P en ice-hall Englewood Cli s (NJ) (1981) 4. Bondhugula, U.: Compiling a ine loop nes s o dis ibu ed-memo y pa allel a chi ec- u es. In: P oc. SC’2014. ACM, Den e , CO, USA (2013) 5. Bondhugula, U., Bandish i, V., Cohen, A., Po on, G., Vasilache, N.: Tiling and op i- mizing ime-i e a ed compu a ions on pe iodic domains. In: P oceedings o he 23 d in e na ional con e ence on Pa allel a chi ec u es and compila ion, pp. 39–50. ACM (2014) 6. Bondhugula, U., Ha ono, A., Ramanujam, J., Sadayappan, P.: A p ac ical au oma ic polyhed al p og am op imiza ion sys em. In: ACM SIGPLAN Con e ence on P og am- ming Language Design and Implemen a ion (PLDI) (2008) 7. Bueno, J., Ma o ell, X., Badia, R., Ayguad´e, E., Laba a, J.: Implemen ing OmpSs suppo o egions o da a in a chi ec u es wi h mul iple add ess spaces. In: P oc. ICS’13, pp. 359–368. ACM (2013) 8. Cannon, L.: A cellula compu e o implemen he Kalman il e algo i hm. Doc o al disse a ion, Mon ana S a e Uni e si y Bozeman (1969) 9. Chambe lain, B., Dei z, S., I en, D., Choi, S.E.: Use -de ined dis ibu ions and layou s in Chapel: Philosophy and amewo k. In: 2nd USENIX Wo kshop on Ho Topics in Pa allelism (2010) 10. Cha a asi, P., Shi ako, J., Sa ka , V.: Polyhed al op imiza ions o explici ly pa allel p og ams. In: 2015 In e na ional Con e ence on Pa allel A chi ec u e and Compila ion (PACT), pp. 213–226. IEEE (2015) 11. Claßen, M., G iebl, M.: Au oma ic code gene a ion o dis ibu ed memo y a chi ec u es in he poly ope model. In: Pa allel and Dis ibu ed P ocessing Symposium, 2006. IPDPS 2006. 20 h In e na ional, pp. 7–pp. IEEE (2006) 12. Gonzalez-Esc ibano, A., Llanos, D.: T asgo: A nes ed-pa allel p og amming sys em. The Jou nal o Supe compu ing 58(2), 226–234 (2011) 13. Gonzalez-Esc ibano, A., To es, Y., F esno, J., Llanos, D.: An ex ensible sys em o mul ile el au oma ic da a pa i ion and mapping. IEEE TPDS 25(5), 1145–1154 (2013). (doi:10.1109/TPDS.2013.83) 14. Hals ead, M.H.: Elemen s o So wa e Science (Ope a ing and p og amming sys ems se ies). Else ie Science Inc. (1977) 15. Hi anandani, S., Kennedy, K., Tseng, C.W.: Compiling o an d o mimd dis ibu ed- memo y machines. Communica ions o he ACM 35(8), 66–80 (1992) 16. Kong, M., Pouche , L.N., Sadayappan, P., Sa ka , V.: Pipes: a language and compile o ask-based p og amming on dis ibu ed-memo y clus e s. In: P oceedings o he In e na ional Con e ence o High Pe o mance Compu ing, Ne wo king, S o age and Analysis, p. 39. IEEE P ess (2016) 17. Kwon, O., Jubai , F., Eigenmann, R., Midki , S.: A hyb id app oach o openmp o clus e s. ACM SIGPLAN No ices 47(8), 75–84 (2012) Ti le Supp essed Due o Excessi e Leng h 19 18. McCabe, T.J.: A complexi y measu e. So wa e Enginee ing, IEEE T ansac ions on 4, 308–320 (1976) 19. Meh a, S., Bee aka, G., Yew, P.C.: Tile size selec ion e isi ed. ACM T ansac ions on A chi ec u e and Code Op imiza ion (TACO) 10(4), 35 (2013) 20. Mo e on, A., Gonzalez-Esc ibano, A., Llanos, D.R.: A un ime analysis o communica- ion calcula ion. In: P oceedings o he In e na ional Symposium on Code Gene a ion and Op imiza ion (CGO) (pos e , 2017) 21. Mo e on-Fe nandez, A., Gonzalez-Esc ibano, A., Llanos, D.: Exploi ing dis ibu ed and sha ed memo y hie a chies wi h Hi map. In: P oc. HPCS’2014, pp. 278–286. Bologna (I aly) (2014) 22. Mo e on-Fe nandez, A., Gonzalez-Esc ibano, A., Llanos, D.R.: A new high-le el pa allel po able language o hie a chical sys ems in T asgo. In: Compu a ional and Ma he- ma ical Me hods in Science and Enginee ing (CMMSE) (2015) 23. Mo e on-Fe nandez, A., Gonzalez-Esc ibano, A., Llanos, D.R.: On he un- ime cos o dis ibu ed-memo y communica ions gene a ed using he polyhed al model. In: High Pe o mance Compu ing & Simula ion (HPCS), 2015 In e na ional Con e ence on, pp. 151–159. IEEE (2015) 24. Planas, J., Badia, R., Laba a, E.A.J.: Hie a chical ask-based p og amming wi h S a Ss. IJHPCA 23(3), 1145–1154 (2009) 25. Randall, D.A., Ringle , T.D., Heikes, R.P., Jones, P., Baumga dne , J.: Clima e mod- eling wi h sphe ical geodesic g ids. Compu ing in Science and Enginee ing 4(5), 32–41 (2002) 26. Sanz, A., Asenjo, R., L´opez, J., La osa, R., Na a o, A., Li ino , V., Choi, S.E., Chambe lain, B.: Global da a e-alloca ion ia communica ion agg ega ion in chapel. In: P oc. SBAC-PAD’2012. IEEE (2012) 27. Sha ma, A., Smi h, D., Fe guson, M., Koehle , J., Ba ua, R.: A ine loop op imiza ion based on modulo un olling in chapel. In: P oc. PGAS’2014. ACM, Eugene, OR USA (2014) 28. S epano , A., Lee, M.: The S anda d Templa e Lib a y. Tech. Rep. 95-11(R.1), HP Labo a o ies (1995) 29. Upad as a, R., Cohen, A.: Sub-polyhed al scheduling using (uni -) wo- a iable-pe - inequali y polyhed a. ACM SIGPLAN No ices 48(1), 483–496 (2013) 30. Ve doolaege, S.: Isl: An in ege se lib a y o he polyhed al model. In: Ma hema ical So wa e–ICMS 2010, pp. 299–302. Sp inge (2010) 31. Yuki, T., Rajopadhye, S.: Pa ame ically iled dis ibu ed memo y pa alleliza ion o polyhed al p og ams. Tech. Rep. CS13-105, Colo ado S a e Uni e si y (2013)