Loop Shifting and Compaction for the High-Level Synthesis of Designs with Complex Control Flow

Size: px
Start display at page:

Download "Loop Shifting and Compaction for the High-Level Synthesis of Designs with Complex Control Flow"

Transcription

1 Shifting n Comption for the High-Level Synthesis of Designs with Complex Control low Sumit Gupt Nikil Dutt Rjesh Gupt Alexnru Niolu Center for Emee Computer Systems Shool of Informtion n Computer Siene Dept. of Computer Siene n Engineering University of Cliforni t Irvine University of Cliforni t Sn Diego {sumitg, utt, niolu}@es.ui.eu gupt@s.us.eu sprk Astrt Emerging emee system pplitions in multimei n imge proessing re hrterize y omplex ontrol flow onsisting of eeply neste onitionls n loops. We present tehnique lle loop shifting tht inrementlly exploits loop level prllelism ross itertions y shifting n ompting opertions ross loop itertions. Our experimentl results show tht loop shifting is prtiulrly effetive for the synthesis of esigns with omplex ontrol espeilly when resoure utiliztion is lrey high n/or uner tight resoure onstrints. In situtions when further loop unrolling (or inititing nother itertion of the loop oy) les to shrp inrese in the longest omintionl pth in the iruit n the iruit re, loop shifting is le to hieve up to 2 % reution in the input-to-output ely in the synthesize iruit. We implemente loop shifting within the SPARK prllelizing high-level synthesis frmework n present results for experiments on esigns erive from multimei n imge proessing pplitions. Introution he omputtionlly expensive portions of multimei n imge proessing pplitions typilly onsist of rithmeti opertions emee in eeply neste loops with omplex mix of onitionl (if-then-else) onstruts. he fous of our work is improving the synthesis results of these oes y exposing n inresing the prllelism ville in the lgorithmi esription []. In the pst, speultive oe motions hve een use to signifintly improve the performne, re, n resoure utiliztion of the synthesize iruits y moving opertions ross onitionl ounries [2, 3]. he presene of neste loops in our pplition oes, however, limits the sope of prllelizing oe motion trnsformtions to within one loop itertion. o hieve the next level of performne improvement, we must look eyon loop itertions. In this pper, we present loop trnsformtion, lle loop shifting, tht moves opertions from one itertion of the loop oy to its previous itertion. It oes this y shifting set of opertions from the eginning of the loop oy to the en of the loop oy; opy of these opertions is lso ple in the loop he or prologue. In ontrst to loop pipelining tehniques tht initite new 53-59/4 $2. () 24 IEEE itertion of the loop oy t onstnt time (initition) intervls, loop shifting shifts set of opertions one t time, therey, exposing just s muh prllelism s n e exploite y the ville resoures. Prllelizing trnsformtions n then operte on the shifte opertions to further ompt the loop oy. Although loop unrolling n pipelining hve een propose previously for high-level synthesis, we foun tht when the resoure utiliztion is lrey high euse of either high instrution level prllelism in the esign or s result of loop unrolling the ontrol n interonnet (multiplexing) osts of further loop unrolling or loop pipelining outweigh the gins hieve in performne. his is euse frequently the longest omintionl pth in the iruit (the ritil pth length) inreses so muh tht the input to output iruit ely eomes worse (we emonstrte this through experiments in Setion 5). In suh sitution, we propose pplying loop shifting to inrementlly move oe in struture wy so tht opertions n e ompte further without exessive inrese in ontroller osts. We implemente our loop shifting tehnique in the SPARK prllelizing high-level synthesis frmework. his frmework synthesizes ehviorl esription speifie in C (with restritions on pointers, irregulr jumps, n funtion reursion) using set of ggressive ompiler, prllelizing ompiler n synthesis tehniques n genertes resoure oun RL VHDL esription. We emonstrte the utility of loop shifting y presenting sheuling n logi synthesis results for experiments performe on esigns erive from the multimei n imge proessing omins. he rest of this pper is orgnize s follows: we first review previous relte work. In Setion 3, we present the loop shifting tehnique n its vrious spets. We riefly esrie loop unrolling in Setion 3.4. We present n lgorithm for loop shifting in Setion 4, followe y the experimentl setup n finlly the results in Setion 5. 2 Relte Work unrolling n loop pipelining (or softwre pipelining) hve een explore extensively in the softwre ommunity for exploiting inter-itertion prllelism ([4, 5, 6, 7, 8, 9] to nme few). shifting ws first propose s prt of the resoure-irete loop pipelining (RDLP) teh-

2 BB BB BB S BB BB BB S () () () igure. Shifting: () An exmple with loop. () Opertions n re shifte to the en of loop oy (si lok ) n opies re inserte in the loop he (BB). () Shorter sheule length fter oe omption. nique [7]. RDLP first unrolls the loop severl times n then ttempts loop shifting n omption. Erly work on loop pipelining in high-level synthesis fouse on the innermost loops of DSP pplitions with no onitionl onstruts. hese works inlue loop wining [], rottion sheuling [], peroltion se synthesis [2], n loop foling [3]. More reent work on esigns with onitionl rnhes inlues work on sheuling opertions on the most prole pth first [4], extening rottion sheuling [5], speultively exeuting opertions from future loop itertions [6], n extening loop foling for CDGs [7]. Although severl prllelizing oe trnsformtions n loop trnsformtions hve een propose in the prllelizing ompiler ommunity, we foun tht these trnsformtions re not iretly useful for high-level synthesis (HLS). he ost funtions n optimiztion riteri for ompilers re ifferent from those of HLS. Wheres, ompilers often pursue mximum prlleliztion, we foun tht in HLS, prllelizing trnsformtions hve to e tempere y their effets on the ontrol n re (in terms of interonnet) osts. Inee, the very nture of trnsformtions tht re useful for HLS is ifferent from those tht re useful for ompilers. In some ses, this mens tht we tully en up moving opertions into the onitionl loks y reverse n onitionl speultion [3]. Similrly, in this pper, we show tht loop unrolling n le to worse iruit elys n re; inste n inrementl loop trnsformtion tehnique suh s loop shifting is more useful for HLS. 3 Shifting shifting is tehnique wherey n opertion op is move from the eginning of the loop oy to the en of the loop oy, long the k-ege of the loop. o preserve the orretness of the progrm, opy op of opertion op is ple in the loop he/prologue. hus, op is exeute efore the first itertion of the loop oy n the originl opertion op is then exeute t the en of the loop oy. his exeution orrespons to the exeution of op from the next loop itertion s per the originl oe. We emonstrte loop shifting with n exmple in igure. In this exmple, si loks BB n form the oy S2 S3 S4 or BB i < n : = + 2: = +. 3: i = i + 4: f = + e () or 6: = + BB i < n 5: = 2: = +. 3: i = i + : = + 4: f = + e igure 2. () An exmple esign. () Copy opertion, = is left in ple of shifte op to ensure oe orretness. of loop n BB is the loop he n is the loop exit or til. Soli rrows inite t flow n she rrows inite ontrol flow. Consier tht we shift opertions n from the loop oy in the originl esign in igure () to the en of the loop oy () n opies of n re inserte in the loop he (BB). he resultnt esign is shown in igure (). We n now ompt the oe insie the shifte loop oy using prllelizing trnsformtions. In the shifte esign, it is possile to sheule opertion onurrently with opertion n onurrently with opertion. he resultnt, ompte esign is shown in igure (). he stte ssignments (S to S4) for these three esigns re emrte y she lines. Clerly, the esign in igure (), fter shifting n omption, hs shorter sheule length thn the originl esign in igure (). hus, s result of loop shifting n omption, the loop oy exeutes in fewer yles. hese fewer yles multiplie y the loop itertion ount give us the reution in exeution yles of the esign. However, loop shifting is useful only when the gins in performne of the loop oy is lrger thn the overhe of the opies of the shifte opertions tht re ple in the loop he. 3. Ensuring the Corretness of Coe Shifting n opertion les to one extr exeution of the opertion over the numer of times it is exeute in the originl oe. his n e unerstoo y the shifte esign shown erlier in igure (). In this esign, if the loop exeutes for 8 itertions, then the shifte opertion exeutes 8 times insie the loop oy plus one in the loop he (si lok BB). In ontrst, in the originl esign in igure (), opertion exeutes only 8 times insie the loop oy. o ensure tht exeuting the shifte opertion one extr time oes not hnge the ehvior of the progrm, we write the result of the shifte opertion, op, to new vrile, newvr n in ple of op, we leve opy opertion from newvr to the result vrile of the originl opertion op. We emonstrte this through n exmple in igure 2(). Here, the result of opertion in the loop oy (in si lok ) is re y opertion 4 fter the loop. Consier tht we shift opertion to the en of the loop oy n ple opy s opertion 6 in the loop he. Both these opertions write to new vrile n opy opertion = is left in ple of the originl opertion. his en- ()

3 If BB6 () BB BB7 BB g If BB6 () BB g BB BB7 If BB6 () BB BB " g " S S2 S3 S4 S5 BB7 S6 igure 3. () A esign with if-then-else onitionl lok insie loop. () Opertions n re shifte from the longer onitionl,. () Coe omption y upliting opertions n into oth onitionl rnhes. sures tht opertion 4 gets the orret vlue of fter loop shifting. he resultnt esign is shown in igure 2(). We lso hve to mintin the inter n intr-itertion t epenenies while pplying loop shifting sine shifte opertion my hve t epenenies ross loop itertions. In the exmple in igure 2(), opertion res the vrile tht is written y opertion 2. Hene, fter shifting opertion, we hve to t epeneny r from opertion 2 to shifte opertion. 3.2 Shifting s with Conitionl Brnhes In loops with onitionl onstruts, opertions n e shifte from within onitionl rnh. Sine the gol of our pproh is to minimize the length of the longest pth through the esign, we shift opertions from the rnh of the onitionl with the longer sheule length. Consier the exmple in igure 3(). his exmple hs n if-then-else onitionl lok within the oy of loop. Sine the true rnh (si lok ) of this if-lok hs longer sheule length (of 3) thn the flse rnh (), we hoose to shift opertions from si lok. Hene, onsier tht we shift opertions n from, s shown in igure 3(). he prllelizing oe trnsformtions n now ompt the shifte oe y upliting opertions n into oth rnhes of the if-lok, s opertions n n n. he resultnt esign is shown in igure 3(). Note tht, we employ oe motion lle onitionl speultion [] for opertion uplition. 3.3 Our Approh to Shifting We perform loop shifting fter sheuling the loop oy one. he sheuler my sheule some opertions to exeute onurrently in the sme yle. We term set of onurrent opertions in si lok s sheuling step. In our pproh, inste of shifting one opertion t time, we shift n entire sheuling step ross loop itertions. his is euse shifting only one of severl onurrent opertions will not eliminte the sheuling step n thus, the sheule length of the si lok (n loop oy) will not erese. In the esign in igure 3(), we hose to shift the first sheuling step in, i.e., oth opertions n (inste of just one of them). S7 /* Shifts one sheuling step in the loop oy */ ShiftBoy(Noe) : f irstbb irstbb(noe loopboy) 2: steposhi f t insteposhift( f irstbb) 3: BB(stepoShi f t) BB(stepoShi f t) - steposhi f t 4: lstbb LstBB(Noe loopboy) 5: lstbb lstbb steposhi ft 6: loophebb LstBB(Noe loophe) 7: loophebb loophebb Copy(stepoShi ft) 8: Resheule(Noe) () /* Reursive funtion tht returns step to shift from */ /* the si lok in the longer onitionl rnh */ insteposhift(urrbb) Returns: he step to shift : steposhi f t irstnonconstep(urrbb) 2: if (steposhi ft = /) { 3: in nextbb SUCCS(urrBB) with the mximum NumSteps(nextBB) 4: steposhi f t insteposhift(nextbb) 5: } 6: return steposhi f t () igure 4. Shifting Algorithm: shifts one sheuling step in loop oy. 3.4 Unrolling unrolling is oe trnsformtion in whih uplite of one or more itertions of the loop oy is ple t the en of the urrent loop oy. he loop ouns n loop inex vrile inrement re upte s neessry. unrolling is use for exposing prllelism ross loop itertions n thus, enle oe omption of the unrolle loop oy. However, loop unrolling n le to oe explosion; so, loops re usully unrolle one itertion t time. In our synthesis frmework, the numer of unrolls for eh loop is user-irete. Our synthesis tool first unrolls the loop s speifie y the esigner n then sheules the esign. We n thus stuy the effets of ifferent unrolling ftors on hrwre osts n iruit performne. 4 Shifting Algorithm Our loop shifting lgorithm is liste in igure 4(). his lgorithm tkes the loop noe to e shifte s input n shifts one sheuling step from the eginning of the loop oy to its en. We use n intermeite representtion lle Hierrhil sk Grphs (HGs) [8, ] tht enpsultes onstruts suh s loops, if-then-else loks, et eter in hierrhil noes tht in turn my hve su-noes. Using this intermeite representtion, we n ess the su-prts (loop he, oy, n til) of loop y referring to Noe loophe, Noe loopboy n Noe loopil. he loop he n loop til eh ontin one si lok, wheres the loop oy is hierrhil noe tht my ontin other hierrhil noes (inluing if-then-else loks n other loops). By efinition, eh HG noe HtgNoe hs Strt (or first) si

4 Design # # # # # Resoures Ifs s BBs Ops + == << [] / pre pre tiler le. Chrteristis of the esigns use in our experiments n the resoures llote for sheuling them. lok n Stop (or lst) si lok tht n e otine y irstbb(htgnoe) n LstBB(HtgNoe) []. he loop shifting lgorithm strts y looking for sheuling step to shift. o o this, it lls the funtion insteposhi ft with the first si lok in the loop s rgument. his funtion, liste in igure 4(), lls the funtion irstnonconstep for eh si lok urrbb. his funtion returns NULL step if urrbb is empty (ue to pst shift opertio or urrbb only hs sheuling steps with onitionl Boolen heks (enote y tringles in our figures). If irstnonconstep oes not fin sheuling step, the insteposhi f t funtion reursively trverses the si loks in the loop oy till it fins sheuling step in one of them. If si lok hs severl suessor si loks (rnhes), the lgorithm trverses to the rnh with the lrger numer of sheuling steps. One the insteposhi f t funtion returns sheuling step steposhi ft, this step is remove from its si lok, n e to the lst si lok in the loop oy (lines 3 to 5 in igure 4()). A opy of steposhi ft is lso e to the loop he (lines 6 n 7). We then resheule the loop y lling the funtion Resheule. Note tht, y ing or removing sheuling step, we men tht the opertions in tht step re e or remove from si lok. In the worst se, this lgorithm my en up trversing ll the si loks in loop. In prtie, it usully trverses not more thn 2 to 3 si loks. Resheuling the loop, on the other hn, n e omputtionlly expensive. However, in prtie, only the shifte opertions hve to e repke in the sheule. In our experiments, we fin tht the run times of our synthesis tool, on.6 Ghz PC running Linux, rnge from -3 uses (user seons) with no loop shifting, 2 to 6 uses with loop shifting n 5 to uses with loop unrolling (see next two setio. 6 % of this time is spent in resoure ining, sine it is formulte s network flow prolem. In ontrst, the logi synthesis tool tkes etween 2 to 8 hours for synthesizing these esigns. 5 Experimentl Setup n Results We implemente the loop unrolling n shifting trnsformtions, long with the shifting lgorithm in the SPARK high-level synthesis frmework []. he SPARK frmework tkes n input in ANSI-C (with restritions of no pointers, irregulr jumps, n reursive funtio n proues synthesizle RL VHDL. he frmework pplies rnge of ompiler trnsformtions (loop-invrint oe motion, CSE, opy propgtion, e oe elimintion) n prllelizing ompiler trnsformtions (speultive oe motions, ynmi CSE) []. So ll the results presente in this setion represent improvements over esign lrey optimize y these oe trnsformtions. rnsform MPEG- pre MPEG- pre2 Applie # Sttes # yles # Sttes # yles No Unrolls Unroll 48(+26.3%) 83(-.7%) 79(+4.5%) 23(-4.5%) 3 Unrolls 66(+37.5%) 723(-%) 97(+22.8%) 95(-3.9%) Reu % -9.6 % +4.6 % -8.3 % le 2. Sheuling results fter unrolling the inner loops in pre n pre2. rnsformtion GIMP tiler Applie # Sttes # yles No Unrolls Unroll 52 (+62.5 %) 2284 (-9.9 %) 4 Unrolls 97 (+86.5 %) 834 (-9.7 %) Reution +23. % % le 3. Sheuling Results fter unrolling for tiler. In this setion, we present results for experiments performe using esigns erive from two moertely omplex rel-life pplitions: the pre n pre2 funtions from the Preition lok of the MPEG- lgorithm n the tiler trnsform from the GIMP imge proessing tool [9]. or the experiments presente elow, we pply loop unrolling n loop shifting to inner loops of the three esigns. All three esigns hve ouly neste loop pirs tht form the min kernel of these pplition oes. le lists the hrteristis of the vrious esigns in terms of the numer of if-then-else loks, for-loops, nonempty si loks n opertions in the input esription. he resoures llote to sheule these esigns re lso liste: + oes n sutrt, == is omprtor, multiplier, / ivier, [ ] n rry ress eoer n << is shifter. he multiplier ( ) exeutes in 2 yles n the ivier (/) in 5 yles. All other resoures re single yle. 5. Synthesis Results for Unrolling We first present the sheuling results for loop unrolling in les 2 n 3. he unroll ftors re etermine s follows: for loop with n itertion ount of N, we llow unrolling the loop y M times suh tht N/( + M) is n integer n less thn or equl to. he loops tht re unrolle in pre, pre2 n tiler hve N equl to 8, 8 n respetively. Hene, for N=8, possile vlues of M re, 3 n 7, n for N=, M n e, 4 or 9. he sheuling results re in terms of the numer of sttes in the SM ontroller n the yles on the longest pth. Longest pth for loops is the yles on the longest pth through the loop oy multiplie y the numer of loop itertions. he first row in the two tles lists the results for the se when no loop unrolling is one, the seon row for one loop unroll, n the thir row for 3 loop unrolls for the pre n pre2 esigns n 4 unrolls for tiler. he perentge reutions of eh row over the previous row re given in prentheses. he lst row gives the totl reution of the thir row over the first row. he results in the seon row of les 2 n 3 show tht with one unroll, we n hieve improvements rnging from 4 % to % in the yles on the longest pth for the three esigns. Unrolling the loop further (three times for the pre n pre2 esigns n four times for tiler) les to further improvement of, 4 n 9.7 % respetively.

5 MPEG- Pre untion MPEG- Pre2 untion GIMP iler untion No Unrolls Unroll 3 Unrolls for MPEG/4 for tiler igure 5. Logi synthesis results fter loop unrolling. However, the results in les 2 n 3 lso show tht loop unrolling les to lrge inrese in the size of the SM ontroller (numer of sttes). his is euse when the loop oy is uplite, the numer of ontrol steps in the sheule inreses, even though the numer of exeutions of the loop oy my reue. o stuy the impt on iruit re n ely, we performe logi synthesis on the RL VHDL generte fter sheuling, ining, n ontroller genertion y the SPARK high-level synthesis tool. We use Synopsys Design Compiler with the SMC.3 miron tehnology lirry. he logi synthesis results re presente in the grphs in igure 5. he metris mppe in these grphs re the ritil pth length in nnoseons (s etermine y the stti timing nlysis tool), the longest input to output ely or lteny of the iruit (longest pth yles multiplie y the ritil pth length), n the unit re of the iruit (in terms of the tehnology lirry). All vlues re normlize y the no unrolling se. he ritil pth length is longest omintionl pth through the iruit n hene, ittes lok perio or frequeny. he results in these grphs show tht when the loops re unrolle, the ritil pth lengths inrese y to 25 %. his inrese works ginst the gins hieve in yles through the longest pth. As result, the longest input to output ely or lteny through the three esigns remins lmost onstnt s the loops re unrolle. However, there is sustntil inrese in re from 22 % to up to 5 %. he inreses in ritil pth length n re re ue to the lrger ontroller size n more omplex steering logi (multiplexers, e-multiplexers n ssoite ontrol logi). As the loops re unrolle, the numer of opertions in the esign inreses. Hene, lrger numer of opertions re mppe to the sme numer of resoures. his inreses resoure utiliztion, whih in turn les to n inrese in the size n omplexity of the steering logi. 5.2 Synthesis Results for Shifting les 4 n 5 list the sheuling results for the three esigns s the inner loops re shifte, strting from no loop shifting (first row) to three shifts (fourth row). he perentge reutions of eh row over the previous row re given in prentheses. he lst row gives the totl reution of the fourth row (3 loop shifts) over the first row (no loop shifts). he results in this tle show tht s the loops re shifte, the sheule length (yles on the longest pth) n sometimes inrese. his hppens when set of onurrent opertions is shifte from one rnh of n lrey lne onitionl lok. his mens tht, potentilly, fter shift rnsform MPEG- pre MPEG- pre2 Applie # Sttes # yles # Sttes # yles No Shifts Shift 36(-5.3 %) 77(-4%) 67(-2.9 %) 999(-6 %) 2 Shifts 37(+2.8 %) 779(+ %) 68(+.5 %) 27(+.4 %) 3 Shifts 36(-2.7 %) 75(-8.2 %) 67(-.5 %) 943(-3.2 %) Reu -5.3 % -2.5 % -2.9 % -8.7 % le 4. Sheuling results fter loop shifting. rnsform GIMP tiler Applie # Sttes # yles No Shifts Shift 3 (-6.3 %) 2334 (-7.9 %) 2 Shifts 3 ( %) 2244 (-3.9 %) 3 Shifts 29 (-3.3 %) 254 (-8.5 %) Reu -9.4 % -8.9 % le 5. Results fter shifting the inner loops. urther shifting oes not improve sheuling results. MPEG- Pre untion MPEG- Pre2 untion GIMP iler untion Pth( No Shifts Shifts 2 Shifts 3 Shifts igure 6. Logi synthesis results fter loop shifting. ing the sheuler is unle to ompt the loop oy to its size efore shifting. However, in suh se, we n usully get k to the originl sheule length y shifting one more; this time the sheuling step from the other rnh of the onitionl gets shifte. If two onseutive shifts proue worse results, this inites tht we shoul stop shifting. he worse results men tht it is not possile to ompt the loop oy with ny more shifte opertions. We re urrently eveloping more eterministi wys to etermine the numer of loop shifts. or now, we n experiment with ifferent loop shifts ue to low run times of our synthesis tool for firly lrge esigns. rom the results in les 4 n 5, we n see tht the est sheuling results re hieve for ll the esigns fter shifting the loop 3 times. he totl reutions (lst row) rnge from 8 to 2 % in the yles on the longest pth n 2 to 9 % in the sttes in the SM ontroller. hese sheuling results trnslte over to the ritil pth length n re results otine fter logi synthesis. hese re presente in igure 6. he rs in these grphs orrespon to no shifts, shift, 2 shift n 3 shifts. hese logi synthesis results show tht we n hieve 5-2 % improvements in the ely through the iruit y employing loop shifting, while inurring mrginl inreses in iruit re ompre to loop unrolling. Rell tht the se se (no shifts) represents esign tht is lrey optimize y rnge of prllelizing ompiler trnsformtions []. 5.3 Results with Higher Resoure Allotion We rn our experiments gin with higher resoure llotion for the MPEG esigns. We use 4 ers n 3 Due to lk of spe, we left out results for tiler in this setion

6 rnsform MPEG- pre MPEG- pre2 Applie # Sttes # yles # Sttes # yles No Unrolls Unroll 42(+6.7%) 6(-2.8%) 72(+5.9%) 775(-8.3%) 3 Unrolls 56(+33.3%) 563(-7.9%) 86(+9.4%) 727(-2.7%) Reu % -27 % % -.7 % le 6. Higher resoure llotion: Sheuling results fter unrolling the inner loops in pre n pre2. rnsform MPEG- pre MPEG- pre2 Applie # Sttes # yles # Sttes # yles No Shifts Shifts 36( %) 659(-4.5%) 66(-2.9%) 823(-5.8%) 5 Shifts 36( %) 63(-8.5%) 66( %) 767(-3.%) 7 Shifts 37(+2.8%) 555(-8 %) 67(+.5%) 79(-2.7%) Reu +2.8 % -28 % -.5 % -.2 % le 7. Higher resoure llotion: Sheuling results fter shifting loops in pre n pre2. rry eoers inste of 2 eh, with other resoures eing the sme s efore (inresing the other resoures i not ffet sheuling results). he sheuling results for loop unrolling n shifting re liste in les 6 n 7 respetively. With higher resoure llotion, the improvements re lrger for oth loop unrolling n loop shifting. Also, loop unrolling les to smller inrese in ontroller size euse the unrolle opertions get ompte more esily ue to the higher resoure llotion. Also, we re le to o more loop shifting: 7 shifts versus the erlier 3. he logi synthesis results for these experiments re presente in igure 7. here results gin emonstrte tht loop unrolling les to lrge inrese iruit re with only moest improvements in iruit ely. In ontrst, loop shifting gin les to 5 to 25 % improvement in iruit ely with firly onstnt iruit re. 6 Conlusions n uture Diretions We presente loop trnsformtion tehnique lle loop shifting tht inrementlly exposes prllelism ross loop itertions y shifting opertions from one itertion of the loop oy to the previous one. Experimentl results on esigns erive from multimei n imge pplitions show tht loop shifting results in up to 2 % lower elys with inreses in re etween -2 %. hese represent improvements over esigns lrey optimize y our synthesis frmework using rnge of prllelizing oe motions n oe trnsformtions. In ontrst, the ontrol n multiplexing overhes of loop unrolling uno the gins hieve in sheule lengths. he length of the ritil pth (longest omintionl pth) n thus, iruit ely inreses. Ciruit re inreses y up to 5 %. In future work, we wnt to evelop ost moels to guie our loop trnsformtion heuristis tht estimte the impt of the loop trnsformtions on iruit ontrol n interonnet osts. Referenes [] S. Gupt, N.D. Dutt, R.K. Gupt, n A. Niolu. SPARK: A high-level synthesis frmework for pplying prllelizing ompiler trnsformtions. VLSI Design, 23. [2] K. Wkyshi n H. nk. Glol sheuling inepenent of ontrol epenenies se on onition vetors. In Design Automtion Conferene, MPEG- Pre untion MPEG- Pre2 untion No Unrolls Unroll 3 Unrolls MPEG- Pre untion MPEG- Pre2 untion Pth( No Shifts 3 Shifts 5 Shifts 7 Shifts igure 7. Higher resoure llotion: Logi synthesis results fter loop unrolling n loop shifting. [3] S. Gupt, et l. Conitionl speultion n its effets on performne n re for high-level synthesis. In Intl. Symp. on System Synthesis, 2. [4] B. R. Ru n C. D. Gleser. Some sheuling tehniques n n esily sheulle horizontl rhiteture for high performne sientifi omputing. In Annul Workshop on Miroprogrmming, 98. [5] A. Aiken, A. Niolu. Perfet Pipelining: A new loop prlleliztion tehnique. Euro Symp. on Progrmming, 988. [6] M. Lm. Softwre pipelining: An effetive sheuling tehnique for VLIW mhines. PLDI, 988. [7] S. Novk n A. Niolu. An effiient, glol resoureirete pproh to exploiting instrution-level prllelism. In Conferene on PAC, 996. [8] A. Aiken, A. Niolu, n S. Novk. Resoure-onstrine softwre pipelining. IEEE rnstions on Prllel n Distriute Systems, 6(2), Deemer 995. [9] R. Jones n V. Alln. Softwre pipelining: A omprison n improvement. In Proeeings of the Miro-23, 99. [] E. Girzy. wining - t flow pproh to funtionl pipelining. Intl. Symp. of Ciruits n Systems, 987. [] L.-. Cho, A. S. LPugh, n E. H.-M. Sh. Rottion sheuling: A loop pipelining lgorithm. DAC, 993. [2] R. Potsmn, J. Lis, A. Niolu, n D. Gjski. Peroltion se synthesis. In Design Automtion Conferene, 99. [3] G. Goossens, J. Vnewlle, n H. De Mn. optimiztion in register-trnsfer sheuling for DSP-systems. In Design utomtion onferene, 989. [4] U. Holtmnn n R. Ernst. Comining MBP-speultive omputtion n loop pipelining in high-level synthesis. In Europen Design n est Conferene, 995. [5]. Z. Yu, E. H.-M. Sh, N. Pssos, n R. D.-C. Ju. Algorithms n hrwre support for rnh ntiiption,. In Gret Lkes Symposium on VLSI, 997. [6] G. Lkshminryn, A. Rghunthn, n N.K. Jh. Inorporting speultive exeution into sheuling of ontrolflow intensive ehviorl esriptions. DAC, 998. [7] I. Rivojevi n. Brewer. Anlysis of onitionl resoure shring using gur-se ontrol representtion. In Interntionl Conferene on Computer Design, 995. [8] M. Girkr n C.D. Polyhronopoulos. Automti extrtion of funtionl prllelism from orinry progrms. IEEE rns. on Prllel & Distriute Systems, Mr [9] GNU Imge Mnipultion Progrm. gimp.org.

Distance vector protocol

Distance vector protocol istne vetor protool Irene Finohi finohi@i.unirom.it Routing Routing protool Gol: etermine goo pth (sequene of routers) thru network from soure to Grph strtion for routing lgorithms: grph noes re routers

More information

Table-driven look-ahead lexical analysis

Table-driven look-ahead lexical analysis Tle-riven look-he lexil nlysis WUU YANG Computer n Informtion Siene Deprtment Ntionl Chio-Tung University, HsinChu, Tiwn, R.O.C. Astrt. Moern progrmming lnguges use regulr expressions to efine vli tokens.

More information

V = set of vertices (vertex / node) E = set of edges (v, w) (v, w in V)

V = set of vertices (vertex / node) E = set of edges (v, w) (v, w in V) Definitions G = (V, E) V = set of verties (vertex / noe) E = set of eges (v, w) (v, w in V) (v, w) orere => irete grph (igrph) (v, w) non-orere => unirete grph igrph: w is jent to v if there is n ege from

More information

Distributed Systems Principles and Paradigms. Chapter 11: Distributed File Systems

Distributed Systems Principles and Paradigms. Chapter 11: Distributed File Systems Distriuted Systems Priniples nd Prdigms Mrten vn Steen VU Amsterdm, Dept. Computer Siene steen@s.vu.nl Chpter 11: Distriuted File Systems Version: Deemer 10, 2012 2 / 14 Distriuted File Systems Distriuted

More information

Internet Routing. Reminder: Routing. CPSC Network Programming

Internet Routing. Reminder: Routing. CPSC Network Programming PS 360 - Network Progrmming Internet Routing Mihele Weigle eprtment of omputer Siene lemson University mweigle@s.lemson.eu pril, 00 http://www.s.lemson.eu/~mweigle/ourses/ps360 Reminer: Routing Internet

More information

Containers: Queue and List

Containers: Queue and List Continers: Queue n List Queue A ontiner in whih insertion is one t one en (the til) n eletion is one t the other en (the he). Also lle FIFO (First-In, First-Out) Jori Cortell n Jori Petit Deprtment of

More information

Parallelization Optimization of System-Level Specification

Parallelization Optimization of System-Level Specification Prlleliztion Optimiztion of System-Level Speifition Luki i niel. Gjski enter for Emedded omputer Systems University of liforni Irvine, 92697, US {li, gjski} @es.ui.edu strt This pper introdues the prlleliztion

More information

10.2 Graph Terminology and Special Types of Graphs

10.2 Graph Terminology and Special Types of Graphs 10.2 Grph Terminology n Speil Types of Grphs Definition 1. Two verties u n v in n unirete grph G re lle jent (or neighors) in G iff u n v re enpoints of n ege e of G. Suh n ege e is lle inient with the

More information

CMPUT101 Introduction to Computing - Summer 2002

CMPUT101 Introduction to Computing - Summer 2002 CMPUT Introdution to Computing - Summer 22 %XLOGLQJ&RPSXWHU&LUFXLWV Chpter 4.4 3XUSRVH We hve looked t so fr how to uild logi gtes from trnsistors. Next we will look t how to uild iruits from logi gtes,

More information

Greedy Algorithm. Algorithm Fall Semester

Greedy Algorithm. Algorithm Fall Semester Greey Algorithm Algorithm 0 Fll Semester Optimiztion prolems An optimiztion prolem is one in whih you wnt to fin, not just solution, ut the est solution A greey lgorithm sometimes works well for optimiztion

More information

UTMC APPLICATION NOTE UT1553B BCRT TO INTERFACE PSEUDO-DUAL-PORT RAM ARCHITECTURE INTRODUCTION ARBITRATION DETAILS DESIGN SELECTIONS

UTMC APPLICATION NOTE UT1553B BCRT TO INTERFACE PSEUDO-DUAL-PORT RAM ARCHITECTURE INTRODUCTION ARBITRATION DETAILS DESIGN SELECTIONS UTMC APPLICATION NOTE UT1553B BCRT TO 80186 INTERFACE INTRODUCTION The UTMC UT1553B BCRT is monolithi CMOS integrte iruit tht provies omprehensive Bus Controller n Remote Terminl funtions for MIL-STD-

More information

CS553 Lecture Introduction to Data-flow Analysis 1

CS553 Lecture Introduction to Data-flow Analysis 1 ! Ide Introdution to Dt-flow nlysis!lst Time! Implementing Mrk nd Sweep GC!Tody! Control flow grphs! Liveness nlysis! Register llotion CS553 Leture Introdution to Dt-flow Anlysis 1 Dt-flow Anlysis! Dt-flow

More information

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distriuted Systems Priniples nd Prdigms Christoph Dorn Distriuted Systems Group, Vienn University of Tehnology.dorn@infosys.tuwien..t http://www.infosys.tuwien..t/stff/dorn Slides dpted from Mrten vn Steen,

More information

WORKSHOP 9 HEX MESH USING SWEEP VECTOR

WORKSHOP 9 HEX MESH USING SWEEP VECTOR WORKSHOP 9 HEX MESH USING SWEEP VECTOR WS9-1 WS9-2 Prolem Desription This exerise involves importing urve geometry from n IGES file. The urves re use to rete other urves. From the urves trimme surfes re

More information

Chapter 9. Greedy Technique. Copyright 2007 Pearson Addison-Wesley. All rights reserved.

Chapter 9. Greedy Technique. Copyright 2007 Pearson Addison-Wesley. All rights reserved. Chpter 9 Greey Tehnique Copyright 2007 Person Aison-Wesley. All rights reserve. Greey Tehnique Construts solution to n optimiztion prolem piee y piee through sequene of hoies tht re: fesile lolly optiml

More information

Internet Routing. IP Packet Format. IP Fragmentation & Reassembly. Principles of Internet Routing. Computer Networks 9/29/2014.

Internet Routing. IP Packet Format. IP Fragmentation & Reassembly. Principles of Internet Routing. Computer Networks 9/29/2014. omputer Networks 9/29/2014 IP Pket Formt Internet Routing Ki Shen IP protool version numer heder length (words) for qulity of servie mx numer remining hops (deremented t eh router) upper lyer protool to

More information

MITSUBISHI ELECTRIC RESEARCH LABORATORIES Cambridge, Massachusetts. Introduction to Matroids and Applications. Srikumar Ramalingam

MITSUBISHI ELECTRIC RESEARCH LABORATORIES Cambridge, Massachusetts. Introduction to Matroids and Applications. Srikumar Ramalingam Cmrige, Msshusetts Introution to Mtrois n Applitions Srikumr Rmlingm MERL mm//yy Liner Alger (,0,0) (0,,0) Liner inepenene in vetors: v, v2,..., For ll non-trivil we hve s v s v n s, s2,..., s n 2v2...

More information

CS 241 Week 4 Tutorial Solutions

CS 241 Week 4 Tutorial Solutions CS 4 Week 4 Tutoril Solutions Writing n Assemler, Prt & Regulr Lnguges Prt Winter 8 Assemling instrutions utomtilly. slt $d, $s, $t. Solution: $d, $s, nd $t ll fit in -it signed integers sine they re 5-it

More information

Error Numbers of the Standard Function Block

Error Numbers of the Standard Function Block A.2.2 Numers of the Stndrd Funtion Blok evlution The result of the logi opertion RLO is set if n error ours while the stndrd funtion lok is eing proessed. This llows you to rnh to your own error evlution

More information

Using SIMD Registers and Instructions to Enable Instruction-Level Parallelism in Sorting Algorithms

Using SIMD Registers and Instructions to Enable Instruction-Level Parallelism in Sorting Algorithms Using SIMD Registers n Instrutions to Enle Instrution-Level Prllelism in Sorting Algorithms Timothy Furtk furtk@s.ulert. José Nelson Amrl mrl@s.ulert. Roert Niewiomski niewio@s.ulert. Deprtment of Computing

More information

Introduction to Algebra

Introduction to Algebra INTRODUCTORY ALGEBRA Mini-Leture 1.1 Introdution to Alger Evlute lgeri expressions y sustitution. Trnslte phrses to lgeri expressions. 1. Evlute the expressions when =, =, nd = 6. ) d) 5 10. Trnslte eh

More information

Resource and Memory Management Techniques for the High-Level Synthesis of Software Threads into Parallel FPGA Hardware

Resource and Memory Management Techniques for the High-Level Synthesis of Software Threads into Parallel FPGA Hardware Resoure n Memory Mngement Tehniques for the High-Level Synthesis of Softwre Thres into Prllel FPGA Hrwre Jongsok Choi, Stephen Brown, n Json Anerson ECE Deprtment, University of Toronto, Toronto, ON, Cn

More information

Advanced Programming Handout 5. Enter Okasaki. Persistent vs. Ephemeral. Functional Queues. Simple Example. Persistent vs.

Advanced Programming Handout 5. Enter Okasaki. Persistent vs. Ephemeral. Functional Queues. Simple Example. Persistent vs. Avne Progrmming Hnout 5 Purel Funtionl Dt Strutures: A Cse Stu in Funtionl Progrmming Persistent vs. Ephemerl An ephemerl t struture is one for whih onl one version is ville t time: fter n upte opertion,

More information

Lesson 4.4. Euler Circuits and Paths. Explore This

Lesson 4.4. Euler Circuits and Paths. Explore This Lesson 4.4 Euler Ciruits nd Pths Now tht you re fmilir with some of the onepts of grphs nd the wy grphs onvey onnetions nd reltionships, it s time to egin exploring how they n e used to model mny different

More information

CS453 INTRODUCTION TO DATAFLOW ANALYSIS

CS453 INTRODUCTION TO DATAFLOW ANALYSIS CS453 INTRODUCTION TO DATAFLOW ANALYSIS CS453 Leture Register llotion using liveness nlysis 1 Introdution to Dt-flow nlysis Lst Time Register llotion for expression trees nd lol nd prm vrs Tody Register

More information

COMMON FRACTIONS. or a / b = a b. , a is called the numerator, and b is called the denominator.

COMMON FRACTIONS. or a / b = a b. , a is called the numerator, and b is called the denominator. COMMON FRACTIONS BASIC DEFINITIONS * A frtion is n inite ivision. or / * In the frtion is lle the numertor n is lle the enomintor. * The whole is seprte into "" equl prts n we re onsiering "" of those

More information

Midterm Exam CSC October 2001

Midterm Exam CSC October 2001 Midterm Exm CSC 173 23 Otoer 2001 Diretions This exm hs 8 questions, severl of whih hve suprts. Eh question indites its point vlue. The totl is 100 points. Questions 5() nd 6() re optionl; they re not

More information

PROBLEM OF APOLLONIUS

PROBLEM OF APOLLONIUS PROBLEM OF APOLLONIUS In the Jnury 010 issue of Amerin Sientist D. Mkenzie isusses the Apollonin Gsket whih involves fining the rius of the lrgest irle whih just fits into the spe etween three tngent irles

More information

Duality in linear interval equations

Duality in linear interval equations Aville online t http://ijim.sriu..ir Int. J. Industril Mthemtis Vol. 1, No. 1 (2009) 41-45 Dulity in liner intervl equtions M. Movhedin, S. Slhshour, S. Hji Ghsemi, S. Khezerloo, M. Khezerloo, S. M. Khorsny

More information

Declarative Routing: Extensible Routing with Declarative Queries

Declarative Routing: Extensible Routing with Declarative Queries elrtive Routing: Extensile Routing with elrtive Queries Boon Thu Loo 1 Joseph M. Hellerstein 1,2, Ion toi 1, Rghu Rmkrishnn3, 1 University of Cliforni t Berkeley, 2 Intel Reserh Berkeley, 3 University

More information

WORKSHOP 8B TENSION COUPON

WORKSHOP 8B TENSION COUPON WORKSHOP 8B TENSION COUPON WS8B-2 Workshop Ojetives Prtie reting n eiting geometry Prtie mesh seeing n iso meshing tehniques. WS8B-3 Suggeste Exerise Steps 1. Crete new tse. 2. Crete geometry moel of the

More information

A decision support system prototype for fuzzy multiple objective optimization

A decision support system prototype for fuzzy multiple objective optimization EUSFLAT - LFA A eision support system prototype for fuzzy multiple ojetive optimiztion Fengjie Wu Jie Lu n Gungqun Zhng Fulty of Informtion Tehnology University of Tehnology Syney Austrli E-mil: {fengjiewjieluzhngg}@it.uts.eu.u

More information

An Efficient Code Update Scheme for DSP Applications in Mobile Embedded Systems

An Efficient Code Update Scheme for DSP Applications in Mobile Embedded Systems An Effiient Code Updte Sheme for DSP Applitions in Moile Emedded Systems Weiji Li, Youto Zhng Computer Siene Deprtment,University of Pittsurgh,Pittsurgh, PA 526 {weijili,zhngyt}@s.pitt.edu Astrt DSP proessors

More information

Cooperative Routing in Multi-Source Multi-Destination Multi-hop Wireless Networks

Cooperative Routing in Multi-Source Multi-Destination Multi-hop Wireless Networks oopertive Routing in Multi-Soure Multi-estintion Multi-hop Wireless Networks Jin Zhng Qin Zhng eprtment of omputer Siene n ngineering Hong Kong University of Siene n Tehnology, HongKong {zjzj, qinzh}@se.ust.hk

More information

COMP108 Algorithmic Foundations

COMP108 Algorithmic Foundations Grph Theory Prudene Wong http://www.s.liv..uk/~pwong/tehing/omp108/201617 How to Mesure 4L? 3L 5L 3L ontiner & 5L ontiner (without mrk) infinite supply of wter You n pour wter from one ontiner to nother

More information

Class Overview. Database Design. Database Design Process. Database Design. Introduction to Data Management CSE 414

Class Overview. Database Design. Database Design Process. Database Design. Introduction to Data Management CSE 414 Introution to Dt Mngement CSE 44 Unit 6: Coneptul Design E/R Digrms Integrity Constrints BCNF Introution to Dt Mngement CSE 44 E/R Digrms ( letures) CSE 44 Autumn 08 Clss Overview Dtse Design Unit : Intro

More information

CSc 453 Compilers and Systems Software. 6 : Top-Down Parsing I

CSc 453 Compilers and Systems Software. 6 : Top-Down Parsing I C 45 Compilers n ystems oftwre 6 : op-down Prsing I Christin Collberg Deprtment of Computer iene University of rizon ollberg@gmil.om Copyright 2009 Christin Collberg eptember 14, 2009 1 Overview 2 Compiler

More information

COSC 6374 Parallel Computation. Non-blocking Collective Operations. Edgar Gabriel Fall Overview

COSC 6374 Parallel Computation. Non-blocking Collective Operations. Edgar Gabriel Fall Overview COSC 6374 Prllel Computtion Non-loking Colletive Opertions Edgr Griel Fll 2014 Overview Impt of olletive ommunition opertions Impt of ommunition osts on Speedup Crtesin stenil ommunition All-to-ll ommunition

More information

GENG2140 Modelling and Computer Analysis for Engineers

GENG2140 Modelling and Computer Analysis for Engineers GENG4 Moelling n Computer Anlysis or Engineers Letures 9 & : Gussin qurture Crete y Grn Romn Joles, PhD Shool o Mehnil Engineering, UWA GENG4 Content Deinition o Gussin qurture Computtion o weights n points

More information

Comparing Hierarchical Data in External Memory

Comparing Hierarchical Data in External Memory Compring Hierrhil Dt in Externl Memory Surshn S. Chwthe Deprtment of Computer Siene University of Mryln College Prk, MD 090 hw@s.um.eu Astrt We present n externl-memory lgorithm for omputing minimum-ost

More information

Scalable Spatio-temporal Continuous Query Processing for Location-aware Services

Scalable Spatio-temporal Continuous Query Processing for Location-aware Services Slle Sptio-temporl Continuous uery Proessing for Lotion-wre Servies iopeng iong Mohme F. Mokel Wli G. Aref Susnne E. Hmrush Sunil Prhkr Deprtment of Computer Sienes, Purue University, West Lfyette, IN

More information

Shared Memory Architectures. Programming and Synchronization. Today s Outline. Page 1. Message passing review Cosmic Cube discussion

Shared Memory Architectures. Programming and Synchronization. Today s Outline. Page 1. Message passing review Cosmic Cube discussion Tody s Outline Arhitetures Progrmming nd Synhroniztion Disuss pper on Cosmi Cube (messge pssing) Messge pssing review Cosmi Cube disussion > Messge pssing mhine Shred memory model > Communition > Synhroniztion

More information

1 Which of the following keyword can not be appeared inside the class? a)virtual b)static c)template d)friend c

1 Which of the following keyword can not be appeared inside the class? a)virtual b)static c)template d)friend c 1 Whih of the following keywor n not e ppere insie the lss? )virtul )stti )templte )frien 2 Wht is templte? )Templte is formul for reting generi lss )Templte is use to mnipulte lss )Templte is use for

More information

An Efficient Algorithm for the Physical Mapping of Clustered Task Graphs onto Multiprocessor Architectures

An Efficient Algorithm for the Physical Mapping of Clustered Task Graphs onto Multiprocessor Architectures An Effiient Algorithm for the Physil Mpping of Clustere Tsk Grphs onto Multiproessor Arhitetures Netrios Koziris Pnyiotis Tsnks Mihel Romesis George Ppkonstntinou Ntionl Tehnil University of Athens Dept.

More information

2 Computing all Intersections of a Set of Segments Line Segment Intersection

2 Computing all Intersections of a Set of Segments Line Segment Intersection 15-451/651: Design & Anlysis of Algorithms Novemer 14, 2016 Lecture #21 Sweep-Line nd Segment Intersection lst chnged: Novemer 8, 2017 1 Preliminries The sweep-line prdigm is very powerful lgorithmic design

More information

Using Red-Eye to improve face detection in low quality video images

Using Red-Eye to improve face detection in low quality video images Using Re-Eye to improve fe etetion in low qulity vieo imges Rihr Youmrn Shool of Informtion Tehnology University of Ottw, Cn youmrn@site.uottw. Any Aler Shool of Informtion Tehnology University of Ottw,

More information

A matching algorithm for measuring the structural similarity between an XML document and a DTD and its applications $

A matching algorithm for measuring the structural similarity between an XML document and a DTD and its applications $ Informtion Systems 29 (2004) 23 46 A mthing lgorithm for mesuring the struturl similrity etween n XML oument n DTD n its pplitions $ Elis Bertino, Giovnn Guerrini, Mro Mesiti, * Diprtimento i Informti

More information

COMP 423 lecture 11 Jan. 28, 2008

COMP 423 lecture 11 Jan. 28, 2008 COMP 423 lecture 11 Jn. 28, 2008 Up to now, we hve looked t how some symols in n lphet occur more frequently thn others nd how we cn sve its y using code such tht the codewords for more frequently occuring

More information

Minimal Memory Abstractions

Minimal Memory Abstractions Miniml Memory Astrtions (As implemented for BioWre Corp ) Nthn Sturtevnt University of Alert GAMES Group Ferury, 7 Tlk Overview Prt I: Building Astrtions Minimizing memory requirements Performnes mesures

More information

[Prakash* et al., 5(8): August, 2016] ISSN: IC Value: 3.00 Impact Factor: 4.116

[Prakash* et al., 5(8): August, 2016] ISSN: IC Value: 3.00 Impact Factor: 4.116 [Prksh* et l 58: ugust 6] ISSN: 77-9655 I Vlue: Impt Ftor: 6 IJESRT INTERNTIONL JOURNL OF ENGINEERING SIENES & RESERH TEHNOLOGY SOME PROPERTIES ND THEOREM ON FUZZY SU-TRIDENT DISTNE Prveen Prksh* M Geeth

More information

WORKSHOP 8A TENSION COUPON

WORKSHOP 8A TENSION COUPON WORKSHOP 8A TENSION COUPON WS8A-2 Workshop Ojetives Buil the tension oupon geometry Control the mesh y using tehniques isusse in lss Compre FEA stress results to theoretil results From Stress Conentrtion

More information

Graph Contraction and Connectivity

Graph Contraction and Connectivity Chpter 14 Grph Contrtion n Connetivity So fr we hve mostly overe tehniques for solving problems on grphs tht were evelope in the ontext of sequentil lgorithms. Some of them re esy to prllelize while others

More information

Graph theory Route problems

Graph theory Route problems Bhelors thesis Grph theory Route prolems Author: Aolphe Nikwigize Dte: 986 - -5 Sujet: Mthemtis Level: First level (Bhelor) Course oe: MAE Astrt In this thesis we will review some route prolems whih re

More information

SMALL SIZE EDGE-FED SIERPINSKI CARPET MICROSTRIP PATCH ANTENNAS

SMALL SIZE EDGE-FED SIERPINSKI CARPET MICROSTRIP PATCH ANTENNAS Progress In Eletromgnetis Reserh C, Vol. 3, 195 22, 28 SMALL SIZE EDGE-FED SIERPINSKI CARPET MICROSTRIP PATCH ANTENNAS W.-L. Chen nd G.-M. Wng Rdr Engineering Deprtment Missile Institute of Air Fore Engineering

More information

[SYLWAN., 158(6)]. ISI

[SYLWAN., 158(6)]. ISI The proposl of Improved Inext Isomorphi Grph Algorithm to Detet Design Ptterns Afnn Slem B-Brhem, M. Rizwn Jmeel Qureshi Fulty of Computing nd Informtion Tehnology, King Adulziz University, Jeddh, SAUDI

More information

Outline. Motivation Background ARCH. Experiment Additional usages for Input-Depth. Regular Expression Matching DPI over Compressed HTTP

Outline. Motivation Background ARCH. Experiment Additional usages for Input-Depth. Regular Expression Matching DPI over Compressed HTTP ARCH This work ws supported y: The Europen Reserh Counil, The Isreli Centers of Reserh Exellene, The Neptune Consortium, nd Ntionl Siene Foundtion wrd CNS-119748 Outline Motivtion Bkground Regulr Expression

More information

COSC 6374 Parallel Computation. Dense Matrix Operations

COSC 6374 Parallel Computation. Dense Matrix Operations COSC 6374 Prllel Computtion Dense Mtrix Opertions Edgr Griel Fll Edgr Griel Prllel Computtion Edgr Griel erminology Dense Mtrix: ll elements of the mtrix ontin relevnt vlues ypilly stored s 2-D rry, (e.g.

More information

LINX MATRIX SWITCHERS FIRMWARE UPDATE INSTRUCTIONS FIRMWARE VERSION

LINX MATRIX SWITCHERS FIRMWARE UPDATE INSTRUCTIONS FIRMWARE VERSION Overview LINX MATRIX SWITCHERS FIRMWARE UPDATE INSTRUCTIONS FIRMWARE VERSION 4.4.1.0 Due to the omplex nture of this updte, plese fmilirize yourself with these instrutions nd then ontt RGB Spetrum Tehnil

More information

What are suffix trees?

What are suffix trees? Suffix Trees 1 Wht re suffix trees? Allow lgorithm designers to store very lrge mount of informtion out strings while still keeping within liner spce Allow users to serch for new strings in the originl

More information

Width and Bounding Box of Imprecise Points

Width and Bounding Box of Imprecise Points Width nd Bounding Box of Impreise Points Vhideh Keikh Mrten Löffler Ali Mohdes Zhed Rhmti Astrt In this pper we study the following prolem: we re given set L = {l 1,..., l n } of prllel line segments,

More information

Triple/Quadruple Patterning Layout Decomposition via Novel Linear Programming and Iterative Rounding

Triple/Quadruple Patterning Layout Decomposition via Novel Linear Programming and Iterative Rounding Triple/Qudruple Ptterning Lyout Deomposition vi Novel Liner Progrmming nd Itertive Rounding Yio Lin, Xioqing Xu, Bei Yu, Ross Bldik nd Dvid Z. Pn ECE Dept., University of Texs t Austin, Austin, TX USA

More information

Problem Final Exam Set 2 Solutions

Problem Final Exam Set 2 Solutions CSE 5 5 Algoritms nd nd Progrms Prolem Finl Exm Set Solutions Jontn Turner Exm - //05 0/8/0. (5 points) Suppose you re implementing grp lgoritm tt uses ep s one of its primry dt strutures. Te lgoritm does

More information

A Tautology Checker loosely related to Stålmarck s Algorithm by Martin Richards

A Tautology Checker loosely related to Stålmarck s Algorithm by Martin Richards A Tutology Checker loosely relted to Stålmrck s Algorithm y Mrtin Richrds mr@cl.cm.c.uk http://www.cl.cm.c.uk/users/mr/ University Computer Lortory New Museum Site Pemroke Street Cmridge, CB2 3QG Mrtin

More information

A METHOD FOR CHARACTERIZATION OF THREE-PHASE UNBALANCED DIPS FROM RECORDED VOLTAGE WAVESHAPES

A METHOD FOR CHARACTERIZATION OF THREE-PHASE UNBALANCED DIPS FROM RECORDED VOLTAGE WAVESHAPES A METHOD FOR CHARACTERIZATION OF THREE-PHASE UNBALANCED DIPS FROM RECORDED OLTAGE WAESHAPES M.H.J. Bollen, L.D. Zhng Dept. Eletri Power Engineering Chlmers University of Tehnology, Gothenurg, Sweden Astrt:

More information

COSC 6374 Parallel Computation. Communication Performance Modeling (II) Edgar Gabriel Fall Overview. Impact of communication costs on Speedup

COSC 6374 Parallel Computation. Communication Performance Modeling (II) Edgar Gabriel Fall Overview. Impact of communication costs on Speedup COSC 6374 Prllel Computtion Communition Performne Modeling (II) Edgr Griel Fll 2015 Overview Impt of ommunition osts on Speedup Crtesin stenil ommunition All-to-ll ommunition Impt of olletive ommunition

More information

Partitioning for Parallelization Using Graph Parsing

Partitioning for Parallelization Using Graph Parsing Prtitioning for Prlleliztion Using Grph Prsing C. L. MCrery Deprtment of Computer Siene n Engineering Auurn University, Al 36849 e-mil: mrery@eng.uurn.eu (205) 844-6307 List of Figures Figure 3.1 Figure

More information

Definition of Regular Expression

Definition of Regular Expression Definition of Regulr Expression After the definition of the string nd lnguges, we re redy to descrie regulr expressions, the nottion we shll use to define the clss of lnguges known s regulr sets. Recll

More information

Using a User-Level Memory Thread for Correlation Prefetching

Using a User-Level Memory Thread for Correlation Prefetching Using User-Level Memory Thre for Correltion Prefething Yn Solihin Jejin Lee Josep Torrells University of Illinois t Urn-Chmpign Mihign Stte University http://iom.s.uiu.eu http://www.se.msu.eu/ jlee Astrt

More information

Fault tree conversion to binary decision diagrams

Fault tree conversion to binary decision diagrams Loughorough University Institutionl Repository Fult tree onversion to inry deision digrms This item ws sumitted to Loughorough University's Institutionl Repository y the/n uthor. Cittion: ANDREWS, J.D.

More information

Lecture 8: Graph-theoretic problems (again)

Lecture 8: Graph-theoretic problems (again) COMP36111: Advned Algorithms I Leture 8: Grph-theoreti prolems (gin) In Prtt-Hrtmnn Room KB2.38: emil: iprtt@s.mn..uk 2017 18 Reding for this leture: Sipser: Chpter 7. A grph is pir G = (V, E), where V

More information

SOFTWARE-BUG LOCALIZATION WITH GRAPH MINING

SOFTWARE-BUG LOCALIZATION WITH GRAPH MINING Chpter 17 SOFTWARE-BUG LOCALIZATION WITH GRAPH MINING Frnk Eihinger Institute for Progrm Strutures nd Dt Orgniztion (IPD) Universit-t Krlsruhe (TH), Germny eihinger@ipd.uk.de Klemens B-ohm Institute for

More information

Paradigm 5. Data Structure. Suffix trees. What is a suffix tree? Suffix tree. Simple applications. Simple applications. Algorithms

Paradigm 5. Data Structure. Suffix trees. What is a suffix tree? Suffix tree. Simple applications. Simple applications. Algorithms Prdigm. Dt Struture Known exmples: link tble, hep, Our leture: suffix tree Will involve mortize method tht will be stressed shortly in this ourse Suffix trees Wht is suffix tree? Simple pplitions History

More information

If you are at the university, either physically or via the VPN, you can download the chapters of this book as PDFs.

If you are at the university, either physically or via the VPN, you can download the chapters of this book as PDFs. Lecture 5 Wlks, Trils, Pths nd Connectedness Reding: Some of the mteril in this lecture comes from Section 1.2 of Dieter Jungnickel (2008), Grphs, Networks nd Algorithms, 3rd edition, which is ville online

More information

Introduction. Example

Introduction. Example OMS0 Introution isjoint sets n minimum spnning trees In this leture we will strt by isussing t struture use for mintining isjoint subsets of some bigger set. This hs number of pplitions, inluing to mintining

More information

Evaluating Regular Expression Matching Engines on Network and General Purpose Processors

Evaluating Regular Expression Matching Engines on Network and General Purpose Processors Evluting Regulr Expression Mthing Engines on Network n Generl Purpose Proessors Mihel Behi Wshington University Computer Siene n Engineering St. Louis, MO 63130-4899 mehi@se.wustl.eu Chrlie Wisemn Wshington

More information

Bayesian Networks: Directed Markov Properties (Cont d) and Markov Equivalent DAGs

Bayesian Networks: Directed Markov Properties (Cont d) and Markov Equivalent DAGs Byesin Networks: Direte Mrkov Properties (Cont ) n Mrkov Equivlent DAGs Huizhen Yu jney.yu@s.helsinki.fi Dept. Computer Siene, Univ. of Helsinki Proilisti Moels, Spring, 2010 Huizhen Yu (U.H.) Byesin Networks:

More information

Inter-domain Routing

Inter-domain Routing COMP 631: NETWORKED & DISTRIBUTED SYSTEMS Inter-domin Routing Jsleen Kur Fll 2016 1 Internet-sle Routing: Approhes DV nd link-stte protools do not sle to glol Internet How to mke routing slle? Exploit

More information

CS 340, Fall 2016 Sep 29th Exam 1 Note: in all questions, the special symbol ɛ (epsilon) is used to indicate the empty string.

CS 340, Fall 2016 Sep 29th Exam 1 Note: in all questions, the special symbol ɛ (epsilon) is used to indicate the empty string. CS 340, Fll 2016 Sep 29th Exm 1 Nme: Note: in ll questions, the speil symol ɛ (epsilon) is used to indite the empty string. Question 1. [10 points] Speify regulr expression tht genertes the lnguge over

More information

In the last lecture, we discussed how valid tokens may be specified by regular expressions.

In the last lecture, we discussed how valid tokens may be specified by regular expressions. LECTURE 5 Scnning SYNTAX ANALYSIS We know from our previous lectures tht the process of verifying the syntx of the progrm is performed in two stges: Scnning: Identifying nd verifying tokens in progrm.

More information

COMPUTATION AND VISUALIZATION OF REACHABLE DISTRIBUTION NETWORK SUBSTATION VOLTAGE

COMPUTATION AND VISUALIZATION OF REACHABLE DISTRIBUTION NETWORK SUBSTATION VOLTAGE 24 th Interntionl Conferene on Eletriity Distriution Glsgow, 12-15 June 2017 Pper 0615 COMPUTATION AND VISUALIZATION OF REACHABLE DISTRIBUTION NETWORK SUBSTATION VOLTAGE Mihel SANKUR Dniel ARNOLD Lun SCHECTOR

More information

FEEDBACK: The standard error of a regression is not an unbiased estimator for the standard deviation of the error in a multiple regression model.

FEEDBACK: The standard error of a regression is not an unbiased estimator for the standard deviation of the error in a multiple regression model. Introutory Eonometris: A Moern Approh 6th Eition Woolrige Test Bnk Solutions Complete ownlo: https://testbnkre.om/ownlo/introutory-eonometris-moern-pproh-6th-eition-jeffreym-woolrige-test-bnk/ Solutions

More information

COMPUTER EDUCATION TECHNIQUES, INC. (WEBLOGIC_SVR_ADM ) SA:

COMPUTER EDUCATION TECHNIQUES, INC. (WEBLOGIC_SVR_ADM ) SA: In orer to lern whih questions hve een nswere orretly: 1. Print these pges. 2. Answer the questions. 3. Sen this ssessment with the nswers vi:. FAX to (212) 967-3498. Or. Mil the nswers to the following

More information

Incremental Design Debugging in a Logic Synthesis Environment

Incremental Design Debugging in a Logic Synthesis Environment Inrementl Design Deugging in Logi Synthesis Environment Andres Veneris Jing Brndon Liu University of Toronto Freesle Semiondutors Dept ECE nd CS High Performne Tools Group Toronto, ON M5S 3G4 Austin, TX

More information

Hash-based Subgraph Query Processing Method for Graph-structured XML Documents

Hash-based Subgraph Query Processing Method for Graph-structured XML Documents Hsh-bse Subgrph Query Proessing Metho for Grph-struture XML Douments Hongzhi Wng Hrbin Institute of Teh. wngzh@hit.eu.n Jinzhong Li Hrbin Institute of Teh. lijzh@hit.eu.n Jizhou Luo Hrbin Institute of

More information

Pattern Matching. Pattern Matching. Pattern Matching. Review of Regular Expressions

Pattern Matching. Pattern Matching. Pattern Matching. Review of Regular Expressions Pttern Mthing Pttern Mthing Some of these leture slides hve een dpted from: lgorithms in C, Roert Sedgewik. Gol. Generlize string serhing to inompletely speified ptterns. pplitions. Test if string or its

More information

CS412/413. Introduction to Compilers Tim Teitelbaum. Lecture 4: Lexical Analyzers 28 Jan 08

CS412/413. Introduction to Compilers Tim Teitelbaum. Lecture 4: Lexical Analyzers 28 Jan 08 CS412/413 Introduction to Compilers Tim Teitelum Lecture 4: Lexicl Anlyzers 28 Jn 08 Outline DFA stte minimiztion Lexicl nlyzers Automting lexicl nlysis Jlex lexicl nlyzer genertor CS 412/413 Spring 2008

More information

Single-Layer Trunk Routing Using 45-Degree Lines within Critical Areas for PCB Routing

Single-Layer Trunk Routing Using 45-Degree Lines within Critical Areas for PCB Routing SASIMI 2010 Proeedings (R3-8) Single-Lyer Trunk Routing Using 45-Degree Lines within Critil Ares for PCB Routing Kyosuke SHINODA Yukihide KOHIRA Atsushi TAKAHASHI Tokyo Institute of Tehnology Dept. of

More information

Fig.25: the Role of LEX

Fig.25: the Role of LEX The Lnguge for Specifying Lexicl Anlyzer We shll now study how to uild lexicl nlyzer from specifiction of tokens in the form of list of regulr expressions The discussion centers round the design of n existing

More information

4.3 Balanced Trees. let us assume that we can manipulate them conveniently and see how they can be put together to form trees.

4.3 Balanced Trees. let us assume that we can manipulate them conveniently and see how they can be put together to form trees. 428 T FOU 4.3 Blned Trees T BT GOIT IN T VIOU setion work well for wide vriety of pplitions, ut they hve poor worst-se performne. s we hve noted, files lredy in order, files in reverse order, files with

More information

Section 2.3 Functions. Definition: Let A and B be sets. A function (mapping, map) f from A to B, denoted f :A B, is a subset of A B such that

Section 2.3 Functions. Definition: Let A and B be sets. A function (mapping, map) f from A to B, denoted f :A B, is a subset of A B such that Setion 2.3 Funtions Definition: Let n e sets. funtion (mpping, mp) f from to, enote f :, is suset of suh tht x[x y[y < x, y > f ]] n [< x, y 1 > f < x, y 2 > f ] y 1 = y 2 Note: f ssoites with eh x in

More information

A Fast Delay Analysis Algorithm for The Hybrid Structured Clock Network

A Fast Delay Analysis Algorithm for The Hybrid Structured Clock Network A Fst Dely Anlysis Algorithm for The Hyrid Strutured Clok Network Yi Zou 1, Yii Ci 1,Qing Zhou 1,Xinlong Hong 1, Sheldon X.-D. Tn 2 1 Deprtment of Computer Siene nd Tehnology, Tsinghu University, Beijing,

More information

Type Checking. Roadmap (Where are we?) Last lecture Context-sensitive analysis. This lecture Type checking. Symbol tables

Type Checking. Roadmap (Where are we?) Last lecture Context-sensitive analysis. This lecture Type checking. Symbol tables Type Cheking Rodmp (Where re we?) Lst leture Contet-sensitie nlysis Motition Attriute grmmrs Ad ho Synt-direted trnsltion This leture Type heking Type systems Using synt direted trnsltion Symol tles Leil

More information

Photovoltaic Panel Modelling Using a Stochastic Approach in MATLAB &Simulink

Photovoltaic Panel Modelling Using a Stochastic Approach in MATLAB &Simulink hotovolti nel Modelling Using Stohsti Approh in MATLAB &Simulink KAREL ZALATILEK, JAN LEUCHTER eprtment of Eletril Engineering University of efene Kouniov 65, 61 City of Brno CZECH REUBLIC krelzpltilek@unoz,

More information

Asurveyofpractical algorithms for suffix tree construction in external memory

Asurveyofpractical algorithms for suffix tree construction in external memory Asurveyofprtil lgorithms for suffix tree onstrution in externl memory M. Brsky,, U. Stege n A. Thomo University of Vitori, PO Box, STN CSC Vitori, BC, VW P, Cn SUMMAY The onstrution of suffix trees in

More information

McAfee Web Gateway

McAfee Web Gateway Relese Notes Revision C MAfee We Gtewy 7.6.2.11 Contents Aout this relese Enhnement Resolved issues Instlltion instrutions Known issues Additionl informtion Find produt doumenttion Aout this relese This

More information

String comparison by transposition networks

String comparison by transposition networks String omprison y trnsposition networks Alexnder Tiskin (Joint work with Peter Krushe) Deprtment of Computer Siene University of Wrwik http://www.ds.wrwik..uk/~tiskin (inludes n extended version of this

More information

The Network Layer: Routing in the Internet. The Network Layer: Routing & Addressing Outline

The Network Layer: Routing in the Internet. The Network Layer: Routing & Addressing Outline CPSC 852 Internetworking The Network Lyer: Routing in the Internet Mihele Weigle Deprtment of Computer Siene Clemson University mweigle@s.lemson.edu http://www.s.lemson.edu/~mweigle/ourses/ps852 1 The

More information

Package Contents. Wireless-G USB Network Adapter with SpeedBooster USB Cable Setup CD-ROM with User Guide (English only) Quick Installation

Package Contents. Wireless-G USB Network Adapter with SpeedBooster USB Cable Setup CD-ROM with User Guide (English only) Quick Installation A Division of Ciso Systems, In. Pkge Contents Wireless-G USB Network Adpter with SpeedBooster USB Cle Setup CD-ROM with User Guide (English only) Quik Instlltion 2,4 GHz 802.11g Wireless Model No. Model

More information

CS 551 Computer Graphics. Hidden Surface Elimination. Z-Buffering. Basic idea: Hidden Surface Removal

CS 551 Computer Graphics. Hidden Surface Elimination. Z-Buffering. Basic idea: Hidden Surface Removal CS 55 Computer Grphis Hidden Surfe Removl Hidden Surfe Elimintion Ojet preision lgorithms: determine whih ojets re in front of others Uses the Pinter s lgorithm drw visile surfes from k (frthest) to front

More information

Generating Editors for Direct Manipulation of Diagrams

Generating Editors for Direct Manipulation of Diagrams Generting Eitors for Diret Mnipultion of Digrms Gerhr Viehstet n Mrk Mins Lehrstuhl für Progrmmiersprhen Universität Erlngen-Nürnerg Mrtensstr. 3, 91058 Erlngen, Germny E-mil: fviehste,minsg@informtik.uni-erlngen.e

More information