http://wrap.warwick.ac.uk/
Original citation:Gibbons, A. M. (1988) Dynamic expression evaluation in one of a class of problems which are efficiently solvable on mesh-connected computers. University of Warwick. Department of Computer Science. (Department of Computer Science Research Report). (Unpublished) CS-RR-131
Permanent WRAP url:
http://wrap.warwick.ac.uk/60827
Copyright and reuse:
The Warwick Research Archive Portal (WRAP) makes this work by researchers of the University of Warwick available open access under the following conditions. Copyright © and all moral rights to the version of the paper presented here belong to the individual author(s) and/or other copyright owners. To the extent reasonable and practicable the material made available in WRAP has been checked for eligibility before being made available.
Copies of full items can be used for personal research or study, educational, or not-for-profit purposes without prior permission or charge. Provided that the authors, title and full bibliographic details are credited, a hyperlink and/or URL is given for the original metadata page and the content is not changed in any way.
A note on versions:
The version presented in WRAP is the published version or, version of record, and may be cited as it appears here.For more information, please contact the WRAP Team at:
-Research
report
131
DYNAMIC
EXPRESSION
EVALUATION
IS
ONE OF
A
CLASS
OF PROBLEMS
WHICH
ARE EFFICIENTLY
SOLVABLE
ON
MESH.CONNECTED COMPUTERS
A M
Gibbons(RRl3l)
Ler P bc r recursively desc.ibed and dislriburable problem of size
n.
We dcscribeI
,:ererri sralegic apprcach whichwill
often makem
O(1n) paraliel time solutron of P possible on al
dimensionirl mesh connecred compuler with O(n) PEs. Such a solution is time oprimai. It is likeiv drat the class of such probiems is large and rviii conrain manv !har are
non-ri\-ial.
We show tha! such a problem is dynamic expression evaluadon. The melhodology is easil-vextendcd !o mesh-connected computers of arbitrary dimension to again obtain rime oplimal soiutions using O[n) orocessors.
Department of Computer Science
Unive6iry
of Warwick Coventry CV47AL
I T^i.a,-l Li na'l^h
a
Dynamic expression
evaluation
is one
of
a
class
of
problems
which
are
etticiently
solvable on mesh-connected
computers
A.M. cibbons
Department ot Computer Science,
LJniversity of Warwick, Coventry CV4 7AL, U,K.
Key Words:
€fficiBnt paral€l algorilhms, m6sh'connected compurer. dynamic €xpr€ss on svaualof,lst
fankng problem, recognilion of bracket and input driven anguages, divide arcj conqu€r.S1. Introduction.
Within lhe well'known P-RAM model
of
parallel compulalion, the class NC deiines lhe ciass cf effjciently solvable problems (see[3]
for example). Usinga
polynomial n!mberoi
processors. such problems can be solvedin
polylogarithmic parallel lime. Within the constraintsof
current lechnoiogy,it
is nol always possibie to attain such time complexities becausea
lower bound lor feasibie parallel archilectures (e.9. shared memory SIMD machines such as lhe mesh-connecledcompuler)
is
naturally O(r), wherer
is the
maximum palh length wilhinlhe
architeclure over whlch messages have to be passed between the co-operating processors. We show in 54 that theprobiem
of
dynamic expression evaluation belongsto
a
(probably large)class
of
problems(defined
in
S3)
which
are
efliciently solvable
on
mesh-connectedcompulers.
Here,
anelliciently solvable
prcblem
is
a
problem whichis
solvabiein O(0
parallel time using Cln) processors. The mesh-connected computeras a
modelior
parallel computation is well known[1,2,6,7,8,10].
Our
presentation
will be
for
lwo'dimensionai
mesh'connected compulers(MCC2s),
wherc r=O(./n). GeneraLisationlo
arbitrary dimersionis
slraightforward.Let P, a probiem of size n, be djstriblted across a l,4CC2. The nodes of a graphical representaljon
ol
P \lhe'prablemgaph')
arc mapped onlo lhe processing elemenls (PEs) of al./n-d.in-mesn.
Iniliaily each PE stores
at
mostone
nodeol
the problem graph. Alongwilh
sucha
node are addressesof
PEs where nodes adiacenl in the problem graph are stored {the problem graph jsusually
of
constant-bounded degree). There rnay also be capacily to slore a consianlvollme
of addilional informalion associatedwilh
a
node. Now let Pbe
recursively reducibleto
msmiar
problems, 1<m<b, each
of
size ([n/b]+c) where b>2 and c>O are inleger conslants. From thepoint
of view
of
delermininglhe
time
complexityTin)
for
P, we
generally needto
solve arecurrence relation. The delails
of this
recurrence, and therefore the explicit formoi
T(n), will3
S2.
An
introductory
exam
ple.
As
a
simple
introduclory examplewe take
lhe
probiemof
evaluating,al
x=n. tne
general polynomial p(x) of degree n, where:p(x) = a0+ a1x + a2x2+... + a^xf
For ease
oi
presentation we assume herelhal
n=2kI
for some integer k.We adopt a lamiiiar mode
of
evaluation in which p(x) is recursively described as follows:P(x)
=
P'(x)+x(n+1)zp'(x)where
p'(x) and p"(x) are
similar polynomialsof
degree 2k-1,1.The
following provides an (equivalent) ilerative evaluationof
p(x)at
x=h.I
Xen
2
d
4n
-1)t2
3
repeat
until
d=0
beg
in
4
tor
o<i<din
parallel
do a
(-2i+x
a2i+lc
x(
x_6
d
<d-1)/2
end
Consider implemenlation on an N4CC2. We provide each pE oi the n1,'2)ol,'2 mesn wtln one oi
lhe
conslants ai and wilh lhe values
of
n and h. Within the computalion each processor repeated y recompulestts
a,
x
andd.
When d=0lhe
resLtitof
thecomplta|on is
foundin the
regislerstoring
ao.
Each recohpulalionof x
afd
of
d
lakes conslant time. Each recomputalionol
airequires
lhe
valuesof
a2j and a2t+1. Thesecan be
acquired fromtheir
associatedpEs
bVsuccessrve applications
al
the Randon Access,gead procedure (RAR)oi
Nassirni and Sahni 16l_1vr'e adopt the inpur convenlon thal pEr is associated with the parameter ai). Each appiicatlon of
RAR
takes O(nl/2)
parallel lime.
Srncethe
numberof
repjlitions
involveotn
lne
repeal stalement ls O(Tog n), we have described an O(n1/2 log n) implemenlation. We can nowever dobeller than lhis.
Noticelhat
each iterationof
ihe
repeat slalement reducesthe
size,of
lheproblen (thal is, the number
of
processors ihat need to be active) by a faclorof
1/2.
ll
wiil be convenienllo
conkive
reductionby a
factor
of l/4.
This
is
easily done
by
making eachireration conrain two assignments oi the kind indicaled in line 4. Now take the pEs to be indexed accordjng
to
shulfled rownajor
order (see for example Nassimi and Sahni [6]) lhen after eachIterarion in which lhe problem size is reduced by a facror
of
1/4, the active processing eremenls are conslrained to occupy a square of the mesh which is 1/4 the originalarea.
See figure1.
Theaflect
of this inlhe
ith ileration is to reptace the cost (O(n1/2))ol
applyinglhe
RAR procedurei/2xi/2
mesh of PE3
4
E]proceg!ors
E
processorsElproce3!ors
Elprocessors
mrde idle
liter
1!t itersiion
mqde idle
lfter
2nditer€tion
m6de idle
lfter
3rdilerotion
m6de idle
6ft€r
4thiterrtion
53.
A
class
ot
efticiently solvable
We show here
lhat
many problems observing certain stralegic delails, loforn
lhe class defined here.Figure l
problems
lhe
genefai description gavento
p
in
S1 are likety, by efticjentJy solvable ona
MCC2.il
is lhese prootems tnal ofoe
The technlque employed
in lhe
eificient implementationof the
algorithm described in52
reLedessentially upon shrinking (by
a
constant factor) the space physicaljy occupied by the problem during each ireration of the body ofa repeat
sratement.lf
at an arbitrary lime the problem sizets s,
the
recurrence relalion for the parallel compulatlon lime, T(s), is given oy:T (s) =T ( s/4 )+ O (s 1/2),
T{s)=0.
s>1,
i)
As we
sawT(n)=
O(n1/2).Wilhln
our
examplethe
compressronof
successtvety proouceo problems inlo smaLler sqlares was made possibleby
ndexing the processing elements accordjnglo
shuflled rowmajot
otdet.
Forthis
problem we contrivedlhat
compression along with new problem creationlook
O(1) time. New problem creation and compression mayin
generat be separale processes.In
general(for
similarly solvable problemsin
which m=1. b>2, c=Ol wecan
performlhe
conpression
in
O1s1/2) paralleltme
ailer
new problem crealton Lrsrng the techniquesof
16l. Provided new probtem crealjon also takesO(sl/2)
parallel time, as will oilen be the case, lhen (i) slill holds and we have aigorithms of optimal time compiexity using n pEs.Now consider
the case in
which m>1 ('divide and conquer'). Ltis
trivialio
observethat
anv problemol
size s whichai
each levelof
recursion is djvided into4
(or less) slmilar problems ofsize
at
mosts/4 will
satisfy(i)
providedthal
this divisjonof the
problem andthe
subsequent assjgnment of each crealed problemlo
its own quaner of the pE mesh can be achieved in O(s112)parallel time. In 52 a specious method was used to concentrale the newly created problem. ln ihe general case, the problem
ot
assjgning each of ihe created problems lo iheir own quaner of the processing meshcan be
solvedby an
applicalionof the
connected components algorithm ofNassimi
and Sahni [7]. This
is
becausethe
connecled componenlsof lhe
probtem graph correspondto lhe
subproblems. Unlonunatelylhis
takes O(s1/2 log s) parallel time on a MCC2for graphs
of
arbilrary bul fixed maximum degreea.
There is an exception (seefl)
when a=2,5
improvement over lhe cas€ without ,compression'. lJsing lhe besl known connecled components algorilhm brings no improvemenl untess A=2 for which case we shonty glve (in a more general
selling)
an
example.Of
course, individuaily,lhere
mayexisi
specious melhodsior
effjcient compression just as lhere was for the exampte of 92.A modified shuffled
rov
msjori ndexing 3uilEble
for
b=3Figure 2
A
natural generaisatlonof lhe
foregoingwth
m>1 (we have dealt with m=1)ls
lo
replace lhefactor
of
1,'rt
n
(i) by
1/b whereb>2
is a
conslanllnleger.
Here,within
each tevelof
the recursion.a
problemof size
s
is
replaced with {upto)b
sirnilar problemsin
O(s1i2) paratlel 1ime, each probiem ls of sjzeat
most s/b (without loss of qenerality we can take s=bl for someinteger
l).
The
initial diiiicuny wilh
this
is
how
to
panition
the
processing etement mesn sysremarrcalry so that each recursively created problem occupiesa
square and such that overailn
PEs areslili
sufficieft for an Olsl/21 time computalon. Nowno
onger daes lhe shulfled rawmajor irdex
ng
basedon
binary consideralionswilh
an
allendant
recursive divisionot
the processingelemeft
meshinlo
a 2\2
matrix serve us well. flowevera
modilied shut'fled rcwmalat
rdextrg
sutis our needs. What we require ls an indexlng such lhat lhe square area (of s PEs) is recursiveLy djvided into a bxb
malrix, each sub-square of the mesh occupytng an areaof
consecutively indexed s/b2 PEs. Each such sub square may then be occupted by one of theproblems produced
afler
a
double apptica|onof the
problem division procedurewilhoul
an overall demand for more PEs. Figure 2 shows lhe indices of the first few processing elements for suchan
ndexing wilh b=3.We now consider the general case thal each probiem oi size s is recursively replaced by at rnost b
similar problerns each of size at most : s/bl+c where b and c are conslant integers, b>2 and
e1.
We
molivateour
constderationsby
descrjbinga
simplebut
neverthetess architypal exampie known asthe
listrcnking
ptablem.Given
a
lisl of elemenls, the list rankjng problem is to associate with each elemenlia
parameler L(i) such that L(i) is lhe dislance iromito
rhe headof
the tist.lhe
standard P-RAM techniquethat places
the
problemol
list
rankingin
NC is thalot
recursive doubling onlhe
list pointers. Figure2
showslhe
technique fora
listof
seven elemenls. The ith elemedt hasan
associatedpointer
P(i) which
inilially pointsto lhe
next elementof lhe
tist.With p(i) we
associate L(i), which islhe
currenl dislance along lhe llsl lrom the elemenli
tolhe elemenl
which p(i) points to. At the outset ol the computation lhe situalion is then as illustrated at lhe lop of iigure3.
Here0 1 2 9 10
ll
l8
5 12 21
6 1
I
15 11b
L(i) labels
P(i)
The
samefigure then
showsthe p(i)
and L(i) after
successrve rterationswilhin
the
aigorithm.ln
each
iteration,fo.
all
i
in
parallel and provided each particular p{i)does
not
yel
poinl
10 the head of thelist,
lhe
processor associaledwith
elementI
makes the__-r....--.__--j...--
. t
_
/\
.
(
Y
](
y
r-_+__l
lC
----
'
\-/
4-
-,---)^----<
'
t---t1=--I---"--
o
[image:7.595.167.424.120.365.2];-=-...----/\,J
Figure 3
assignmenls L(i)eL(i)+L(p(i))
and
p(i)ep(p(j)). Atter
i
iterarions
we
have
rhat
p(k), unless it poinls to the head ol the tist, pornts 2i elemenls alonglhe
jst komL
Thus afler rtog2nl iterationsall
P(i) poinl rolhe
headoj ihe
tist. Moreover, R(j)=p{i) fora
i.
Thuson
a
p
RAl,lthe
list
ranking problemis
easily sotvedin
O(logn) time with
n
processors (detaitsot
the rnplemenlation are obviO!s).lf
j
is at the
headol
the list,
after each iteration withinlhe
algorlthm descrlbedalt the
pi)
except P(j) forrn
a
number of directed paths termirating atj.
After each doubling operatjon, the nurnberol
these palhs isal
mostdolbled. lr is
naturalto
ulilise thisln a
recursrve sorulon rothe
llsl
ranklng problem. Eachol
the probtemsoi
size s at one levet of lhe recursion gel dividedinlo
al
most two problenrsof
sizeal
rnoslis/2]+1.
To obtain stricy
disjoini problems we just have to copy lhe element al the head of the original list into each newly created list. Nolice alsothat
the
problem graphwill
have A=2. Here thenis a
simple exampleof th€
typeof
probtem which has pararnelers b=2 and c=1. As for the problem in 52 we can easily contrive that b=4.Lel us return to lhe generalised lorm of the problem. At the outset we have a problem of size n.
the
tirst
levelol
recursion eachof lhe
(up to)b
problems havesize
([n/bl+c)<(n/b+c+I ),lhe
second levelof
sizeat mosl
n/b2+{c+1)(l+1/b) and soon.
In general,at the ilh
level recursion each of the bi problems has size bounded by ps{i):--
r:r
^,ri., ^.
.,s
ps(r)=n/D'+(c+1)2ii_9
1o,_1(1/b)r=
n/br+k(1,1/br)
wherek
=
b(c+1)/(b-1)oi
7
Notice that below
a
ceriain levelof
the recursion, this estirnate doesnol
reducelhe
lintearat) oroolem si2e.A
mrnimumis
reached when r'1-,()/bis12. al
wnich pornl:i:
logb2(n-k)
and
psm n" ik
(ii0This
providesthe
valueof
ial
which the
recu.sion botloms-outand
at
wnichthe
residuai problem is solvable in constant time. Consider now implementation on a [,4CC2. At lhe ith tevei of recursion, as ior the case with c=0, we store each problemof
size ps(i) over lr/bipEs
arranged ln a sub-square of the mesh. In lhe case that c+0 however, instead of a singie node oi the prob emg.aph being stored at each PE, we now store up lo k nodes of this graph at each pE. In other words
lhe
problem,of
size
ps(i)< n/bi+k,is
storedover nlbi pEs
andwe
nolethat
it
is an
easy technicai problernto
storethe
additional<k
nodes evenly overlhese pEs.
Now, wilhin eachappllcation
of
lhe
problemdivision
procedure,each
pE
(in
parallel
wiih the olher
pEs) processes in sequential fashion the nodes of lhe problem graph thal are stored at thai pE. S nce there are at most a conslant number of nodes slored at each pE, lhe order of lhelme
complex[yoi
executing the problem division procedure will be the same as ifa
single node of ihe problemgraph were stored
at
each PE. Nolicethe
inconsequential lechnical difticutty that wrthin lhe process ol sequentiajly handling nodes of the problem graph, care has 10 be takenthat
the eiiectis the same
as if
they had been handled in para lel. This is easily achieved (at the expense ol Increasrng tne slorage space reqlired at each PE by at nost a constant) by (in eiiect) keeping and not corruptjnga
copy of the problem graph oulpul trom lhe prevous appiicalionof
the problem division process whist conslructing lheoulp!l
from lhe current apoLicalion.The foregoing paragraph justifies the ctaim thal. using the same number of processors, the order
ot lhe parallel I nre compjexily of a problem with lhe integer parameter c>0 is lhe same as
lor
asimilat problem with c=0. Thus, for example, our list ranking problem has an efJiclent sotulion because
ils
equivalenl problem with c=0 has a problem graph with a=2.54.
Dynamic
expression
evaluation.
Consider now the problem oJ dynamlc expresston evaluailon. We shall see
that I
fails wilhin ourclass
oi
efticiently solvable problems on a MCC2. Dynamic expressron evaiuation js the prob emof
evalualingan
expression with no free preprocessing. This problem has been considered inlerms
of lhe
P-RA|\,4 by f,4iller&
Reif [5] and by cibbons& RyIer
{41. The algorithrnof
[.1] canbe made
to
runon
a
P-RA|\,4in
O(logn)
paratlel time using O(n/log n) processors. We brjeilyoutline
a
simple version
herewhich
wouldrun in the
sametime
on
a
P,RAM using O(n) processors. As we shall see, such a version of lhe algorithm has a MCC2 impternentation taking O1n1/21 paratlellime with
O(n) processors.The input
from
leltto the
lo
righlalgorithm is the expression lree. The iirst lask is
to
rank lhe teaves of the tre€o
shown in figure 5(a).
wilhin
rhat figure each leaf has an associated integer(its
rank) and rhe number shownin
brackets islhe
value associated withthal
leaf. The rankino orthe
reaves iseasily achieved
by an
applicationof the
Euler tour techniqueof
Tarjan and Vishkin ([9], alsodescribed
in l3l).
wilhin this
techniquewe first
constructthe so,caled
traversar ristor
rheexpression
lree (if we
associalea
processor with eachof the
nodesof
rhe binary-rreeof
the expression,this
rakes constanr timeon
a
r,{cc2).
Each leaf appears exactly once on thrs risl(other nodes appear three times each) also the leaves appear in lhe same order as their reft
10
right ranking in the lree.
we'mark'the
leaf elemenrs and then, by a simple adaprarion of the list ranking procedure, we rank lhe marked elemenls on the lislto
complele ihe pre-processing. Alllhis takes O(n1/2) parallel time with O(n) processors on
a
MCC2.The algorithm now consisls
of
repealedty applyinga
so_called leaves-cutting operation, within each such operation the number oi leaves in the lree is reduced by a iacror oi one hall. Evenlualry the tfee is reduced toa
single node at which time the expression has been evalualed.A
sing eleaves'cufiino operation consisrs (as we shair see) of the paraler removar
oi
some reaves of therree.
we
rherelore introduce lhe operation by firsr describino how a single leaf may be removed,,d..u.
(f.t,D
,/
,,,'K',"o
[image:9.595.126.478.363.528.2]1(fr{x))
vr(c)
Figure 4
by
a
tocat reconstruclionof
the lree.
Sucha
local reconstructions
illustratedln
fjg.4. Thisligure shows
the
removalthe
singleleai
v2.At
each internal node viof
the tree we slore anassociared funcrion' fi(x), which (when evalualed ar x=[value
ot
rhe sub-expressron assoclaredwilh
lhe
sub-tree rooted atvj)
represents lhe vajue to be passedto fathe(vJ
in the evaluationol
the
expression.ln
the
courseof the
compulalion,it
is an
invariant (we only consider theoperalions
+,-,'
and/)
thal
eachii(x)
hasthe
generajform fi(x)=
(atx+bi)/(dx+ei)
whereai, bi,
di and ei
are nunericalconslanls
which are recomputed whenevera
leat (which is abrolher
oi
vi)is cut.
Thuswe
can represenl eachfi(x)
by
sloring four numbers. lnitially, forall
i,
ai=ei=1and
bi=di=0.
Thereafter,if we
havethal
fj(x)=
(a1x+b1)/(d1x+e1)and f3(x)=(agx+b3)/(d3x+e3) and
if a
single cuttingof a
leaf requires (see figure 4) thatwe
recomputea1=((asoc) a1+b3dt
)
bj=((a3oc) ar+b3or) d1=((a3oc) a1+b3dl)
e1=((a3cc) a,+o.0,1where
o
is the operalion at iathe(v2). When lhe treeis localy
reccnsliucled icorresponoLng tothe cutling
of
leaf
v2 of
figure
4)
by
lhe
movementof a
(conslani)
numoerot
falher-sonpoinrers, these recompuled constants ensure
that the
varle
represefted byrhe newtree isthe+
(e)
,(>
//+\
s(3)
7(2)tl,rr.\
3(r)
4(1)r)
14(3) 15(1)
\"
/ \
e(2) (1)// \
r3(4)1At2)
12(1),)-{t'
\>
6<2Y
8(1)
I
ta<D
/
(1)
(b)
/x\
6(2)+\
s(3)4(1)
,'-\.-'
/t\.
16.")
./\
r+<:1;'\
\+.(+x+:)
,/ r
B(2)
,/ \
,/ -r^ ./ \
,
t/3"1 ""'
to'2)
1 2l1 )
2(1
)
4( 1)Figure 5
same as thal represented by the original. Naving descrlbed how a sinqle leai may be cut, we no!!
describe
lhe
operation
of
parallei
leaves-cutting. Beferring
to
iigure
4,
if
we
detineinvolved(v2)-{v1,v2,v3} lhen
we
say that two operalions cul(v) and cul(v.) are independenl lf involved(v)n
lnvotved(v)=9. Any setoi
paiMise independent cut operations can be performedin
parallel.A
sulficienl condition that cut(v) and cul(v') are independeni is that bothv
and vare
non-consecutive leavesand
thal bolh righl
or
bolh left sons. We
therefore detine the [image:10.595.95.490.203.652.2]'1 0
f.
in
parallel cut all odd numbered leaves which are lett sons2. in
parallel cut all odd numbered Jeaves that are right sons3. in
para el
divide the 'rank'ot
each leaf by lwo.On the
leil of
figure 5(b) islhe
resuttof
applying step 1lo
the expressionkee of
figure 5(a). The result of then applying step2
is shown on lhe righl.
Slep 3 ensures lhal the teaves of lhenew tree are
rankedkom lefl
to
.ight
beforethe
next jleration.Sleps
j
and
2
arc
cleaiy
achievableO(nl/2;
parallel time with n processofson a
f,4CC2, since both are achieved with aiinile number of rhe RAR and RAW operations
oi
[6]. step3lakes
constant lime. ln lhe execu|on of steps 1 and 2 we mark as'dead'rhose nodes which do not ligure in the newly constructed tree.It
lakes
O(n1/2) parallel
lime
(usjng iechniques
from
[6])
to
'compress
lne
new
tree(consisling
of
the live
nodes oniy) before
lhe
next iteration.
In
fact,
if
we
perform twoleaves'cultlng operallons before each compression operalion, lhen
lhe
recurrence retalion torlhe
time-complexity T(s)ot lhe
whole algonlhm (fora
treeot
sizes),
salistres(i)
and so we have the resun for dynamic expression evaruarion stated in s1. rt forows that rnere are erticient MCC2 algorithms also for the recognition of brackel andof
inpufdriven languages (see {4j).Reterences
[1] M.J.Atallah
&
S.E.Hambrusch. Solvlng tree problems ona
mesh connected processor array. Proceedings of the IEEE Symposium on the Foundations of Computer Science (1985).[2]
M.J.Alallah&
S.R.Kosaraju. Graph problems ona
mesh connected processor array. JAClvt.Voi.31.
No.3,
649-667
(1984).[3]
A.M.cibbons
&
W.Bytter. Efflcient para
el
Algorilhns.
Cambridge University
press(1sBB).
[4] A.l"l.cibbons
&
W.Flylter. Oplimat parallel Algorithmsior
Dynamlc Expression Evaualjon and ContexfFree Recognition. To appear in Information and Controt {j988).[5]
G.L.Miller&
J.Reif. Parairer rree conrracrion andits
apprications. proceedifqsof the
rEEE Symposium on lhe Foundations of Compuler Science (j985).16l David Nassimi & Sanaj Sahni. Data Broadcasting in Sll\,4D Computers. tEEE Transacrions on
Compulers. Vol. c-30, No.2, Februarv 198i.
[7]
David Nassimi&
Sartaj Sahni. Finding Connected Components and Connected Ones on aL4esh-Connected Computer. SIAM Journal
of
Computing,
744-757 (1|g11l.[8]
Y.N.Srikanl. Patallel parsingot
arilhmetic expressions. IEEE Inlernalionar conrerence onparallel computing
(1987).[9]
R.E.Tarjan&
U.Vishkin. Finding biconnected components and computingt.ee
tunclions inlogarilhmic parallel time. Proceedings
of
the IEEE Symposium on the Foundaljonsof
ComputerScience
{1984).110l C.Thompson