Fault tolerant aspects of a dynamic dataflow architecture — PATTSY

Fault tolerant aspects of a dynamic dataflow architecture — PATTSY

Microprocessing and Micropr~gramming 32 (1991) 243-252 North-Holland 2~3 Fault Tolerant A~poc~ of a Dynandc D ~ f l o w A r c h i t e c t u ~ - - PA...

1MB Sizes 0 Downloads 39 Views

Microprocessing and Micropr~gramming 32 (1991) 243-252 North-Holland

2~3

Fault Tolerant A~poc~ of a Dynandc D ~ f l o w A r c h i t e c t u ~ - - PATTSY V.Lak~hnfi N ~ m h a n

~nd T.Down~

Intelligent M~chines L a h e ~ t o r y , D s p ~ m s n t of Electric~ Engincering, Univenfi~y of Quesn=]aud, Q~l - 4~72, ~

.

One of the very si~fiflcant potential ~ v o n t ~ e s of multiprece~or computing ~ t e m s is the p ~ i b i ~ of ~ f u l degradation in the p ~ n e e of fan]re. P r e r e ~ u k i ~ for fault t~erauce in m ~ t i p r o c e u o r ~ ~ ~n ~bi]ity to ~ locate node and link f ~ u ~ , detection and p ~ v e n t i o n of e y ~ n de~ul~oe~ and, algorithms for ~ t r i b u ~ r . I u ~ , rollover and reecheduling of the v ~ o u s pro~-~n modules. T h ~ p ~ r d e ~ w~th these i ~ u ~ in the c ~ u ~ of on a l ~ v ~ mu~tiprooa~ing system, nmn~ly, the dyn~n~¢ dataflow ~ m . The machine described in gh~ pop~r emp~y~ ~ switching protocol, n special ~rbitor c~led the ba~shing ~rbiter and a new bu~ s t ~ : t u r e . S ~ v e ~ n~v~ a c ~ have a k o ~ n implemented to deal with the v~-~ou~ ~ u e s of fault t~erance in the ~ t ~ n . I t is shown in the ~ t h ~ our ~ ~'~ &considerable d e ~ of fault t o l e ~ n e e when compared w~th moat other d a t ~ o w s y ~ n ~ ~ ~/~ ~t. ~O][IDS:

Dntallow computing, Batching ~'biter, ~ o v e r

1. ] ~ F ] ~ O D U C ~ O N

A number of industries such ~ o c t o p i : e , telecommunications and mi~g~ry employ syeten~ which are subjected to high f a l l u ~ x'~t¢.~due to Imagenumber of components involved. In such ~ppllcation~, the ~ . ~ t ~ used mu~t meet the m ~ n f i a l requirements of a h~gh throughput and fault tolerance. Mul~proce~mg ~ t e n ~ , inherent to their f u n d ~ n t a l philo~phy, offer a high throughput but, the provision of fault r o l l . n e e in such systsn~ poses formidable challenges to over~l ~yetem development. T h a e e h ~ l e n g ~ provide distributed eyeter~ with flexibility aud ~oceful d e ~ r ~ n t l o n [5]. Recent r~enrches, however, have indicated t h a t conventional m u l t i p r o c ~ i n g systems ~ ~veral defisisnc~ in terms of both he~lw~re nnd ~ o f t w ~ . Among the novel techniques employed to perform multlproce~ing, the d a t ~ o w model of computing offer~ radical yet clean solution to runny prohems. A t the University of Que~nelaud a machine called P A ' ~ ' S Y (Procemmr Array T ~ e d - T o k e n S Y s t ~ ) is b~ing developed which euppo~'~s the d ~ u ~ c nu~lel of d ~ ; ~ o w e~ecution. This pnpor de~.rib~ the various fault tolerant ~ p e c t s of the PATTSY m ~ i n e with p ~ | © u l ~ r z ~ e ~ n c ~ to I) the way link and node fedlures are h e n ~ l , 2) deadlock detection ond prevention, 3) a fault to]erent bus system and 4) d~tribut~d checkpointing ~ rallover algorithms required to effect graceful d e ~ d a t i o n . I t shown in the paper t h a t the PATTSY m~chiue offe~ a significant d e ~ e of fault to|er~nce when compared with moat other dnt~fow e~sten~ prepoesd ond[o~" bu~t. The paper k o r ~ m ~ e d ~ follow~: Section 2 d ~ c r i b ~ the b ~ | e s of the d~;~r~ow model of computing which is foliowe~ by a brief d~cription of two well-hnown ~ : h i ~ c t u m in x c t i o n 3. Section 4 describes the o s t e n t a t i o n of the

n~.han~n, Deadlock ~ f i n ~ i ~ u ~ d F ~ t ~ ,

PATTSY n ~ e per R . f ~ c t ~ n $ details the fault tolerant f e ~ u r ~ of PATTSY ~ . l ~ the al~rithn~. ~on 6 p ~ R n ~ the current s ~ of pro~oct. The conclusion s u n ~ n ~ ' i ~ the p~per ~ ~o ouUines further r ~ n r e h work in this 2. OV~.¥~w ~UT~N~

OF T ~

DATAFLOW ~

The detnflow model offema ~ . yet p o v ~ - f ~ ~ t s m a t i v e to ¢onventlonal m u Z t l p r o c ~ n g . The model h ~ its o r i o n in convenglon~ computlng, yet the idea is g o r i l y different. There is no notion of n loon= of cmatr~ (e.g. a program counter) or loci of control ( ~ in nficropregremmed computsra). ]~etL'uctinn ~ e c u ~ n and flow of d a t a m'e not explictly c o n t r e i ~ ~ a. c.~m~at location. |nlts~ut, the flow of" c o n t r ~ is incorporated in the flow of data. The flow of'data, in turn, is by d a t a dependency c o n ~ l ~ i o n ~ . This ~ qulto u n ~ u r a ] way of ~ o c u t i n g a p r o g r ~ which i n c r e ~ ~ n u n ~ r of p ~ - ~ l octivitkm, thus l e ~ n g to n new l x ~ k f l technique. Conventlonad p r e ~ - m n n ~ 1 ~ ~nd e~npU~" ~ . h n i q u ~ esn be ~ ¥ a u ~ to ~ t~ d ~ f l o w p~-adigm. Conv~e~y. d ~ f l o w a n ~ y ~ can be u ~ d to so~ve conventional ~ t w m can sti|l be ~ to try out this evolutionary, g ~ g h z ~ H c ~ y d ~ ' ~ n t c~nespt. ~n the detal~ow n ~ e l , a pz'~ram is often repruonted by a graph call~i the D ~ Flow G ~ (DFG). For ex~np~e, F ~ J ~ w ~ the DFG for the func~ion which r e t u ~ the y t h l a t e r a l p o w ~ of an i n ~ x. A D F ~ is formally defined tub a ~ f i ~ c ~ , q r ~ c or ec¥clic ~ r ~ h ~G) t o n e , r i n g of arcs and n ~ . The of the DFG ~ cal|ed 'octon~' {A) and the ~ ire c~d ' . n ~ ' {~).

244

V.L Narasimhan, 7". Downs

The ac~r~ rupee'.eat n epec~ic operation to be perfornu~ ( ~ y , ÷, e), while the ~nk~ represent the path in ~ c h the d ~ a flows from one ~ctor to another. BecauSe of the need to look a f t " n o n - c o n f u t a t i v e operations such i s sub,motion and c~vieflon, the links that tcrndnate on an actor cn~t|tu~e an ordered sat of input llnk~ go the actc~; the ~ that ~ n a t e from an actor constitute an c ~ ~ t of output finks. The state of computation in ~ ~ n by p l ~ [ n g ~ token on the ]inks of a DFG (in~c~tad in the f~gure by n dot on the lin~). F~ecution nu~e~ed t ~ u g h the continual piecing and removing of tc~e.~ on the ~ of the DFG. T h ~ proee~ is achieved ~hrough ~ e T ' ~ ' of actor~; the firing of an actor ca~ed an event an~ it take~ place according go a ~ of F~ch ~ k e n ha~ an a ~ c i a ~ d data va~uo and/or a conCe~o~value. The f'~ng of en ~ctor ~nc|udes app|ying a ru~, c h e f . t i c of the actor. T h ~ defines the v~uee of gokan~ placed on th® output link~ in ter~r~ of the values of ~ tok~u~ o r i ~ y on the ~nput |inks. The firing of ac~r~ c~ntinuu until all required firing of ~ctore i~ c ~ e t e d , ~ e r e b y r u n n ~ g gbe program go completion. The dataflow mode] er~hlbi~s the following prope~¢'~em: ~) ~ m c h r o n y , 2) concurrency, ~) pipeline p a r e ~ m , 4) spatial pare~ellsm, 5) production of wallb e h a v ~ l ~ ' ~ n ~ . 6) f u n c t i o n a r y and 7) detergrdnacy. The ~ e f l can be subcluelfied into 1) static and ~) dyne~rnic n u ~ e b . In thi~ paper we are more in~eruted in the dyn~r~c dagaflow mo~el becnuae I) the dynamic model exp~o~ ~ forn~ ofparallel~n and 2) the PATTSY aysf~m~ is a dynanfic machine. The dynunic model an~floy~ extensive t a p to the data and control tokens and the hatching of t ~ allow~ identification of data packets re~a~ing the sn~ne instruction. S.

~ O W ~

D~AMXC

DAT&FLOW

A

The Manchut~r n u ~ i n e [5] and Axvind machine [~] ( b ~ b ~ t a~ ~ T ) are two wall-known dynamic 6 ~ o w en~c~,~. The Maneheeta~ machine ~ organieed in the fo~'mof n unid~actional circular pipeline cone~ting of n token queue, & nu~tching unit, a node store unit (whore the in~tz~ction~ ~ be~d) and n x t of Preceding ~ t ~ ( P ~ ) which e ~ hectically simple ALUm. The Meu~..hee~ernu~chiue hem avery low fault tolerance because of th~ fo]~ov~ng r e a r m : 1) these ~ only one eenu~unieation ~nk per PE0 ema r~ult, llnk failures r~ult in p r o U a ~ being s b o ~ , 2) che~.~poinging of data is not ~b|e b e c u u e of the l~ck of sufficient r~snary specs, $) f a i l ~ of the one of the uni~ in the system reealt~ in ov~alJ s y s ~ m failure, ~) tbe P ~ have no direct e c c ~ to g r ~ n o ~ and 5) the p~ig[~-~ natuee of the P ~ do no~. ~ t a ~g~acefu| ~ n t ~ o n ~f the system in (;he Arvin~'e nu~h~n~ consists of ~ v e ~ PE~ connec~ t ~ a g~obal mult~t~ga interconnection n~tw~k to ~he h ~ t . The PF.~ contain n token queue, unit. ~ memory and n epacial structure n~ano~ and a m ~ a g a d cont~o~ar. The herdwaro contemPT of ~ P ~ of t h ~ mach~e are much higher f ~ n m ~ t other d y n ~ : ~ . The P ~ have only one c~n~un~e~i~n ~ k and f u ~ e r , tbe fink~ m u n ~ t ~ ~eby ~ i n g go poor link-level f ~ i t to~c~. T~chnicaHy, the com~c.i~y and the ~erge n~.n~ry c~pac~y of the PE~ ~ n ~ t u degree of acftwere

fault tolerance to be achieved in the machine. However, the complexity of this system hem delayed its physical implementation but, even em a paper design, Arvlnd's machine is unable to recover from a P~ failure [1~]. To our knowledge, not much reeeareh hem been done on the fault tolerant ~pects of the ~nachine. ~. THE P A ~ Y

DYNAMIC DATA]PLOW M A ~

PATTSY is n dynanfic dataflow architecture which constitutes something of n compronfiee between the Mencheetcr machine end Arvind's machine in terms of p r o c e u o r complexity and orgenieatlon of the interconnectlen network. As shown in Fig.2a, PATTSY consists of a hect computer connected to a e~t of f r m n ~ of PF.8 through a frome selection switching network (FSSN). 'J'be host is reepeneiblo for the compilation and distribution of programs to the PEa. Each fren~ consists of a two dimensioned hexagonal array of PF.s u chown in Fig.gb. Routing tokens to the appropriate PE is done through the four networks on the four sides of the array. These networks ere called .~w selection networks (RSNe) end eolurrln selection networks (CSNe). Actually onepalr of ILqN and CSN are sufficient for switching but another pair has been added to enhance the speed of communication and i~tprove fault tolerance. general node in the array hem eL~ neighbeura. The links connecting the nodes are bidirectional. The evailnbility of the links are eoftwere progranunable and a wide variety of topolo~es can be effected with the system. A hexagonal structure werechosen over n regulm" rectangualar structure becauee o~~he following resorts: I) maximum inter-PE die,ante is le~e. For a regular rectangular m X n array, the mexJmum intar-PE distenee is (re÷n-2) (acro~ the dil~gonal). In a hexegunal structure0 diagon~d connections reduce the mL,draum inter-PE distance to (Km÷n)/2[ ÷ I). 2} hardware fault tolerance is improved because mu~t;ple links provide many different ~nye to reronte tokens in the p r e ~ n ~ of llnk and node failure. $) t~ek allocation a~d n~gration ere emeemy go implement ~ in other sgruct,~es and 4) since the datMlow computing model exploits the locality effect 1 preren~ in m~,y p~'osrarns efficiently, gocaliemd rerouting reducee ewitchint~ time (a~ compared to global switching networks) and enhances the host computer's pe~ormance in handling other j o ~ . A'~.msthe overhead of the host towards process management is abJorbed in pr~mitic'e hardware switching ne~wocks. As shown in Fi~.2c eech node ¢onelsg8 of two PF~, one is n dedicated communication preceuor (CP) that hendlee token comme~n~cagion between it~ neighbouring PF~ and the other ~s a functional p r o c t o r (FP) that mainly does funct:.on evaluation. The CP accommodat~ n queue buffer, structure handler, statistical m~mary, debugging tooh~ ~nd n speciai~d arbitration (seebelow) and communication c~ntroiler unit. The FP contains n queue buffer, token matching unit, debuf~ing tools, I / O controllers and ~ structure reentry unit. Both the CP and the FP ere superviNd by spacialind operating systems which are responsible for oper~ion~ such ~ aiding detection of link and node failures, dynamic gerouting of tokaM, dynamic ruchaduling of ~ctora. exception handling, g~-bege collection end other requirmants of the each nade. The whole system i~ completely a~ynchronoue w~th each PE running on its own local clock.

Fault tolerant ~ ~. FAU]bT' ~ L ~ C ~

~

of a dynamic dataffow architectum-P3TTSY dev~t

PA~Y

Fault tolerance in PATTSY is ach~lv~ through the fo~ogdng means: 1. Introduction of a c e n t r ~ d b~ch~ng ~ b ~ r to detec~ ~nk f ~ u n ~ . 2. D e ~ t i o n and p z ~ v ~ n t ~ of ~ e r ~ . 3. ~ntroduetian of a special bus structure and ~o~rd dat~ t r ~ m ~ b ~ o n ~]gc~thn~. 4. ~np~ement~on of r o ~ v e r a]gc~thn~ to ~ff~ct ~ o f t w ~ fma[t ~ e r a n c e . 5. ~mp~n~.ntat|on of er.~ain nave[ actors to f a c i ~ a ~ fault to|erance. We shail explain how each of t h ~ k~e~ cont~but~ to enhancing the f ~ t to|erant capabiliti~ of PATTSY. 5.X C e n ~

] ~ . . h ~ g Ag~kur

proce~ora in order to 8 c c e ~ a e h ~

~-~. convenfion~d erbite~ in such a c o n ~

of our dynamic ~ k ~

F.,PLD z v ~

~ - ~ .

o

f

Tha ~ u n e ~

~ n ~

in d e ~

The uH

r u n ~ in s~gnific~nt d e r i s i o n in performance ~.au~e e~ch device is an active ~en~ent and hence c a n n ~ ~ferd go wait for a lon~ ~in~ [16]. The ~l~ern~;ive is to use a ~ i n ~ out ~ b i t e r in which a ~zz~.~aer can w~th~'m~ a r~qu~t W e n go another proce~er ~ a spec~ ~nt of t i m . However, ouch a ~thdr~w! mechankn~ should be synchron~x~ p m p ~ | y failing which p v : ~ u e r s~arvafion rn~y r ~ u l t . In ~ldition go the lack of a t i n . - o u t feature, conven~ion~ erb~t~r~ do not have f ~ u ~ e Priority • ]gori~h~n~. ~ypicaily, moot ~rb~tere eupper~ th~ foUow~ng fairuc~ ~dgerithn~: 1. requ~t rnuk/unnu~k f~cilitise 2. priority rotation 3. polling 4. a combination of | - 5 ebove What is. of c o u r t . |er~z|ng ~ ~h~ tin~-bm~d r~cognifion of priofi~i~. A hatching erbi~r ac~v~ th~ problem by providing the foUowing fe~uree: 1. During a period of ~J~ne.oa]]ed the ha~-.h-t~ne. a~ r ~ u ~ M ~ queued up in u buffer r . ~ the ba~h-qu~ue. 2. The Mqu~t in thu b ~ h - q u e u e ere 0e~ve~ in the order of p r i o ~ y . ~. Any requ~t ~ ' i v ~ Z during the service of a eurron~ h a ~ h ie put on a eepar~e reque~ queue and held ~ h ~ until all r e q u ~ in the cun~nt b ~ - . h have been ~rvic~d. S~mu]~ion s t ~ [7] have ehown gh~t the batch|rig of requee~ offem a h~her degree of f a i r m ~ compared to the ~dml~e falmeu ~ r i t h n ~ u~ploye~ in convention~l erbi~e~. Currently. ~rn~el'e~nltibu~ H [6] 8uppoz~e a decentr~iee~ hatchinK ~rb~er without th~ t i m - o u t feature. However, t h ~ ~ ~ u ~ J ~ r ~ in which one ~equim a centr~h~d hatchln~ arbiter wi~h the thneout feature. One such ~tuatlon ~ during tha

t

~

n ~ ,

~

~

PATCHY

~

b~r.~ © ~ n

of ~

~

~ [~.~].

f ~ u r ~ in ~h~ fc~owin~ way: A~n~n~ ~ no~ honoun~ within the ~ ~ b increm~d ~ ~

~n

a tc~k~ h ~ ~

~ ~ b p~ ~ ~

~

of

nn~b to a ~ t the t ~ , then ~ ~n~ i, ~ ~ f~ to ~ b e r PF~. Tha ~ ® n is t h ~ z ~ - ~ through ~ b ~ b a vadan~ of ~,e ~ u r e

A erntr~] b~c]fing ~ b | t ~ r is a g e n e r ~ version of the conunon mult~chm~nel arbiter and i ~ w u motlva~d u a r~nl~ of certain requ~en~nbs in PATTSY. Conventian~ n ~ i ~ n s such ~ ~n~e|-8259 cheer the needs of only p m i v e d~vic~0 i.e. ~ which wait foreverin order to get zervic~d. Exampl~ of such p a m v e devices include tape ¢lhd.v~ and disk drlv~. However, a procuring elemn~ in a m n l t i p ~ u e ~ r ~ - ~ n has to p ~ c ~ p a t e in the ~b~gr~tion p m c ~ with many

245

are ~ J ~ ~ . ~ ~

~ivm in [L~]. ~fzn~e ~ a

f~bd, ~ ~ PE i ~ s ~ D ~ a i ~ d information ~n ~ e ~ n [9].

a

f~'h~ b~ ~w~ aze

imp~an~ u in achieving f ~ ~uer. D ~ r ~ m s can ch~]~ck becmme c~ re~urce ] ~ n i ~ For in~aner0 uncbw the f ~ c~di~ a ~ ~U

d ~ r ~ s. I. 2.

The n~zn~ry i8 full ~ ~,~ s ~ , ~ PE ca~ ~ z e in ony m~re ~ No ~ - ~ f ' ~ b ~ in the PE became d a lack

In PATTSY, sueh d~dlocks can h d ~ c t ~

~ ma-~me

bufferof a PE ~ about gOS full ~ i f n ~ m d ~ fu~ w i ~ n a PE, ~ ~ PB ~ , ~ a~ i ~ ~FO (Buffer Full Out) ~ n ~ d ~ 4 so ~h~ ~ PEa ~h~t ~ is a ~ z ~ o d of a d ~ ¢ c ~ . T h k i n ~ is ~ko m t to ~h~ boat wbk.h b ~ ~ of ~be d ~ o c h ~ d P ~ ; when n ~ than h ~ f ~b~ n u m b ~ Of P]~ are ~ e d . tha b e ~ m aSRO ( ~ o n P . ~ Over) ~ n ~ which p m p ~ ~ to ~,ch PC. U p ~ th~ z~ce~pt ~ a $1~O ~ , tha PB ~ r ~ b ~ $ ~ of ~h* u n n ~ c h ~ t o ~ (and[~r ~ k ~ ~ f¢.r~ PF~) c u z ~ held in | ~ b ~ f e r to i ~ ~ ' ~ Z P~ and t ~ ~ SRO ~ o n k ~ ~o ~ ~ ne~h~ PF~ which has a B¥O ~ ~ ~. In a d d l e , the BFO ~ are ~ to ~ ~ ~be ~ w n P ~ is reedy fer f u r ~ ~ ~ ~ of

be ~ u m e d to ~be hc~t~. The fundam~tai m ~ p ~ o n tk~ ~n~

the rc~over. ~h~ ~

thug we ~ ~

in ~

~ is a poa~b~i~y for ~ ~ to dan~no e~fecg whereby ~ o k ~ ~ ~ ~ PF~ wi~ou~ u c t o ~ ~i~a~n~ ~ ru~nz of m~r u c ~ . The d~r~no efl'ect con be ~ by ~ proper ch~ce o f ~,~ ~ ~,'.~bute upoa gh~ d ~ c ~ fer Ho~.

~ t ~

o f a deadlock.

246

V.L. Narasimhan, E Oowns

The ~deemof detecting 1;nk fallurse threugh the ~ c ~ n ~ ~ - b ~ - and ~ o c k eb'~nination are reflected in bus ~ r u c ~ f ~ PATTSY (see FigA). The control ~ ~ u s u r y p ~ l u c e ~ through an J/O port. For in~nce~ Fi~.~ ~ h e ~ the w~y ~RO ~nd BROG s i g n ~ are The ~ i o n nfth® bus can be e~plalned using F~.6 ~ fo~w~: The P A ~ S Y hue structure employs A two ] ¢ ~ i n ~ p ~ ; protocol ~ n ~ a r to many eonvention~ ~1~p~-.seef~; b u ~ u [4]. A ~ u n ~ that P E - A wants to t ~ ~ t h P E - ~ . B~oreinitiA~ing comn~unlcAtion, P E - A h ~ to c h ~ k the Buffer-Full-Out (BFO) signed of PE-B. (Th~ is eonnec~d to the Buffer-Fu~-~n (BY|) terminal P ~ - A ) . If the input buffer to P E - B is not full, then P E - A e~ploy~ the f ' ~ t lev~ of inten'upt to give A Bns-~u~-Out (BRO] to p R - B . This BRO e;gn~ to the b A ~ ~biter, in which it competse with c~;her B~O s ~ e~g from the ne~ghbouring PE~ of P~-~. A ~d-~bin scheme of priority rotation is e n ~ 8o ~ to give equal priority to all the neighboring PF~. Let us now an~yse the oper~tlon of the PATTSY bus using F~.6 and the timin~ diugr~r~ d~own in Fi~.7. ~: ~ u n ~ that the BRO ~gnal of P E - A hse ~ . ~ . Then P E - B is infonn~ of PE-A'~ id~nt~fic~on number by th~ ~biter. 3o P]~-B ~enernte~ Bue-R~uos~-gn-Granged (BRIG) signal ~ ~hown in F~.5. This BI~G ~i~n~ goes to P E - A ~u~-~q~t-Out-G~f;~d (BROG), which gene~tos An interrup~ in P E A . Hence P E - A g ~ into an interrupt z~ut~e~ wherein it w~ll gead the ~ROGA/TO pin to find out w h ~ h e r ~ ~ R ~ G ~ p ~ hem occurred or not. Since BROG hue oecu.-'r~ P E - A steers sending & token in by~-se~ f~hi~n. Meanwhile P E - B re~d~ the B]~GA/TO Pin to ch~J¢ for the acknowledgement of it~ BRIG s ] ~ l . H i t h u been ~cknowled~ed, p R - B et~'~e to roc~ive the token. On the ~cond level of interrupt, the byte ¢on~nun~c~ion is ~ y n c h r o n ~ by Ahand~h~;ng protocol (F~g.Tb). T I ~ is nsh~eved by A Strobe-Data-Out (SDO) ~nd D~tA-Oug-~r.cepted (DOA) s;gn~ pair for sending dAtA, ~n~ A Strobe-DAtA-In (SDI) and DAtA--InAccepted (DgA) ~ n ~ pe~r for ~ceiving data. CMe 2." A~unw that the BRO ~;gnal from P E - A h ~ not euccos~ed and k kept waiting for ecrvlce, gf the ~ u ~ t is not euces~u] within A epec;r~t period, s ~ n ~ - O u t is g ~ in P E A . Upon ~ c o ~ i t i o n of the T ' ~ e - O u t (BROGA/TO), P E - A puts tha~ p~rt;cnler ~; the b~ck of the queue in the Q-buffer and ~ter~ w~g w~th the n ~ token. LAger, when P E - B dseedse the BRO ~ a l frem P~-A~ it wHi d i s ¢ ~ the r ~ u s e t ~ can rm~d (through B ~ O A / T O ) that P ~ - A h ~ alreedy Th'm~-Out. For opor~tion in PATTSY, the erb;ter is p~uu~ co work e~ n ba~;ching arbiter ~o that r ~ u o s t s b~ch~:~ oveg ~ time-~ot At the end of which the T~ ~ ~ ~ c r i b ~ e~ove work8 between any two PE~ b~ ~ . in P,~T'~JY0 each PE can ~ o talk to the host, T~ ~'~ two mog~ | i n n in the bue. Called D~bug-~n (D|) ~nd Debug-Ou~ (DO), and t h ~ m used for ~]~bu~ng p u r i ~ . Th~ D~ and DO | i n ~ are ~ n n e c t ~ to the ~ directly. Whenever ~ ~ b u ~ b i e

event hse been executed (ree [111] for det~ls on A new debu~ing parnd;grn for dAtsu~low computing), the node that is executing it will interrupt the host through the DO line. At the h ~ t , the DO lines from all the nodes O]~d together and connected to eL~retem i n t e ~ p t . Now, depending on the nature of the debuueble event, ~be hast ~:an ten~po~rily suspend (or revoke) the operation of nodes through the DI line. The DI line is conn,:ted directly to the node proce~or'e interrupt. Bosidos this, A seperate P~-282C protocol [18] is present in every proosuor in order to prov;de A genetic serial conununicet;on hek. This link is n~aln connected directly to the host. Thi0 is used for the following purposes. 1. To download programs and date at load-time only. 2. In the cese of the firing of A dchngpble event, relevant information is sent through the seri~ bus. The information might include the conte~t in which the event fired (see [~l] for snore details). The serif! bus, in generol, works ~ a n~ane of providin~ quick access to the host. Hence it is used when handling exceptions only. In order to initiate t r a n s m ~ i o n or reception, the host uses the D I - D O line pair. Only upon an interrupt through DI can A PE stm'~ conunnnicAfion with the host through the seri~ bus. ~niti~lly, an apprepr~ate code is sent on the bus to identify the different excepfiane t h s t can occur in the PATTSY s~tem. 6.4 The 1 ~ k ~ , w AJ~o~Unn for PATTSY Upto now we have seen how the hardware help8 in the identification of logically deadlocked PEn and n moans to rosolve such B deadlock. However, in n muigipreosuing system phylice] PE failures can also occur ~nd, in such n cece, we requ;re reilover algorithn~ to reronte tokens at runt;too 8o thn~ the syitem can grocefnlly degrade. Pmllovers in dynam;c dntnflow syeten~ are relat;ve|¥ easy to implemont when compared w;th conventlonal mult;preceuing systems. This is because of the fol;owing important reasons: L d n t ~ o w funct;ous ere determinate, i.e. rrenlts do not depend on the relative order in which the potentiel pirallei nedes execute. 2. they exhibit referent;M transparency, i.e. memory cannot be msnipuiated explicitly by extern~J mechanismo. 3. the model is relatively insensitive to the number of Avnilsble P ~ in the ~etem. Ig is important to note that the determinacy property of the dat~flow model r~nlte in restarted computer;one always produc;ng the stone reanlte. ~ c e p t that they eLre delayed in time. This prov;dos u convenient bseis for re||over in the preeence of faults. In A dynamic model, each instance of execution of an Actor is t a m e d an activity and n unique n u n s is useciated with each nstivlty [2]. Thus the activity name is I major component of the tag and it hem four fields. It is repreeented u follows:

where,

u : Context field u : Code block n ~ e • : Actor number (or instruction number)

Fault tolerant ~

of a dynamic datafiowatchit~ctu~-PATTSY

within the code block t : Initiation n u m b or c o ~ C o n t e ~ field is another nanw for activ~y n~ne, implying t h a t a e t i ~ name is m c u ~ i v ~ y ~ f m ~ . code block n~n~e ~ e m to n particular p~cec~u~ or ~ o p , each procedure and loop being ~ivon an unique code b~ook nnme. A ~ t [ n c t context has to he ~ r . ~ d not anI¥ with e~ch procedure activation, b u t ~ o wi~h every activation of a loop body. This ~ o w ~ d i f f e ~ n t ~Mtanc~ of a particular procedure (~op) c ~ e d from cc~np~e~ly different per~nt p~ocedure~ (|oo~) to he run in p~aUel. The in{tiglon nmnher refers to the i t ~ t ~ o n n u m b ~ of a loop6. The ~ i t i a t ~ n number k ~ko ~ ~. Different ~cfivatioM of a p~u~{eu|ar loop r ~ under ~ f e r e n t congc~ts~ w h e n ~ different i t ~ t i o n ~ of the same loop under a W a n context run under different ~ . Thus the t r e a t n ~ n t W e n to ~ o p a and procedur~ i r e m e n or { ~ ~ r . The need to attach a detailed set c~ i n W o V e n ~deng with every d ~ a i t e m , d ~ t e intrOduc~g ~ t i o n ~ communication overhead, pgov[d~ an ~ m e c h a n ~ n for roUover ~ is ~hawn below. In PATTSY, the~e is a lln~t on the number of context and co|on~ th~g can he gereneted a t r u n - t i m e (namely, 128 for c o n t ~ and 16 for colo~), This ~ t h e l ~ in solvinz two prob~nm: ~) the ~ n me ~ , which o c c u n due t o the r~cur~ve de~'~tion ~ a context and 2) the matching can now he done with f ~ l ~ t h , i n ~ t e ~ of vsfiab~e w ~ t h , thereby improving the pefl'ornmnce of the ~ o~n. In addition, the fixed number c~ content~ colon, we g ~ t r i c t t h e c o n ~ t S~ernghm exelu~ve~y to the heat while colon can he generated ag the P ~ hind. T h ~ scheme provides c o n ~ e r s b | e ~ t a n c e in ro~nK over after a P E f~dlure. The s t a t i n g point for r ~ v ~ r ~ ~ the context ~nera~ion level. Note t h ~ in PAT~SY a new context n ~ ~o be ~ n ~ d every time n p u ~ c ~ e invoked. In addition, we ela~if¥ procedur~ ~ W e n below. ~. Freq~evtiy C~d~ed P z ~ l u r ~ (FCPe) 2. Infrequently Calk~l P r o c ~ t u ~ (ICPs) $. Racumiv~y C ~ l ~ ! P r o ~ u n ~ (RCPe) The FCP~ and RCPs are loaded he,fore the ~ c u t i o n of a p ~ - " ~ is initi~.ed w h i ~ the | C P s a n ~ ~ run-tin~

(however, ~ e d u l e d

~

compile-time) ~

¢~ ~

~

24,7

which the c ~ t ~

T ~

f~ ~

the con~-~ v ~

of the c ~ n ~ ~

~ver

for an~ P E f ~ u ~ is gi~on ~ .

~thm

~,

~

~

ALGOl-l: A~ne ~ a ~ocadu~e ~ ~ the ~ n ~ when n P E f ~ u ~ e ~ ~ e ~ ; e ~ . f~ow~ ~ are ~ ~ ~ ' .

L 2.

$.

The ~

(u~

~

~ "~n,

inforn~i~ ~ ~ )

in

~-

s e h ~ u k ~ the ~ c ~ ~ to the P E onto ~ h e r P~. The h ~ in~ern~ ~ P E t ~n ~ ~ n n ~ the P E which c ~ ~ p~ure of ~he n ~ PE numbs. The p r ~ c ~ u r e i~ ~ ~n ~ ~ P~L h~c~ng onto ~ e f ~ P B ~ new P E ~ w i ~ u t any ~

r~-~'J~P~l ~ to

~ ) .

So f a r w e have ~ s u m ~ ~ c~n~T~ng to a procedure ~ e ~ l

a~ the ~ r~n ~ s

p~k~n to t h e f ~ ~t~nt, ~.a~e ~y s f~ d ~ n ~ n y p ~ d b ~ a c ~ c ~ be f ~ ~ ~ny ~ ~. h ord~" ~o . ~ pera~bt~m, the a c ~ of a ~ a~ ~ b u ~ over n c ~ c t i o n of PF~ ~ the d~n. The PEa in ~he ~ domain need ~ ; be eloe~y c o ~ n e c ~ i . ~ w e ~ r , if c~y, the counnunic~ion ~h~ay in n u m b s ~ is c o n s ~ h n ' ~ reduced. U n ~ r the new e n ~ z~quire a d i ~ i b u ~ roUover n ~ c h ~ m , wh~.h b ~h~cdb~ be~ow. A t f ' ~ we ~ u n e t h a t ~ ¢~ ac~ ere ~ d u ~ n z a predeflned ~ g ~ l u n ~ One of ~he

an

~geritbu~ d e ~ i h e d in !I0]. The g b t of~he ~ i ~ h m ( ~ Fig.8) is ~ fo~ows: Procedures can be invok~l through an APPLY actor and, whenever ~ procedure ~ invoked, a new context h u to he ~ n e r s t ~ L If a procedure is n ~ currently m i d e n t in a PE, then a r e q u u t k made to the h ~ t by the P E to ~ : ~ u k the ~cto~ of the p~ocedure. A special l o ~ - b i | in the APPLY actor is used for t h k purpoer. The PB which hoh:bs~ p~[;ic~er procedm'o ~ a reque~ token to ;he ho~t to ~llocst~ a new ¢~ntext. The ~ u w t token cont~dns the p n ~ n t e o n ~ x t v ~ u e ~ d the n ~ of' the c a ] | ~ p..~.~ure. The host then h ~ u ~ en encoded new C e n t e r . if ane is a V ~ . tO ~ Wen P~, ~ v e n P E and the host s ~ e bo~h the old ~ now context veduu. ~ r comp~e|in~ t h b o p e ~ t ~ , the ~ s e u t i o n the given procedure is {nitistad. C o n ~ t vs]u~ for the input ~ g u m e n b for th~ g l w n p ~ . e d o r e are ~ o encoded to suit the c a n ~ of t~e i n v ~ e d procedure. When the procedure c ~ p ~ e ~ execution, the PB sen~ n n~e t o the host to ~ o c ~ the c~agext under which the p r o c ~ u r e z'~n. The h ~ t informa the P E

No~e t h ~ w i ~ n n ~ donmin c~ly ~ e P B is ac~. u ~ i n ~ ~ t ~ i n ~ e r ~ n of n p e ~ i e x ~ ~ . The f o ~ o ~ two p~e~b~b f s ~ u n ~ ¢~n be ~ ~ ~8 L

2.

The P E i n - c h ~ o l ' i n v ~ ~ f~d. One of' the PF~ in the ~o~c~ ~

~

h~ ~

f~.

ALGOl-3: Tn ~he f i ~ eue~ the procedure e ~ be invoked and t ~ can be dq~ected l ) by ~he n o n l~nnin~ d ~ csmnZ procedure ( ~ n a t i m L~nit, ir one b . p e d r O ) and 2) by ~ t u ~ n~nz t h ~ the c o n c ~ P 5 h ~ f ~ a d . Then, lhe f ~ w i n g ~ ere t ~ to ~ k m n ' .

2.

APPLY ~ ~which ~ n ~ ) . which a z ~ in the f ~ P B ~ e c ~ ~ ~ PB. All ~ PEa in the ~ ~ ~ ~ PB

2~

g. ¢.

:

V.L. Narasimhan, T. Downs

which e ~ the g~ven procedu~ ~ e informed of a~ ehe f ~ o d P E number ~nd b) the new P ~ number for the ~ t o r s ~ t e r rueheduling. The calling p r e s s u r e m ~ k u another e ~ l to invoke the ~ v a n procedure. Other actor~/proceduros scheduled and/or m ~ k e d for looding onto the failed P ~ are r e sehec~uled onto ehe new P ~ (without any considerations to ~ood b a i ~ c l u g ) .

~ O ~ - ~ : ~.n the eceond e ~ , the P ~ failure can be detected ~ by ehe n o n - t e ~ n a t l o n of the procedure (within n r~a~anabl¢ time IL~t, if one is specified) and 2) by ~:tua]ly no~ing t h a t the concerned P ~ h u failed. Then, the f o r e l e g s t s ~ ace taken to reliever. 1. The a c t o u of the pr~osdure s t o ~ d in the f~dled P E are s c h o d u ] ~ onto ~ o t b e r FE. 2. ~ the P ~ in the lo~cai domain ~ e informed of n) the f a i l ~ P ~ number and b) the new P E n u ~ n ~ r for ~he a c t o ~ after rueheduling. 3. The ¢ ~ u t i o n of the procedure i~ rut~--~ed. 4. Other ~ctou/pracodur~J~ seh~tul~i nnd/or m~rkod for ~ooding onto the failed P ~ ~re r e ~ h ~ u ~ o d onto ¢h¢ new P ~ (without any eo~ider~tions to l o ~ balancing). The ~ l l o v e r proosas can be repeated for each P ~ f a i l l e in a l ~ i c a i domain ~n~ so the ~go~ithr~ ~ c o s ~ o d a t e meet t h a n one P E f a i l u ~ a~o. ~o~e That in o ~ e r to execute this algorithm we require t h a t ~he actual p~'ametsrs (i.e. input arguments) to a pr~osd~e to be s t o r ~ both ~u the P E which calls the procedure ~n~ in the P E which i.uitiatu the proosdure8.

~.~ ~ v ~

f~ ~

The algorithrc~ p r e d a t e d above are for p r e c e d e r - l e v e l r o ~ n g over, however, they ¢nn be extend~l t'~, po~f~.~=n rolloveu if necsuary for each iteration o~ ~ ~ ~n such & c ~ e , the number of c.hec~:p~ints r~q~dr~ will be e ~ u ~ to the number of colors (i.e. ;C~atiuns) ~hat a loop generates. N~te t h a t a loop invocation r e q u l r ~ oontex~ generation for the f i ~ t time only ~ d the v ~ i o ~ i t s r a t i o ~ of the loop ~ n under different ¢olo~. ff n number of iterations in a loop9 is ~ra~ll, ~he~ it is profitable to rnllover the loop as a whole insured of rol~ing over a¢ iteration-level uslng the above a l g o r i t h m . However, if ~he number o~ iterations are large, which is the c s ~ in general, then the ubove aigorithm~ wlll not be efficient due to an enormous amienS, of ~c.~. o ~ re~uiren~n~0 s~ u r u u l t , we do not n u g g e t thls a~gorithm. Ir~teod, os~ain iteratious (~ay n = every 16th iteration) can be ~lec~ively e n c ~ e d ~ t h a t the host Is ~nformed of the euece~ful ¢ompletlon of e v s ~ integer multiple of n itsratlon~ ou~ of the total number b e f o ~ th,~ fallurs of the P~. "~heu ~he a ~ v e reliever ~ g o ~ t h ~ e ~ be applied. This i m p l l u ~h~; the s t Y ; ~ d end of every nth iteration h ~ ~n be h ~ f o ~ to the host and, in odditlon, the ¢on'e~ponding da~n v a ~ e s have to be eh~ckpoint~ beth the P ~ - ~ e l an~ a~ the host-~evel. This way the rn~rnor~ r ~ u i r e m e n t can be = d a i n t Y .

In order to achieve fault tolerance the PA'I~SY

operating system employs certain novel actors wh;ch ~ e odditlons to conventional dataflow operating systema. These actors include System Roll Over (SRO), Abort All Tasks (AAT), Record All Events (RA~), Dump All ~vents (DAE), System DeadLock (SDL), System Link Failure (SLF), System Node Failure (SNF), Reply Black Question ]mmedlate (RDQI). Answer Dlank Question Immediate (ABQII0), Kill ectom under a p ~ t i c u l a r context (K[LL), Store Checkpoint ]nformatlon (SC]), Processor ReScbedule (PRS) and Domain ReSebedule (DRS). We have also enhanced the specifieatians of ehe fallowing actors in order to make the dynamic dataf]ow model more ~iaptable to the PATTSY machine. These actors i=elude C e n t e r Allocate ~ q u u t (CARQ), Context D e , l o c a t e ~ q u e s t (CDHQ), Color Allocate ~ q u u t (CLAR), Color Dealing;ate R e q u u t (CLDR) and actors for ~bitra~y increment end dso~ement for contccts and oslo~. Complete details on actor sl:,ecifieations i r a presented in

[9]. 6.

CURRENT STATUS OF THE P R O J E C r

Currently an emulation facility for FATTSY is being built using ]ntel-85 ~ d Motorola ~Q00 p ~ c e ~ o r bo~ds. A SUN workstation nets ~ a host to the system. A l a n ~ a g e , railed Adam, which h ~ an imperative synt~.~ but an inherent functional semantice h ~ been developed. A d ~ also exhibits a degros of fault tolerance si~dlm" to osrtaiu implementations of other languages (e.g. Linda [17]). The o/~rating systenw for the host and p r n c ~ i n g n e d u have aiso been devaiopcd. Work is aiso in pro~-¢~ in fon~ulating a h ~ d w a r e aided protocol to debug dataflow multiproc~esur software, i n ~uidition to the above, ~ VLS] design of the hatching ~ b i t e r and the communications processor are c u r r e n t l y under investigation. 7.

CONCLUSIONS

Fault t o l e r ~ c ~ is ~ e s u n t i a l requirement in multlp~ing systslrJ b ~ : a u ~ f a i l u ~ of n single component may result in the failure of the entire system. In thi~ paper we hnve presented a fault t o l e r ~ t multlproce~or arcbitecture~ railed PA']~SY, which supports an alternative muitiprocuslng par~llgm eai|ed the dynamic model of dataflow execution. PATTSY drives a n d d - ¢ o u r ~ between the two well-known architectures, namely, the Manchester machine and Arvind machine. PA']~'SY belongs to the c l ~ s of regular interconnectien architecture and ~ c a u ~ of the c l u e connection it offers better fault tolerant features than irregular o n u . We have shown in this paper the ways in which PAT£$Y supports many fault tolerant f e a t n ~ which if~clude ehe following: ]) a b i t c h i n g nrblter to detect link and node fulluru, 2) a deadlock detection and prevention a|~orithm, $) a faoR ~olsrant bus eystem and 4) dls~ribu~edchechpolntlng and rollovsr aigoci~hn~ which provide graceful degrndafion h~ the p ~ n o s of faults. We have ~ i n t ~ d u o s d a ~et of ~nvel actom to facilitnte the above i ~ u u and to ~slst with s y s t e ~ functioning. Fault tolerance is an integral p~'¢ of the PATTSY system ~nd we believe t h a t FATTSY offers a higher degree of fault t o l e r ~ o s in comparison with most other d a t ~ o w achitecturu p r o ~ e d nnd/or built to dnte. F u t u ~ re~h on the various ~ p ~ c t s of the PATTSY m~chine includ~ ~tudies on d y n ~ e load b~laneing t~chni~u~,

Fault tolerant aspects of a dynamic datat~,~ architecture.PATTSY ~rnp~en~n~a%i~n ef e n ~ r c o ~ i n g

c~i~

249

for da~a

me~;hod~ for d ~ b u ~ i n g da~Mlow ~f~wa~'e.

The ~o~k p ~ n ~ l

of Qu~n~l~nd fc~" p~ovhiing a ~hol~"~hip ~;o do a pos'.~a~ua~ed e g a s .

I.

A~vind

and

9.

V.Lak~hmi

10.

V

Ha~a~i~han

a~

~.Do~,

~n ~hi~ pap~ w ~ p ~ r ~ l y

D.E.CuHer,

~

H

~

~nd T ~ ,

®AH ~ b ~ i

"Da~aflow

h ~ I ~ m m ~ a ~ n of A ~

D~o~

An~F

pp.225-25~, 198~.

3.

60. A~nd and K.P.Go~Io~, "A ~ m p u ~ Capable of ~ c h ~ P ~ f~r T ~ ' , ]F~P C o n ~ s P ~ c , vol.1, No~h-H~IIa~d Publ,

]2.

A.O[~on and K.G.Sh[% ~

FTCS, ~L,m~:~, J ~

~

i~

3.~, I~-~-

D.C.0 Aug.l~.

Mic~oproceuor 5.

O. 7.

Sya~sms

for

Real-[:.~ne

J.R.Gurd0 C.C.Ki~kham and l.Wa~on, "The M~nch~s~e~ Pro~o~-y~ Da~;~fiow C~npu~e~,

15.

52. "In~l Mul~ibu~S~fica~ion", I n ~ Cot1~ra~on

16.

V.P.S~n~, "An A r ~ c ~ - ~ Da~a Flo~ S y ~ ¢ ~ ~. ~ 00.5. ~ r . ~ . ~.~-~. K.Wo~, V.~hm~ ~ ~

17.

A-~u and B ~ b ~ v ,

L.Hl~man ~ d A.Can~on~, ®Th~ A n ~ y m and Pe~fon~a~ce ~ ~ a ~ A r b i ~ " , Proc. of Pe~o~ce '~6, AGM Conf. ~ C,~mpu~er ~-va~ua~io~,USA, ~ y

1~,

V~.I~.

and T . D o ~ ,

"A ~

T~m~ Di~b~l ~ P ~ of 19~h FTCS0 ~ ,

~o~-~.

~

C~'.

for a F ~

e~'~,~n~=,

~ 3~

I~,

pp.1~-

~. OF F ~

.'~OT~S

1.

The p ~ p e ~ by wM~h d a t a and i ~ n a c ~ i o n s which are | o g ~ y ¢ o p t h ~ is ¢ . ~ 1 tho l o c a l i ~ o f f ~ .

2.

E~'uableP r o L ~ n a b ~ e ]r.~© D ~ c ~ .

c~

together are ~ o he~t p h y ~ 1 y

$~ 4. 5.

A form of ~his dce~tlocl: was o ~ i n ~ t y ~ p o ~ ¢ d by Acvind e: ~ . |S]. No~e that B F O iaonly a lo~ca~~gna]. Am ~ d i l l o n 0 it n ~ be n~i©cd ~ha~;by m ~ n ~ i n i n ~ a 1o$i~ ~FO ~;ab|e in e ~ h P E ~; m p ~ b ~ e ~o ~nfigure

7.

i~,~r~on r e f ~ ~o ~h~ ~inn~ng ~f a p~'~cu|s~ i n a ~ ; ~ e ~ a | ~ p body. Since ~he ~ch~Iullng ~ h m i~ known ~o ~he h ~ ; , i~;can f'~ ou[ wh~re ~h~ ~ff~r~n~ ~:~on~ of a p ~ : ~ d u ~ ~re

V.L. Narasimhan, 7". Downs

250

INPUT SIDE

OUTPUT SIDE

OD0 >

>1

Ouz Dam G i f t > ....

>8

Snube Dam Ouz

SDO >,,

>9

Dz~. Ouz Accep~l

DOA < ,

~ I0

Bu~ ~

~RO >,.

> II

O~

Bu~ Re~e~t Ou~ Gr~te~ H g . h A DFG repre~e~tatZon for the rune[ion y =

BROG <

¢ 12

]DO < - - - - - - - - - - - . - - . < 13 ~n Dam Line~ ID7 <

;Tss~

S~o~e Dam In

~I

Data In A~c~ed

D~A ~

B ~ Reque,~ In

<20

~

21

> 22

BRI <

¢ 2.3

Bus Reque~ In Gra~e,d

BRIG >,,

> 24

Bu~ Gut Gr'~n~.d Ackr~wIe~ge

B~3A ~

Bus In Granted Ac~owIedga

BIGA <,,,

Buffer Full Out

BFO ~

Buffer FuU In

Blq

<,

. . . .

> 25 < 26 2.7

-----< 28

Debug In

DI

<'-"

Debug Out

DO

>

> 30

RS~D !

,~35

RSVD !....

1 4~

A Frame ~nPATrSV

.---< 29

RESERVED

A N~e in pATrSY Fig.2: P A T T S Y D y n a m i c Dazaflow A r c h i t e c t u r e

l~gA: Bus Structure for PAT]'SY The above bus is ~ the $ouxcc Bus. ~ signals on the De...~naficm ~3us complermmt ~ signals on the Saurc~ Bus. Two line.s each ~a~ D-avail t'or common ground and Vcc signe.~. Be.~des this, a RS.?.32C b ~ is ~ p ~ ~o commuz~cate wiLh zhc he~.

=

.... ]!

Hg.$: Generatioa of BRO and BRIG Sig~a|$

Ng.3: Func~Gn~ B~ock D~grem of lhe C.entraSgsed Bazch[ng Arbiter

Fault tolerant aspects of a dynamic dataf~ow architec~um-PATTSY

P R O G R A M $F~DER ~US TRANSFER ~EG~ DO ESTABLISH ~ n u ~ t of ~cciv~, DO C H E C K Buffe~_Full_Om(BFO) c~ receive. l:=l+l; UNT~ ((BFO ~ FA~E~ .OR. (I : ~ 4)}; iF (BFO == FALSE) ~.F_~ SEND ~ m R ~ 0,~ ~ R O ) m mcdvcr, m i T I A ~ s~m, W A F t f~ imcrm~ m o~t~,

Pk~R~ BEG~ DO

251

RE.C"~mR BL~ O ~ & ' l X O ~

EST~H ~ CHECK B ~ DO POLL ~

~

~ ~

~ax

N := N-h DO DO P T ~ ~ ~ m - ~ i l e SIn-IDA ~ Cm~='.~ ~ T ~ L ~

END.

PROGRAM ~ E R

*/

~F~RUFr N ~ N-I; CHECK ~ f i m ~

G~P N .~ numb~ ~ b ~ m ~ DO SEND Sn~b~_Da~_~ (SDO); END. H~.~ : Re~e~ ~

N ~ N-I;

C A L ~ F.nm-mmd~m. F.,ND~; END.

PROGRAM BF~I~

T~e~

~ ¢ R O R HA,'~gI,ER

SEND L ~ N ~ F A ~ ~ IF ~NC ~ 2) T~EN

PLrP m~n an~ b~k ~ ~ m ~ F_MD.

~ ~m~

V.L. Narasimhan, T. Downs

252

m~

~ . 7 ~ : "/~n~ng Diagram fer the F ~ Level Gf Interrupt ~

for BUS Reque.~

It£~TS

k~g.8: Procedure $chedul|ng |n PA'FI'SY

M ~

X

H~.';'o: Tin~ug Diagram fur ihe Secon~ i,ev~ o; Interrup! used for ~..endiag Data