Communication-Minimal Partitioning and Data Alignment for Af"ne Nested Loops

Size: px
Start display at page:

Download "Communication-Minimal Partitioning and Data Alignment for Af"ne Nested Loops"

Transcription

1 Communcaton-Mnmal Parttonng and Data Algnment for Af"ne Nested Loops HYUK-JAE LEE 1 AND JOSÉ A. B. FORTES 2 1 Department of Computer Scence, Lousana Tech Unversty, Ruston, LA 71272, USA 2 School of Electrcal and Computer Engneerng, Purdue Unversty, W. Lafayette, IN 47907, USA Emal: hlee@engr.latech.edu Data algnment and computaton doman parttonng technques have been wdely nvestgated to reduce communcaton overheads n dstrbuted memory systems. Ths paper consders how these two technques can be combned and appled to af"ne nested loops. Current data algnment technques focus on ndvdual entres of data arrays and, n general, cannot be used drectly for cases when blocs of entres should be algned collectvely. Ths paper shows that exstng data algnment technques can be appled to parttoned algorthms f the null space of the data array ndexng matrx s a boundary of computaton blocs or the ntersecton of some computaton bloc boundares. These condtons can be used to generate several dfferent parttonngs and tme space transformatons for a gven target archtecture. An example llustrates how t s possble to tradeoff the number of communcatons and the memory space. Another example shows parttons of matrx matrx multplcaton that have smaller communcaton computaton ratos than Cannon's algorthm. Receved November 10, 1996; revsed July 25, INTRODUCTION Ths paper nvestgates the problem of data algnment when computaton domans are parttoned. Condtons of parttons, data algnments and tme space mappngs that mnmze communcaton are provded. These condtons can be used to derve data algnments and tme space mappngs for parttoned (.e. bloced algorthms. Interprocessor communcaton s expensve for dstrbuted memory parallel computers. Hence, extensve research has focused on mnmzng communcaton overheads [1 15]. An mportant technque s to allocate data to memory modules so that ndvdual processor computatons "nd ther operands n local memory. To reach ths goal t s necessary to algn operands of any gven operaton. Ths problem turns out to be NP-complete and many good heurstcs have been proposed [7 11]. Another technque for communcaton mnmzaton s to partton a computaton doman nto blocs that do not need data from other blocs. Parttonng technques can also be effectvely used to map a large problem nto a small number of processors. Although a parttonng technque applcable to arbtrary algorthms does not exst, systematc technques have been developed for optmal parttonng of unform dependence algorthms [12, 14]. To mnmze communcaton overheads of a dstrbuted memory program, one must consder data algnment and parttonng technques together. Current data algnment technques focus on ndvdual data entres, but t s not clear whether these technques can be used for bloced data,.e. when many data entres n a bloc need to be algned collectvely. In order to be able to use exstng algnment technques, a bloc of data needs to be treated as a sngle data entry (ust as a computaton bloc can be treated as a sngle computaton. However, ths may create addtonal sgn"cant communcaton overheads (see Example 3.1. Prevous parttonng technques (e.g. [14] and references theren focused on mnmzng the communcaton computaton rato for a sngle bloc, but dd not consder data algnment ssues. These technques focused on unform dependence algorthms wth data array domans whch are the same (wthn a constant offset as the computaton domans. When a computaton doman s the same as a data doman, parttonng of a data doman can also be the same as that of a computaton doman. Thus, a data bloc can be treated as a sngle data entry wthout addtonal communcaton overheads. Therefore, prevous technques desgned for unform dependence algorthms do not nvolve addtonal overheads for data algnment. However, for algorthms wth non-unform dependences, such as af"ne nested loops or BLAS-le algorthms [10], t s not trval to partton data arrays so that each bloc can be treated as a sngle data entry. Ths paper consders the combnaton of parttonng and data algnment for algorthms descrbed by an af"ne nested loop, that s, a nested loop wth data access patterns

2 COMMUNICATION-MINIMAL PARTITIONING AND DATA ALIGNMENT 303 whch can be descrbed by an af"ne functon (a formal de"nton s gven n Secton 2. For these algorthms, data algnment may cause sgn"cant communcaton overhead when computaton and data domans are parttoned mproperly. To leverage exstng data algnment technques for parttoned af"ne nested loops, ths paper nvestgates the condtons of algorthm parttons that allow data array blocs to be treated as a sngle data entry wthout addtonal overheads and therefore exstng data algnment technques for ndvdual data entres can be used for algnment of parttoned algorthms and data. Based on these condtons, many parttonngs and tme space mappngs can be derved accordng to the number of processors, memory per processor and communcaton costs. The rest of ths paper s organzed as follows. Useful notaton, termnology and de"ntons are provded n Secton 2. Secton 3 nvestgates the relaton between a data partton and a computaton partton. Secton 4 examnes condtons of parttonngs, data algnments and tme space mappngs that mnmze communcaton. Secton 5 dscusses the ef"cency of varous parttonngs and tme space mappngs for gven target archtectures. Secton 6 concludes the paper. 2. NOTATION, TERMINOLOGY AND DEFINITIONS DEFINITION 2.1. (nested loop. A nested loop s a 4-tuple (J, S, V, F where 1. J s the loop ndex set (.e. the set of ndces of all teratons. Each computaton s ndexed by a vector J (for a gven teraton of a nested loop program, the th entry of corresponds to the value of the th loop counter. 2. S s the set of statements {S 1, S 2,...,S ξ }n the loop body. 3. V s the set of data arrays {V 1, V 2,...,V η }. 4. F s the set of ndexng functons {f 1 η} whch de"ne how data array V s accessed n the loop. The mage of f (J s called the ndex set of data array V. In ths paper, Y denotes the ndex set of a data array V,.e. Y = f (J. An af"ne nested loop s a nested loop, the ndexng functons of whch are af"ne,.e. every f F s of the form f ( = F + f, for J, (1 where F s a dm(y dm(j matrx and f s a dm(y - dmensonal vector. F and f are called the ndexng matrx and f the ndexng offset respectvely. All algorthms consdered n ths paper are assumed to be af"ne nested loops. Throughout ths paper, n denotes the dmenson of J. A tme space transformaton s a mappng from an ndex set nto the doman of tme and space. DEFINITION 2.2. (tme space transformaton, vrtual processor array. A tme space transformaton of a nested loop s a mappng T : J Z n such that for any J, T( = ( t x where t s the tme of executon of the computaton ndexed by and x corresponds to the coordnates of the processor where executon taes place. The proecton of T(J nto space (.e. the set of all possble values of x s called the vrtual processor array. DEFINITION 2.3. (data algnment. Let Y be the ndex set of an array V and X be a vrtual processor array. A data algnment of array V s a mappng, p,fromyto X. A partton of an ndex set J s a set of non-empty dsont subsets of J, the unon of whch equals J. The subsets mang up a partton are called blocs of the partton. The parttons of nterest n ths paper can be descrbed by an equvalence relaton such that 1 and 2 are n the same bloc f and only f q( 1 = q( 2 for any 1, 2 J where q s of the form q( = D / β,d Z n n, β Z n. The mage of J under q s called the ndex set of a partton and s denoted by J ˆ. A bloc wth elements whch are mapped to ĵ Jˆ s denoted by Q 1 ( ĵ. Note that Q 1 does not represent the nverse functon of q (snce q s not a one-toone mappng, t does not have an nverse. Treatng each bloc as a sngle computatonal unt, a tme space transformaton of a parttoned ndex set can be de"ned as a mappng from the ndex set of a partton to the tme space doman,.e. ˆT : Jˆ (ˆt, X ˆ. The transformaton matrx and the modulus vector assocated wth ˆT are denoted by ˆT and ˆm respectvely. Note that `ˆ' appears n the notaton used for parttoned ndex sets and functons de"ned on them. Ths s also true for Xˆ whch denotes the ndex set of the physcal machne whereas X denotes the ndex set of the vrtual processor array. EXAMPLE 2.1. Consder the matrx matrx multplcaton algorthm whch computes C = A B where A, B and C are (8 12, (12 16 and (8 16 matrces respectvely. DO = 0, 7 DO = 0, 15 DO = 0, 11 c(, = c(, + a(, b(, CONTINUE Suppose that the loop ndex set s parttoned by an equvalence relaton such that 1 and 2 are n the same bloc f and only f q( 1 = q( 2, where q( = (2,4,3 T. Then, the sze of a bloc s whle the sze of the partton s Thus, the ndex set of the partton, J ˆ, also conssts of elements. Q 1 ( ĵ denotes the bloc ndexed by ĵ. For example, Q 1 ((0, 0, 0 T denotes the

3 304 H.-J. LEE AND J. A. B. FORTES FIGURE 1. (a Indvdual data algnment and (b bloced data algnment. bloc { (0, 0, 0 T <(2,4,3 T }whle Q 1 ((1, 0, 0 T denotes the bloc { (2, 0, 0 T <(4,4,3 T }. A partton of a data array ndex set Y can also be de"ned by an equvalence relaton such that y 1 and y 2 are n the same bloc f and only f r( y 1 = r( y 2 for any y 1, y 2 Y where r s of the form r( y = R / β, R Z dm(y dm(y, β Z dm(y. The mage of Y under r s called the ndex set of the data partton and s denoted by Ŷ. A bloc, the elements of whch are mapped to ŷ Ŷ s denoted by R 1 (ˆr. Data algnments of a parttoned data array are de"ned on the ndex set of the data partton,.e. ˆp : Ŷ X ˆ. EXAMPLE 2.1. (contnued. Suppose that matrx A s parttoned by an equvalence relaton such that y 1 and y 2 are n the same bloc f and only f r a ( y 1 = r a ( y 2, where ( 1 0 y r a ( y = (2,3 T. Then, the sze of a bloc s 2 3 whle the sze of the partton s 4 4. The ndex set of the partton, Ŷ a, also conssts of 4 4 elements. R 1 ( ĵ denotes the bloc ndexed by ŷ. For example, R 1 ((0, 0 T denotes the bloc {(0, 0 T < (2,3 T } whle R 1 ((1, 0 T denotes the bloc {(2, 0 T <(4,3 T }. 3. RELATION BETWEEN A COMPUTATION PARTITION AND A DATA PARTITION In order to elmnate unnecessary communcaton, t s desrable that each computaton and ts operand data be algned,.e. allocated to the same processor. For an af"ne nested loop, the condton of algnment can be descrbed by the followng equaton: T( = (t, p(f( T. (2 Ths equaton mples that the computaton ndexed by s mapped at tme t nto processor x, the same processor contanng the data entry accessed by the computaton. Fgure 1a llustrates the condton. There are two paths from to (t, x. One path drectly connects to (t, x, whle the other goes through y to connect to (t, x. There are two functons from to (t, x along these two paths respectvely. In ths "gure, Equaton (2 means that the mages of two functons along these two paths must be the same. Fgure 1b llustrates the condton for the algnment of bloced data and the computaton. Smlarly to Fgure 1a, there are two paths from to (ˆt, ˆx. Hence, the condton for the algnment s that two functons along these two paths must be the same: ˆT(q( = (ˆt, ˆp(r(f( T. (3 Extensve research has focused on the dervaton of a smple form of condton (2 for the algnment of ndvdual data and computaton. Wth the smple form, many formulatons have been developed to derve T and p [3 10]. However, t s not easy to derve ˆT and ˆp that satsfy Equaton (3. Ths s because r and q are both nonlnear functons, and therefore t s necessary to solve a system of nonlnear equatons for condtons on ˆT and ˆp. Ths paper proposes to use a new functon ˆf whch maps a computaton bloc to a data bloc as shown n Fgure 2. Wth the new functon ˆf, the condton of bloced data algnment becomes ˆT( ĵ = (ˆt, ˆp(ˆf( ĵ T. (4 The form of Equaton (4 s exactly the same as that of Equaton (2. Hence, prevous technques developed for the condton of Equaton (2 can also be used for the condton of Equaton (3. However, t s not clear whether the new functon ˆf always exsts for arbtrary computaton and data parttonng. Therefore, ths secton nvestgates the condton that guarantees the exstence of ˆf. The functon ˆf s formally de"ned as follows: DEFINITION 3.1. Let Jˆ be the ndex set of a computaton partton and Ŷ be the ndex set of a data partton. A

4 COMMUNICATION-MINIMAL PARTITIONING AND DATA ALIGNMENT 305 (a (b (-3,2 (-2,2 (-1,2 (0,2 FIGURE 2. Indexng functon for a parttoned algorthm. J Y Q -1 R -1 J f f FIGURE 3. De"nton of the ndexng functon. functon ˆf : ˆ J Ŷ s an ndexng functon of a parttoned data array accessed n a parttoned loop nest f f(q 1 ( ĵ = R 1 (ˆf( ĵ, (5 for any ĵ J ˆ. Condton (5 can be stated as follows: the data entres accessed by a computaton bloc, Q 1 ( ĵ, should be the same as the bloc of the data array ndexed by ŷ whch s the mage of ĵ under the ndexng functon ˆf. Ths condton can be better llustrated wth Fgure 3. There exst two chans of relatons on J ˆ Y: one s the relaton Q 1 on f J ˆ J followed by the mappng J Y and the other s the mappng Jˆ ˆf Ŷ followed by the relaton R 1 on Ŷ Y. For the functon ˆf to be smlar to the ndexng functon, f, the two chans of relatons need to yeld relatons wth an dentcal proecton on Y. Ths condton can be formulated mathematcally as (5. Here an ndexng functon of a parttoned data array accessed n a parttoned loop nest s smply called an ndexng functon, f ths smpl"caton does not lead to confuson. EXAMPLE 2.1. (contnued. Let the ndexng functon of a parttoned matrx A be ˆf a ( ĵ = ( It s not df"cult to chec whether ths functon sats"es De"nton 3.1. For example, consder bloc Q 1 (0, 0, 0 = { (0, 0, 0 < (2,4,3 T }. Snce the orgnal ndexng functon s f a ( = ( , t follows that f a (Q 1 ((0, 0, 0 T ={ y (0,0 T y <(2,3 T }.On the Y (-2,1 (-1,1 (0,1 (1,1 (-1,0 (0,0 (1,0 (2,0 FIGURE 4. Parttonng of a loop ndex set whch does not allow the vald parttonng of a data array ndex set and an ndexng functon. (a Loop ndex set; (b parttoned loop ndex set. other hand, ˆf a ((0, 0, 0 T = (0, 0 T and Therefore, R 1 (ˆf a ((0, 0, 0 T ={ y (0,0 T y<(2,3 T }. f a (Q 1 ((0, 0, 0 T = R 1 (ˆf a ((0, 0, 0 T. Hence, De"nton 3.1 s sats"ed. In the above example, the ndexng functons of the parttoned data arrays accessed n the parttoned loop nest are the same as the orgnal ndexng functons,.e. ˆf a = f a ; however, ths s not true n general cases. Dependng on how loop ndex sets are parttoned, t s often very complcated to "nd the correct ndexng functon. Moreover, n many cases, there do not exst ndexng functons that satsfy De"nton 3.1. The next example llustrates such a case. EXAMPLE 3.1. Consder the followng computaton. DO = 0, 9 DO = 0, 9 c(, = a( b( CONTINUE Suppose that the computaton partton s gven by the mappng q ( 1 1 q( = (3,3 T. Fgure 4a shows the computaton doman. The horzontal and vertcal lnes ntersect at computaton ndex ponts. Fgure 4b shows the parttoned loop ndex set. Indces

5 306 H.-J. LEE AND J. A. B. FORTES of blocs are also shown n ths "gure. Dashed lnes represent the boundares of blocs that are not ncluded n the loop ndex set. Consder the access pattern of the entres of vector a. For the bloc of computatons ndexed by (0, 0, entres a(0, a(1, a(2, a(3 and a(4 are accessed. For the bloc of computatons ndexed by (1, 0, entres a(3, a(4, a(5, a(6 and a(7 are accessed. Note that entres a(3, a(4 are shared by both blocs and should be allocated to the processors that execute these blocs. Hence, ths data `partton' s not vald n the sense that t s not a partton (the blocs are not dsont. Consder the entres of vector b whch are accessed by blocs. For the bloc ndexed by (0, 0, entres b(0, b(1 and b(2 are accessed, whle b(3, b(4 and b(5 are accessed by the bloc ndexed by (0, 1. In ths case, mappng r b ( y = y/3 s a possble vald parttonng of vector b. 4. CONDITIONS OF PARTITIONING FOR DATA ALIGNMENT = { Z n = ĵ (D 1 β n } + a D 1 β,0 a < 1, = 1,2,...,n. Therefore, t follows that { n f(q 1 ( ĵ = y y = f(ĵ (D 1 β + a f(d 1 β, 0 a < 1, = 1, 2,...,n, y Z n }. (6 On the other hand, the rght-hand sde of (5 must be of the form { } R y R 1 (ˆf( ĵ = y = ˆf( ĵ β = { y ŷ β R <(ŷ+ 1 β }, { = y y =ŷ (R 1 β Exstng data algnment technques are based on relatons among ndexng functons, tme space mappngs and data algnments. To reuse the exstng data algnment technques n parttoned algorthms, one must "nd the correct ndexng functons of bloced data arrays. Example 3.1 shows that some algorthm parttons do not allow the exstence of a vald data partton. Therefore, t s necessary to "nd condtons of algorthm parttons that guarantee the exstence of vald data parttons and to derve technques to dentfy them. Here the partcularly desrable case when the ndexng functons n the parttoned algorthms are the same as n the orgnal algorthms (.e. non-parttoned s consdered. For ths case, Proposton 4.1 provdes the condton of computaton parttons whch guarantees that the ndexng functons of parttoned nested loops are dentcal to the ndexng functons used n the orgnal (.e. non-parttoned nested loops. Let an ndexng functon be called Eucldean f any row of the ndexng matrx s dstnct wth one entry valued unty and all others valued zero. Let u and v be n-dmensonal vectors. Let the operator denote elementwse multplcaton,.e. u v= (u 1 v 1,u 2 v 2,...,u n v n T. Let T be an n n matrx and I be a subset of {1, 2,,...,n}. T I denotes a submatrx of I whose columns consst of the th column of T for all I. PROPOSITION 4.1. Let a gven algorthm have a Eucldean ndexng functon f for a data array. Gven an algorthm partton de"ned by q( = (D / β, there exsts an ndexng functon that sats"es De"nton 3.1 f there exsts a set I {1,2,...,n} such that the columns of D 1 I form a bass of null(f. Proof. Consder the left-hand sde of Equaton (5: Q 1 ( ĵ = { D Z n β } = ĵ = { Z n ĵ β D <(ĵ+ 1 β}, dm(y + =1 b R 1 β, 0 b < 1, = 1, 2,...,dm(Y, y Z n }. (7 Equaton (6 can be n the form of Equaton (7 only f n dm(y number of vectors among {f(d 1, = 1, 2, n}are zero. Then, the set {D 1 f(d 1 = 0} forms a bass of null(f. Snce f s Eucldean, f( ĵ (D 1 β = f(ĵ (f(d 1 C f( β where C = {1,2,...,n} I. Thus, Equatons (6 and (7 are dentcal f R 1 s de"ned to be f(d 1 C = FD 1 C,and β s de"ned to be f( β = F β. The proof of the above proposton says that the data partton s de"ned by r( y = ((FDc 1 1 y/ β c where β C H β. If an algorthm has a data array wth an ndexng functon whch s not Eucldean, t s necessary to change the bass to mae the ndexng functon Eucldean. Ths paper consders only the case when such a change s possble. A boundary s generated by n 1 columns of D 1. Hence, there exst ( n dm(null(f n dm(null(f 1 = n dm(null(f boundares contanng null(f. Therefore, the ntersecton of these boundares forms null(f. In other words, null(f should be parallel to the ntersecton of these boundares. EXAMPLE 4.1. In Example 2.1, q for the computaton partton and r a for data array A partton are D 0 q( = = β (2,4,3 T,

6 COMMUNICATION-MINIMAL PARTITIONING AND DATA ALIGNMENT 307 and ( 1 0 R y r a ( y = = β (2,3 T respectvely. Snce D 1 = ( y,, null(f a = (0, 1, 0 T s generated by the second column of D 1, D 1 2. It then follows that ( [F( D 1 ] 1 = ( 1 0 =. In addton, β = (2, 3 T. Hence, the condton n Proposton 4.1 s sats"ed. Thus, ( ˆf a ( ĵ = f a ( ĵ = ĵ. 0 EXAMPLE 4.2. In Example 3.1, the mappng q has D =. Thus, D 1 s. Snce the null space of f a s ( 1 1 ( 1 1 (0, 1 T, t s generated by nether D 1 1 nor D 1 2. The followng proposton proves that condton (2 of data algnment of ndvdual data entres can be used for the condton of data algnment for bloced data (Equaton (3 f there exsts an ndexng functon that sats"es De"nton 3.1. PROPOSITION 4.2. Let J be the ndex set of a nested loop. Let V be a data array accessed n the nested loop and Y be the ndex set of array V. Let f be an ndexng functon of array V. Let Jˆ be the ndex set of a partton of J and Ŷ be the ndex set of a partton of Y. Let ˆf : Jˆ Ŷ be the af"ne ndexng functon of parttoned array V n the parttoned nested loop. Let Xˆ be the ndex set of a physcal processor array. Let ˆT : Jˆ Xˆ be a tme space transformaton of the parttoned nested loop and ˆp be data algnment of the parttoned array. For any J ˆT(q( = (ˆt, ˆp(r(f( (8 f and there exsts ˆf such that ˆT( ĵ = (ˆt, ˆp(ˆf( ĵ f(q 1 ( ĵ = R 1 (ˆf( ĵ. Proof. Gven J, there exsts ĵ such that Q 1 ( ĵ. Then, f( f(q 1 ( = R 1 (ˆf( ĵ. Therefore, r(f( ĵ r(r 1 (ˆf( = ˆf( ĵ. TABLE 1. Intal data algnment of the parttoned verson of Cannon's algorthm: â,, ˆb, and ĉ, denote (, th blocs of data array ndex sets of matrces A, B and C respectvely. Thus, Hence, x 2 x â 0,0 â 0,1 â 0,2 â 0,3 1 â 1,1 â 1,2 â 1,3 â 1,0 2 â 2,2 â 2,3 â 2,0 â 2,1 3 â 3,3 â 3,0 â 3,1 â 3,2 x 2 x ˆb 0,0 ˆb 1,1 ˆb 2,2 ˆb 3,3 1 ˆb 1,0 ˆb 2,1 ˆb 3,2 ˆb 0,3 2 ˆb 2,0 ˆb 3,1 ˆb 0,2 ˆb 1,3 3 ˆb 3,0 ˆb 0,1 ˆb 1,2 ˆb 2,3 x 2 x ĉ 0,0 ĉ 0,1 ĉ 0,2 ĉ 0,3 1 ĉ 1,0 ĉ 1,1 ĉ 1,2 ĉ 1,3 2 ĉ 2,0 ĉ 2,1 ĉ 2,2 ĉ 2,3 3 ĉ 3,0 ĉ 3,1 ĉ 3,2 ĉ 3,3 ˆp(r(f( ˆp(ˆf( ĵ. ˆT(q( = ˆT( ĵ = (ˆt, ˆp(r(f(. EXAMPLE 4.3. Consder Example 2.1 agan. After algorthm and data array ndex sets are parttoned, the ndex set of a computaton partton Jˆ s (4 4 4, whle the ndex sets of data parttons Ŷ a, Ŷ b and Ŷ c are all (4 4. Suppose that ˆT (4,4,4 ( ĵ = (ĵ 0 (mod (4,4,4 s employed for a tme space transformaton of ths algorthm. Data algnments of matrces A, B and C that satsfy Equaton (4 are and ˆp aˆt (ŷ = (( (( ˆp bˆt 1 1 (ŷ = ˆp cˆt (ŷ = (( 1 0 ŷ +(0, 1 Tˆt, (mod (4,4 ŷ +( 1,0 Tˆt, (mod (4,4 ŷ +(0,0 Tˆt, (mod (4,4 respectvely, where the subscrpt ˆt denotes that data algnments depend on the executon tme [10]. Intal

7 308 H.-J. LEE AND J. A. B. FORTES (a (b (c FIGURE 5. Examples of computaton parttons. (a β = (2, 3, 4;(b β =(2, 4, 6;(c β =(2, 4, 12. dstrbutons of these matrces are shown n Table 1. All the entres stored n processors are computed and then matrx A shfts left and matrx B shfts up for the next computaton. The computaton step and the communcaton step are alternately repeated untl all columns of matrx A have been multpled by all rows of matrx B. Ths algorthm for matrx multplcaton corresponds to the parttoned (bloced verson of Cannon's algorthm. 5. COMMUNICATION MINIMAL PARTITION FOR A FIXED-SIZE PROCESSOR ARRAY For most practcal problems, the szes of computaton domans are large and must be parttoned to "t a `small' "xed-sze processor array. To reduce executon tme, t s desrable to select the one that requres less communcaton. Gven that the parttons of nterest are determned by q( = (D / β, dfferent parttons are possble by choosng D and β. Matrx D s often determned by other constrants such as those n Proposton 4.1 or n [12, 14]. Therefore, ths secton assumes that D s gven, and nvestgates β that mnmzes communcaton overheads. Some components of β have ther values chosen so that a partton matches an avalable processor array n sze. The values of other components of β are chosen to satsfy other constrants such as avalable memory space. EXAMPLE 5.1. Consder the matrx matrx multplcaton algorthm n Example 4.3 and a processor array of sze (4 4. Suppose that the algorthm blocs are mapped to processors along the drecton (0, 0, 1 T. Then, β 1 = 2 and β 2 = 4 (n order to accommodate an (8 16 proecton n (4 4 processors. Consder how β 3 affects communcaton overheads. If β 3 s chosen to be 6, the sze of blocs becomes twce as large as that n Example 4.3. Thus, the sze of the partton s also changed to ( The shapes of blocs are shown n Fgure 5b. Snce the number of blocs along the last coordnate s two, ths algorthm requres two tme unts 1 to complete computatons. Recall that communcatons are necessary between blocs, but not nsde a sngle bloc. Hence, only one communcaton (.e. one message wth several data entres 2 s necessary. Note that the parttoned verson of Cannon's algorthm n Example 4.3 needs four tme unts and therefore three communcatons are requred. The trade-off of ths example s the sze of the bloc, whch s twce as large as that n Example 4.3. Hence, approxmately twce as much memory as that of Example 4.3 s requred n ths example. Suppose that β 3 s chosen as 12 (Fgure 5c. Then, the sze of a sngle bloc s ( and the sze of the data partton s ( In ths case, the algorthm needs ust one tme unt and therefore no communcaton s necessary. However, t requres approxmately four tmes as much storage as that of Example 4.3. Example 5.1 explans the trade-off relaton between memory space and the number of communcatons. In general, the larger the blocs stored n a sngle processor, the smaller the number of communcatons s requred. However, t s not always possble to store as many data tems as desred n a sngle processor due to lmtaton of avalable memory space. Moreover, there exst specal cases n whch the necessary memory space ncreases even though the sze of blocs decreases. Ths s because algnment of a parttoned data array must satsfy condtons n Proposton 4.2 and therefore, there exst some cases when more than one bloc must be stored n a sngle processor [10]. Consder the problem n whch components of β are chosen to mae the algorthm partton "t an avalable processor array. Prevous research for communcaton mnmzaton showed that a data array needs to move f T 1 1 s not an element of null(f [11]. Therefore, t s desrable to 1 The tme unt s the tme requred to "nsh all computatons n a sngle bloc. The tme unt depends on the sze of a sngle bloc. The computaton tme to execute a sngle bloc ncreases accordng to bloc sze. 2 Each message contans all data generated and/or used by a bloc that s needed by another bloc n the destnaton processor. Thus, the sze of the message ncreases wth the sze of the blocs.

8 COMMUNICATION-MINIMAL PARTITIONING AND DATA ALIGNMENT 309 (a (b (c FIGURE 6. Examples of computaton parttons. (a β = (2, 4, 6;(b β =(4, 4, 3;(c β =(2, 8, 3. Number of communcatons Number of data tems Number of data tems 2x10 4 1x x64x64 64x64x N= Sze of a bloc Problem sze ( (1024/Nx1024x(Nx1024 (a (b FIGURE 7. Parttons and communcaton overheads. (a ----, number of communcatons;, number of data tems n a sngle communcaton;, number of data tems n a sngle bloc. Sze of a computaton doman, ; sze of a processor array, (b----, A,C: move, B: stay;, A, B: move, C: stay;, B,C: move, A: stay. Sze of a processor array, choose T 1 1 (the proecton vector [13], that s the drecton along whch computatons are mapped nto processors as the bass of null(f. Therefore, the choce of the proecton vector s lmted by the data arrays used n an algorthm. In general, the number of optmal proecton vectors s small enough to examne all possbltes n a reasonable amount of tme. For example, n matrx multplcaton, there are sx possble choces of the proecton vector (Proposton 3 n [11]. Dependng on the proecton vector, the number of data entres n a sngle communcaton can vary. Example 5.2 llustrates how ths problem can be solved and how much the communcaton overheads can be reduced by searchng all possbltes. EXAMPLE 5.2. Consder the matrx matrx multplcaton algorthm n Example 5.1 agan. Suppose that β s (2, 4, 6 T (Fgure 6a. The number of data entres to be stored n a sngle processor s 44. Snce matrces A and B should be moved whle matrx C stays at the same processor, the number of data entres to be moved s 36. If β = (4, 4, 3 T (Fgure 6b, matrces A and C should be moved whle matrx B stays at the same processor. Hence, the number of data entres to be stored s 40 whle the number of data entres to be communcated s 28. If β = (2, 8, 3 T (Fgure 6c, matrces B and C should be moved whle matrx A stays at the same processor. Hence, the number of data entres to be stored s 46, whle the number of data

9 310 H.-J. LEE AND J. A. B. FORTES entres to be communcated s 40. Hence, the amount of communcaton requred for the case when β = (2, 8, 3 T s 1.43 tmes more than that when β = (4, 4, 3 T and 1.11 tmes more than that when β = (2, 4, 6 T. The dfference of communcaton overheads depends on the shape of the orgnal loop ndex set. Therefore, t s necessary to nvestgate all three cases and choose the partton that mnmzes communcaton. Fgure 7 shows the relatonshp between communcaton overheads and parttons for varous szes of problems. Fgure 7a shows the trade-off relaton between the number of communcatons and the sze of necessary memory modules dependng on the szes of blocs when ( matrx multplcaton s computed on a (16 16 processor array. The szes of blocs consdered n ths "gure are (64 64 (64n, n = 1, 2, 4, 8, 16. As bloc sze ncreases, the number of data entres n the bloc also ncreases proportonally. However, the number of communcaton steps decreases wth bloc sze. Ths "gure also shows that the number of data entres moved n a sngle bloc ncreases proportonally to the bloc sze. Fgure 7b shows how communcaton overheads depend on the choce of coordnates to be mapped nto a space doman. The matrx multplcaton algorthms of szes ((1024/n 1024 (1024n, n = 0.25, 0.5, 1, 2, 4 are consdered. Snce the computaton doman s three dmensonal, there are three possbltes n choosng the coordnates mapped nto a space doman. Ths choce determnes whch matrces need to move and whch matrx can stay at the same processor. Ths "gure shows that the communcaton overheads depend on the choce of coordnates when the computaton doman s not cubc. As the dfference n sze along three coordnates ncreases, the dfference of communcaton overheads also ncreases. 6. CONCLUSIONS Ths paper consders parttonng and data algnment of af"ne nested loops. To leverage exstng data algnment technques for parttoned algorthms, computaton parttons should satsfy the condton that there exst boundares of blocs wth ntersectons whch are the null spaces of the ndexng functons of data arrays. By usng exstng systematc data algnment technques, t s possble to generate several parttons and tme space mappngs (wth perfectly algned data out of whch the optmal one could be chosen. Addtonal research s needed on technques to drectly dentfy such optmal solutons. ACKNOWLEDGEMENTS Ths research was partally funded by the Natonal Scence Foundaton under grants MIP and CDA REFERENCES [1] Hranandan, S. et al. (1992 Compler optmzatons for Fortran D for MIMD dstrbuted-memory machnes. Commun. ACM, 35, [2] Gupta, M. and Baneree, P. (1992 Demonstraton of automatc data parttonng technques for parallelzng complers on multcomputers. IEEE Trans. Parallel Dstrb. Syst., PDS-3, [3] Bau, D. et al. (1995 Solvng algnment usng elementary lnear algebra. Lecture Notes n Computer Scence, 892, Sprnger-Verlag, Berln. [4] Shang, W. and Shu, Z. (1994 Data algnment of loop nests wthout nonlocal communcaton. In Proc. Int. Conf. Applcaton Spec"c Array Processors, August, pp IEEE Computer Socety Press, Los Alamtos, CA. [5] Ramanuam, J. and Sadayappan, P. (1991 Comple-tme technques for data dstrbuton n dstrbuted memory machnes. IEEE Trans. Parallel Dstrb. Syst., PDS-2, [6] Knobe, K., Luas, J. D. and Steele, G. L. Jr. (1990 Data optmzaton: allocaton of arrays to reduce communcaton on SIMD machnes. J. Parallel Dstrb. Comput., 8, [7] L, J. and Chen, M. (1991 The data algnment phase n complng programs for dstrbuted-memory machnes. J. Parallel Dstrb. Comput., 13, [8] Feautrer, P. (1992 Toward Automatc Dstrbuton. Laboratore MASI, Insttut Blase Pascal, Techncal Report [9] Darte, A. and Robert, Y. (1993 A Graph-Theoretc Approach to the Algnment Problem. LIP, Ecole Normale Supereure de Lyon, France, Techncal Report [10] Lee, H.-J. and Fortes, J. A. B. (1995 Data algnments for modular mappngs of BLAS-le algorthms. In Proc. Int. Conf. Applcaton-Spec"c Array Processors, July, pp IEEE Computer Socety Press, Los Alamtos, CA. [11] Lee, H.-J. and Fortes, J. A. B. (1997 Modular mappngs and data dstrbuton ndependent computatons. Parallel Processng Lett., 7, [12] Schreber, R. and Dongarra, J. J. (1990 Automatc Blocng of Nested Loops. Techncal Report 90.38, RIACS. [13] Darte, A. (1991 Regular parttonng for syntheszng "xedsze systolc arrays. Integraton VLSI J., 12, [14] Boulet, P., Darte, A., Rsset, T. and Robert, Y. (1993 (Pen- Ultmate Tlng? LIP, Ecole Normale Supereure de Lyon, France, Techncal Report [15] Wolf, M. E. and Lam, M. S. (1991 A loop transformaton theory and an algorthm to maxmze parallelsm. IEEE Trans. Parallel Dstrb. Syst., PDS-2,

Parallelism for Nested Loops with Non-uniform and Flow Dependences

Parallelism for Nested Loops with Non-uniform and Flow Dependences Parallelsm for Nested Loops wth Non-unform and Flow Dependences Sam-Jn Jeong Dept. of Informaton & Communcaton Engneerng, Cheonan Unversty, 5, Anseo-dong, Cheonan, Chungnam, 330-80, Korea. seong@cheonan.ac.kr

More information

2x x l. Module 3: Element Properties Lecture 4: Lagrange and Serendipity Elements

2x x l. Module 3: Element Properties Lecture 4: Lagrange and Serendipity Elements Module 3: Element Propertes Lecture : Lagrange and Serendpty Elements 5 In last lecture note, the nterpolaton functons are derved on the bass of assumed polynomal from Pascal s trangle for the fled varable.

More information

Hermite Splines in Lie Groups as Products of Geodesics

Hermite Splines in Lie Groups as Products of Geodesics Hermte Splnes n Le Groups as Products of Geodescs Ethan Eade Updated May 28, 2017 1 Introducton 1.1 Goal Ths document defnes a curve n the Le group G parametrzed by tme and by structural parameters n the

More information

Analysis of Continuous Beams in General

Analysis of Continuous Beams in General Analyss of Contnuous Beams n General Contnuous beams consdered here are prsmatc, rgdly connected to each beam segment and supported at varous ponts along the beam. onts are selected at ponts of support,

More information

Support Vector Machines

Support Vector Machines /9/207 MIST.6060 Busness Intellgence and Data Mnng What are Support Vector Machnes? Support Vector Machnes Support Vector Machnes (SVMs) are supervsed learnng technques that analyze data and recognze patterns.

More information

For instance, ; the five basic number-sets are increasingly more n A B & B A A = B (1)

For instance, ; the five basic number-sets are increasingly more n A B & B A A = B (1) Secton 1.2 Subsets and the Boolean operatons on sets If every element of the set A s an element of the set B, we say that A s a subset of B, or that A s contaned n B, or that B contans A, and we wrte A

More information

A SYSTOLIC APPROACH TO LOOP PARTITIONING AND MAPPING INTO FIXED SIZE DISTRIBUTED MEMORY ARCHITECTURES

A SYSTOLIC APPROACH TO LOOP PARTITIONING AND MAPPING INTO FIXED SIZE DISTRIBUTED MEMORY ARCHITECTURES A SYSOLIC APPROACH O LOOP PARIIONING AND MAPPING INO FIXED SIZE DISRIBUED MEMORY ARCHIECURES Ioanns Drosts, Nektaros Kozrs, George Papakonstantnou and Panayots sanakas Natonal echncal Unversty of Athens

More information

Lecture 5: Multilayer Perceptrons

Lecture 5: Multilayer Perceptrons Lecture 5: Multlayer Perceptrons Roger Grosse 1 Introducton So far, we ve only talked about lnear models: lnear regresson and lnear bnary classfers. We noted that there are functons that can t be represented

More information

The Codesign Challenge

The Codesign Challenge ECE 4530 Codesgn Challenge Fall 2007 Hardware/Software Codesgn The Codesgn Challenge Objectves In the codesgn challenge, your task s to accelerate a gven software reference mplementaton as fast as possble.

More information

Parallel matrix-vector multiplication

Parallel matrix-vector multiplication Appendx A Parallel matrx-vector multplcaton The reduced transton matrx of the three-dmensonal cage model for gel electrophoress, descrbed n secton 3.2, becomes excessvely large for polymer lengths more

More information

A Fast Content-Based Multimedia Retrieval Technique Using Compressed Data

A Fast Content-Based Multimedia Retrieval Technique Using Compressed Data A Fast Content-Based Multmeda Retreval Technque Usng Compressed Data Borko Furht and Pornvt Saksobhavvat NSF Multmeda Laboratory Florda Atlantc Unversty, Boca Raton, Florda 3343 ABSTRACT In ths paper,

More information

An Application of the Dulmage-Mendelsohn Decomposition to Sparse Null Space Bases of Full Row Rank Matrices

An Application of the Dulmage-Mendelsohn Decomposition to Sparse Null Space Bases of Full Row Rank Matrices Internatonal Mathematcal Forum, Vol 7, 2012, no 52, 2549-2554 An Applcaton of the Dulmage-Mendelsohn Decomposton to Sparse Null Space Bases of Full Row Rank Matrces Mostafa Khorramzadeh Department of Mathematcal

More information

6.854 Advanced Algorithms Petar Maymounkov Problem Set 11 (November 23, 2005) With: Benjamin Rossman, Oren Weimann, and Pouya Kheradpour

6.854 Advanced Algorithms Petar Maymounkov Problem Set 11 (November 23, 2005) With: Benjamin Rossman, Oren Weimann, and Pouya Kheradpour 6.854 Advanced Algorthms Petar Maymounkov Problem Set 11 (November 23, 2005) Wth: Benjamn Rossman, Oren Wemann, and Pouya Kheradpour Problem 1. We reduce vertex cover to MAX-SAT wth weghts, such that the

More information

Sum of Linear and Fractional Multiobjective Programming Problem under Fuzzy Rules Constraints

Sum of Linear and Fractional Multiobjective Programming Problem under Fuzzy Rules Constraints Australan Journal of Basc and Appled Scences, 2(4): 1204-1208, 2008 ISSN 1991-8178 Sum of Lnear and Fractonal Multobjectve Programmng Problem under Fuzzy Rules Constrants 1 2 Sanjay Jan and Kalash Lachhwan

More information

Needed Information to do Allocation

Needed Information to do Allocation Complexty n the Database Allocaton Desgn Must tae relatonshp between fragments nto account Cost of ntegrty enforcements Constrants on response-tme, storage, and processng capablty Needed Informaton to

More information

Loop Permutation. Loop Transformations for Parallelism & Locality. Legality of Loop Interchange. Loop Interchange (cont)

Loop Permutation. Loop Transformations for Parallelism & Locality. Legality of Loop Interchange. Loop Interchange (cont) Loop Transformatons for Parallelsm & Localty Prevously Data dependences and loops Loop transformatons Parallelzaton Loop nterchange Today Loop nterchange Loop transformatons and transformaton frameworks

More information

Polyhedral Compilation Foundations

Polyhedral Compilation Foundations Polyhedral Complaton Foundatons Lous-Noël Pouchet pouchet@cse.oho-state.edu Dept. of Computer Scence and Engneerng, the Oho State Unversty Feb 8, 200 888., Class # Introducton: Polyhedral Complaton Foundatons

More information

An Optimal Algorithm for Prufer Codes *

An Optimal Algorithm for Prufer Codes * J. Software Engneerng & Applcatons, 2009, 2: 111-115 do:10.4236/jsea.2009.22016 Publshed Onlne July 2009 (www.scrp.org/journal/jsea) An Optmal Algorthm for Prufer Codes * Xaodong Wang 1, 2, Le Wang 3,

More information

A MOVING MESH APPROACH FOR SIMULATION BUDGET ALLOCATION ON CONTINUOUS DOMAINS

A MOVING MESH APPROACH FOR SIMULATION BUDGET ALLOCATION ON CONTINUOUS DOMAINS Proceedngs of the Wnter Smulaton Conference M E Kuhl, N M Steger, F B Armstrong, and J A Jones, eds A MOVING MESH APPROACH FOR SIMULATION BUDGET ALLOCATION ON CONTINUOUS DOMAINS Mark W Brantley Chun-Hung

More information

Ecient Computation of the Most Probable Motion from Fuzzy. Moshe Ben-Ezra Shmuel Peleg Michael Werman. The Hebrew University of Jerusalem

Ecient Computation of the Most Probable Motion from Fuzzy. Moshe Ben-Ezra Shmuel Peleg Michael Werman. The Hebrew University of Jerusalem Ecent Computaton of the Most Probable Moton from Fuzzy Correspondences Moshe Ben-Ezra Shmuel Peleg Mchael Werman Insttute of Computer Scence The Hebrew Unversty of Jerusalem 91904 Jerusalem, Israel Emal:

More information

Steps for Computing the Dissimilarity, Entropy, Herfindahl-Hirschman and. Accessibility (Gravity with Competition) Indices

Steps for Computing the Dissimilarity, Entropy, Herfindahl-Hirschman and. Accessibility (Gravity with Competition) Indices Steps for Computng the Dssmlarty, Entropy, Herfndahl-Hrschman and Accessblty (Gravty wth Competton) Indces I. Dssmlarty Index Measurement: The followng formula can be used to measure the evenness between

More information

Mathematics 256 a course in differential equations for engineering students

Mathematics 256 a course in differential equations for engineering students Mathematcs 56 a course n dfferental equatons for engneerng students Chapter 5. More effcent methods of numercal soluton Euler s method s qute neffcent. Because the error s essentally proportonal to the

More information

R s s f. m y s. SPH3UW Unit 7.3 Spherical Concave Mirrors Page 1 of 12. Notes

R s s f. m y s. SPH3UW Unit 7.3 Spherical Concave Mirrors Page 1 of 12. Notes SPH3UW Unt 7.3 Sphercal Concave Mrrors Page 1 of 1 Notes Physcs Tool box Concave Mrror If the reflectng surface takes place on the nner surface of the sphercal shape so that the centre of the mrror bulges

More information

Compiler Design. Spring Register Allocation. Sample Exercises and Solutions. Prof. Pedro C. Diniz

Compiler Design. Spring Register Allocation. Sample Exercises and Solutions. Prof. Pedro C. Diniz Compler Desgn Sprng 2014 Regster Allocaton Sample Exercses and Solutons Prof. Pedro C. Dnz USC / Informaton Scences Insttute 4676 Admralty Way, Sute 1001 Marna del Rey, Calforna 90292 pedro@s.edu Regster

More information

Content Based Image Retrieval Using 2-D Discrete Wavelet with Texture Feature with Different Classifiers

Content Based Image Retrieval Using 2-D Discrete Wavelet with Texture Feature with Different Classifiers IOSR Journal of Electroncs and Communcaton Engneerng (IOSR-JECE) e-issn: 78-834,p- ISSN: 78-8735.Volume 9, Issue, Ver. IV (Mar - Apr. 04), PP 0-07 Content Based Image Retreval Usng -D Dscrete Wavelet wth

More information

Chapter 6 Programmng the fnte element method Inow turn to the man subject of ths book: The mplementaton of the fnte element algorthm n computer programs. In order to make my dscusson as straghtforward

More information

An Approach in Coloring Semi-Regular Tilings on the Hyperbolic Plane

An Approach in Coloring Semi-Regular Tilings on the Hyperbolic Plane An Approach n Colorng Sem-Regular Tlngs on the Hyperbolc Plane Ma Louse Antonette N De Las Peñas, mlp@mathscmathadmueduph Glenn R Lago, glago@yahoocom Math Department, Ateneo de Manla Unversty, Loyola

More information

CS 534: Computer Vision Model Fitting

CS 534: Computer Vision Model Fitting CS 534: Computer Vson Model Fttng Sprng 004 Ahmed Elgammal Dept of Computer Scence CS 534 Model Fttng - 1 Outlnes Model fttng s mportant Least-squares fttng Maxmum lkelhood estmaton MAP estmaton Robust

More information

AMath 483/583 Lecture 21 May 13, Notes: Notes: Jacobi iteration. Notes: Jacobi with OpenMP coarse grain

AMath 483/583 Lecture 21 May 13, Notes: Notes: Jacobi iteration. Notes: Jacobi with OpenMP coarse grain AMath 483/583 Lecture 21 May 13, 2011 Today: OpenMP and MPI versons of Jacob teraton Gauss-Sedel and SOR teratve methods Next week: More MPI Debuggng and totalvew GPU computng Read: Class notes and references

More information

GSLM Operations Research II Fall 13/14

GSLM Operations Research II Fall 13/14 GSLM 58 Operatons Research II Fall /4 6. Separable Programmng Consder a general NLP mn f(x) s.t. g j (x) b j j =. m. Defnton 6.. The NLP s a separable program f ts objectve functon and all constrants are

More information

Loop Transformations for Parallelism & Locality. Review. Scalar Expansion. Scalar Expansion: Motivation

Loop Transformations for Parallelism & Locality. Review. Scalar Expansion. Scalar Expansion: Motivation Loop Transformatons for Parallelsm & Localty Last week Data dependences and loops Loop transformatons Parallelzaton Loop nterchange Today Scalar expanson for removng false dependences Loop nterchange Loop

More information

A Binarization Algorithm specialized on Document Images and Photos

A Binarization Algorithm specialized on Document Images and Photos A Bnarzaton Algorthm specalzed on Document mages and Photos Ergna Kavalleratou Dept. of nformaton and Communcaton Systems Engneerng Unversty of the Aegean kavalleratou@aegean.gr Abstract n ths paper, a

More information

Related-Mode Attacks on CTR Encryption Mode

Related-Mode Attacks on CTR Encryption Mode Internatonal Journal of Network Securty, Vol.4, No.3, PP.282 287, May 2007 282 Related-Mode Attacks on CTR Encrypton Mode Dayn Wang, Dongda Ln, and Wenlng Wu (Correspondng author: Dayn Wang) Key Laboratory

More information

Kent State University CS 4/ Design and Analysis of Algorithms. Dept. of Math & Computer Science LECT-16. Dynamic Programming

Kent State University CS 4/ Design and Analysis of Algorithms. Dept. of Math & Computer Science LECT-16. Dynamic Programming CS 4/560 Desgn and Analyss of Algorthms Kent State Unversty Dept. of Math & Computer Scence LECT-6 Dynamc Programmng 2 Dynamc Programmng Dynamc Programmng, lke the dvde-and-conquer method, solves problems

More information

Solving two-person zero-sum game by Matlab

Solving two-person zero-sum game by Matlab Appled Mechancs and Materals Onlne: 2011-02-02 ISSN: 1662-7482, Vols. 50-51, pp 262-265 do:10.4028/www.scentfc.net/amm.50-51.262 2011 Trans Tech Publcatons, Swtzerland Solvng two-person zero-sum game by

More information

The Shortest Path of Touring Lines given in the Plane

The Shortest Path of Touring Lines given in the Plane Send Orders for Reprnts to reprnts@benthamscence.ae 262 The Open Cybernetcs & Systemcs Journal, 2015, 9, 262-267 The Shortest Path of Tourng Lnes gven n the Plane Open Access Ljuan Wang 1,2, Dandan He

More information

and NSF Engineering Research Center Abstract Generalized speedup is dened as parallel speed over sequential speed. In this paper

and NSF Engineering Research Center Abstract Generalized speedup is dened as parallel speed over sequential speed. In this paper Shared Vrtual Memory and Generalzed Speedup Xan-He Sun Janpng Zhu ICASE NSF Engneerng Research Center Mal Stop 132C Dept. of Math. and Stat. NASA Langley Research Center Msssspp State Unversty Hampton,

More information

The Greedy Method. Outline and Reading. Change Money Problem. Greedy Algorithms. Applications of the Greedy Strategy. The Greedy Method Technique

The Greedy Method. Outline and Reading. Change Money Problem. Greedy Algorithms. Applications of the Greedy Strategy. The Greedy Method Technique //00 :0 AM Outlne and Readng The Greedy Method The Greedy Method Technque (secton.) Fractonal Knapsack Problem (secton..) Task Schedulng (secton..) Mnmum Spannng Trees (secton.) Change Money Problem Greedy

More information

An Accurate Evaluation of Integrals in Convex and Non convex Polygonal Domain by Twelve Node Quadrilateral Finite Element Method

An Accurate Evaluation of Integrals in Convex and Non convex Polygonal Domain by Twelve Node Quadrilateral Finite Element Method Internatonal Journal of Computatonal and Appled Mathematcs. ISSN 89-4966 Volume, Number (07), pp. 33-4 Research Inda Publcatons http://www.rpublcaton.com An Accurate Evaluaton of Integrals n Convex and

More information

Evaluation of Parallel Processing Systems through Queuing Model

Evaluation of Parallel Processing Systems through Queuing Model ISSN 2278-309 Vkas Shnde, Internatonal Journal of Advanced Volume Trends 4, n Computer No.2, March Scence - and Aprl Engneerng, 205 4(2), March - Aprl 205, 36-43 Internatonal Journal of Advanced Trends

More information

A mathematical programming approach to the analysis, design and scheduling of offshore oilfields

A mathematical programming approach to the analysis, design and scheduling of offshore oilfields 17 th European Symposum on Computer Aded Process Engneerng ESCAPE17 V. Plesu and P.S. Agach (Edtors) 2007 Elsever B.V. All rghts reserved. 1 A mathematcal programmng approach to the analyss, desgn and

More information

Parallel Numerics. 1 Preconditioning & Iterative Solvers (From 2016)

Parallel Numerics. 1 Preconditioning & Iterative Solvers (From 2016) Technsche Unverstät München WSe 6/7 Insttut für Informatk Prof. Dr. Thomas Huckle Dpl.-Math. Benjamn Uekermann Parallel Numercs Exercse : Prevous Exam Questons Precondtonng & Iteratve Solvers (From 6)

More information

Module Management Tool in Software Development Organizations

Module Management Tool in Software Development Organizations Journal of Computer Scence (5): 8-, 7 ISSN 59-66 7 Scence Publcatons Management Tool n Software Development Organzatons Ahmad A. Al-Rababah and Mohammad A. Al-Rababah Faculty of IT, Al-Ahlyyah Amman Unversty,

More information

Fast Computation of Shortest Path for Visiting Segments in the Plane

Fast Computation of Shortest Path for Visiting Segments in the Plane Send Orders for Reprnts to reprnts@benthamscence.ae 4 The Open Cybernetcs & Systemcs Journal, 04, 8, 4-9 Open Access Fast Computaton of Shortest Path for Vstng Segments n the Plane Ljuan Wang,, Bo Jang

More information

Wishing you all a Total Quality New Year!

Wishing you all a Total Quality New Year! Total Qualty Management and Sx Sgma Post Graduate Program 214-15 Sesson 4 Vnay Kumar Kalakband Assstant Professor Operatons & Systems Area 1 Wshng you all a Total Qualty New Year! Hope you acheve Sx sgma

More information

Preconditioning Parallel Sparse Iterative Solvers for Circuit Simulation

Preconditioning Parallel Sparse Iterative Solvers for Circuit Simulation Precondtonng Parallel Sparse Iteratve Solvers for Crcut Smulaton A. Basermann, U. Jaekel, and K. Hachya 1 Introducton One mportant mathematcal problem n smulaton of large electrcal crcuts s the soluton

More information

CMPS 10 Introduction to Computer Science Lecture Notes

CMPS 10 Introduction to Computer Science Lecture Notes CPS 0 Introducton to Computer Scence Lecture Notes Chapter : Algorthm Desgn How should we present algorthms? Natural languages lke Englsh, Spansh, or French whch are rch n nterpretaton and meanng are not

More information

Improvement of Spatial Resolution Using BlockMatching Based Motion Estimation and Frame. Integration

Improvement of Spatial Resolution Using BlockMatching Based Motion Estimation and Frame. Integration Improvement of Spatal Resoluton Usng BlockMatchng Based Moton Estmaton and Frame Integraton Danya Suga and Takayuk Hamamoto Graduate School of Engneerng, Tokyo Unversty of Scence, 6-3-1, Nuku, Katsuska-ku,

More information

Private Information Retrieval (PIR)

Private Information Retrieval (PIR) 2 Levente Buttyán Problem formulaton Alce wants to obtan nformaton from a database, but she does not want the database to learn whch nformaton she wanted e.g., Alce s an nvestor queryng a stock-market

More information

Vectorization in the Polyhedral Model

Vectorization in the Polyhedral Model Vectorzaton n the Polyhedral Model Lous-Noël Pouchet pouchet@cse.oho-state.edu Dept. of Computer Scence and Engneerng, the Oho State Unversty October 200 888. Introducton: Overvew Vectorzaton: Detecton

More information

Intra-Parametric Analysis of a Fuzzy MOLP

Intra-Parametric Analysis of a Fuzzy MOLP Intra-Parametrc Analyss of a Fuzzy MOLP a MIAO-LING WANG a Department of Industral Engneerng and Management a Mnghsn Insttute of Technology and Hsnchu Tawan, ROC b HSIAO-FAN WANG b Insttute of Industral

More information

Hierarchical clustering for gene expression data analysis

Hierarchical clustering for gene expression data analysis Herarchcal clusterng for gene expresson data analyss Gorgo Valentn e-mal: valentn@ds.unm.t Clusterng of Mcroarray Data. Clusterng of gene expresson profles (rows) => dscovery of co-regulated and functonally

More information

NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS

NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS ARPN Journal of Engneerng and Appled Scences 006-017 Asan Research Publshng Network (ARPN). All rghts reserved. NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS Igor Grgoryev, Svetlana

More information

Repeater Insertion for Two-Terminal Nets in Three-Dimensional Integrated Circuits

Repeater Insertion for Two-Terminal Nets in Three-Dimensional Integrated Circuits Repeater Inserton for Two-Termnal Nets n Three-Dmensonal Integrated Crcuts Hu Xu, Vasls F. Pavlds, and Govann De Mchel LSI - EPFL, CH-5, Swtzerland, {hu.xu,vasleos.pavlds,govann.demchel}@epfl.ch Abstract.

More information

High-Boost Mesh Filtering for 3-D Shape Enhancement

High-Boost Mesh Filtering for 3-D Shape Enhancement Hgh-Boost Mesh Flterng for 3-D Shape Enhancement Hrokazu Yagou Λ Alexander Belyaev y Damng We z Λ y z ; ; Shape Modelng Laboratory, Unversty of Azu, Azu-Wakamatsu 965-8580 Japan y Computer Graphcs Group,

More information

Problem Set 3 Solutions

Problem Set 3 Solutions Introducton to Algorthms October 4, 2002 Massachusetts Insttute of Technology 6046J/18410J Professors Erk Demane and Shaf Goldwasser Handout 14 Problem Set 3 Solutons (Exercses were not to be turned n,

More information

Complex Numbers. Now we also saw that if a and b were both positive then ab = a b. For a second let s forget that restriction and do the following.

Complex Numbers. Now we also saw that if a and b were both positive then ab = a b. For a second let s forget that restriction and do the following. Complex Numbers The last topc n ths secton s not really related to most of what we ve done n ths chapter, although t s somewhat related to the radcals secton as we wll see. We also won t need the materal

More information

Shared Virtual Memory Machines. Mississippi State, MS Abstract

Shared Virtual Memory Machines. Mississippi State, MS Abstract Performance Consderatons of Shared Vrtual Memory Machnes Xan-He Sun Janpng Zhu Department of Computer Scence NSF Engneerng Research Center Lousana State Unversty Dept. of Math. and Stat. Baton Rouge, LA

More information

Support Vector Machines

Support Vector Machines Support Vector Machnes Decson surface s a hyperplane (lne n 2D) n feature space (smlar to the Perceptron) Arguably, the most mportant recent dscovery n machne learnng In a nutshell: map the data to a predetermned

More information

Wavefront Reconstructor

Wavefront Reconstructor A Dstrbuted Smplex B-Splne Based Wavefront Reconstructor Coen de Vsser and Mchel Verhaegen 14-12-201212 2012 Delft Unversty of Technology Contents Introducton Wavefront reconstructon usng Smplex B-Splnes

More information

Electrical analysis of light-weight, triangular weave reflector antennas

Electrical analysis of light-weight, triangular weave reflector antennas Electrcal analyss of lght-weght, trangular weave reflector antennas Knud Pontoppdan TICRA Laederstraede 34 DK-121 Copenhagen K Denmark Emal: kp@tcra.com INTRODUCTION The new lght-weght reflector antenna

More information

SLAM Summer School 2006 Practical 2: SLAM using Monocular Vision

SLAM Summer School 2006 Practical 2: SLAM using Monocular Vision SLAM Summer School 2006 Practcal 2: SLAM usng Monocular Vson Javer Cvera, Unversty of Zaragoza Andrew J. Davson, Imperal College London J.M.M Montel, Unversty of Zaragoza. josemar@unzar.es, jcvera@unzar.es,

More information

Learning the Kernel Parameters in Kernel Minimum Distance Classifier

Learning the Kernel Parameters in Kernel Minimum Distance Classifier Learnng the Kernel Parameters n Kernel Mnmum Dstance Classfer Daoqang Zhang 1,, Songcan Chen and Zh-Hua Zhou 1* 1 Natonal Laboratory for Novel Software Technology Nanjng Unversty, Nanjng 193, Chna Department

More information

UNIT 2 : INEQUALITIES AND CONVEX SETS

UNIT 2 : INEQUALITIES AND CONVEX SETS UNT 2 : NEQUALTES AND CONVEX SETS ' Structure 2. ntroducton Objectves, nequaltes and ther Graphs Convex Sets and ther Geometry Noton of Convex Sets Extreme Ponts of Convex Set Hyper Planes and Half Spaces

More information

Cordial and 3-Equitable Labeling for Some Star Related Graphs

Cordial and 3-Equitable Labeling for Some Star Related Graphs Internatonal Mathematcal Forum, 4, 009, no. 31, 1543-1553 Cordal and 3-Equtable Labelng for Some Star Related Graphs S. K. Vadya Department of Mathematcs, Saurashtra Unversty Rajkot - 360005, Gujarat,

More information

Face Recognition University at Buffalo CSE666 Lecture Slides Resources:

Face Recognition University at Buffalo CSE666 Lecture Slides Resources: Face Recognton Unversty at Buffalo CSE666 Lecture Sldes Resources: http://www.face-rec.org/algorthms/ Overvew of face recognton algorthms Correlaton - Pxel based correspondence between two face mages Structural

More information

Parallel Incremental Graph Partitioning Using Linear Programming

Parallel Incremental Graph Partitioning Using Linear Programming Syracuse Unversty SURFACE College of Engneerng and Computer Scence - Former Departments, Centers, Insttutes and roects College of Engneerng and Computer Scence 994 arallel Incremental Graph arttonng Usng

More information

Problem Definitions and Evaluation Criteria for Computational Expensive Optimization

Problem Definitions and Evaluation Criteria for Computational Expensive Optimization Problem efntons and Evaluaton Crtera for Computatonal Expensve Optmzaton B. Lu 1, Q. Chen and Q. Zhang 3, J. J. Lang 4, P. N. Suganthan, B. Y. Qu 6 1 epartment of Computng, Glyndwr Unversty, UK Faclty

More information

On Some Entertaining Applications of the Concept of Set in Computer Science Course

On Some Entertaining Applications of the Concept of Set in Computer Science Course On Some Entertanng Applcatons of the Concept of Set n Computer Scence Course Krasmr Yordzhev *, Hrstna Kostadnova ** * Assocate Professor Krasmr Yordzhev, Ph.D., Faculty of Mathematcs and Natural Scences,

More information

Feature Reduction and Selection

Feature Reduction and Selection Feature Reducton and Selecton Dr. Shuang LIANG School of Software Engneerng TongJ Unversty Fall, 2012 Today s Topcs Introducton Problems of Dmensonalty Feature Reducton Statstc methods Prncpal Components

More information

Concurrent Apriori Data Mining Algorithms

Concurrent Apriori Data Mining Algorithms Concurrent Apror Data Mnng Algorthms Vassl Halatchev Department of Electrcal Engneerng and Computer Scence York Unversty, Toronto October 8, 2015 Outlne Why t s mportant Introducton to Assocaton Rule Mnng

More information

An Iterative Solution Approach to Process Plant Layout using Mixed Integer Optimisation

An Iterative Solution Approach to Process Plant Layout using Mixed Integer Optimisation 17 th European Symposum on Computer Aded Process Engneerng ESCAPE17 V. Plesu and P.S. Agach (Edtors) 2007 Elsever B.V. All rghts reserved. 1 An Iteratve Soluton Approach to Process Plant Layout usng Mxed

More information

Abstract Ths paper ponts out an mportant source of necency n Smola and Scholkopf's Sequental Mnmal Optmzaton (SMO) algorthm for SVM regresson that s c

Abstract Ths paper ponts out an mportant source of necency n Smola and Scholkopf's Sequental Mnmal Optmzaton (SMO) algorthm for SVM regresson that s c Improvements to SMO Algorthm for SVM Regresson 1 S.K. Shevade S.S. Keerth C. Bhattacharyya & K.R.K. Murthy shrsh@csa.sc.ernet.n mpessk@guppy.mpe.nus.edu.sg cbchru@csa.sc.ernet.n murthy@csa.sc.ernet.n 1

More information

Type-2 Fuzzy Non-uniform Rational B-spline Model with Type-2 Fuzzy Data

Type-2 Fuzzy Non-uniform Rational B-spline Model with Type-2 Fuzzy Data Malaysan Journal of Mathematcal Scences 11(S) Aprl : 35 46 (2017) Specal Issue: The 2nd Internatonal Conference and Workshop on Mathematcal Analyss (ICWOMA 2016) MALAYSIAN JOURNAL OF MATHEMATICAL SCIENCES

More information

4/11/17. Agenda. Princeton University Computer Science 217: Introduction to Programming Systems. Goals of this Lecture. Storage Management.

4/11/17. Agenda. Princeton University Computer Science 217: Introduction to Programming Systems. Goals of this Lecture. Storage Management. //7 Prnceton Unversty Computer Scence 7: Introducton to Programmng Systems Goals of ths Lecture Storage Management Help you learn about: Localty and cachng Typcal storage herarchy Vrtual memory How the

More information

A Geometric Approach for Multi-Degree Spline

A Geometric Approach for Multi-Degree Spline L X, Huang ZJ, Lu Z. A geometrc approach for mult-degree splne. JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY 27(4): 84 850 July 202. DOI 0.007/s390-02-268-2 A Geometrc Approach for Mult-Degree Splne Xn L

More information

Course Introduction. Algorithm 8/31/2017. COSC 320 Advanced Data Structures and Algorithms. COSC 320 Advanced Data Structures and Algorithms

Course Introduction. Algorithm 8/31/2017. COSC 320 Advanced Data Structures and Algorithms. COSC 320 Advanced Data Structures and Algorithms Course Introducton Course Topcs Exams, abs, Proects A quc loo at a few algorthms 1 Advanced Data Structures and Algorthms Descrpton: We are gong to dscuss algorthm complexty analyss, algorthm desgn technques

More information

Chapter 1. Introduction

Chapter 1. Introduction Chapter 1 Introducton 1.1 Parallel Processng There s a contnual demand for greater computatonal speed from a computer system than s currently possble (.e. sequental systems). Areas need great computatonal

More information

A Saturation Binary Neural Network for Crossbar Switching Problem

A Saturation Binary Neural Network for Crossbar Switching Problem A Saturaton Bnary Neural Network for Crossbar Swtchng Problem Cu Zhang 1, L-Qng Zhao 2, and Rong-Long Wang 2 1 Department of Autocontrol, Laonng Insttute of Scence and Technology, Benx, Chna bxlkyzhangcu@163.com

More information

Accounting for the Use of Different Length Scale Factors in x, y and z Directions

Accounting for the Use of Different Length Scale Factors in x, y and z Directions 1 Accountng for the Use of Dfferent Length Scale Factors n x, y and z Drectons Taha Soch (taha.soch@kcl.ac.uk) Imagng Scences & Bomedcal Engneerng, Kng s College London, The Rayne Insttute, St Thomas Hosptal,

More information

What are the camera parameters? Where are the light sources? What is the mapping from radiance to pixel color? Want to solve for 3D geometry

What are the camera parameters? Where are the light sources? What is the mapping from radiance to pixel color? Want to solve for 3D geometry Today: Calbraton What are the camera parameters? Where are the lght sources? What s the mappng from radance to pel color? Why Calbrate? Want to solve for D geometry Alternatve approach Solve for D shape

More information

Analysis of Dependencies of Checkpoint Cost and Checkpoint Interval of Fault Tolerant MPI Applications

Analysis of Dependencies of Checkpoint Cost and Checkpoint Interval of Fault Tolerant MPI Applications Mallkarjuna Shastry P M et al. / (IJCSE) Internatonal Journal on Computer Scence and Engneerng Analyss of Dependences of Checkpont Cost and Checkpont Interval of Fault Tolerant MPI Applcatons Mallkarjuna

More information

Categories and Subject Descriptors B.7.2 [Integrated Circuits]: Design Aids Verification. General Terms Algorithms

Categories and Subject Descriptors B.7.2 [Integrated Circuits]: Design Aids Verification. General Terms Algorithms 3. Fndng Determnstc Soluton from Underdetermned Equaton: Large-Scale Performance Modelng by Least Angle Regresson Xn L ECE Department, Carnege Mellon Unversty Forbs Avenue, Pttsburgh, PA 3 xnl@ece.cmu.edu

More information

VISUAL SELECTION OF SURFACE FEATURES DURING THEIR GEOMETRIC SIMULATION WITH THE HELP OF COMPUTER TECHNOLOGIES

VISUAL SELECTION OF SURFACE FEATURES DURING THEIR GEOMETRIC SIMULATION WITH THE HELP OF COMPUTER TECHNOLOGIES UbCC 2011, Volume 6, 5002981-x manuscrpts OPEN ACCES UbCC Journal ISSN 1992-8424 www.ubcc.org VISUAL SELECTION OF SURFACE FEATURES DURING THEIR GEOMETRIC SIMULATION WITH THE HELP OF COMPUTER TECHNOLOGIES

More information

Cluster Analysis of Electrical Behavior

Cluster Analysis of Electrical Behavior Journal of Computer and Communcatons, 205, 3, 88-93 Publshed Onlne May 205 n ScRes. http://www.scrp.org/ournal/cc http://dx.do.org/0.4236/cc.205.350 Cluster Analyss of Electrcal Behavor Ln Lu Ln Lu, School

More information

Control strategies for network efficiency and resilience with route choice

Control strategies for network efficiency and resilience with route choice Control strateges for networ effcency and reslence wth route choce Andy Chow Ru Sha Centre for Transport Studes Unversty College London, UK Centralsed strateges UK 1 Centralsed strateges Some effectve

More information

Routing in Degree-constrained FSO Mesh Networks

Routing in Degree-constrained FSO Mesh Networks Internatonal Journal of Hybrd Informaton Technology Vol., No., Aprl, 009 Routng n Degree-constraned FSO Mesh Networks Zpng Hu, Pramode Verma, and James Sluss Jr. School of Electrcal & Computer Engneerng

More information

Non-Split Restrained Dominating Set of an Interval Graph Using an Algorithm

Non-Split Restrained Dominating Set of an Interval Graph Using an Algorithm Internatonal Journal of Advancements n Research & Technology, Volume, Issue, July- ISS - on-splt Restraned Domnatng Set of an Interval Graph Usng an Algorthm ABSTRACT Dr.A.Sudhakaraah *, E. Gnana Deepka,

More information

Lecture #15 Lecture Notes

Lecture #15 Lecture Notes Lecture #15 Lecture Notes The ocean water column s very much a 3-D spatal entt and we need to represent that structure n an economcal way to deal wth t n calculatons. We wll dscuss one way to do so, emprcal

More information

Unsupervised Learning and Clustering

Unsupervised Learning and Clustering Unsupervsed Learnng and Clusterng Why consder unlabeled samples?. Collectng and labelng large set of samples s costly Gettng recorded speech s free, labelng s tme consumng 2. Classfer could be desgned

More information

ON SOME ENTERTAINING APPLICATIONS OF THE CONCEPT OF SET IN COMPUTER SCIENCE COURSE

ON SOME ENTERTAINING APPLICATIONS OF THE CONCEPT OF SET IN COMPUTER SCIENCE COURSE Yordzhev K., Kostadnova H. Інформаційні технології в освіті ON SOME ENTERTAINING APPLICATIONS OF THE CONCEPT OF SET IN COMPUTER SCIENCE COURSE Yordzhev K., Kostadnova H. Some aspects of programmng educaton

More information

Proper Choice of Data Used for the Estimation of Datum Transformation Parameters

Proper Choice of Data Used for the Estimation of Datum Transformation Parameters Proper Choce of Data Used for the Estmaton of Datum Transformaton Parameters Hakan S. KUTOGLU, Turkey Key words: Coordnate systems; transformaton; estmaton, relablty. SUMMARY Advances n technologes and

More information

Solving Route Planning Using Euler Path Transform

Solving Route Planning Using Euler Path Transform Solvng Route Plannng Usng Euler Path ransform Y-Chong Zeng Insttute of Informaton Scence Academa Snca awan ychongzeng@s.snca.edu.tw Abstract hs paper presents a method to solve route plannng problem n

More information

Subspace clustering. Clustering. Fundamental to all clustering techniques is the choice of distance measure between data points;

Subspace clustering. Clustering. Fundamental to all clustering techniques is the choice of distance measure between data points; Subspace clusterng Clusterng Fundamental to all clusterng technques s the choce of dstance measure between data ponts; D q ( ) ( ) 2 x x = x x, j k = 1 k jk Squared Eucldean dstance Assumpton: All features

More information

Routing on Switch Matrix Multi-FPGA Systems

Routing on Switch Matrix Multi-FPGA Systems Routng on Swtch Matrx Mult-FPGA Systems Abdel Enou and N. Ranganathan Center for Mcroelectroncs Research Department of Computer Scence and Engneerng Unversty of South Florda Tampa, FL 33620 Abstract In

More information

CSE 326: Data Structures Quicksort Comparison Sorting Bound

CSE 326: Data Structures Quicksort Comparison Sorting Bound CSE 326: Data Structures Qucksort Comparson Sortng Bound Steve Setz Wnter 2009 Qucksort Qucksort uses a dvde and conquer strategy, but does not requre the O(N) extra space that MergeSort does. Here s the

More information

Transaction-Consistent Global Checkpoints in a Distributed Database System

Transaction-Consistent Global Checkpoints in a Distributed Database System Proceedngs of the World Congress on Engneerng 2008 Vol I Transacton-Consstent Global Checkponts n a Dstrbuted Database System Jang Wu, D. Manvannan and Bhavan Thurasngham Abstract Checkpontng and rollback

More information

Machine Learning. Support Vector Machines. (contains material adapted from talks by Constantin F. Aliferis & Ioannis Tsamardinos, and Martin Law)

Machine Learning. Support Vector Machines. (contains material adapted from talks by Constantin F. Aliferis & Ioannis Tsamardinos, and Martin Law) Machne Learnng Support Vector Machnes (contans materal adapted from talks by Constantn F. Alfers & Ioanns Tsamardnos, and Martn Law) Bryan Pardo, Machne Learnng: EECS 349 Fall 2014 Support Vector Machnes

More information

A New Approach For the Ranking of Fuzzy Sets With Different Heights

A New Approach For the Ranking of Fuzzy Sets With Different Heights New pproach For the ankng of Fuzzy Sets Wth Dfferent Heghts Pushpnder Sngh School of Mathematcs Computer pplcatons Thapar Unversty, Patala-7 00 Inda pushpndersnl@gmalcom STCT ankng of fuzzy sets plays

More information

An Efficient Genetic Algorithm with Fuzzy c-means Clustering for Traveling Salesman Problem

An Efficient Genetic Algorithm with Fuzzy c-means Clustering for Traveling Salesman Problem An Effcent Genetc Algorthm wth Fuzzy c-means Clusterng for Travelng Salesman Problem Jong-Won Yoon and Sung-Bae Cho Dept. of Computer Scence Yonse Unversty Seoul, Korea jwyoon@sclab.yonse.ac.r, sbcho@cs.yonse.ac.r

More information