scieee Science in your language
[en] (orig)

DDT: a research tool for automatic data distribution in HPF

Abstract

This article describes the main features and implementation of our automatic data distribution research tool. The tool (DDT) accepts programs written in Fortran 77 and generates High Performance Fortran (HPF) directives to map arrays onto the memories of the processors and parallelize loops, and executable statements to remap these arrays. DDT works by identifying a set of computational phases (procedures and loops). The algorithm builds a search space of candidate solutions for these phases which is explored looking for the combination that minimizes the overall cost; this cost includes data movement cost and computation cost. The movement cost reflects the cost of accessing remote data during the execution of a phase and the remapping costs that have to be paid in order to execute the phase with the selected mapping. The computation cost includes the cost of executing a phase in parallel according to the selected mapping and the owner computes rule. The tool supports interprocedural analysis and uses control flow information to identify how phases are sequenced during the execution of the application.

Read accessible full text

DDT: a research tool for automatic data distribution in HPF

Author: Ayguadé Parra, Eduard,García Almiñana, Jordi,Gironès Medina, Mercè,Grande Ayan, Ma. Luz,Labarta Mancho, Jesús José
Year: 1997
DOI: 10.1155/1997/780152
Source: https://upcommons.upc.edu/bitstream/2117/28472/1/DDT%20a%20research%20tool%20for%20automatic%20data%20distribution%20in%20HPF.pdf
DDT:
A
Resea ch
Tool
o
Au oma ic
Da a
Dis ibu ion
in
High
Pe o mance
Fo an
EDUARD AYGUADE, JORDI GARCIA, MERC:E GIRONES,
M.
LUZ GRANDE, AND JESUS LABARTA
Compu e A chi ec u e Depa men , Poly echnic Uni e si y o ' Ca alunya,
c .
G an Capi a s/num, Modul
D6,
08034 -Ba celona, Spain
ABSTRACT
This a icle desc ibes he main ea u es
and
implemen a ion
o
ou au oma ic
da a
dis ibu ion
esea ch ool.
The
ool
(DDT)
accep s p og ams w i en
in
Fo an
77
and
gene a es High
Pe o mance Fo an
(HPF)
di ec i es o map a ays on o he memo ies
o
he p ocesso s and
pa allelize loops,
and
execu able s a emen s o emap hese a ays.
DDT
wo ks
by
iden i ying
a
se
o
compu a ional phases (p ocedu es
and
loops).
The
algo i hm builds a sea ch space
o
candida e solu ions o hese phases which
is
explo ed looking o he combina ion ha
minimizes he o e all cos ; his cos includes da a mo emen cos
and
compu a ion cos .
The
mo emen cos e lec s he cos
o
accessing emo e da a du ing he execu ion
o
a phase
and
he emapping cos s ha ha e o be
paid
in o de o execu e he phase wi h he selec ed
mapping.
The
compu a ion cos includes he cos
o
execu ing a phase in pa allel acco ding
o he selec ed
mapping
and
he
owne
compu es ule.
The
ool suppo s in e p ocedu al
analysis
and
uses
con ol
low
in o ma ion o iden i y
how
phases a e sequenced du ing he
execu ion
o
he applica ion. ©
1997
John
Wiley &
Sons,
Inc.
INTRODUCTION
Da a
dis ibu ion
is
mw
o
he
opics
o
cu <>n
IT-
s<>a ch
in
pa allelizing
en i onmen ~
o
nonuni o m
memo y
an: •ss
(: l
1! L )
massiY >
pa alld
p oc >sso s
(MPP).
In
hes<>
sys ems.
each
p o<Tsso
has
di ec
au >ss
o
i s local
(o
dos >)
memo
and
indi ec
access
o
h<>
emo e
memo ies
o
o he
p ocesso s
h ough
he
in <> Tonnec ion
ne wo k.
The
cos
o
acc<>ssing a
local m<>mon
loca ion
can
lw
mo e
han
on<>
o dn
o
magni
J<le
as e
han
h<>
cos
o
acc >ssing a
emo e
men1o y loca ion.
In
h<>s<>
sys ems.
h<>
choice
o
a
good
da a
dis ibu ion
can
d ama ically
a ec
pe o mance
lw :aus '
o
he
nonuni onni y
o
he
nwmo y
sys em.
H•·c•·i"·d
I:"
I '19:;
H<·yis.·d
F.-ln:ll: 1
'I<J(J
© 1 <)()'7
I"
John
iln
lx
So b.
Inc.
Sci.-n i ic
l' o~ ammin~.
'ol.
(J.
pp. Tl-'J.-1 (
1'N?)
(
:(
:(:
1
OSIJ-CJ:2+ /'1'7
/01
OOT~-~~
Se e al es >a che s ha '
a ge ed
h >i
esea ch
p -
o s o
his
opic.
Fo
ins ance,
he
C ys al
con1pile
and
language
p ojec
[1].
he
impl >men a ion
o PAH-
ADIC. 1 [2] on
op
o
Pa a ase-2
and
i s
con inua ion
011
lw
PTHA
II
mmpiln
[:3]
a
IB. 1.
he
amP o k
o
he
au oma ic
de e mina ion
o
a ay
mappin~s
p >s 'n >d
in
[4.
5].
o
he
au oma ic
da a-mapping
s a egy
[ 6 J o usc
in
he
D-p og amming
eu i on-
mcn
!' IIT 'n ly
unde
d > clopmen
a
Hice l :ni · si y
a c
•xampl >s
o
p oj >c s
iu
his
a 'a.
O he
g oups
ha e
a ~ ' NI
hei
e o h
o
he
> >c i c
compila ion
o
p og ams
con aining
he
s wci ica ion
o
he
da a
mapping.
such
as
he
YFCS
sys em
[7] o lw
Vienna
Fo an
language
[8].
lw
Fo an-D
compile
[9]
and
language
[1
OJ.
o
he
cn cu
conmu• ical co npil > s
(xi
IPF
[11
].
PGHPF
[12])
o
High
Pe o manc ~
Fo -
an
(HPF)
[UJ.
Au oma ic
da a
dis ibu ion
maps
a ays
in o
w
physically
dis ihu >d
mnno ies
o
he
p ocesso s
ac-
co ding
o
he
a ay
access
pa e ns
and
pa a
li >
I 'x.ccu-
ion
o
ope a ions
wi hin
compu a ionally
in 'nsi c
74
Cl'ADI~
ET
; L.
phase~.
This
mapping
nm
lw
~i he
s a ic
o
dynamic.
In a
s a ic
mapping.
he
layon
o
he
a ays
dews
no chang '
du ing
he
execu ion
o
he
p og am;
in
a
dynamic
mapping.
~mapping
op > a ions
a e
pe -
o med
in
onl '
o
change
lw
layou
o
a ays
in
di e en
compu a ional
phas 's.
los
s a ic
da a
dis ibu ion
me hods
[ L 2. - . 1 " .
1.)]
pe o m
h '
joh
in
wo
main
independen
s eps:
alignmen
and
dis ibu ion.
Th~
alignmen
s 'p iPs
o
ela e
h '
dimensions
o
h '
a a s
used
in
a
block
o
nHl '
wi h
he
dinwnsions
o
ano he
a a
called
lw
empla e
(in e dim 'nsional
alignm 'n
).
and
o
each
aligned
dinwnsion.
o ind lw
app op ia e
shi
he w ' 'n
hei
elemen s
(
in adimensional
alig111nell ).
A
good
aligm wn
willminimizP
lw
o e head
o
in P -
p m-csso
da a
mm·cmen .
The
main
di e ences
lw ween
he
p e ious
me hods
is
he
kind
o
s uc n ' selec ed o
n·p 's~n
he
p ob-
l >m,
and
lw
way
used o
onnula e
and
sol >
i .
Fo
he
al igm wn
s ep
..
Li
and
Cheu
[ 1]
d > inp
and
usc
he
Co nponm
A ini y
C aph
(CAC)
o
ep esen
align11wn p den·n<: 's.
and
i usPs a h 'u is ic algo-
i hm
o
solw
i .
Cup a
[2] also uses
he
CAC
..
bu
w >igh ed wi h
da a
mo e11wn cos s.
To
do
his. a
de aul
dis ibu ion
has
o lw
assumed.
This
p oposal
is
mo e
accu a '
hau
he
p e ious
one
,,·hen
w~igh ing
he
edges
o
he
CAG,
hu
lw sol e
is
bas 'd
on
he
same
heu is ic
algo i hm.
holey [ 14]us >s
he
p e e -
em:e
g aph
de ined by [ 1
()]
in
he
anwwo k
o
~illgl~
ins
uc ion
nml iplc-da a
(SIMD) nachin 's.
This
!Taph i wlud >s
alignmen
p e e ences
o
p ~sc e
pa -
allcli~lll..
bu
he
Psoln ion
hen
lw
g aph
is
in
con-
llic
is
also
based
on
heu i~ ics.
Schc llc
e al. [4]
de ine
he
alignmen
dis ilm ion
g aph
~hP P
nodes
n•p Tsen
p og am
ope a ions
and
edg >s
"o mec de i-
ni ions
o
a ay
objec s o h 'i uses in
i es~
ope a ions.
Edges
a e
w 'igh cd
wi h
lw
numlw
o
da a
i ems
com nunica ~d
along
lw edge.
The
alignnwn
is
ound
using a g > ·dy
algo i hm
as a
heu is ic
o
de enni w
he
minim un
cos
..
and
applying
g aph
con ac ion
op > a ionb
o
>duce
he
complexi y
o
lw
p oblem.
K ·Imedy
and
K eme
[ 1;)] design a amP HJ k o
he
used
i11side
a
da a
layou
assi~ an
ool o HPF.
l
i~
bas >d on
he
CAC.
and
hey
sol '
he
alignmen
pmb-
l 'm using a
0-1
iu ·ge
p og amming
nHHl 'L
hus
a oidin; lw usc
o
heu is ics.
Onn·
lw
align nen
has
been
decid >d.
he
dis ibu-
ion
~ ep
d 'cide~
which
dimension(s)
o
IIH'
e npla P
a c
dis ibu ed
and
he
uu nLw
o
p ocesso s
assign 'd
o
each
o
hem
..
good
dis ibu ion
maxi nizPs lw
po en ial
pa allelism
o
he
cod •
and
o e s
he
possi-
bili y
o
u lw
educing
da a
lllO TnH'Il
hy
snializ-
ing.
This
goal
could
b~
i ially
~a is i >d
by
assigning
a
da um
o
each
JJJ"Oc 'sso .
whi ·l1
maximize~
pa all >l-
is n. Li
and
Chcu
[
17]
ma ch
he
aligned
e e ence
pa e ns
wi h
a
p ede ined
sP
o
da a
mme nen
ou-
ines.
Each
ou ine
has
an
a chi ec u e-dependen
cos
pa ame e ized
in
~ ms
o
he
Jlll nbe
o
p ocesso s
in ol ed in h '
da a
mo ion
and
h~
amoun
o
da a
being
mo ~d.
The
cos
unc ion
o
all
he
pa e ns
is
minimized
hy
selec ing
he
app op ia e
dis ibn ion
s a egy.
Gup a
[2] decides
he
dinwnsious
o
dis ib-
u e
(maximum
1 nJ
dimensions).
assuming
a
de au
I
mnnlw
o
p ocesso s
in
Pach
one
and
minimizing
h~
o al
da a
mo em~n
plus
compu a ion
im '.
When
mo e
han
m e
dim 'nsion
is
dis ihu ' L
he
decides
he
numbe
o
p ocesso s
o assign
o
'ach
dimension
by
gene a ing
all
possible
cmnbina ions.
Wholey [ 14]
uses a hill
climbing
sea ch
m~ hod
hich
ini ially
as-
signs all
a ay
demen s
o
on~
p ocesso
and
's inw ~s
lw cos .
Then
i
doubl >
he
munl_)('
o
p o ·esso s
and
chooses
he
dinwnsion
o assign
he
n 'w cmes.
un il
all
a ailabl '
p ocesso s
a '
n ilized
o
he
o al
cos
is
no
u he
n·duc >d.
In
la ge
p oblems
whe e
di e Pn
compu a ional!)
in ensi e
phas 's occu ..
emapping
ac ions
be ween
phases
can
inc ease
he
d ici~ncy
o
he
solu ion.
In
his case. a
good
solu ion
is
indqwwkn ly
ound
o
each
phas '
..
and
ealigmn 'n
and/o
edis ibu ion
s a enwn s
a e
inse ed
wh ' T m·ccssa y.
Da a
'map-
ping
is also
one
o
h ' opics in his suhj >c
a ea
o
cmT 'n
esea ch.
Some
o
he
p oposals
p esen ed
in
he
li e a u e
abou
a ay
~mapping
[:'i.
13-20]
a >
~umm:uized
in
he
es
o
his sec ion.
The
D-Sys em.
cu en ly
unde
d • 'lopmcn
a
Hice Lni ·e si y,
conside s
he
p o i abili y
o
dynamic
da a
n~1napping
by
explo ing
a
s ~a ch
space
o
eason-
ahl ' alignnH·n
a11d
dis ibu ion
spacPs
[18].
In
hei
wo k.
each
phas.o
has
a se
o
candida e
mapping
sch ·mes.
Selec ing
a
mapping
schenw
o
each
phase
in
he
en i e
p og am
is
dow·
by
n·p 'sen ing
he
p ob-
l 'm
wi h
he
da a
layou
g aph.
Each
possible
mapping
o a
phase
is
>p esen ed
wi h
a nod ·.
Edges
lw ween
O nodes
in
di e en
phas 's
n~p esen
he
n· napping
ha
has
o lw ca i >d ou o
execu e
each
phase
,,-i h
h ~
co esponding
mapping.
: od ·s
and
edges
ha e
weigh s >p >s ·n ing lw
on• al
cos
o
'Xecu ing a
phase
wi h
mapping
and
emapping
cos s.
espec-
i ely.
in
nms
o
execu ion
inw.
The
p oblc n
is
ansla ed
in o
a
0-1
in ege
p ogn11nmiug
p oblem
sui able
o
lw
sol ed
by
a
s a '-o - lw-a
g >JH' al-
pu pose
in PgP
p og annning
sol e .
Tlw
FC:S
sys em
[1
)]
conside s
lw p old · n in
he
anwwo k
o
a
da a
dis ibu ion
ool o
Fo an
<)()
sou ce
cod •o.
ln
his
scO]H'.
a ay-s~
n ax
assignmen
s a 'lll 'll s
and
~liE
HE
masks
a e
'Xamim·d o
de e -
mine
candida •
da a
mappings.
phase
is
basically
a DO-loop
c m aining
a ay-syn ax
a~sig n1wn
,; a e-
men s
o
WT
JERE
masks
in
i s
body.
Ins ead
o
lookinp:
o
lw
op imal
solu ion.
i uses a
l e('-exhaus i e
algo-
i hm
wi h
some
heu is ics
o
p une
he
sea ch
spac '.
A
con lic
able
s o ing
he
con lic s lw w 'en
he
map-
pings
o
he
a ays
om
OTi '
phase
o
lw
o he
is
he
basis
o
he
n·mapping
algo i hm.
This
able
de e -
mim~s
which
edis ilm ion
op ions
a e
wo h
consid-
' ing
a
'11Ch
ansi ion.
F om
his
in o ma ion.
a
ee
showing
all lw
di e en
al e na i es
o
emapping
is
buil .
Th >
aim
is o
de e mine
he
pa h
in
he
eP
wi h
lH~
lowes
COb
I.
The
u
11
emapping
ee
can
easily
g ow
o
in ac ahiP
p opo ions.
Cha e je > el a!.
[;)]usc
a
di ide-awl-conque
ap-
p oach
o
he
dynamic
mapping
p oblem.
T wy
ini-
ially
assign
a
s a ic
mapping
alid
o
all
he
nodes
and
lwn
ecn si Piy di id > h >m
in o
egions
which
an~
assigned
di > 'nl
mappings.
Two
egions
a e
me ged
wh >n
dw
cos
o
lw
dynamic
mapping
is
wo se
han
h >
s a ic
mapping,
aking
compu a ion.
da a
mo Pnwnl.
and
>mapping cos s
in o
accoun .
Pal-
e mo
and
Ba w jcc [20] also usc a di idc-and-cmi<pu:'
app oach
in
which
he
p og am
is
n·cll si >ly
decom-
posed
in o
a
hie a chy
o
nmdida P
phases.
Then.
ak-
in!-(
in o
a<:<'mm
h ' cos
o
emapping
bel een
he
di e en
phases.
he
scq wncc
o
phases
and
ph b<'
ansi ions
wi h
lw
lowPs
cos
is
sPIPc ><l.
The
usc
[2]
o
assign
mappings
10
hP
phases
gene a ed.
Th >
Da a
Dis ibu ion
Tool
(DDT)
is a
esea ch
ool
designed
o
gene a e
ho h
s a ic
ami
dynamic
solu-
ions.
Since
i
is
a
esea ch
ool. i
can
use edmiqu >s
ha
may
lw
oo
CO! l£H a ionall~
expensi e
o
lw
in-
cluded
in
a inal
compile ;
howe e .
his
allows
ns
o
explo e
a
ich
se
o
solu ions.
The
s a ic
modu! · is
based
on
he
CAG
hu
Px ended
wi h
som '
in o ma ion
ega ding
pa allelism.
W
<'haw
also
modi ied
he
o i!-(i-
nalalgo i hmsin
[1.
l'?] oimp o c he(IUali yo he
mappings
gene a ed
[21].
The
cu n·n
e sion
o
he
s a ic
module
g ~Jw a es
bo h
in e -
and
in adimensio-
nal
alignmen s
and
BLOCK
and
CYCLiC
dis ibu ions.
The
dynamic
llHH!ul >
explo es
a
ich
sci
o
cmnbina-
lions: i is no
('xhaus i c
hanks
o
mechanisms
in-
cluded
o cu
dm n hc
sea ch
space
[22].
Tlw
dynamic
analysis
is
in e p uccd al
and
conside s
con ol
low
o
ck cnnine
·he e
he
cmappin!-(
ac ions
ha P
o
lw
1w onned
(be W(' ~n
('0111pu a ional phas >s
o
ac oss
p on~du P
hounda i(~s).
Tlw
>s
o
h •
a idP
is
o ganized
as
ollO S. In
lw
JH'XI
sec ion "(' gi e
an
O T in
o
he
hole
da a-
mapping
p ocess
in
DDT.
Sec ion
:~
de ails
how
he
s a ic
solu ions
an·
ound.
Sec ion-+ d >snilws ll '
al!-(o-
i hm
·hich inds
dynamic
solu ions
and
inse b
e-
mapping
ac ions
i
hey
a c
ound
p oJi ahle.
Sec ions
:)
and
()
desc ibe
he
nlcnsions
o
he
p e ious
algo-
i hm
o
handle
con ol
Jim,
and
in c p ocedu al
anal-
DDT: A RESEARCH TOOL
75
yses. espec i ely. In S >c ion 7 we p ese11 h '
main
esul s
om
a
se
o
expe imen s
o
es
he
alidi y
and
quali y
o
he
solu ions
gene a >d by
DDT.
Finally.
Sec ion 8 gi es
sonw
concluding
ema ks.
2
AN
OVERVIEW OF
THE
DATA
DISTRIBUTION PROCESS
IN
DDT
Om
esea ch
ool
(DDT)
analyzes
Fo an
77
code
and
anno a es
i
wi h
a s '
o
HPF di ec i es
and
execll abiP s a em >n s
ha
speci y (
1)
!10 ~
a
nays
a e
align >d o a se
o
l >mpla e
a ays
and
how
he
dimen-
sions
o
hese
empla es
a '
dis ilm ed
among
p oces-
so s:
(2)
he
sP
o
>alignmen
and
edis ibu ion
s a Pnwn s
i
h '
solu ion
ound
is dynamic:,
ami
(:3)
he
pa alleliza ion
s a egies
o
he
loops
ha
access
dis ibu ed
a aYs.
These
decisions a '
done
so
ha
hP
amoun
o
en olc
accesses is Pduc :d as
much
as
possible
..
whil >
maximizill!-(
he
pa alldism
achie ed.
Th >
cx (' nal
shell
o
DDT
is
he
in c p ocedmal
analysis
module:
his
module
is
based
on
he
call
g aph
o
he
Pn i e
p og am.
ln
a
bo om-up
pass
o e
he
call
g aph.
each
p occdun~
is
analyzNi
when
all
he
p ocedu es
called
by
i
haY '
al eady
been
p ocessed.
" o in·
ha
Fo an
77
docs
no
allow
Pcu sion. so
110
cycl >s
can
he
ound
in
he
call
g aph.
F om
he
analysis
o
a
p ocedu e.
a
se
o
candida e
mappings
a e
gene a ed
o i
and
s o ed
in
he
DDT
in e p oce-
du al
da abase.
Fo
each
p ocedu e.
DDT
can
gene a e
wo
di P -
enl kiJH!s
o
solu ions:
s a ic
and
d namic.
S a ic
solu-
iom
de ine
an
ini ial
mapping
o
each
a ay.
and
i
does
no
change
du ing
he
execu ion
o
he
whole
p ocedu e.
In a
dynamic
solu ion.
w
s a emen s
in
lw
miginal
sou ce
code
a e
g ouped
in o
a ('ollcc ion
o
phases:
each
one
nwy
ha e
di e en
mappings
o
he
a ays
a ' ' 'SSPd so
emapping
ope a ions
migh
be
nP ·essa y o ex >cule
each
phase
"·i h
i s mappi !-(.
i o ice
ha
s a ic
solu ions
a e
a
pa icula
case
o
dynamic
solu ions
wlw e
no
emapping
ope a ions
a c
needed.
A
phase
is
ei he
he
ou Pnnosl
loop in a nes
wiJOs •
con ol
a iable
is
used
o
subsc ip
au
a ay
o
a call
o a
p ocedun·.
I
lw
phase
is a loop w-; .
he
candida e
n appin !s o i
a e
ob ained
by
pe o ming
an
analysis
o
P ' 'IH'P
paiiPn s
wi hin
he
1ws .
I
h(·
phase
is
a
calL
he
candida e
n appings
a '
impo ed
on
lw
DDT
in e p ocedu al
da abase.
The
con ml
low
mod-
ule
guides
lw g<'JH' a ion
o
all possibiP sPqm·nces
o
phas 's
o •ach
p ocedu e.
DDT
is
a ge ed
o
!-( 'IIP ic
J l
. L
a chi ec un's
wi h
local
and
emo1 ' ac<Tsscs.
Each
p ocesso
has
i s
own nemon·
hie a d Y
and
can
access
he
nwmo iPs in
. .
76
AYGU,DJ;: ET
AL.
o he
JH'occsso s
h ough
he
in e connec ion
ne wo k.
Da a
mo em ll
cos s
a e
es ima ed
as
he
numlw
o
emo e
accesses
mul iplied
by
he
emo e
access
ime.
Gi en a
pa alleliza ion
s a egy.
compu a ion
cos s
a e
'S
ima ed
om
a p o ile
o
lw
seq wn ial
execu ion
on
a
wo ks a1ion
based
on
he
same
p oe >sso
and
wi h
he
same
memo y
hie a chy
han
lw
pa allel
machine.
P o iling
lw
s quw ial
'Xeeu ion
o
he
o iginal
Fo an
77
p og am
is
equi Pd in
onle
o
ob ain
some
p obl 'm-speei ie
pa ame e s.
such
as
a ay
sizes.
he
numbe
o
i e a ions
o
he
loops
and
bei
execu-
iml ime..
and
lw
p ohabili ies
o
he
di e en
b anches
in
condi ional
s a emen s.
The e
exis s
a
con-
igu a ion
ile
ha
allows
he
use
o speci y sonH'
machine-speci ic
pa ame e s
(numbe
o
p ocesso s.
o e head
o
pa allel
h ead
c ea ion.
local
and
emo e
memo y
access
cos s,
and
so on)
and
es ic s
he
kind
o
solu ions explo eci by
DDT
(numbe
o
dis ibu ed
dimensions
..
s a ic
o
dynamic
solu ions,
numbe
o
eandida >
mappings
o
he
phases
and
p ocedu es.
and
so
on).
All
cos
es ima ions
in
DDT
a e
dmw
nu-
me ically
assuming
he
abo e-men ioned
p oblem
and
machine-speci ic
pa ame e s.
2.
1 An Example: Al e na e Di ec ion
Implici
ln his S 'c ion we
in oduce
he
Al ema ing
Di ec ion
Implici (ADI)
in eg a ion
ke nel
o
show
he
main
ea u es
o
he
DDT
in ap occdu al
da a- 'mapping
HHHiule.
The
sou ce
code
o
ADI de ines a
! Yo-
dimensional
da a
space
o
size 256 in
each
dimension:
i
ha~
a
sequenee
o
loops
ha
ini ializes
lw
da a
space
ollowPd
hy
an
i e a i e loop
ha
pe o 111s
he
eompu a iom.
In
each
i e a ion
o
his loop.
o wa d
and
backwa d
sweeps alon ows
and
col-
lUnns
a e
done
in sequence. In his
example.
and
o
simpli ~i y
..
DDT
only
onside s
mw-dimensional
dis ibu ions:. we
ha e
also se
he
eon ign a ion
ile
;;o
ha llw
o e head
due
o
pa all 'l Pxecu ion is
ze o.
emo e
aceess!'s
ake
1
J.LS
pe
by e.
and
he
pa allel
machine
has
16
p occs,;o s.
The
sou ce eode is
shown
in
Figu e
1
o
comple e-
ness.
DDT
iden i ies
nine
plias<~s
in
his
p og am.
Each
phase
co esponds
o
one
o
he
nes ed
loops (labeled
mm
1
o
9)
in
Fi~u e
1.
Fo
each
phase.
DDT
es i-
ma es
he
da a
mo emen
and
he
execu ion
cos s o
di e en da a-mappi11g
and
loop
pa all '!iza ion
al e -
ua i e;;.
Fo
inslance. while
analyzing
phase
4.
he
wo
possihle
mapping"
shm n
in
Table
1
a e
aken
in o
accoun
.ln
his case,
DDT
sugges s
a pe ec
alignnwnl
o
all
he
a ays
used
in
he
phase
and
wo possibl ·
dis ilm ions: (BLOCK,
*)
and(*.
RU)CK).
Fo
he
i s
ime,
DDT
also
sugges s
o pa allelizP he
ou e
p og am
adi
double
p ecision
x(256,256)
double
p ecision
a(256,256),
b(256,256J
do
1 i
1,
256
a{i,
1)
=
0.0
b{i,
1)
=
3,0
x(i,
1)
=
4.0
con inue
do
2 j
do
2
""
1,
10
C
AD1
backwa d
sweeps
along
ows
=
2'
256
;::
1~
256
j}
=
x{i,
j}
-
x(i,
j
1)
"'
j}
=
b(i,
j}
-
ali,
j)
"'
a{i,
256
) I
b(i,
256
}
Phase
1
Phase
2
Phase
3
Phase
4
b(L
j
1)
j -
1}
Phase
5
=
255
, L
-l
Phase
6
i =
1'
256
x(i,
j)
=
(x(i,
j}
-
a(i,
i +
1)
* :x:{i,
j-
1))
I
b(i,
j)
6
con inue
C
ADl
o wa d
&
backwa d
sweeps
along
columns
do
7 j "'
1,
256
do
7
=-
2,
256
j)
-
x{i,
j)
~
x{i
j)
"'b{i,
j)
-
a(i, a(i,
j)
I
bl256
,
j)
con i::1ue
Phase
7
b{i
-
1,
:i)
-
1,
j)
Phase
8
do
9 j =
1,
256
Phase
9
do9i=255
-1
x(i,
j)
"'
j)
-
a(i
+
1,
j)
*
x{i
+
1,
j))
1
b(i,
j)
9
con inue
10
con inue
end
FIGURE 1 Son ce eode o ADl.
i
loop
sinee
he e
an~
no
da a
dependencies
p e en ing
he
loop
om
unning
in pa alleL
Fo
he
S<'eond al > -
na i ~.
he depe!Hlence
in
he
second
dimension
o
a a 'S
band
: ·
o ces
DDT
o
sequ ,n ialize
he
execu-
ion
o
he
j loop.
Fo each
al e na i e.
an
es ima e
o
he
da a
mo enwn
cos s
is
pe o med
by
ma ching
e en·nee
pall
ems
wi hin
he
phase
wi h
a
p ede ined
se
o
da a
mo emen
pa e ns.
The
compu alion
ime
o
a
phase
wi h
a
pa alleliza ion
s a egy
is
es ima ed
om
he
p o ile
o
a se juen ial execu ion.
Fo
in-
;; ance.
he
'S ima ion
o
phase
<-±
concludes
ha
h ee
shi -like
da a
mo emen
pa e n~
appea
due
o w accesses
o
a ays
.
and
b when
he
second
dimension
is
dis ibu ed
(each
shi
mo cnwu
in-
Ynl es a
·olumn
o
an
a Tay. i.e .. :2;)6 elclllell s
o
2.048
by e).
The p o ile o
his
phase
epo s
a
sequen ial
execu ion
ime
o
o.:3S292:J
s.
which
is
he
cos o
Solu ion
2.
Howe e .
he
compu a ion
cos o
his
phase
wi h
Solu ion
1 is
es ima ed
as
1 I 1
()
o
his
s ~quen ial
execu ion
ime
plus
he
o e head
due
o
pa allel
h ead
c ea ion
(ze o in
hi;:;
example).
The
i s
ow
in
Table
2
shows
he
da a
mo 'men
and
compu a ion
ime::;
es ima ed
o pha;,;e
<-±
o
he
wo solu ions
e alua ed
by DDT.
F om
he
analysis
o
he
di e en
possible
map-
pings
o a
phase.
n SPI
o
hem
a e
~dec 'd
as
candi-
da e
111appings
( his
selec ion is
done
based
on
cos
DDT: A RESEARCH TOOL
77
Table
1.
A ay
Mapping
Al e na i es
and
Associa ed
Loop
Pa alleliza ion
S a egies
Analyzed
by
DDT
o
Phase
4
in
ADI
A ay 1apping Loop Pa alleliza ion
Solu ion 1
CHPF$
TE 1PLATE
a gc (256,
2;)6)
CHPF$
ALIGN WITH a ge ::x.
:L
b
CHPF$
DISTRIBCTE a ge (BLOCK,
*)
CIIPFS INDEPENDENT
DO 4 i =
L256
DO 4 j =
1.256
Solu ion 2
CHPF$
TEMPLATE a ge (2.S6, 256)
CHPF$
ALIGN WITH a ge ::x, a. b
CHPF$
DISTRIBUTE a ge (*, BLOCK) DO 4 i =
1.256
DO 4 j =
1.256
c i e ia).
Once hey
a e
selec ed,
an
algo i hm
o
check
he
compa ibili y
o
phases
is used; we
say
ha
wo
phases
a e
compa ibl >
when
hey
ha e
p e e ences o
he
same
da a
mappings
so
no
emapping
is
equi ed
when
sequencing
om
one
phase
o
he
o he .
Fo
ins ance,
conside
he
sequence
{4,
5,
6}
o
phases.
F om
he
sou ce
code in
Figu e
L one
can
see
ha
hese
h ee
phases
ha e
he
same
p e e ed
mapping
(BLOCK,*)
and
loop
pa alleliza ion
s a egy
(execu e
he
i loop in pa all >l). Simila ly,
on >
can
conclude
ha
he
p e e ed
mapping
o
each
phase
in
he
sequence
{7, 8
..
9}
o
phases
is(*.
BLOCK)
and
he
pa alleliza-
ion
o
he
j loop.
Table
2 shows
he
cos s
o
he
candida e
mappings
o all
he
phases
wi hin
he
i e a-
i e loop do i e .
Table
2 shows
ha
he
a o i e solu ion o
phases
{4, S.
6}
and
{7.
8,
9}
is
no
he
same.
The e o e,
hey
a e
no
compa ible
in
hei
mapping
and
pa alleliza-
ion
s a egies.
Th ee
main
al e na i es
a e
e alua ed
by
he
in ap ocedu al
algo i hm:
1. Assign
Solu ion
1
o
all
he
phases. In his case
he
cos
pe
i e a ion
is
0.5479-H
and
he
>s i-
na ed
cos o
he
ou e
i e a i e
loop .5.47944.
2. Assign
Solu ion
2 o all
he
phases. In his case
he
cos
pe
i e a ion
is O.S7:'i59
and
he
es i-
ma ed
cos o
he
ou e
i e a i e
loop
5.7559.
3.
As~ign
h >
p e e ed
solu ion
o
each
phase.
Tn
his
case
he
compu a ion
ime
is
0.061886
and
we ha e o
emap
he
a ays
be wcen
in ompa i-
bl >
phases.
In
pa icula ,
a ays
a,
b,
and
x will
be
emapped
om
ow o
column
dis ibu ion
be o e
he
execu ion
o
phase
7, which
has
an
app oxima ed
cos
o
(2.56 *
256)/16
=
4,096
a ay
clemen s
each
(o
32,768
by e each).
This
emapping
ac ion
is
pe o med
10
imes
du ing
he execu ion
o
he
i e a i e loop.
Due
o
he
same
loop,
phase
4 is execu ed
again
a e
exe-
cu ing
phase
9. So we
ha e
o
conside
he
com-
pa ibili y
be ween
hese
wo
phases
and
he
pos-
~ible
emapping
cos s
i
hei
mappings
a e
no
compa ible.
In
pa icula ,
a ays
a,
b,
and
x
ha e
o
be
emapped
om
column
o ow dis i-
bu ion
be o e he execu ion
o
pha~e
4
wi h
he
same
es ima ed
cos .
This
emapping
ac ion is
pe o med
nine
imes (
~ince
he
las
i e a ion
o
he
i e a i e
loop o ces
he
>xecu ion
o
>xi
i ).
The
o al
cos o
he
sequence
o
phases
wi hin
he
i e a i e
loop is
es ima ed
as:
(10*0.064886)
+
(10*3*0.0:32768)
+ (9 * 3 * 0.0:32768) = 2.5166:36.
In his >xmnple, he cos o he
dynamic
al e na i e
is lowe
hm1
he
cos s
o
he
wo
s a ic al e na i es.
In
Sec ion
7.
W ~
analyze
and
e alua e
he alidi y
o
he
di e en solu ions
when
changing
a chi >c u al
pa ame e s
such
as
da a
mo emen
and
hc
numbe
o
p ocesso s.
Table
2.
Da a
Mo emen
and
Compu a ion
Cos s (in
seconds)
o
Phases
4
h ough
9
in
ADI
o
Two
Candida e
Solu ions
Phase
;J
(J
7
8
9
M o em
Pn
0
0
0
0.0061- -
0
0.0040%
Solu ion 1
Compu a ion
0.022058
0.000212
0.01109;)
0
..
'32- S(J:=i
0.002261
0.177;)13
Solu ion 2
Mo emen Compu a ion
0.0061
+± 0.332£)25
0
0.0():3:391
0. 00- O% 0.177-)Ll
0
0.020285
0 0.000
1-
1
0 0.01109:)

3 DATA DISTRIBUTION FOR A
PHASE
The
basic
compila ion
s cps
o a
compu a ional
pha~e
an~
dc~c ibed
wx .
Fi s
o
all. a
weigh ed
g aph
called
he
Dimension
Alignmen
C aph
(DAC)
is
cons uc cd
om
he
anal sis
o
hc
a ay
e >n•nces in
lw
sou ce
. .
p og am
and
i
eco ds
p e > >nc >s
o
alignmen .
The
DAC
is
simila
o
he
CAC
hu
i
indudcs
p e e enccs
o
aligm wn
based
on
pa alleliza ion
in
addi ion
o
da a
lllOY 'IIH~n .
Tlwn,
an
a ay
alignmen
phase
ol-
lows. In
hi~
~ <>p.
all
dimensions
o
he
a ays
in
lw
p og am
a e
cla ed
o
each
o he
by
( 1)
mapping
each
a ay
dimcnsion
in o
a
dimension
o
a
empla e
a ay
(in enlimensio11al
alignmen )
and
(:Z)
applying
an
o se
be ween
1
hem
(in adimensional
aligmncn ).
Da a
mo emen
equi emen s
o
hose
nonaligned
e e >nc >s
and
loop
pa alleliza ion
s a egies
a e
ana-
lyz<>d
in
o de
o
deci<k
he
dimensions
o
he
empla <>
o
dis ibu e
..
he
numlw
o
JH·oc >s~o s
alloca cd.
and
he
kind
o
dis ibu ion
applicd
o
hem.
3.
1 Re e ence Pa e ns
and
he DAG
Tlw
DAG
is a
'wigh ed
undi ec ed
g aph
buil
om
he
analysis
o
a ay
e e ence
pa <> ns
in
loop
s a e-
menh.
In
his
sec ion we
e
in
how
> e ence
pa e ns
a c
de ined
and
anal z >d o
de ec
a ini Y.
and
how
. .
he
DAC
is
buil
om
his
anal ~is.
Re e ence Pa e n
Analysis
and
DAG
Building
The
analysis
o
e e ence
pa e ns
is
pe on wd
wi hin
lw
scop<'
o
ws ed loops. A e e e11ce
pa e n
is
de-
ined
in
..
II,
.....
i,)
~
!J(j,
..
.
..
. , ·
..
..
j,).
wlw c
/1
is
an
a ay
ha
appea s
in
lw
le -hand
sid >
(!hs)
o
an
a~signmen
s a emen
loca <·d insid >
he
loop
and
B
i~
an
a ay
in lw
igh -hand
sid >
( hs)
o
he
same
assignmen
s a emcn .
l
he
assignmen
is
unde
con ol
o
condi ional
s a emen s.
hen
all
lw
a ays
in
hc
cxp <>ssions
ha
e ·alna e
he
condi ions
an·
nmsiden·d
as
i hey
we >
in
he
hs
o
lw
assign-
lll 'II
s a enwn .
, n
a ini y
cla ion
can
appea
be n'<'n o
dinwn-
sions
o
he
da a
a ays
in a
e e ence
pa • n.
Dinwn-
sio l
R,
1 is
said
o lw
a inc
wi h
dinwnsion
A1
,(
deno ed
("1
1
,.
R,))
i
j,
1
and
i1,
a e
linea
unc ions
o
lw
~a
me
loop
con ol
a iable.
F om
he
analysis
o
e e enc '
pa e ns.
lw D" C
is lmil .
"od >~
o
he
DAC cpn·,;en
dinwnsions
o
da a
a ays
and
edges
<>p cscn
a ini y
ela ion~
lw-
ween
a ay
dimensions
ob ained
by
exam1111ng
e oss-
> e cnce
pa c n~
(pa e ns
in
which
he
s
and
lhs
a ays
a e
di e en ).
Sel - e e ence
pa e ns
a e
no
consid > ed in
he
DAC
building
s ep.
1 odes in
he
DAC
a e
g ouped
in
columns;
each
column
con ains
hose
nodes
ep esen ing
dimensions
om
lw
same
da a
a ay.
An
edg<>
(4
1
,.
B,) in
he
D C
sho ·s a
p e >n·nce o
alignmen
o
di wnsions
AI,
and
n,l.
Acco ding
o
[1].
edges
in
lw
DAC
a e
weigh ed
in
wo
ways.
On
he
one
hand
(and
o sol e
lw
in >nli-
mensional
alignmen
p oblem)
..
each
edg<>
is
Tigh ed
depending
on
whe lw
i is
compe ing
o
mmcom
pe ing
wi h
ano he
edge
( e
i
i
is
compc ing
and
1 i
no ).
Tw~o
edges
a e
said
o
be
compe ing
i
he~
a c
gene -
a >d
by
he
same
e e ence
pa e n
and
a e
incid ·n
on
he
sanw
node.
A
DAC
so <lelined nay
con ain
mul ipl >
edges
be w~een
a
pai
o
node~
since
he e
migh
he se e al
<> >n·nce
pa · ns
in ol ing
o
da a
a ays:
each
se
o
mul iple
>dg •s
caJI
he
cplac >d
wi h
a singl >
>dge
hose
w~eigh
is
he
sum
o
lwi
wighh.
On
lw
o he
hand
(and
o
soh-e
lw
in adimensional
aligmncn
p oblem).
each
edge
is weigh <·d
wi h
he
o se
be ween
he
wo
subsc ip s
in
he
a ay
dinwn-
sions innJl >d.
ln
l1i~
case"
mul iple
edges
a >
no
mc ged
in o
a
single
edge
lwca
use
each
011e
may
s o e
in o ma ion
aho
a
di e cn
shi
p e e ence.
P e e -
Pnces o
s ide
alignnwn
a P
no
econl •d in
h >
DAG
in lw <·nncn
e sion
o
he
DDT.
DDT
abo
pe o m~
a se
o
wdl-knmn1
op i niza-
ions
such
as
cxp ession
subs i u ion.
subsc ip
subs i-
u ion.
and
imluc ion
a iable
de ec ion.
In
[2]
he
au ho s
e alua e
he
e ec i eness
o
hese
op imiza-
ions
in
e ms
o
amoun
o
ll 'W
e e ence
pa e ns
analyzed
and
a ini y
cla ion~
oh ai wd.
They
also
analyz<>
he
complexi y
o
he
DAC
in
eal
code~
111
e ms
o
numlw
o
node~.
edges.
and
o sc s .
3.2
Including Pa alleliza ion Cons ain s in
he DAG
Loop
pa alldiza ion
1s
no
independen
o
lw
way
a ays
in
he
phase
a e
aligned
and
di~ ihu ed.
I
would
he
in e es ing
o
ha e
a d >a
ela ionship
be-
w·<>en
loop
le cls
in
a
ph
as<>
ha
is
pa allel
ized
and
dimensions
o
a ays
ha
a c
aligned
and
dis ibu ed:
his
nm
cas<'
he
applica ion
o
I e
ow w
compu es
ule
and
o
a
mo e
> 1eien
gene a ion
o
pa allel
code.
Fo
each
loop in a
phase
eligible o
pa alld
execu ion
(acco ding
o
dqwndcnce
analysi:;). a se
o
edg 's
link-
ing
dimensions
o
a ay~
(in w lhs
o
a~sigm wn
s a <>men s)
~uhsc ip cd
by
i s loop
con ol
a iable
a >
added
in lw D" C. : "o e
ha
hese
<'dges
a c
di e -
PHI
han
he
indqH·nd >nC<'
an ip c cn·nce
edgPs
de-
lined
in
[16].
Tlwy
cha ac e ize
po en ially
pa alleli-
1
c ==;==
FIGLRE
2 DAG o
plHN'
4 in
Dl
including
a ini y all(!
pa all 'liza ion edg 's.
zahl '
dimensions
o
a ays
(in
bo h
sid >s
o
he
assignmen
s a emen s)
i
he
subsc ip
is
no
a
scala .
In
o
DAC. lw edge'i
eco d
p e <:> 'nccs o
alignnwn
o
w
dimensions
ha
a '
accessed
by a loop eligible
o
be
pa alldizcd.
Fo
ins ance
..
conside
phase
-l
in
he
ADI
p og am
in
Figm<:>
1.
I
he
alignmen
and
dis ibu ion
o
a ays
x
and
b
we e
he
ollowing:
!HPF$
TEMPLATE
a ge (256,
256)
!HPF$ ALIGN
x(i,j)
WITH
a ge (i,j)
!HPF$ ALIGN
b(i,j)
WITH
a ge (j,i)
!HPF$ DISTRIBUTE
a ge (BLOCK,*)
hen
he e
would
no
he
an
easy
pa alldiza ion
s a -
egy o
he
loop
nes .
Acco ding
o
he
owne
compu es
ul '. w lhs
o
he
i s
assignmen
s a enwn
suggc~h
a
pa allcliza ion
o
lw i
loop
bile
he
s •cond
one
sugges s
a
pa alleliza ion
o
he
j loop.
I
he
ule
is
b ok >n
in
one
o
he
wo
s a emen s.
addi ional
da a
mon• ncn
a ises.
Figu e
2
shows
he
DAC o
phas '
1:
in
ADT.
No ice
ha
in
addi ion
o
he
edgeb
ha
show
a !lni y
lw w 'Pn
dinwm;ions
in
a ay
<:> <:> <:>nces
( hin
edg<:>s
(. 1• a1
).
(.1·".
a'!.)·
(a
1• b1
).
(a".
h").
(: 1• b1
).
and
(. ". b")). a ww
edge
be we<:>n
(.1·
1• b1) is
added.
This
edge
lws
a w 'igh
big
<:>nongh
o
ensu e
ha
lw D. C
pa i ioning
algo-
i hm
desc ibed
in
lw
n 'x sec ion will
align
all
he
nodes
linked
by
i .
3.3
DAG Pa i ioning
and
A ay
Alignmen
Two
p obl<:>ms
a c
aced
wlwn
sol ing
he
a ay
align-
IIH'Ji
s Pp.
Fi s .
l1e
in <:> dimensional
aligm wn
p ob-
l<·m
ies
o
de ide
l10w
a ay
dimensions
a e
aligned
in o
he
dimensions
o
a
common
empla e
a ay.
This
c npla e
has
dimensionali y
<:>qnal
o
he
la g<:>s
di-
IIWJJsionali y
o '
all
he
a ays
analyzed.
Each
dimen-
sion
o
each
a ay
is
aligned
i l1 a
dimension
o
he
·mpla c.
S<:>nmd.
he
in adinwnsional
alig nnen
p oblem
ies
o
decide
how
all
he
a ay
dimensions
aligned
in o
a dil!H'nsion
o
lw
empla e
a c
shi <:>d
DDT: A RESEARCH TOOL
79
'ach
o he .
Al hough
hi!-i
includes
o se
and
s ide
aligm wn s
and
e lec ions
(s ide
-1).
only
o se
alignmen s
ha 'e
be<:>n
implemell <:>d
in
he
CliiT<:>n
Yc -
sion
o
DDT.
ln e dimensional Alignmen
Ci en
a
DAG
G.
he
in enlimensional
alignmen
p ob-
lem
can
be
b a ed
as
ollows [ 1
J:
Le n be he ma. imum
nwnbe
~(
nodes
in
a
column
<d'
G.
Pa i ion he node se
~~l
G in o
11
di.~join
subse s T1
•••••
I
11
• !l'i h he es ic ion
ha
no u·o nudes belon :ing·
o
he sanu'
da a
a a.1· a e allo!l'ed o be
in
he san e subse .
:-.Jodcs in
he
same
subse
co espond
o
dimension'
o
be
aligned.
As
a
consequence.
we
wan
o
pa i ion
lw
DAG
so
as
o
minimize
lw
o al
weigh
o
edges
ha
a c
be ween
nodes
in
di <:> Pn
subs<:> s.
The
p obl >m .c; a cd
abow
is : P-comple e
and
[1
J
p opose
a
lwn is ic
algo i hm
(g eedy)
o
soh·e i . In
his
algo i hm.
a single
da a
a ay
is
amlo uly
dwscn
a
'ach
s ep
o
alignmen
wi h
he
e npla > (which
is
chosen
among
he
da a
a ays
ha
haY<:>
maximum
dimensionali y).
The
algo i hm
appli<:>d
o a
g aph
G
is d >sc ilwd below:
C,
=
Choose_Templa e_Column(G);
while
(no _emp y(G))
{
Cx
=
Pick_Up_Column(G);
G,
=
Fo m_Bipa i e_G aph(C ,
C,,
G);
M
Op imal_Alignmen
(G
2
);
G =
Reduce_G aph(M,
C,,
C"G);
In
>ach
i e a ion
o
he
abo <:>
loop.
he
aligmnPn
be Ten h '
da a
a ay
co T<:>spmHI
ing
o
column
C,.
and
he
da a
a ay
COIT 'SJHHHling
o
lw
>mpla e col-
umn
C,
is
decided.
The
main
s eps
o
he
heu is ic
a c
d<:>sc ibed
below:
1.
Fom _/Jzjm i e_G (qJ! . a
g aph(;"
<·omposcd
o
he
nodes
in
he
wo
cohunns
C,
and
C, is
buil .
An
edge
is
placed
be ween
wo
nodes
in
he
bipa i e
g aph
G'!.
i
he e
is
a
pa h
IH' w<·en
lw
wo
o iginal
nodes
in
lw
DAC.
Tlw
weigh
o
he
edge
is
he
s un
o
all edges
ha
compose
he
pa h.l
scyc al
pa hs
appea .
lwn
lw Tigh
is
s •
o
he
sum
o
all
he
edg<:>s
ha
co nJHN'
he
pa b.
2.
Op il la/_A/ignmell .
Fo
<:>ach
bipa i P
g aph
G2.
align
dimensions
o
C,
wi h
dinwnsions
o
C,
so
ha
he
o al
weigh
o
<:>dg >s
no
aligned
is
lllllllllllllll.
80
A YGUADE
ET
AL.
(a)
(c)
•
•
(b) (d)
FIGURE
3
~lin-cu
s.
Sum in Fo m_Bipa i e _G aph.
:~.
Reduce
J) aph.
Me ges
column
C,
in o
C,,
e-
places
mul iple
edges
be ween
wo
nodes
wi h
a single
edge
whose
weigh
is
he
sum
o
hei
weigh s,
and
(l •le es all sel cycles.
ln
ou
implemen a ion,
se e al
op imiza ions
in
he
lwn is ic
ha e
been
done
in
o de
o
ob ain
be e
alignmen s.
They
a e
desc ibed
below:
4.
In
Fonn_B jw i '_G aph.
he
weigh
o
an
cdge
be wcen
wo
nodes
is
se
o
he
min-cu
ins ead
o
he
sum
o
he
weigh
o
all edges
ha
com-
pose
he
pa hs.
Wi h
min-cu ,
he
weigh is se
o
hc
minimum
sum
o
edge
weigh s in G
ha
we
had
o
elimina e
o
isola e
he
wo
nodes.
This
ep esen s
he
minimal
cos
o
no
aligning
lw
wo
nodes.
Fo
ins ance.
conside
he
DAG
shown
in
Figu e
3a
(i
co esponds
o
p ocedu e
THED2
om
he
ETSPACK
lib a y).
Figu e
3b
shows a
s ep
o
Fom _Ripa i >_Gmph
when
a
pa h
bc wcen
T2 (o C,)
and
Z1 (o
C,
in
he
s ep)
is
looked
o .
ln
his
case,
he e
a e
wo
pa hs:
T2, D1• Z1
and
T2•
TJ1
..
E1.
Z1.
The
bipa -
i e
g aphs
ob ained
using
he
o iginal
[ 1]
and
he
min-cu
p oposals
a e
shown
in
Figu es
:k
ami
3d.
>spec i ely. Op i w/_Alignmen
would
align
(7'1, Z2)
and
(T
2, Z1)
in
Figme
3c
(wi h
six
an:s
o
communica e)
and
(T1,
Z1)
and
(TJ..
Z2)
in
Figmc
3d
(wi h
one
a c
o
communica e).
The
solu ion
ob ained
wi h
min-cu
is
be e
han
he
o he
solu ion
and
be e
e lec s
he
ac ual
da a
mo >m ~n
equi emen s.
!1.
Pick_{
/JJ'olumn
chooses a
column
C,
among
all
he
columns
in
Gas
he
column
ha
is
mo e
c i ical
in
he
alignmen
p ocess
ins ead
o
an
a bi a y
column.
To
decide
how
c i ical a col-
umn
is.
we
inspec
edges
be ween
he
empla e
and
each
column
in
G.
Fo
ins ance,
conside
he
same
example
in
Figu e
:3.
Once
Op ima/_
Alignmen
and
Reduce_G aph
ha e
been
done,
he
g aph
shown
in
Figu e
4a
is
ob ained.
I
we
pick
up
column
D,
he
di e ence
be ween
he
wo
possible
alignmen s
((7'1. D1
)
o
(7~,
D1))
in
he
numbe
o
communica io11s is 1.
On
he
con a y,
i
we
pick
up
column
E,
he
di e ence
is 2. So
in
his
case,
i
is
mo e
c i ical
o
i s
sol e
he
alignmen
o
a ay
E
a he
han
a ay
D.
Figu es
4b
and
4c
show
he
di e ence.
The
algo i hm
used
o
decide
ha
he
nex
column
is
ou lined
below:
o
each
Cx
in
G {
G2 =
Fo m_Di ec _Bipa i e(C,,
c
•.
G);
di
(x)
=
Wo sLAlignmen
(G,)
-
Bes _Alignmen (G
2
);
c.
Find_Maximum(di );
Func ion
Fo m_Di ec _Bipa i P
e u ns
he
bipa i e
g aph
be ween
wo
columns
in
a
g aph
ha
esul s
om
di ec
edges.
Func ions
Res _Alignmen
and
Wo s _A ignmPn
e u n
o
a
bipa i e
g aph
he
o al
weigh
o
nonaligned
edges
wi h
he
bes
and
wo s
possible
alignmen s.
The
use
o
min-cu
inc >ases
he
execu ion
ime
o
he
algo i hm
wi h
espec
o
he
sum
al e na i e.
Howe e .
he
use
o
a
heu is ic
o
choose
he
nex
column
dec eases
he
execu ion
ime
o
he
min-cu
solu ion
because
a
each
s ep,
he
complexi y
o
he
emainina
a a1)h is
lowe
and
he
algo i hm
p oceeds
bb
as e .
In
[21]
he
au ho s
e alua e
he
use ulness
o
hese
op imiza ions
o ien ed
owa d
imp o ing
he
ou pu
o
he
DAG
pa i ioning
algo i hm.
In adimensional Alignmen
The
algo i hm
we
p opose
o
ind
shi s
among
aligncd
dimensions
is
desc ibed
nex .
Fo
each
dime11sion
o
he
empla e,
a
di ec ed
g aph
G, is c ea >d.
~od >s
in
his
g aph
co espond
o
a ay
dimensions
ha
a e
2
Dl
~:1
Tl
7
Dl
4 •
T2
(a)
T2
(b)
T2
(c)
FIGURE
4
Heu is ic
o
choose a
IH'W
column
in
dw
g aph
o
alignmen .
(a) ln e mPdialP
g aph.
(h)
Bipa i e
g aph
wid
domain
E.
((')Bipa i e
g aph
wi h
domain
D.
aligned
wi h
a
dimension
o
he
empla e.
Edges
in
G,
a e
he
subsc
o
edges
in
he
DAC
bc een
he
nodes
aligned.
In
his
g aph,
edges
a c
weigh ed
wi h
he
o se lw we >n
hc
wo
subsc ip s
in
he
associa ed
de Tnce
pa > n.
The
algo i hm
impl >men ed is:
o
each
dimension
i
o
empla e
{
G, =
Ob ain_Di ec ed_G aph(G,
i);
Ma k_Templa e_Node(Gxl;
while
(noLalLma ked
(Gxl
l{
N =
Pick_Up_Node
(Gxl;
S =
Find_Shi
(G"
N);
Gx
=
Apply
_Re
iming
(
G"
N,
S)
;
Ma k_Node
(G"
N);
This
algo i hm
is
basically
he
same
han
he
one
p oposed
in
[23]
o
solw
he
s a emen
alignmen
p oblem
in
o de
o
educe
synch oniza ion
cos s
in
a
sha ed
memo y
execu ion
model.
The
main
s eps
o
he
aigo i
Inn
a e
dcsc ihed
helm :
1.
Pick_ jJ_c 'ode.
T
e u ns
an
unma ked
node
o
G, co lllec ed
wi h
a
ma ked
node
o
G,.
I
such
a
node
is
no
ound.
hen
an
unma ked
node
is
andmnl
sclec ed.
2. Fin(L)h[ i.
This
unc ion
e u ns
he
o se S
(wi h
cspec
o
he
empla e)
ha
hm;
o
be
applied
o
he
node" '
cu en ly
analyzed.
This
alm·
is
ob ained
om
he
o se
o
all
he
edges
lw wee11
node
;V
and
any
ma ked
node
o
G,.
I
se c al
edges
he Ten
nod >
,y
and
w
empla e
nod ·
appea .
he
one
ha
is
q)('a ed
mo e
imes
is
selec ed.
I
se e al
edges
a e
candida es.
hen
he
one
wi h
minimum
alue
is
chosen.
V '
ha 'e
obse ed
ha
selec ing
a
alue
di e en
han
ze o
when
ze o
is
one
o
he
candida cs
leads
o
poo
solu io11s.
. ).
App(J·_He iminp:.
The
idea
o
e imi11g
as
de-
sc ibed
in
[24]
is
applied
in
his
unc ion.
Tlw
o s ' 8
ob ained
in
hc
p e ious
s ep
is
suh-
ac ·d
o all
incoming
a cs
in o
11ode
N.
and
added
o
all
ou going
a cs
om
node
Y.
A h '
e11d
o
he
algo i hm
..
each
node
in
G,
has
an
associa ed
shi
wi h
espec
o
he
empla e
node.
I
G, is acyclic. a
pe ec
in adimensional
align-
I!Wn
esul s.
In
his
cas ~.
all
he
edges
a e
aligned
and
no
da a
mo emen
is
needed.
I
cycl 's
a e
p esen
in
C,,
hen
some
>dges
may
no
he
aligned
and
he e o e.
da a
mo 'e nen
may
be
equi ed
o
hem.
DDT: A RESEARCH TOOL
81
Table
:3.
Communica ion
Hou ines
and
Thei
Ma ehing
wi h
Re e ence
Pa e ns
Rou ine
[,o al
_/ lemul")
·_A
cess
Cop}·
Shi
One_ oA/1
/1/l_ oJJne
41/_((i_.' /1
Pa e n
i,l
=
.1~1
cons (i") A cons (;;,)
cons (i1,
~
j,,)
CO/IS (J;,)
CUI/S (i
1
,)
i,,
#.i '
3.4
Communica ion Analysis
Once
da a
a ays
a e
aligned.
each
e e ence
pa e n
ha
is
no
aligned
(in e -
o
in aeomponen
align-
men )
a e
he
p e ious
phase
ep esen s
da a
mo e-
men
ha
has
o
be
ca ied
ou .
In
his
phase.
a
ma ch-
ing
o
e e ence
pa e ns
o a p ede in >d se
o
da a
mmcmen
ou ines
is
done.
In
he
cmTen
impbnen a ion.
DDT
conside s
sim-
pl ·
da a
mo e1nen
ou ines
( ou ines
ha
pe o m
da a
mo emen
in
a single
dimension
o
he
empla e).
I
he
e e >nC '
pa e n
equi es
da a
mo >men in
mo e
han
onc
dimension.
hen
he
e e ence
pa e n
is
decompo.~ed
in o
subpa e ns
and
each
subpa > n
ma ched
wi h a single
da a
mo emen
ou im~
(
cach
one
pe o ming
da a
mo 'IIH'll in a single
dimcnsion
o
he
a ays).
Fo
each
e e ence
pa e n
(o
subpa e n
i
denun-
posed).
he
da a
mo emen
ou ine
ha
pe o ms
he
da a
mo emen
wi h
les~
cos
is
chosen.
Table
3
shows
he
s ·
o
da a
mo emen
ou in 's
conside ed
In
DDT
and
ib
ma ching
"~i h
e e ence
pa e ns.
In
his
able.
p is
he
dimension
whne
da a
mm· ·men
akes
place
and
i1,
and
j"
a e
he
subsc iph
in
he
dimension
p
o
he
e e ence
pa e n.
Func ion
cons (P.lp)
e u ns
ue
i
e. p
con ains
cons an s
only.
The
ma ching
be ween
da a
mo emen
ou ines
and
n· , TJHT
pa e ns
is
pe o med
in
o de
o
ob ain
an
es ima ion
o
he
oye head
due
o
emo e
acccsses .
Each
da a
mon·men
ou ine
has
an
es ima cd
cos .
This
cos is
dependen
on
he
a chi ec u e
o
he
sys-
em.
he
size
o
he
block
o
da a
o
be
ans e ed.
and
he
numbe
o
p ocesso ,;
in ol ed
in
he
da a
moyemen .
The
size
o
he
block R is
es ima ed
hY
DDT
as
ollows:
,
dim,
.
H
=.')X
IT
---y-
X
pos( ,
~
1)
#p
' I
S
ep es 'n s
he
numlw
o
elemen s
moYed in
he
dimension
p
whe e
he
da a
mm- nH·n
akes
place.
S,
is
he
numbe
o
p ocesso s
alloca ed
o
dimeusion
i
88
AYGliADE ET AL.
p og am
shallow
call
ini al
Phase
1
call
calcl
Phase
2
call
calc2
Phase
3
i
(ncycle
.le.
1}
hen
call
calc3z
Phase
4
else
call
calc3
endi
end
(a)
Phase
5
(b)
FIGURE 7 (a) Ou line o he main p og am in he SPEC
swm256 benchma k. (b) Con ol
low
g aph.
in a ian .
As
a esul , a single
mapping
o
phase
4 is
selec ed
acco ding
o
he
p e iously ixed
mappings
o
phases
1,
2,
and
:~.
61NTERPROCEDURAL DATA DISTRIBUTION
The
main
aspec s
conside ed
in
he
in e p ocedu al
da a
dis ibu ion
analysis
pe o med
by
DDT
a e
de-
sc ibed in his sec ion.
The
algo i hms
used
bo h
o
s a ic
da a
dis ibu-
ion
o
dynamic
edis ibu ion
in
he case
o
in e p o-
cedu al
analysis
a e
basically he
same
as
hose used
o he
in ap ocedu al
case.
The
de ini ion
o
phase
is
ex ended
o
conside
some
p ocedu e
calls as
phases,
besides he loops as desc ibed in
Sec ion·
4.
l
he
p ocedu e
call is
ou side
a loop
which
is
conside ed
a
phase
i sel ,
hen
he
p ocedu e
is
conside ed
a
phase.
O he wise, some
in o ma ion
ob ained
om
he
p e i-
ous analysis
o
he
called
p ocedu e
is
used
o
es ima e
he
e ec s
o
he
mapping
o
his
p ocedu e
while
deciding he
mapping
o he
phase.
The
analysis is
based
on
he
call
g aph
in
which
nmks
ep esen
p ocedu es
and
edges
ep esen
call
si es.
This
g aph
con ains
ep esen a ions
o
he
onnal
and
ac ual
pa ame e s
and
hei
dimensions
associa ed
wi h
each
p ocedu e
and
call si e.
I
is
a e sed
b
DDT
o
decide
he
o de
in
which
p ocedu es
will be analyzed.
The
app oach
ha
has
been
conside ed is a
bo om-up
a e sal
o
he
call
g aph:
Those
p ocedu es
ha
a e
deepe
in
he
call
g aph
a e
analyzed
i s .
This
bo om-up
a e sal
ensu es
ha
when
a call
o
a
p ocedu e
is
ound
hen
i
has
al eady
been
analyzed,
and
he e o e
he
in o ma ion
o
ha
p ocedu e
is
al eady
in
he
in e p ocedu al
DDT
da abase.
When
a
mapping
speci ied o a
dummy
a gumen
o
global
a iable
di e s
om
i s
ac ual
a gumen
o
global
a iable,
liPF
equi es
implici
da a
edis-
ibu ion
and/
o
ealignmen .
Addi ionally.
upon
e-
u n
o
he
calle
p og am,
he
o iginal
mapping
mus
be
ees ablished.
So
wo
possible
emappings
o
each
a gumen
and
global
a iable
should
be
conside ed.
O he
p og amming
models
based
on
HPF,
such
as he one o e ed
by
FORGE [11], allow
you
o
lea e
an
ou pu
mapping
di e en
han
he
inpu
one. In
his
case,
he
in o ma ion
s o ed
in
he
in e nal
DDT
da abase
a e
deciding
he
mapping
o
he
p ocedu e
will be i s ini ial
and
inal
mapping
(in
addi ion
o
he
ealignmen
ac ions
pe o med
inside
i
and
i s execu ion cos
wi h
he
selec ed
s a egy).
No ice
ha
his
la e
model
is a
gene aliza-
ion
o
he
de ini ion
o
HPF.
DDT
ac ually
suppo s
bo h
al e na i es.
A
p ocedu e
may
ha e
se e al candida >
mappings
s o ed
in
he
in e p ocedu al
da abase.
l
di e en
mappings
a e
p e e ed
in
di e en
in oca ions
o
he
same
p ocedu e,
hen
p ocedu e
cloning
is
applied
in
o de
o
ge1w a e e sions
o
he
same
p ocedu e
wi h
di e en
mapping
and
pa alleliza ion
al e na-
i es.
6.
1 The P ocedu e Call
is
a Phase
A
p ocedu e
call is
conside ed
a
phase
when
i
is
no
placed
inside a loop
agged
as a
phase.
The
emapping
algo i hm
used
in
his
case is
mainly
he
one
desc ibed
in
Sec ion
4.1.
Howe e ,
unc ion
Ge w a eJJocaL
Mappings
eads
he
in e nal
DDT
da abase
in
o de
o
ob ain
he
di e en
candida e
mappings
o
he
called
p ocedu e,
ins ead
o
compu ing
hem
om
sc a ch.
Phases
due
o
p ocedu e
calls
ha e
candida e
map-
pings
composed
o
an
ini ial
and
a inal
mapping.
In
his case,
he
cos
o
emapping
will
he
de e mined
by
he
mapping
di e ences
be ween
he
ac ual
global
mapping
and
he
co esponding
ini ial
mapping
o
he
phase.
Howe e .
a e
he
exeeu ion
o
he
phase,
he
global
mapping
will be
upda ed
wi h
he
inal
mapping.
This
means
ha
when
gene a ing
di e en
pe mu a ions
o
he
local
mapping
in
o de
o
es ima e
di e en
ealignmen
op ions,
bo h
he
ini ial
and
he
inal
mappings
should
be
pe mu ed.
This
analysis
could
be
ex apola ed
and
used
o
analyze
any
kind
o
phase
(loop
and
call),
assuming
ha
he local
mapping
o a loop
has
he
same
ini ial
and
inal
mappings,
whe eas
he
call
has
i s co e-
sponding
ini ial
and
inal
mappings.
The
nex
example
is
used
o
illus a e
he
aspec s
desc ibed
abo e. Assume
ha
some
phases
o
a
p oce-
du e
ha e
been
analyzed,
and
ha
a
his
poin
he
global
mapping
GA1
1
con ains
he
ollowing in o -
ma ion:

A 1/i(- )
2n(- J
Ul!,:
R 1/1(- ) 2/1(-l)
c 1/i(-!J 2/1(- )
D
1/i(- )
2n(- J
This
means
ha
in
he
global
mapping
GM,.
all
a ays
u~ed
lw o '
ha
phase
a e
pe ec ly
aligned.
and
hei
i s
and
second
dimensions
a c
dis ibu ed
wi h
ou
p ocesso s
assigned
o
each
on '.
Assume
also
ha
he
nex
phas '
o
be
analyzed
is
a
p occdu '
call
whose
local
mappings
in
L!H,+
(ob ained
om
he
in e p oce-
du al
da abase)
a e
he
ollowing:
A 1/1(- )
2/i(- )
Ini ial
LM,+ :
R
2/i(- )
1/1(- )
c
2/i(- )
1/1(- )
E
2/i(- )
1/1(- )
A
1/i(- l
2/i(- )
Final
LM,+ :
n 1/i(-!J
2/i(- )
c 1/i(-!J
•)
~!i(-!J
E 1/1(- ) 2/1(- )
Vhen
analyzing
his
phase
..
a ays
used
in
his
phase
mus
be
agged
acco ding
o
he
dis ibu ion
di e -
ences
be ween
h '
global
mapping
and
lw
ini ial
local
mapping.
'e
can
see
ha
a ay
E is
new
..
so
i
will
be
included
in
he
global
mapping
wi h
i s desi 'd
dis ibu ion
(no e
ha
i will also
be
included
in
he
ini ial
mapping
o
his
p ocedu e).
A ays
11.
B.
and
Ca e
candida es
o
be
ealigned.
Two
di e en
al e -
na i es
should
be
nmsid ' cd:
o
keep
a ay
A as i is
and
ealign
a ays
Band
C:.
o
o
keep
a ays
Band
C
as
hey
a e
in
he
global
mapping
and
ealign
a ay
A.
ln
o de
o
upda e
he
global
mapping
GM,+
1• lw
inal local
mapping
is h '
one
ha
mus
be
ak 'n
in o
conside a ion.
This
nwans
ha
i
he
i s
al e na i e
is
selec ed.
a ay
A is
hp
as
i
is
in
he
global
mapping
awl
nei he
he
ini ial
local
mapping
no
he
inal
one
is
ansp be l
So
he
global
mapping
will
emain:
A 1
/1(- )
2/1(- )
n 1/1(- )
')
~11(- l
c 1/1(- ) 2/1(- )
[)
1
/1(- )
2n(- )
E 1/1(- )
2/i(- )
DDT: A RESEARCH TOOT,
89
Bu
i
dw
second
al e na i '
is scl 'c ed.
hen
a ays
B
and
Ca e
kep
as
hey
a e
in
he
global
mapping
so
bo h
he
ini ial
and
he
inal local
mappings
a e
ansposed.
In
his
case
he
global
mapping
will be:
A
')
~/1(- )
1/1(- )
n
')
......,H(- )
1/1(- )
c 2/1(- ) ]
/1(- )
j)
]
/1(- )
2/1(- )
E
')
~/1(- )
l l,.- )
1 o e
ha
lw
mapping
o all
a ays
( 'xcep o
TJ)
in
GJ ,+
1
in
his
las
al e na i e
is di P Tn (
ansposPd)
om
hei
mapping
in GJJ,.
and
appa en ly
only
a ay
A
has
been
ealigned.
A en ion
mus
be
paid
o
he
local
mappings
o
phas ' p,+1•
The
di e ence
be ween
he
iui iallocalmapping
and
he
inal
one
m >ans
ha .
a leas ,
a ays
R.
C.
and/)
ha e
been
>aligned inbide
l1e
pnlc 'dn e.
and
hus
hei
cos
has
al eady
he >n
assnnu•d
wi hin
he
cos
o
'X 'Cn ing
he
p ocedn c.
l
he
i s
al e na iw
is selec ed,
hen
a ays
Band
C
a e
ealign 'd lw o e
he
p ocedu e
eall
aud
inside i
as welL so
he
G/ /,+
1
emains
unchanged
wi h >sp 'c
o GJ!,.
A
his
poin
i
is no possible o say
which
al e na i e
is
he
bes
because
i
dqwnds
on
he
phases
no
y '
analyzed.
so
he
analysis
mus
con inue
wi h
he
wo
al e na i es.
6.2
The P ocedu e Call
is
Inside a Phase
When
he
H'OC 'du e
call
is
placed
inside
a loop which
is
agged
as a
phase.
heu
he
call is
no
conside ed
a
phase.
ln
his
UlS '
..
he
ini ial
and
inal
mappings
assigned
o
he
p ocedu e
may
a ec
he
choice
o
lw
candida e
mappings
o
he
phase.
When
a call
s a emen
is
ound,
DDT
impo s
om
he
in P p occ-
du al
DDT
da abase
all
he
in o ma ion
associa ed
o
each
possible
mndida e
mapping
o
he
called
p o-
cedu e.
Dn ing
he
aligumen
s ep,
when
a call
s a emen
is
ound,
DDT
impo s
om
h '
co esponding
ile
in
he
in e p ocedu al
DDT
da abase
he
in o ma ion
ega ding
ALlGJ
di ec i es
o
he
global
a iables
and
he
ac ual
pa ame e s.
This
in o ma ion
is in-
cluded
in
he
DAG
o
he
phase
as
addi ional
cdg 's.
ln ac .
his
is
an
app oxima ion
o
he
p obl 'nL A
mo e
accu a e
model
should
ha e
o
weigh
hese ne '
edges wi h i s
co esponding
ealignmen
cos .
Du ing
he
dis ibu ion
s ep.
and
o eac:h eall o a
p ocedu e.
he
global
a iables
and
he
ac ual
pa ame-
e s
mus
lw
emapped
(i
necessa y)
be o e
and
a e
90
AYGUADE
ET
AL.
lis
iles
S a ic
e alua ion
epo s
Dynamic
e alua ion
epo s
FIGURE
8 Main
componen s
o
ou
au oma ic
oa
a dis i-
bu ion
pla o m:
DDT. xHPF compile .
ano
simula o
om
APR
Inc.
h >
call.
The
mapping
ha
minimizes
h >
o > all
cos
including
emapping
is selec ed
among
he
candi-
da e
ones.
7 EXPERIMENTAL
RESULTS
The
main
componen s
o
h >
da a
dis ibu ion
cn i-
onm >n we
a e
using
and
de eloping
a P
shown
in
Figu > ii.
Ou
esea ch
ool
(DDT)
is impl >men ed on
op
o
Pa a
Scope
[2;)]
and
assmnes
s >quen ial
p o-
g ams
V i en
in
Fo an
77
as
inpu .
DDT
pa ses
ll '
inpu
emi >
and
anno a es
i
wi h
a se
o iiPF
di ec i es
and
>xecu able s a >men s.
The
xHPF
compile
om
Applied
Pa allel
ResPa ch
[11 J is
us >d
o
compile
he
p og am
gene a ed
by
DDT
and
o
gene a P
a
single-p og am
mul iple-da a
(SPMD)
node
p og am
using
PVM3
communica ion
p imi i es
[26
J.
The
xHPF
execu ion
model
allows us
o
simula e
he
execu ion
o
he
ins um >n Pd
code
gene a ed
by
xHPF
on a singl >
wo ks a ion.
This
si w-
la ed
execu ion
is
used
o
p > o n
compa isons
o
he
pe o mance
o
di e >n
da a
dis ibu ion
s a egies
and
o
alida e
ou
p oposals.
We
haw
analyzed
h Pe
p og ams:
ADI
(shown
in
Fig. 1
and
analyzed
in
Sec ion
2),
ou ine
RHS
om
h >
APPBT.
APPLlj,
and
APPSP
NAS
benchma ks,
and
swm2S6
om
lw
xiiPF
benchma ks
sP . *
V e will see
o
he
examples
how
changes
in
some
a chi >c u al
pa anl ' e s.
such
as
numbe
o
p oces-
so s
and
emo e
access
ime,
lead
o
changes
in
he
solu ion
gPne a ed
by
DDT.
The
ool is
use ul
o
he
cha ac e iza ion
o
p og ams
as well
as
lw
s udy
o
he
e ec s
o
hese
a chi ec u al
pa ame e s.
* AYailable
by
anonnnous
p
a
p.in o mall.o g
in
di ec o y
l'nan s/
ap i/Bcnch.
7.1 Al e na e Di ec ion Implici ADI
In
his sec ion
we
u lw
analyze
ADT
and
co npa T
he
pe onna H"P p >dic ed by
DDT
agains
h >
pe o -
nH!Il " '
ob ained
when
simula ing
he
execu ion
o
he
m >ssage-passing
code
gene a ed
by
xHPF.
Tn
addi ion.
we
also
show
w
use ulness
o
he
ool
o
p edic
he
pe o mance
o
di e en
mapping
s a egies
when
changing
a chi ec u al
pa ame > s.
Figu e
9
shows
lw
p edic ed
and
he
measu >d
speedups
o
he
p og am
o
di e en
numlw s
o
p ocesso s
( anging
om
1
o
:32)
o
wo
possible
solu ions:
Th >
s a ic
solu ion
whe e
all
a ays
a e
col-
umn
dis ibu >d
(adi2
in all
plo
labels)
and
he
dy-
namic
solu ion
(a
diD
in
all
plo
labels)
as
shown
in
Sec ion 2.
Fo
his
plo
we
conside ed
a
emo e
acc >ss
ime
o
1
p.,s.
Ve
can
d aw
he
ollowing conclusions:
1.
Tlw
p edic ion
pe o nwd
by
DDT
(solid lines)
is e y
clos >
o
he
ac ual
speedup
( dash >d lines).
Tn
he
dynamic
solu ion
we
ha >
no iced
a
s111all
di e Pnce
due
o
he
es ima ion
o
edis ibu ion
cos s.
The
model
ha
we
conside
o
es ima e
hese
cos s (see
Sec ion
'1.3) is
no
e y
accu a e
and
o e es ima es
he
numbe
o
da a
cle-
men s
mo ed.
2.
The
speedup
o
he
s a ic
solu ion
g ows
om
one
( o
one
p ocesso )
o
wo
( o
machine
con-
igu a ions
wi h
a la g >
numbe
o
p ocesso s).
This
is
due
o
lw
ac
ha
abou
one
hal
o
he
p og am
is
execu ed
in
a
synch onized
way
wi h
an
Pxecu ion
im >
close o
he
sequen ial
exPcu-
ion
ime.
3.
The
speedup
o
he
dynamic
solu ion
is
lowe
han
one
o
con igu a ions
wi h
less
han
ou
p ocesso s
bu
hen
g ows
wi h
an
e iciency
dos > o
ou .
This
is
due
o
he
ac
ha
emap-
16
Numbe
o
p ocesso s
32
~
adiD (p edic ed)
·+-
adiD(measu ed)
~
adi2 (p edic ed)
• K- adi2 (measu ed)
FIGUH.E 9
ADI-
spe 'dup
s.
numbe
o
p ocesso s o
he
s a ic
and
dynamic
solu ions.
Compa ison
o
he
p e-
dic ed
and
measun·d
speedup
( emo e
ac~!'ss
ime=
1
p.,s).
DDT: A RESEARCH TOO/,
91
Table
5.
B eakdown
o
he
To al
Execu ion
Time
o
ADI
(Remo e
Aeee8s Tim!' = 1
.LS)
S a ic Solu ion
Nm LP ocs
lo emen
Compu a ion
() 10.S1S
0.1024
7.909
0.1024
6.606
8 0.10:2-i
S.<JSS
0.10:24
5.629
0.102-i S.- 67
ping
cos s
an~
n~ y
la ge
when
a
small
numbe
o
p ocesso s
a e
a ailable
and
ha
all
phases
in
he
p og am
a e
execu ed
in
pa allel.
4.
Wi h
his
emo e
access
ime,
DDT
chooses
he
s a ic
solu ion
o
less
han
eigh
p ocesso s
and
he
dynamic
solu ion
when
eigh
o
mo e
p oces-
so s
a e
a ailable.
To
u he
compa e
he
dynamic
and
s a ic
solu-
ions.
Table:)
shows
he
b eakdown
o
he
p edic ed
execu ion
ime
in
compu a ion
and
da a
mo emen
imes.
No ice
ha
o
he
s a ic
solu ion,
he
da a
mo emen
o e head
is
cons an
(i
is
due
o
shi s
whe e
he
numbe
o
el >men s
mo ed
is
independen
o
he
numbe
o
p ocesso s).
Howe e ,
in
he
dynamic
solu ion
he
edis ibu ion
o e heads
dec ease
wi h
he
numbe
o
p ocesso s
in ol ed
in
he
da a
mo emen .
Figun·
10
shows
he
p edic ed
speedup
when
he
emo e
access
ime
changes
o
he
s a ic
and
dynamic
solu ions.
The
aim
o
his
g aph
is
o
show
he
in luence
o
emo e
access
la encies
in
hese
solu ions.
In
his
15
o~~~~~~~~~~ -~~~~~~~~~
0.001 0.01
0.1
10 100 1000
Remo e access ime (mic osecs)
FIGURE
10
AD
I-
p edic ed speedup s. emo e access
ime
o
he
s a ic
and
dynamic
solu ions.
6..
adiD;
D,
adiZ.
D namic
Solu ion
To al
Jo emen
Compu a ion
To al
10.;")1-
0
10.680
10.b80
B.011
1- .
9'±2
;)
.•
")- O
20.282
(J.70<J
7.-+71
2.670
10.11-1
6.038
:3.733
1.T3S :1.070
!i.T-12
1.867
0.66
7 2.S:3S
S.S(J<J
0.9TJ
(J.:F2 1.:372
plo
we
assume
ha
he
numbe
o
p ocesso s
is
H>.
The
ollowing
conclusions
a >
d awn:
1.
Fo
e y lm,,
access
la encies,
he
speedup
ends
o
be
in
16
in
he
ch'namic
solu ion
ami
2 in
he
s a ic
solu ion.
2.
The
s a ic
solu ion
is less
sensi i e
o
he
memo y
la enc
han
he
d namic
solu ion.
This
is
dw·
. .
o
he
ac
ha
he
olume
o
da a
ans e ed
in
he
s a ic
solu ion
is
small
while
in
he
dn a nic
solu ion
i
is
la ge.
Fo
la ge
la encies.
any
gain
due
o
pa allel
execu ion
is
o se
by
he
da a
mo emen
o e head.
:3.
Fo
his
numbe
o
p ocesso s.
DDT
chooses
he
dynamic
solu ion
when
he
emo e
access
ime
is less
han;)
p.,s
and
he
s a ic
solu ion
o he wise.
7.2
hs Rou ine om NAS
and
swm256
Benchma k
In
his
sec ion
we
anaiYz >
he
beha io
o
he
solu ion
sugges >d
by
DDT
o
he
o he
wo
benchma ks:
he
hs
ou ine
om
'IJAS
and
he
swm2S(J
p og am.
Fo
each
o
hem
we
compa e
he
pe o mance
p edic ed
by
DDT
agains
he
JW o mance
ob ained
in
he
simu-
la ed
execu ion.
X"
e
assume
ha
he
emo e
access
ime
is 1
p.,s
and
ha
he
sys em
has
om
one
o
eigh
p ocesso s.
Figu e
11a
shows
he
beha io
o
hs.
ln
his
case
DDT
sugges s
a
dynamic
solu ion
whe e
h ee
a ays
ha e
o
be
emapped.
The
dynamic
solu ion
implies
ha
he
ou e
loop
in
each
phase
uns
in
pa allel.
In
his
case
he
p edic ion
is
dose
o
h >
ac ual
pe o -
mance
because
DDT
pe o ms
an
accu a e
es ima ion
o
bo h
da a
mo emen
and
pa allel
compu a ion
imes.
Figu e
11 b
shows
he
beha io
o
swm2:)6.
ln
his
case
DDT
sugges s
a
s a ic
solu ion
whe e
all
he
a ays
a e
dis ibu ed
by
columns.
This
s a ic
solu ion
implies
ha
almos
all
he
loops
un
in
pa allel.
The
main
92
AYGFAD ~
ET
AL.
2 4
Numbe
o p ocesso s
(a)
04-----------~------------.-------------
4
Numbe o p ocesso s
(b)
FIGL'RE
11
Pn·dic Pd
and
measu Pd
spe >dup
s.
uumlw
o 1n·ocPswn; o (a)
hs-chnamic
solu ion .
.l.
hs
(p c-
dic >d); D. hs (measu >d). (h)
swm2S6-s a ic
solu ion
..
assuming
mo · access
ime=
lms
. .l. shallow (p edic Pd):
D. shallow (mcasu >d).
p og am
in
swm2;)6
indudPs
an
i Ta i e loop
and
condi ional
s a emen s
ha
alida P
he
cmT 'C
beha -
io
and
es ima ions
o
he
con ol
llow
module
in
DDT.
o ic ' a
small
di e ence
lw ween
he
p edic ed
and
measu ed
S wedups. Tll ' di e ence is
due
o
an
o e es-
ima ion
o
he
da a
mo enl 'n o e h 'ad: o
ge
a
be e
es ima ion,
we
ha ' o
imp o '
he
nodulc~
ha
de ec s
'dundan
da a
mo ion
ei lw
wi hin
a
phase
o
he wPPn
phases.
8 CONCLUSIONS
AND
REMARKS
In
his
a icle
wP
ha e
p escn 'd
he
key
modules
in
ou
au oma ic
DDT.
DDT
gene a es
bo h
s a ic
and
dynamic
HPF
da a
dis ibu ions
o
a
giwn
Fo an
77
ou i l '
and
o a
whole
applica ion
wi h
in ' p oce-
du al
analysis.
In
he
s a ic
solu ions,
ll '
mapping
(alignmen
and
dis ibu ion)
o
each
a ay
in
he
p o-
g am
does
no
chang '
du ing
he
exPcu ion.
The
s a ic
module
is
based
on
he
CAC
bu
is ex PIHl 'd
wi h
some
in o ma ion
ega ding
pa allelism.
We
ha e
also
nwcli iPd
he
o igiual
algo i hms
in [1.
17]
o
imp ow
hP
quali y
o
he
mappings
ge w a ed
[21
J.
Dnuunic
solu ions
inelud >
exPcu able
s a pmen s
in
he
sou ce
code
ha
change
he
mapping
o
speci ic
a ays
when
n 'cessa y
lw ween
compu a ional
phasPs.
DDT
pe o ms
a
cos
analysis
o
p o i abili y
in
o de
o
include
lwm.
This
analysis
o
p o i abili y
is bas 'd
on
he
ollowing s eps:
1.
D ' ec ion
o
phases
o
compu a ionally
in ensi '
po ions
o
code.
which
mainly
co espond
o
nes 'd loops
and
calls o
p oc 'du es.
Remapping
is
only
allowed
be w ' 'n
phases.
2.
Gene a ion
o
candida e
mappings
o
he
p e-
iously
de ec ed
phases
all(!
es ima ion
o
hei
cos
(including
da a
mo 'men
and
expcu ion
ime
cos s).
:1.
Analysis
o
compa ibili y
among
phases
..
selec-
ion
o
mappings
o
hem.
and
emapping
ac-
ions
o
lw
pe o m 'd
be we >n
consecu i e
phases.
This
selec ion is
done
by
analyzing
he
cos
in
Pnns
o
da a
noyenu•n
due
o
'dis i-
hu ion
and
i s bene i s
in
he
cos
o
succes-
si e phas 's.
Con ol
low
in o ma ion
is
us >d
o
iden i y
sequencing
o
phases.
The
algo i hm
explo Ps a
ich
sP
o
combi-
na ions
al hough
i
is
no
Pxhaus i '.
I
includ >s
nwch-
anisms
o
cu
down
he
sea ch
spac '.
DDT
is a
esea ch
ool
·hich
is
cu en ly
us 'd
in
ou
g oup
o
suppo
di e pn
'sea ch
aspec s.
Since
i
is a
esea ch
ooL i
can
use
echniques
ha
may
be
oo
compu a ionally
expensi e
o
be
included
in a inal
compil ' ; how 'Y 'L his allows us o 'xplo e a ich
sP
o
solu ions.
We
ha e
endua 'd
he
quali y
o
he
solu ions
gen-
en 'd
by
DDT
by
compa ing
p edic ed
pe o mance
agains
he
ae ual
pe o mance
when
he
pa allel
p o-
g am
is >xecu ed. Ve
ha e
also
shown
he
use ulness
o
he
ool
o
he
cha ac e iza ion
o
he
p og ams
as well as
he
s udy
o
he
e ec s
o
a chi ec u al
pa a n ' P s. Ve
ha e
shown
how
he
p 'die ed
speed-
ups
a P close
o
he
ac ual
ones
oh ai wd
when
he
p og am
is
execu ed.
DDT
also
accep s
HPF
di 'c i Ps
in
he
sou c '
Fo an
77
p og am:
in
his
case
DDT
is
use ul
as
a
suppo
ool o
he
dewlopc
o
HPF
codes in
es ima ing
he
e ec
o
use -selec ed
da a
mappings
and
pa alleliza ion
s a egies
m
he
inal
pe o mance
o
he
pa allel
p og am.
We
a e
cu en ly
po ing
his
echnology
o
gene a P
d icien
code
o
hie a chical
global
sha ed
memo y
a chi ec u es.
In
hese
a chi ec u es
a
numbe
o
cen-
al
p ocessing
uni s
can
simul aneously
access
da a
anywhe e
in
he
sys em.
Howe e ,
he
nonuni o mi y
o
he
memo y
accesses is s ill
an
impo an
issue
o
conside
and
may
equi e
a
higlu~
p og amming
e o
in
o de
o
achie e
pe o mance;
ying
o access
hose
ll' Pls
in
he
hie a chy
close o
he
p ocesso
will in-
c ease
execu ion
e iciency.
The
echnology
de eloped
o
s udy
he
p o i abili y
o
dynamic
da a
emapping
can
be
used
o
ack
he
mo emen
o
da a
du ing
p og am
execu ion
and
hus
pa allelize
loops
acco d-
ingly, so
ha
he
access
o
da a
is
done
locally as
much
as
possible.
ACKNOWLEDGMENTS
This
wo k
has
lJPen pa ially
suppo ed
by
CONVEX Com-
pu e
Co po a ion. COI YEX
Supe compu e s
S.A.E.
CEPBA
(Eu opean
Cen e
o Pa allelism
o
Ba celona).
and
by
he
. linis
o
Educa ion
o
Spain
unde
con ac TIC-
429/<JS.
We
hank
Miguel
Hu~ue
om COI VEX SupP -
compu e
S.A.E, Robe 1e zge om
CO~VEX
Compu e
Co po a ion.
and
he
anonymous e iewe s o
hei
con-
s uc i e commen s.
WP
also
hank
.Io di To es o his help
in he
implemen a ion
o
he
in e p ocedu al
d i e .
REFERENCES
[1]
J.
Li
and
M.
Chen. ··Index
Domain
alignmen : Min-
imizin~
cos o c oss- e e encing be ween
dis ibu ed
a ays.·· p esen ed
a
F on ie s90:
3 d
Sy np. on he
F on ie s
o
Massi ely
Pa alld
Compu a ion,
College
Pa k.
MD. 1990.
[2]
M.
Gup a,
'·Au oma ic
da a
pa i ioning on dis ibu ed
memo y
mul icompu e s.··
PhD
hesis,
Cen e
o Reli-
able
and
High-Pe o mance
Compu ing. Uni e si y o
Tllinois
a
U bana-Champaign.
1992.
[3]
M.
Gup a.
S . . 1idki . E. Schonbe g, P. Sweeney.
K.
Y.
Wang,
and
K.
Bu ke. ''PTRAJV
II-
A compile o
high pe o mance
o an
..
·· in H .
.T.
Sips.
Ed
..
P oceed-
ings
o
}w
4 h
Wo kshop
on
Compu e s o Pa allel
Compu e s.
The
Ne he lands: Del Uni e si y o TPch-
nology. pp. 4
79-49.3.
1993.
[ 4 J T.
.l.
Sche le , R. Sch eibe .
1.
R.
Gilbe ,
and
S.
Cha -
e jee. '·Aligning pa allel a ays o educe communica-
ion."" p esen ed a he F on ie s95:
The
5 h
Symp.
on
he
F on ie s
o
Massi ely Pa allel
Compu a ion,
McLean. VA.
1995.
[5]
S.
Cha e jee,
J.
R.
Gilbe ,
R.
Sch eibe .
and
T.
J.
She le .
"A ay
dis ibu ion
in
da a-pa allel
p o-
DDT: A RESEARCH TOOL
93
~ ams.'"
in
K.
Pingali e a!..
Eds
..
P oceedings
o
lw
7 h Wo kshop on Languages
and
Compile s o Pa al-
lel Compu ing. Lec u e J' o es in
Compu e
Science,
ol.
892.
:'-lew
Yo k: Sp inge -Ve lag. pp.
76-91,
1994.
[6 J ll. K eme .
J.
Mello -Cnnmney
..
K.
Kennedy.
and
A.
Ca le.
''Au oma ic
da a
layou o dis ibu ed-memo y
machines in he D
p og amming
en i omnPn
..
'· p e-
sen ed
a
he 1s ln . Wo kshop on Au oma ic Dis ib-
u ed
Memo y Pa alleliza ion. Au oma ic Da a Dis i-
bu ion
and
Au oma ic Pa allel Pe o mance
P edic ion
..
Saa b uecken,
Ge many. 199:3.
[7]
B.
Chapman.
T. Fah inge .
and
H. Zima. ·'Au oma ic
suppo
o
da a
dis ibu ion on dis ibu ed memo y
mul ip ocesso sys ems. in ll. Bane jee
e
a!.. Eds.,
P oceedings
o
he 6 h Wo kshop
on
Languaws
and
Compile s o Pa allel Compu ing. Lec u e 1 o es in
Compu e
Science. ol. 768.
'lew
Yo k: Sp inge -Ve -
lag. pp.
184-199.
199:).
[8]
B.
Chapman
..
P. Meh o a.
and
H. Zima. ""P og am-
ming in Vienna Fo an."" Sci. P ug. ol.
1..
pp.
31-
:10
..
1992.
[9]
S.
Ili anandani.
K.
Kennedy.
and
C.
Tseng. ""Compil-
ing
Fo an-D
o
1 UMD
dis ibu ed-memo y ma-
chines." Commun. ACM. ol. 35. pp.
66-80.
Aug.
1992.
[10]
G.
Fox
..
S.
Hi anandani.
K.
Kennedy.
C.
Koelbel, ll.
K eme ..
C.
Tseng.
and
M.
Wu.
"Fo an
D language
speci ica ion.··
Depa men
o
Compu e
Science. Rice
Cni e si y. Hous on. TX
..
Tech. Rep. CRPC
TR
90-
141..
Dec.
1990.
[
11
J AppliPd Pa allel Resea ch
..
.
hp
e sion
2.
o.
[
~se
's
Guide. Place ille,
CA:
APR, 1995.
[12]
The
Po land
G oup. PGllPF -R(1e enee 1Hanual.
Po land.
OR:
Po land
G oup.
1994.
[13]
C.
H. Koelbel. D.
B.
Lo eman
..
R.
S.
Sch eibe .
G.
L.
S eele.
and
M.
E.
Zosel. The high Pe o mance Fo an
Handbook.
! umbe
1-2
in Scien i ic
and
Enginee ing
Compu a ion
Se ies. Camb idge,
MA:
MTT
P ess.
1994.
[ 14 J
S.
Wholey. '·Au oma ic
da a
mapping
o dis ibu ed-
memo y pa allel compu e s. in P oc.
o.
he
ACM
In .
Con
on
Supe compu ing. pp. 25-:1:1. 1992.
[1SJ
K.
Kennedy
and
li. K eme .. '·'Au oma ic
da a
layou
o high pe o mance
Fo an.
Cen e o Resea ch on
Pa allel
Compu a ion,
Rice Uni e si y. Hous on. TX.
Tech. Rep. CRPC-TR9449B-S, Dec. 1994.
[16
J
K.
Knobe,
J.D.
Lukas.
and
G.
L. S eel ,
''Da a
op imi-
za ion: Alloca ion o a ays o educe communica ion
on SIMD machines.""]. Pa allel Dis ib. Compu .. ol.
8, pp.
102-118.
Feb. 1990.
[17]
.T.
Li
and
M.
Chen.
"Compiling
eommuniea ion-d i-
cien
p og ams
o massi ely pa allel machines.··
/£.'£'£'
T ans. Pa allel Dis ib. Sys ems, ol. 2. pp.
361-375.
July
1991.
[18]
R.
Bixby.
K.
Kennedy.
and
U. K eme , ""Au oma ic
da a
layou using 0-1 in ege p og amming.
·•
in P oc.
o
he In .
Con
on
Pa allel A chi ec u es
and
Compi-
la ion 1 >ehniques, pp.
111-122.
1994.

94
A
YCliADE
F:T
AL.
[ 19] P. C ooks
and
H.
I I.
Pe o .
An
au oma ic
da a
dis i-
bu ion
1-!ene a o o
dis ibu ed
memo y
l 111 lD
ma-
chines.·· in H .
.T.
Sips. Ed
...
P o .
o
he
4 h
In .
IT
in-k-
shop
011
Compile s
o
Pa allel Compu e s.
The
Ne he lands: Del
llniw si y
o Technology. pp.
:3:~
++.
1
<)<);)_
[20] D.
J.
Pale mo
and
P.
Bane jee, ··Au oma ic selec ion
o
dynamic
pa i ioning
schemes o
dis ibu ed-menw y
mul ico npu e s.·· in
C.-H.
Huang
e
aL
Eds
.. P oc.
! " lw
S h
Annual
T o kshop on Languages
and
Com-
pile s o Pa allel Compu ing.
Lec u e
'io es
in
Com-
pu e
Science, ol.
103::1.
New Yo k:
Sp inge -Ve lag.
pp.
:~92-40(>.
1995.
[21]
E.
Ayguade
..
J.
Ga cia.
M.
Gi on >s
..
.1.
Laba a
.
.1.
To -
n·s.
and
M. Vale o. ··De ec ing
and
using a ini y in
an
au oma ic
da a
dis ibu ion
ool.'·
in
P oceedings
o
he
i h
Annual
Wo kshop on
T"nnp;uages
and
Gm -
pile s
o
Pa allel Compu ing.
K.
Pingali
P
a!.. Eds.
Lec u e
No es in
Compu e
Science ol. 892. New
Yo k: Sp inge -YP lag.
1994
..
pp.
61-7S.
[22]
E.
Ayguade.
J.
Ga cia.
M.
Ci oni·s.
M.
L.
G ande
..
and
.T.
I
.aba a.
'·Da a
Pdis ilm ion in
an
au oma ic
da a
dis ibu ion
ool.
in
P oceedings
o
he
~ h
An11ual
Wo kshop on Lanp;uuges
and
Compile s j(J Pa allel
Compu ing.
Lec u e
: o es
in
Compu e
Science. ol.
10::1:1.
: ew
Yo k:
Sp inge -
V P lag.
pp.
407
--±21.
1
<J<JS.
[2:)]
.T.
Pei .
··P og am
pa i ioning
and
synch oniza ion
onmul ip ocpsso
sys emS:"
PhD
hesis, l
lniw si y
o
Illinois a l1
bana
-Champaign.
1
<)86.
[2-±
J
C.
LPise son
..
F. Rose.
and
J.
Saxe
..
'·Op imizing
syn-
ch onous
cin:ui
by
e imin~.·
· p esPn !'d
a
hP
:) d
Cal ech
Con e ence
on
VLST.
CA. 198:3.
[25] K. Kennedy. K. , icKinle .
and
C-W. Tseng. ··Jn e -
ac i '
pa allel
p o~ amming
using
hP
Pa aScope
Pdi-
o .··
Cen e
o Resea ch on
Pa allel
Compu a ion
..
Rice
l'ni e si y.
Hous on.
TX
..
Tech. Rep.
CRPC-
TR
90096,
Oc . 1990.
[2l>]
A.
Gucis .
A.lkguelin.
J.
Donga a.
V. Jiang. R. : 1an-
chek.
and
.
SundP am.
··PY: I:-Iuse · s guide
and
e -
P ence numual.'"
Oak
Ridge
1 a ional
Labo a o y.
Tech. RPp.
OB'iL/Tl 1-12187
. . 1ay 199:3.
Submi you manusc ip s a
h p://www.hindawi.com
Compu e Games
Technology
In e na ional Jou nal o
Hindawi Publishing Co po a ion
h p://www.hindawi.com Volume 2014
Hindawi Publishing Co po a ion
h p://www.hindawi.com Volume 2014
Dis ibu ed
Senso Ne wo ks
In e na ional Jou nal o
Ad ances in
Fuzzy
Sys ems
Hindawi Publishing Co po a ion
h p://www.hindawi.com
Volume 2014
In e na ional Jou nal o
Recon igu able
Compu ing
Hindawi Publishing Co po a ion
h p://www.hindawi.com Volume 2014
Hindawi Publishing Co po a ion
h p://www.hindawi.com Volume 2014
Applied
Compu a ional
In elligence and So
Compu ing
Ad ances in
A i icial
In elligence
Hindawi Publishing Co po a ion
h p://www.hindawi.com Volume 2014
Ad ances in
So wa e Enginee ing
Hindawi Publishing Co po a ion
h p://www.hindawi.com Volume 2014
Hindawi Publishing Co po a ion
h p://www.hindawi.com Volume 2014
Elec ical and Compu e
Enginee ing
Jou nal o
Jou nal o
Compu e Ne wo ks
and Communica ions
Hindawi Publishing Co po a ion
h p://www.hindawi.com Volume 2014
Hindawi Publishing Co po a ion
h p://www.hindawi.com Volume 2014
Ad ances in
Mul imedia
In e na ional Jou nal o
Biomedical Imaging
Hindawi Publishing Co po a ion
h p://www.hindawi.com Volume 2014
A i icial
Neu al Sys ems
Ad ances in
Hindawi Publishing Co po a ion
h p://www.hindawi.com Volume 2014
Robo ics
Jou nal o
Hindawi Publishing Co po a ion
h p://www.hindawi.com Volume 2014
Hindawi Publishing Co po a ion
h p://www.hindawi.com Volume 2014
Compu a ional
In elligence and
Neu oscience
Indus ial Enginee ing
Jou nal o
Hindawi Publishing Co po a ion
h p://www.hindawi.com Volume 2014
Modelling &
Simula ion
in Enginee ing
Hindawi Publishing Co po a ion
h p://www.hindawi.com Volume 2014
The Scien i ic
Wo ld Jou nal
Hindawi Publishing Co po a ion
h p://www.hindawi.com Volume 2014
Hindawi Publishing Co po a ion
h p://www.hindawi.com Volume 2014
Human-Compu e
In e ac ion
Ad ances in
Compu e Enginee ing
Ad ances in
Hindawi Publishing Co po a ion
h p://www.hindawi.com Volume 2014