Loop Pipelining in Hardware-Software Partitioning

Size: px
Start display at page:

Download "Loop Pipelining in Hardware-Software Partitioning"

Transcription

1 Loop Pipelining in Hrdwre-Softwre Prtitioning Jinhwn Jeon nd Kioung Choi School of Electricl Engineering Seoul Ntionl Universit Seoul, Kore Tel: F: e-mil: Astrct This pper presents hrdwre-softwre prtitioning lgorithm tht eploits loop technique. The prtitioning lgorithm is sed on itertive improvement. The lgorithm tries to minimize hrdwre cost through hrdwre shring nd hrdwre implementtion selection without violting given performnce constrint. The proposed loop technique, which is n dpttion of compiler optimiztion technique for instruction level prllelism, increses prllelism within loop trnsforming the structure of n input sstem description. B comining this technique with our prtitioning lgorithm, we cn further reduce the hrdwre cost nd/or improve the performnce of the prtitioned sstem. Eperiments show out 19% performnce improvement nd 44% reduced hrdwre for JPEG encoder design, compred to the results without loop. 1. Introduction Mied hrdwre nd softwre implementtion is common in the design of digitl sstems such s communiction sstems, DSP pplictions, nd emedded sstems. In generl, softwre is es to modif, mintin, nd upgrde, though it is slow compred to hrdwre. Hrdwre cn e mde fster thn softwre ut the cost for ll hrdwre solution is usull too high. An issue rised in designing such sstems is to find n optiml point in etween ll hrdwre solution nd ll softwre solution where we otin mimum performnce t minimum hrdwre cost. This process is clled hrdwresoftwre prtitioning. There re some heuristics proposed for hrdwre-softwre prtitioning prolem [1, 3, 4, 5, 6, 7, 9, 11]. Gupt et l.[4] proposed hrdwre-oriented pproch in which ll the opertions ecept for the dt dependent del opertions re initill mpped to hrdwre. Then the prtitioner repets moving node to softwre while performnce constrints re met. Selection of the node to e moved to softwre is done greed method. Ernst, Henkel, nd Benner [3, 5] proposed softwre-oriented pproch in which ll the units of prtitioning(clled BSB) re initill mpped to softwre. The used simulted nneling lgorithm for prtitioning. Vhid et l. [11] proposed inr-constrint serch lgorithm which serches the design spce while chnging the hrdwre constrint in inr-serch fshion. For ech hrdwre constrint, the run simulted nneling lgorithm nd check to see if the performnce constrint is met. Klvde et l. [6, 7] proposed glol criticlit/locl phse(gclp) driven lgorithm nd hrdwre-softwre mpping nd implementtion in selection(mibs) lgorithm. The ke feture of the lgorithm is the dptive ojective mechnism glol nd locl mesures. This lgorithm pplies two ojectives ccording to glol-time criticlit. If the glol time is criticl, the ojective function is to reduce the ltenc. Otherwise, the ojective function is to minimize the hrdwre resources. Since GC does not contin the informtion on ech node, loclphse(lp) is used to represent the preference of ech node. MIBS is the etension of GCLP. This lgorithm not onl prtitions the nodes ut lso finds the implementtion method of hrdwre node to minimize hrdwre resource. Knudsen et l. [9] proposed dnmic progrmming lgorithm. This lgorithm ssumes n eecution model in which softwre cnnot eecute other jos while hrdwre is running, nd ssumes relistic communiction model. Bsed on this model, the lgorithm finds n optiml solution using dnmic progrmming method. Adms et l. [1] proposed multipleprocess ehviorl snthesis lgorithm for heterogeneous sstems. The use n inter-process code motion to prtition nd llocte n input sstem description which is originll composed of one process. To schedule code segments within process, intr-process code motion is used. Such code motions re mde t rndom to increse concurrenc etween processes nd to improve performnce nd cost, while overll performnce nd cost is optimized simulted nneling. The pproches in [3, 5, 9, 11] ssume n eecution model tht does not llow prllel eecution of hrdwre nd softwre, leding to limited performnce improvement. Though other pproches [1, 4, 6, 7] eploit the prllelism tht resides in the sstem, the onl utilize the eplicit prllelism given the input description. Therefore, codesign pproch for softwre ccelertion seems to hve little dvntge over pure softwre solution [12]. In this pper, we propose loop technique which increses prllelism for more effective hrdwre-softwre prtitioning. In ddition, we propose et nother prtitioning lgorithm which mps nodes to hrdwre or softwre considering vrious hrdwre implementtion lterntives nd hrdwre resource shring. Though the proposed loop technique is not new ide, we show tht simple comintion of technique with prtitioning lgorithm gives more room for softwre ccelertion with less hrdwre cost thn eisting lgorithms, which is the contriution of our work. Our prtitioning lgorithm with loop is suitle for computtion-intensive pplictions minl composed of loops, s is common in most DSP ppli-

2 ctions. Bkshi et l. recentl proposed method [13] which lso dels with the sme suject: prtitioning nd. The perform hrdwre-softwre prtitioning simpl mpping node to hrdwre if it cnnot meet throughput constrint in softwre itself. Then the repet n optimiztion process consisting of, scheduling nd processor lloction until the throughput constrint is met. However, their simple prtitioning scheme does not work - tht is, ll the nodes re mpped to softwre - when ever node meets the throughput constrint, s is often the cse when smll grnulrit is used. In tht cse, the prefer ll softwre solution in multi-processor trget rchitecture to mied hrdwresoftwre solution. However, multi-processor solution is not lws cheper thn one-processor solution with smll ASIC. In our pproch we perform efore prtitioning. Therefore, we cn consider ll the nodes s hrdwre cndidtes. Moreover, we cn comine our loop technique with n other eisting prtitioning lgorithm. Our pper is orgnized s follows. In section 2 we give n overview of our prtitioning lgorithm. In section 3, we propose loop technique for prtitioning nd n lgorithm for solving the etended hrdwre-softwre prtitioning prolem. Section 4 shows eperimentl results efore we conclude in section Overview Figure 1 illustrtes the steps used to prtition n input sstem description. The first step is to trnsform n input ehviorl description into CDFG which is used s n intermedite formt for hrdwre-softwre prtitioning. The CDFG is formll defined s grph G=(N, E), where ech node represents n opertion or set of opertions (e.g., tsk, process, nd code grouping) nd ech edge represents dt nd control dependenc etween nodes. Hrdwre Snthesis Inform tion E stim tor Input D escription (C, VHDL) CDFG Loop Pipelining C ost Function Softwre Profiling Inform tion P rtitioner Performnce Constrint Figure 1. Overview of hrdwre-softwre prtitioning steps. The second step is to otin hrdwre snthesis nd softwre profiling informtion for prtitioning. Tsk(lef procedure or function) level grnulrit is used to otin such informtion from the CDFG. Hrdwre snthesis is done Hper [2]. Hper is performnce-constrined reminimizing high-level snthesis tool. We cn otin mn implementtion lterntives chnging the performnce constrint. The snthesis informtion from Hper includes the numer of used eecution units, the numer of register files, totl eecution del, nd the cost for ech eecution unit. For the purpose of hrdwre snthesis, we must trnslte the CDFG into Silge [2]. Since we hve not implemented n utomtic trnsltor et, the trnsltion is done mnull. However, we hve implemented tool for trnsltion from CDFG to C code nd we use it to otin softwre profiling informtion including eecution del nd invoction count of ech tsk. The finl step is to prtition the CDFG into hrdwre nd softwre prt to stisf the performnce constrint given the user. The hrdwre snthesis informtion nd the softwre profiling informtion otined in the previous step re used for estimting the eecution time nd the hrdwre cost. The prtitioning step is composed of loop stge nd itertive improvement stge. Loop is performed efore the itertive improvement stge in order to increse prllelism within loop. In the itertive improvement stge, hrdwre-softwre prtitioning is performed such tht the cost is minimized while mintining the performnce ove the constrint. In this stge, we consider vrious hrdwre implementtion lterntives to select possil the est one, shre hrdwre modules, s well s perform hrdwre-softwre mpping. Currentl our trget rchitecture consists of single generl purpose processor nd multiple ASICs, lthough the proposed lgorithm cn e etended to the cse of multiple processors replcing the performnce estimtion method(in section 3.2) with scheduling method proposed in [4]. We ssume memor mpped communiction model where no hrdwre is dedicted for communiction - tht is, softwre is locked until communiction completes. 3. Prtitioning Approch 3.1. Nottion Our prtitioning lgorithm focuses on performnceconstrined hrdwre cost minimiztion. The performnce constrint given the user is denoted s D. We denote node in CDFG s n i nd n edge from n i to n j s e i,j. Ech node n i hs informtion including the eecution del(d i ) nd hrdwre-softwre mpping. Ech node n i hs hrdwre implementtion lterntives which cn e represented n implementtion curve IH i. Such curves cn e otined using Hper [2]. We denote the set of ll the predecessors(successors) of n i s pred(n i )(succ(n i )). If node n i is chosen to e implemented in hrdwre nd the predecessors(successors) re implemented in softwre we insert communiction nodes etween n i s predecessors(successors) nd n i. We denote the communiction node etween n j nd n i (n i nd n k ) s nc j,i (nc i,k ), nd the communiction del s dc j,i (dc i,k ), where n pred n (n succ n ). j i k i

3 3.2. Estimtion The prtitioner evlutes the qulit of prtitioned sstem sed on two metrics; totl eecution del nd totl hrdwre cost. First, the totl eecution del is estimted simple list scheduling lgorithm, which is similr to the one proposed in [10]. For the list scheduling of hrdwre nodes, priorit is given to node with the lrgest sum of its own del nd ll successors dels, there llowing the most criticl hrdwre node to e scheduled first. For softwre nodes, priorit is given to node which hs hrdwre successor with the highest priorit, there llowing softwre node tht leds to the most criticl hrdwre node to e scheduled first. We prioritize softwre nodes onl for etter scheduling of hrdwre nodes ecuse ordering of softwre nodes does not ffect the performnce of the softwre when we use single processor. According to this scheme, priorit vlue p i of node n i is defined s d k + d i if n i N HW nk succ( ni ) pi = m ( pk ) if ( n N succ n N n succ n N i SW ) ( ( i ) HW ) k ( i ) HW 0 otherwise where N HW (N SW ) denotes the set of ll hrdwre(softwre) nodes. We consider hrdwre shring effect during list scheduling mking the shring nodes hve the sme resource id. This list scheduling lgorithm is pplied to ech sic lock in the CDFG to otin n estimtion of the eecution del for ech sic lock. Then, recursivel summing up ll the vlues otined multipling invoction count of ech sic lock to the lock s eecution del, we cn clculte the totl eecution del. We estimte the totl hrdwre cost sed on the snthesis informtion provided Hper. In Hper, this cost is hrdwre re. If there is no shring mong hrdwre nodes, hrdwre cost is estimted simpl summing up the hrdwre cost of ech hrdwre node. If multiple hrdwre nodes shre hrdwre resources, the totl cost is reduced the mount of shred resources. To consider resource shring, we need to emple the hrdwre rchitecture. The trget rchitecture of Hper is composed of eecution units, register files, control unit, nd multipleers which re connected crossr network. Currentl, mong these hrdwre resources, we consider onl the eecution units s hrdwre resources tht cn e shred. We estimte the totl hrdwre cost sutrcting the cost of shred resources from the sum of ll the hrdwre nodes costs. We ignore the re increse due to the dded multipleers nd wiring Loop Pipelining Since loop is generll the most time-criticl prt in the computtion-intensive pplictions, there hve een mn loop optimiztion techniques for prllel computing. Softwre pipeline is one of those techniques, which overlps the eecution of code locks in different itertion steps. To llow such n eecution overlp, there must e no dt dependenc etween susequent loop itertions. Most dt processing lgorithms, which receive n input dt strem nd genertes n output dt strem, hve structure suitle for this kind of optimiztion. Loop technique for prtitioning, which we propose in this pper, is n dpttion of softwre pipeline technique to increse the prllelism within loop. We cn eploit the prllelism through concurrent eecution of hrdwre nd softwre s well s concurrent eecution of hrdwre modules. Our loop technique for prtitioning consists of the following three steps. We ssume tht user gives the numer of pipeline stges(n ps ) eforehnd. 1. Find feedck edges which represent dt dependencies to the net itertion of the loop. Then, for ech feedck edge e i,j, mke cluster node which consists of nodes tht eist etween n i nd n j. Finll, recursivel merge cluster nodes tht shre node into cluster node such tht there re no common nodes mong cluster nodes. 2. B grouping nodes nd/or cluster nodes in topologicl order, mke initil pipeline locks which cn e overlpped within the loop. Then repetedl moving node from one pipeline lock to the neighoring pipeline lock, find n optimized set of pipeline locks such tht the communiction etween pipeline locks is minimized nd dels of ll the locks re lnced. During this process, we mke the numer of pipeline locks equl to N ps. 3. Trnsform the loop such tht ll the pipeline locks cn run in prllel. The purpose of the first step is to prevent feedck edge from eing cut pipeline lock oundr. All the nodes connected feedck edge re put into cluster node. Otherwise, the m cuse dt dependenc violtion. Figure 2 () shows this step. In the second step, n initil set of pipeline lock is uilt grouping nodes such tht the numer of pipeline locks is equl to N ps. In Figure 2 (), two pipeline locks, 1 nd 2, re uilt the procedure listed in step 2. The criteri for grouping is the eecution del of ech pipeline lock nd the communiction etween susequent pipeline locks. First, it is desirle tht the eecution del of ech pipeline lock e equl in order to reduce the criticl pth of the trnsformed loop nd increse prllelism mong prtitioned locks. Secondl, since vrile cop instructions (s7 in Figure 2 (c)) should e inserted to compenste for the cut edges, it is desirle tht the communiction etween susequent pipeline locks e minimized in order to reduce the overhed induced vrile cop instructions nd communiction overhed from or to hrdwre nodes. For these optimiztions, we use greed method which reduces cost function f L defined s P d P 1 loop f L = d + α ncomm ( i ) i i= 1 P i= 1 where P, d i, d loop, n comm ( i ), nd α re numer of pipeline locks, del of pipeline lock i, eecution del of the loop, communiction overhed from i to i+1, nd weighting fctor, respectivel.

4 In the finl step, we trnsform the loop such tht ll the pipeline locks cn run in prllel, s shown in Figure 2 (c). Note tht vrile in s3 in the loop is renmed s 2 so tht 1 nd 2 cn run in prllel, nd s7 is dded s n epilogue code of the loop so tht 2 cn use the updted vlue of vrile in the net itertion. Recll tht in the second step of loop technique, we tr to reduce the overhed of this epilogue code. loop: i (0... N) s2: := f0(i); s3: := f1(); s4: z := f2(, ); z s5: := f3(z, ); s6: c := g1(); () merging nodes connected feedck edge loop: i (0... N) 1 2 s2: := f0(i); s3: := f1(); s4: z := f(, ); z s5: := f3(z, ); s6: c := g1(); () mking pipeline lock 1 loop: i (1... N) 2 s2: := f0(0); s3: := f1(); s4: z := f(, ); z s5: := f3(z, ); 1 2 s2: := f0(i); s3: 2:= f1(); 2 s7: := 2; s4: z := f2(, ); z s5: := f3(z, ); s6: c := g1(); (c) overlpping pipeling locks Figure 2. Loop trnsformtion loop. This method cn lso e used s post optimizer to improve the performnce of prtitioned sstem. Figure 3 illustrtes the performnce improvement loop trnsformtion. Assume Figure 3 () is the prtitioned sstem hrdwresoftwre prtitioner, where s4 nd s5 is mpped to hrdwre. In the originl structure, the processor should e idling while s4 nd s5 re running ecuse there re no jos to eecute in prllel. However, if we trnsform the structure of the loop s shown in Figure 3 (), the processor cn eecute s2 nd s3 while the hrdwre is running s4 nd s5. loop: i (0... N) s2: := f0(i); s3: := f1(); s7: Send(); s4: z := f2(, ); z s5: := f3 (z, ); s8: := R ecv(); s6: c := g1(); () prtitioned sstem loop: i (1... N) s2: := f0(0); s3: := f1(); s7: Send(); s4: z := f2(, ); z s5: := f3 (z, ); s2: := f0(i); s3: 2 := f1(); 2 s9: := 2; s4: z := f2(, ); z s5: := f3 (z, ); s8: := R ecv(); s6: c := g1(); () trnsform ed sstem Figure 3. Loop trnsformtion s post optimizer for prtitioned sstem Prtitioning Algorithm Our prtitioning lgorithm mkes decisions regrding the implementtion of hrdwre node, shring mong hrdwre nodes, nd hrdwre-softwre mpping, suject to given performnce constrint. Figure 4 shows pseudo code of the prtitioning lgorithm, where totl_del() procedure nd totl_cost() procedures re totl eecution del estimtor nd totl hrdwre cost estimtor, respectivel. The Reduce- Cost() procedure used in the lgorithm tries to incrementll reduce nd updte totl hrdwre cost ccording to the procedurl steps listed elow: 1. Find pir of hrdwre modules which reduce totl hrdwre cost mimll shring, while stisfing the performnce constrint. 2. Find node ni NHW which reduces the totl hrdwre cost mimll while stisfing the performnce constrint, when it is moved to nother point in the implementtion curve IH i. 3. Find node ni NHW which reduces the totl hrdwre cost mimll while stisfing the performnce constrint, when it is mpped to softwre. 4. Among the cndidtes otined from steps 1-3, dopt the cndidte whose cost reduction is mimum. 5. Repet steps 1-4 until no more cndidtes re ville. /* Input: CDFG G(N, E), performnce constrint D */ /* Output: prtitioned CDFG G(N, E) */ Prtition (G(N, E), D) { G est =G; N HW=φ; N SW=N; /* first phse */ G=GreedPrtition(G); /* initil prtition greed method */ G est = ReduceCost(G); /* Reduce hrdwre cost */ cost est = totl_cost(g est ); / * cost of initil prtition */ /* second phse : itertive improvement */ do { N fied=φ; /* first inner loop: over llocte hrdwre node */ for (i=0; i<n m; i++) { n cn=n i N SW, where {speedup/cost} is mimum in HW; N HW=N HW n cnd; N SW=N SW - n cnd; G =ReduceCost(G); } if (cost est > totl_cost(g )) { G est = G ; cost est = totl_cost(g ); } /* second inner loop: dellocte hrdwre node */ do { /* mp node with the mimum hrdwre cost to softwre */ n cnd =n i (N HW - N fied), where cost reduction is mimum in SW; N SW=N SW n cnd; N HW =N HW - n cnd; N fied=n fied n cnd; /* mp SW nodes to HW to meet performnce constrint */ while (totl_ del(g) > D) { n cnd=n i (N SW - N fied), where {speedup/cost} is mimum in HW; N HW = N HW n cnd; N SW = N SW - n cnd; N fied = N fied n cnd; } G =ReduceCost(G); if (cost est > totl_cost(g )) { G est = G ; cost est = totl_cost(g ); } } while (N fied N); G = G est ; } while (cost improvement is otinle); return G; } Figure 4. Pseudo code of the prtitioning lgorithm.

5 The prtitioning lgorithm consists of two phses. In the first phse of the prtitioning lgorithm, strting from ll softwre solution, GreedPrtition() procedure mkes n initil prtition tht stisfies the performnce constrint repetedl mpping node, which hs the mimum speedup per cost, to hrdwre. During the GreedPrtition(), the implementtion of hrdwre cndidte node n i is selected t the fstest point of IH i. In the second phse, the lgorithm itertivel improves the initil prtition within in the two nested loops. In the first inner loop, softwre node is mpped to hrdwre while reducing the cost ReduceCost() procedure, until the numer of moved nodes reches N m which is proportionl to the numer of nodes. The purpose of the first inner loop is to give more chnce of cost reduction during ReduceCost() procedure llocting more hrdwre nodes thn re needed. In the second inner loop, we select node from the set of nodes currentl mpped to hrdwre nd move it to softwre. We select node which will reduce the totl hrdwre cost mimll fter the move. Then nodes mpped to softwre re repetedl moved to hrdwre until the performnce constrint is met. The implementtion of the nodes moved to hrdwre is selected t the fstest point of IH i. During this procedure, once node is moved to the other prtition group (hrdwre to softwre or softwre to hrdwre), it is fied in order to prevent from eing re-selected s cndidte node. After performnce constrint is met through the ove procedure, ReduceCost() procedure is clled in order to reduce the totl hrdwre cost. If totl hrdwre cost reduced ReduceCost() is less thn the est hrdwre cost otined so fr, current prtition is sved s the est prtition. Note tht the prtitioning result ReduceCost() is sved to G not G. One reson for this is tht ReduceCost() cn chnge the mpping of fied hrdwre node to reduce totl hrdwre cost nd sving the result to G could cuse prolem to the itertion process. Another reson is tht ccumulting the result ReduceCost() m prevent G from escping from locl optimum in the itertive improvement process. The inner loop repets the ove procedure until ll the nodes re fied, while outer loop repets the inner loop until no more improvement is ville. 4. Eperimentl Results The prtitioning lgorithm with loop is implemented in C++ under UNIX environment. We use JPEG encoder which is descried in 977 lines of C code s n emple. This emple is computtion-intensive ppliction which consists of two min loops nd 20 tsks. The grnulrit of prtitioning is tsk-level (i.e. the lef tsk), where ech tsk hs 4-5 hrdwre implementtion lterntives. Softwre profiling informtion is otined on SPARC 1. We ssume memor-mpped communiction model with 2 clocks of communiction overhed for 32it dt trnsfer. Figure 5 shows design spce curves for the emple otined our prtitioning lgorithm in the following two different cses: cse 1: prtitioning without loop. cse 2: prtitioning with loop. Figure 5. ƒ RNPeKPX QNXeKPX QNVeKPX QNTeKPX QNReKPX QNPeKPX XNPeKPW VNPeKPW TNPeKPW RNPeKPW PNPeKPP ƒ Q H ˆ Œ Œ Ž Ž I ƒ R H ˆ Œ Œ Ž Ž I PNX QNX RNX Œ H ƒi Hrdwre-softwre prtitioning result for JPEG encoder. In cse 2, we set the numer of pipeline lock P s 3 for ech min loop. From the figure, we cn see tht the curve of cse 2 is lws on the left side of tht of the cse 1. This mens tht the prtitioned sstem of cse 2 is lws fster tht tht of cse 1 when the hve the sme hrdwre cost. The minimum del of cse 1 is 1.1 with hrdwre cost of 1.83E+8, wheres tht of cse 2 is 0.89 with hrdwre cost of 1.01E+8. The improvement of the minimum del loop technique is out 19%. The improvement of the cost with the del kept constnt is 7 to 70%. This fct eplins tht loop for hrdwre-softwre prtitioning is effective in improving oth performnce nd cost. To the est of our knowledge, there is no previous lgorithm tht considers hrdwre shring nd implementtion selection t the sme time. Therefore, we compre the result of the proposed lgorithm with tht of our own simulted nneling lgorithm in order to show the effectiveness of our itertive improvement prtitioning lgorithm. Simulted nneling is n lgorithm sed on the concept of the proilistic selection of rndoml generted sttes [8]. We generte new stte three rndom moves; toggling hrdwresoftwre mpping(m1), chnging the stte of hrdwre shring(m2), nd chnging the implementtion of hrdwre node(m3). The genertion proilit of M1 is 0.5 while M2 nd M3 is generte t the sme proilit of The cost function f A of the nneling is defined s f A = c1 d + c2 hrdwre _ cos t where c 1 nd c 2 re weighting fctors, nd d is 0 if the totl eecution del is smller thn D nd is totl_eecution_del-d otherwise. To stisf the performnce constrint, c 1 is scheduled to increse s nneling process proceeds with the cooling rtio of 0.9. Tle 1 compres the prtitioning result of the proposed lgorithm with tht of the simulted nneling. We eclude the informtion on computtion time, since our comprison intends to show not the efficienc ut the effectiveness of the proposed lgorithm. The proposed lgorithm is of course much fster (out order of mgnitude) thn simulted nneling. The results of the simulted nneling re otined selecting the est cost

6 fter running the progrm 5 times. From the tle, we cn see tht our lgorithm find solution comprle to tht of simulted nneling. Tle 1. Comprison of the proposed lgorithm with simulted nneling. Our lgorithm Simulted Anneling w ithout loop with loop w ithout loop With loop HW cost HW cost HW cost HW cost D(sec) To see the effect of hrdwre shring nd implementtion selection, we test our lgorithm without these fetures. Tle 2 shows the results otined our lgorithm with loop ut without hrdwre shring or implementtion selection. When we test our lgorithm without the feture of implementtion selection, we fi the implementtion of ech node n i t the medin point in the implementtion curve IH i. We don t fi the implementtion t the slowest point in the implementtion curve ecuse we cnnot stisf tight performnce constrint using such n implementtion. The results in Tle 2 shows tht shring nd implementtion selection is effective for reducing the totl hrdwre cost of the prtitioned sstem. Tle 2. Prtitioning results without hrdwre shring or implementtion selection Without shring Without implementtion selection (medin point) D (sec) HW cost % cost increse HW cost % cost increse Conclusions In this pper, we proposed hrdwre-softwre prtitioning lgorithm with loop technique which is suitle for computtion-intensive pplictions composed of loops. Loop technique is effective for prtitioning ecuse this technique increses prllelism within loop there llowing prtitioning lgorithm to find etter solution. Thnks to incresed prllelism, we cn find lower cost solution t given performnce constrint nd etter performnce solution t given hrdwre cost constrint. In ddition, our hrdwre-softwre prtitioning lgorithm, which is sed on n itertive improvement method, llows hrdwre implementtion selection nd hrdwre shring to minimize hrdwre cost, suject to performnce constrint. Eperimentl results show tht (i) loop technique is effective in tht it provides more chnce of overlpping the eecution of hrdwre nd softwre during prtitioning process nd (ii) the proposed lgorithm efficientl finds solution comprle to tht of simulted nneling lgorithm. Future work includes dnmicll chnging pipeline locks ccording to the current prtition stte, there incresing the effect of loop further. Recll tht in the current implementtion, we determine pipeline locks stticll efore the prtitioning process. We re lso working on considering multiple processor trget rchitecture for softwre implementtion. References [1] J. K. Adms nd D. E. Thoms, Multiple-Process Behviorl Snthesis for Mied hrdwre-softwre Sstems, Proceedings of Interntionl Smposium on Sstem Snthesis, pp , [2] C. Chu, et l., HYPER: An interctive snthesis environment for high performnce rel time pplictions, Proceedings of Interntionl Conference on Computer Design, Novemer [3] R. Ernst nd J. Henkel, Hrdwre-Softwre Cosnthesis for Microcontrollers, IEEE Design & Test of Computers, pp , Decemer [4] R. K. Gupt nd G. De Micheli, Sstem-level Snthesis using Reprogrmmle Components, Proceedings of EURO-DAC 92, pp. 2-7, Ferur [5] J. Henkel, T. Benner, nd R. Ernst, Hrdwre genertion nd prtitioning effects in the COSYMA sstem, Proceedings of Int l Workshop on Hrdwre-Softwre Codesign, pp , Octoer [6] A. Klvde nd E. A. Lee, A Glol Criticlit/Locl Phse Driven Algorithm for the Constrined Hrdwre-softwre Prtitioning Prolem,, Proceedings of Int l Workshop on Hrdwre/Softwre Codesign, pp.42-48, Septemer [7] A. Klvde nd E. A. Lee, The Etended Prtitioning Prolem: Hrdwre-softwre Mpping nd Implementtion-Bin Selection, Proceedings of Int l Workshop on Rpid Sstems Prototping, June [8] S. Kirkptrick, C. D. Geltt, Jr., M. P. Vecchi, "Optimiztion Simulted Anneling," Science, vol. 220, pp , M [9] P. V. Knudsen nd J. Mdsen, PACE: A Dnmic Progrmming Algorithm for Hrdwre-softwre Prtitioning, Proceedings of Int l Workshop on Hrdwre/Softwre Codesign, pp , Mrch [10] K. Olukotun, R. Helihel, J. Levitt nd R. Rmirez, A Softwre- Hrdwre Cosnthesis Approch to Digitl Sstem Simultion, IEEE Micro, pp , August [11] F. Vhid, J. Gong, nd D. D. Gjski, A Binr-Constrint Serch Algorithm for Minimizing Hrdwre during Hrdwre-softwre Prtitioning, Proceedings of EURO-DAC 94, pp , [12] M. Edwrds, Softwre Accelertion Using Coprocessors: Is it Worth the Effort?, Proceedings of Int l Workshop on Hrdwre/Softwre Codesign, pp , Mrch [13] S. Bkshi nd D. D. Gjski, Hrdwre/Softwre Prtitioning nd Pipelining, Proceedings of Design Automtion Conference, pp , June [14] P. Pjorn-Jorgensen nd J. Mdsen, Criticl Pth Driven Cosnthesis for Heterogeneous Trget Architecture, Proceedings of Int l Workshop on Hrdwre/Softwre Codesign, pp , Mrch 1997.

EECS150 - Digital Design Lecture 23 - High-level Design and Optimization 3, Parallelism and Pipelining

EECS150 - Digital Design Lecture 23 - High-level Design and Optimization 3, Parallelism and Pipelining EECS150 - Digitl Design Lecture 23 - High-level Design nd Optimiztion 3, Prllelism nd Pipelining Nov 12, 2002 John Wwrzynek Fll 2002 EECS150 - Lec23-HL3 Pge 1 Prllelism Prllelism is the ct of doing more

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

Heuristics for Thelen s Prime Implicant Method 1

Heuristics for Thelen s Prime Implicant Method 1 S C H E D A E I N F O R M A T I C A E VOLUME 14 2005 Heuristics for Thelen s Prime Implicnt Method 1 Jcek Biegnowski, Andrei Krtkevich Institute of Computer Engineering nd Electronics, ul. Podgórn 50,

More information

8.2 Areas in the Plane

8.2 Areas in the Plane 39 Chpter 8 Applictions of Definite Integrls 8. Ares in the Plne Wht ou will lern out... Are Between Curves Are Enclosed Intersecting Curves Boundries with Chnging Functions Integrting with Respect to

More information

Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming

Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming Lecture 10 Evolutionry Computtion: Evolution strtegies nd genetic progrmming Evolution strtegies Genetic progrmming Summry Negnevitsky, Person Eduction, 2011 1 Evolution Strtegies Another pproch to simulting

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

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

CS321 Languages and Compiler Design I. Winter 2012 Lecture 5

CS321 Languages and Compiler Design I. Winter 2012 Lecture 5 CS321 Lnguges nd Compiler Design I Winter 2012 Lecture 5 1 FINITE AUTOMATA A non-deterministic finite utomton (NFA) consists of: An input lphet Σ, e.g. Σ =,. A set of sttes S, e.g. S = {1, 3, 5, 7, 11,

More information

PARALLEL AND DISTRIBUTED COMPUTING

PARALLEL AND DISTRIBUTED COMPUTING PARALLEL AND DISTRIBUTED COMPUTING 2009/2010 1 st Semester Teste Jnury 9, 2010 Durtion: 2h00 - No extr mteril llowed. This includes notes, scrtch pper, clcultor, etc. - Give your nswers in the ville spce

More information

Video-rate Image Segmentation by means of Region Splitting and Merging

Video-rate Image Segmentation by means of Region Splitting and Merging Video-rte Imge Segmenttion y mens of Region Splitting nd Merging Knur Anej, Florence Lguzet, Lionel Lcssgne, Alin Merigot Institute for Fundmentl Electronics, University of Pris South Orsy, Frnce knur.nej@gmil.com,

More information

Slides for Data Mining by I. H. Witten and E. Frank

Slides for Data Mining by I. H. Witten and E. Frank Slides for Dt Mining y I. H. Witten nd E. Frnk Simplicity first Simple lgorithms often work very well! There re mny kinds of simple structure, eg: One ttriute does ll the work All ttriutes contriute eqully

More information

The Greedy Method. The Greedy Method

The Greedy Method. The Greedy Method Lists nd Itertors /8/26 Presenttion for use with the textook, Algorithm Design nd Applictions, y M. T. Goodrich nd R. Tmssi, Wiley, 25 The Greedy Method The Greedy Method The greedy method is generl lgorithm

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

An Efficient Algorithm for Discovering Frequent Subgraphs. Technical Report

An Efficient Algorithm for Discovering Frequent Subgraphs. Technical Report An Efficient Algorithm for Discovering Frequent Sugrphs Technicl Report Deprtment of Computer Science nd Engineering Universit of Minnesot 4-192 EECS Building 200 Union Street SE Minnepolis, MN 55455-0159

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

Qubit allocation for quantum circuit compilers

Qubit allocation for quantum circuit compilers Quit lloction for quntum circuit compilers Nov. 10, 2017 JIQ 2017 Mrcos Yukio Sirichi Sylvin Collnge Vinícius Fernndes dos Sntos Fernndo Mgno Quintão Pereir Compilers for quntum computing The first genertion

More information

Presentation Martin Randers

Presentation Martin Randers Presenttion Mrtin Rnders Outline Introduction Algorithms Implementtion nd experiments Memory consumption Summry Introduction Introduction Evolution of species cn e modelled in trees Trees consist of nodes

More information

this grammar generates the following language: Because this symbol will also be used in a later step, it receives the

this grammar generates the following language: Because this symbol will also be used in a later step, it receives the LR() nlysis Drwcks of LR(). Look-hed symols s eplined efore, concerning LR(), it is possile to consult the net set to determine, in the reduction sttes, for which symols it would e possile to perform reductions.

More information

Digital Signal Processing: A Hardware-Based Approach

Digital Signal Processing: A Hardware-Based Approach Digitl Signl Processing: A Hrdwre-Bsed Approch Roert Esposito Electricl nd Computer Engineering Temple University troduction Teching Digitl Signl Processing (DSP) hs included the utilition of simultion

More information

P(r)dr = probability of generating a random number in the interval dr near r. For this probability idea to make sense we must have

P(r)dr = probability of generating a random number in the interval dr near r. For this probability idea to make sense we must have Rndom Numers nd Monte Crlo Methods Rndom Numer Methods The integrtion methods discussed so fr ll re sed upon mking polynomil pproximtions to the integrnd. Another clss of numericl methods relies upon using

More information

Outline. Introduction Suffix Trees (ST) Building STs in linear time: Ukkonen s algorithm Applications of ST

Outline. Introduction Suffix Trees (ST) Building STs in linear time: Ukkonen s algorithm Applications of ST Suffi Trees Outline Introduction Suffi Trees (ST) Building STs in liner time: Ukkonen s lgorithm Applictions of ST 2 3 Introduction Sustrings String is ny sequence of chrcters. Sustring of string S is

More information

Complete Coverage Path Planning of Mobile Robot Based on Dynamic Programming Algorithm Peng Zhou, Zhong-min Wang, Zhen-nan Li, Yang Li

Complete Coverage Path Planning of Mobile Robot Based on Dynamic Programming Algorithm Peng Zhou, Zhong-min Wang, Zhen-nan Li, Yang Li 2nd Interntionl Conference on Electronic & Mechnicl Engineering nd Informtion Technology (EMEIT-212) Complete Coverge Pth Plnning of Mobile Robot Bsed on Dynmic Progrmming Algorithm Peng Zhou, Zhong-min

More information

Fig.1. Let a source of monochromatic light be incident on a slit of finite width a, as shown in Fig. 1.

Fig.1. Let a source of monochromatic light be incident on a slit of finite width a, as shown in Fig. 1. Answer on Question #5692, Physics, Optics Stte slient fetures of single slit Frunhofer diffrction pttern. The slit is verticl nd illuminted by point source. Also, obtin n expression for intensity distribution

More information

From Dependencies to Evaluation Strategies

From Dependencies to Evaluation Strategies From Dependencies to Evlution Strtegies Possile strtegies: 1 let the user define the evlution order 2 utomtic strtegy sed on the dependencies: use locl dependencies to determine which ttriutes to compute

More information

MTH 146 Conics Supplement

MTH 146 Conics Supplement 105- Review of Conics MTH 146 Conics Supplement In this section we review conics If ou ne more detils thn re present in the notes, r through section 105 of the ook Definition: A prol is the set of points

More information

Before We Begin. Introduction to Spatial Domain Filtering. Introduction to Digital Image Processing. Overview (1): Administrative Details (1):

Before We Begin. Introduction to Spatial Domain Filtering. Introduction to Digital Image Processing. Overview (1): Administrative Details (1): Overview (): Before We Begin Administrtive detils Review some questions to consider Winter 2006 Imge Enhncement in the Sptil Domin: Bsics of Sptil Filtering, Smoothing Sptil Filters, Order Sttistics Filters

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

Systems I. Logic Design I. Topics Digital logic Logic gates Simple combinational logic circuits

Systems I. Logic Design I. Topics Digital logic Logic gates Simple combinational logic circuits Systems I Logic Design I Topics Digitl logic Logic gtes Simple comintionl logic circuits Simple C sttement.. C = + ; Wht pieces of hrdwre do you think you might need? Storge - for vlues,, C Computtion

More information

Algorithm Design (5) Text Search

Algorithm Design (5) Text Search Algorithm Design (5) Text Serch Tkshi Chikym School of Engineering The University of Tokyo Text Serch Find sustring tht mtches the given key string in text dt of lrge mount Key string: chr x[m] Text Dt:

More information

Parallel Square and Cube Computations

Parallel Square and Cube Computations Prllel Squre nd Cube Computtions Albert A. Liddicot nd Michel J. Flynn Computer Systems Lbortory, Deprtment of Electricl Engineering Stnford University Gtes Building 5 Serr Mll, Stnford, CA 945, USA liddicot@stnford.edu

More information

Computer Arithmetic Logical, Integer Addition & Subtraction Chapter

Computer Arithmetic Logical, Integer Addition & Subtraction Chapter Computer Arithmetic Logicl, Integer Addition & Sutrction Chpter 3.-3.3 3.3 EEC7 FQ 25 MIPS Integer Representtion -it signed integers,, e.g., for numeric opertions 2 s s complement: one representtion for

More information

Pointers and Arrays. More Pointer Examples. Pointers CS 217

Pointers and Arrays. More Pointer Examples. Pointers CS 217 Pointers nd Arrs CS 21 1 2 Pointers More Pointer Emples Wht is pointer A vrile whose vlue is the ddress of nother vrile p is pointer to vrile v Opertions &: ddress of (reference) *: indirection (dereference)

More information

Engineer To Engineer Note

Engineer To Engineer Note Engineer To Engineer Note EE-169 Technicl Notes on using Anlog Devices' DSP components nd development tools Contct our technicl support by phone: (800) ANALOG-D or e-mil: dsp.support@nlog.com Or visit

More information

A New Learning Algorithm for the MAXQ Hierarchical Reinforcement Learning Method

A New Learning Algorithm for the MAXQ Hierarchical Reinforcement Learning Method A New Lerning Algorithm for the MAXQ Hierrchicl Reinforcement Lerning Method Frzneh Mirzzdeh 1, Bbk Behsz 2, nd Hmid Beigy 1 1 Deprtment of Computer Engineering, Shrif University of Technology, Tehrn,

More information

1.5 Extrema and the Mean Value Theorem

1.5 Extrema and the Mean Value Theorem .5 Extrem nd the Men Vlue Theorem.5. Mximum nd Minimum Vlues Definition.5. (Glol Mximum). Let f : D! R e function with domin D. Then f hs n glol mximum vlue t point c, iff(c) f(x) for ll x D. The vlue

More information

1. SEQUENCES INVOLVING EXPONENTIAL GROWTH (GEOMETRIC SEQUENCES)

1. SEQUENCES INVOLVING EXPONENTIAL GROWTH (GEOMETRIC SEQUENCES) Numbers nd Opertions, Algebr, nd Functions 45. SEQUENCES INVOLVING EXPONENTIAL GROWTH (GEOMETRIC SEQUENCES) In sequence of terms involving eponentil growth, which the testing service lso clls geometric

More information

Memory-Optimized Software Synthesis from Dataflow Program Graphs withlargesizedatasamples

Memory-Optimized Software Synthesis from Dataflow Program Graphs withlargesizedatasamples EURSIP Journl on pplied Signl Processing 2003:6, 54 529 c 2003 Hindwi Publishing orportion Memory-Optimized Softwre Synthesis from tflow Progrm Grphs withlrgesizetsmples Hyunok Oh The School of Electricl

More information

Ranking of Hexagonal Fuzzy Numbers for Solving Multi Objective Fuzzy Linear Programming Problem

Ranking of Hexagonal Fuzzy Numbers for Solving Multi Objective Fuzzy Linear Programming Problem Interntionl Journl of Computer pplictions 097 8887 Volume 8 No 8 Decemer 0 nking of egonl Fuzzy Numers Solving ulti Ojective Fuzzy Liner Progrmming Prolem jrjeswri. P Deprtment of themtics Chikknn Government

More information

Digital Design. Chapter 6: Optimizations and Tradeoffs

Digital Design. Chapter 6: Optimizations and Tradeoffs Digitl Design Chpter 6: Optimiztions nd Trdeoffs Slides to ccompny the tetbook Digitl Design, with RTL Design, VHDL, nd Verilog, 2nd Edition, by Frnk Vhid, John Wiley nd Sons Publishers, 2. http://www.ddvhid.com

More information

It consists of two cold rooms, each with their own evaporator but sharing the same cooling flui d R134a system ( compressor, condenser...).

It consists of two cold rooms, each with their own evaporator but sharing the same cooling flui d R134a system ( compressor, condenser...). This system llows study of refrigertion systems implementtion of rmodyn mic clcultions pplied to refrigertion Its uniqueness is tht it is fully controllble vi Internet directly from web browser like Internet

More information

ECEN 468 Advanced Logic Design Lecture 36: RTL Optimization

ECEN 468 Advanced Logic Design Lecture 36: RTL Optimization ECEN 468 Advnced Logic Design Lecture 36: RTL Optimiztion ECEN 468 Lecture 36 RTL Design Optimiztions nd Trdeoffs 6.5 While creting dtpth during RTL design, there re severl optimiztions nd trdeoffs, involving

More information

Efficient K-NN Search in Polyphonic Music Databases Using a Lower Bounding Mechanism

Efficient K-NN Search in Polyphonic Music Databases Using a Lower Bounding Mechanism Efficient K-NN Serch in Polyphonic Music Dtses Using Lower Bounding Mechnism Ning-Hn Liu Deprtment of Computer Science Ntionl Tsing Hu University Hsinchu,Tiwn 300, R.O.C 886-3-575679 nhliou@yhoo.com.tw

More information

Efficient Rerouting Algorithms for Congestion Mitigation

Efficient Rerouting Algorithms for Congestion Mitigation 2009 IEEE Computer Society Annul Symposium on VLSI Efficient Rerouting Algorithms for Congestion Mitigtion M. A. R. Chudhry*, Z. Asd, A. Sprintson, nd J. Hu Deprtment of Electricl nd Computer Engineering

More information

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distriuted Systems Principles nd Prdigms Chpter 11 (version April 7, 2008) Mrten vn Steen Vrije Universiteit Amsterdm, Fculty of Science Dept. Mthemtics nd Computer Science Room R4.20. Tel: (020) 598 7784

More information

TOWARDS GRADIENT BASED AERODYNAMIC OPTIMIZATION OF WIND TURBINE BLADES USING OVERSET GRIDS

TOWARDS GRADIENT BASED AERODYNAMIC OPTIMIZATION OF WIND TURBINE BLADES USING OVERSET GRIDS TOWARDS GRADIENT BASED AERODYNAMIC OPTIMIZATION OF WIND TURBINE BLADES USING OVERSET GRIDS S. H. Jongsm E. T. A. vn de Weide H. W. M. Hoeijmkers Overset symposium 10-18-2012 Deprtment of mechnicl engineering

More information

Performance enhancement of IEEE DCF using novel backoff algorithm

Performance enhancement of IEEE DCF using novel backoff algorithm Kuo et l. EURASIP Journl on Wireless Communictions nd Networking 212, 212:274 http://jis.eursipjournls.com/content/212/1/274 RESEARCH Open Access Performnce enhncement of IEEE 82.11 using novel ckoff lgorithm

More information

Approximation of Two-Dimensional Rectangle Packing

Approximation of Two-Dimensional Rectangle Packing pproximtion of Two-imensionl Rectngle Pcking Pinhong hen, Yn hen, Mudit Goel, Freddy Mng S70 Project Report, Spring 1999. My 18, 1999 1 Introduction 1-d in pcking nd -d in pcking re clssic NP-complete

More information

Topological Queries on Graph-structured XML Data: Models and Implementations

Topological Queries on Graph-structured XML Data: Models and Implementations Topologicl Queries on Grph-structured XML Dt: Models nd Implementtions Hongzhi Wng, Jinzhong Li, nd Jizhou Luo Astrct In mny pplictions, dt is in grph structure, which cn e nturlly represented s grph-structured

More information

Mobile IP route optimization method for a carrier-scale IP network

Mobile IP route optimization method for a carrier-scale IP network Moile IP route optimiztion method for crrier-scle IP network Tkeshi Ihr, Hiroyuki Ohnishi, nd Ysushi Tkgi NTT Network Service Systems Lortories 3-9-11 Midori-cho, Musshino-shi, Tokyo 180-8585, Jpn Phone:

More information

10.5 Graphing Quadratic Functions

10.5 Graphing Quadratic Functions 0.5 Grphing Qudrtic Functions Now tht we cn solve qudrtic equtions, we wnt to lern how to grph the function ssocited with the qudrtic eqution. We cll this the qudrtic function. Grphs of Qudrtic Functions

More information

Tries. Yufei Tao KAIST. April 9, Y. Tao, April 9, 2013 Tries

Tries. Yufei Tao KAIST. April 9, Y. Tao, April 9, 2013 Tries Tries Yufei To KAIST April 9, 2013 Y. To, April 9, 2013 Tries In this lecture, we will discuss the following exct mtching prolem on strings. Prolem Let S e set of strings, ech of which hs unique integer

More information

Solving Problems by Searching. CS 486/686: Introduction to Artificial Intelligence Winter 2016

Solving Problems by Searching. CS 486/686: Introduction to Artificial Intelligence Winter 2016 Solving Prolems y Serching CS 486/686: Introduction to Artificil Intelligence Winter 2016 1 Introduction Serch ws one of the first topics studied in AI - Newell nd Simon (1961) Generl Prolem Solver Centrl

More information

Virtual Machine (Part I)

Virtual Machine (Part I) Hrvrd University CS Fll 2, Shimon Schocken Virtul Mchine (Prt I) Elements of Computing Systems Virtul Mchine I (Ch. 7) Motivtion clss clss Min Min sttic sttic x; x; function function void void min() min()

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

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

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

Stack Manipulation. Other Issues. How about larger constants? Frame Pointer. PowerPC. Alternative Architectures

Stack Manipulation. Other Issues. How about larger constants? Frame Pointer. PowerPC. Alternative Architectures Other Issues Stck Mnipultion support for procedures (Refer to section 3.6), stcks, frmes, recursion mnipulting strings nd pointers linkers, loders, memory lyout Interrupts, exceptions, system clls nd conventions

More information

Dr. D.M. Akbar Hussain

Dr. D.M. Akbar Hussain Dr. D.M. Akr Hussin Lexicl Anlysis. Bsic Ide: Red the source code nd generte tokens, it is similr wht humns will do to red in; just tking on the input nd reking it down in pieces. Ech token is sequence

More information

Stained Glass Design. Teaching Goals:

Stained Glass Design. Teaching Goals: Stined Glss Design Time required 45-90 minutes Teching Gols: 1. Students pply grphic methods to design vrious shpes on the plne.. Students pply geometric trnsformtions of grphs of functions in order to

More information

Midterm 2 Sample solution

Midterm 2 Sample solution Nme: Instructions Midterm 2 Smple solution CMSC 430 Introduction to Compilers Fll 2012 November 28, 2012 This exm contins 9 pges, including this one. Mke sure you hve ll the pges. Write your nme on the

More information

EXPONENTIAL & POWER GRAPHS

EXPONENTIAL & POWER GRAPHS Eponentil & Power Grphs EXPONENTIAL & POWER GRAPHS www.mthletics.com.u Eponentil EXPONENTIAL & Power & Grphs POWER GRAPHS These re grphs which result from equtions tht re not liner or qudrtic. The eponentil

More information

Today. CS 188: Artificial Intelligence Fall Recap: Search. Example: Pancake Problem. Example: Pancake Problem. General Tree Search.

Today. CS 188: Artificial Intelligence Fall Recap: Search. Example: Pancake Problem. Example: Pancake Problem. General Tree Search. CS 88: Artificil Intelligence Fll 00 Lecture : A* Serch 9//00 A* Serch rph Serch Tody Heuristic Design Dn Klein UC Berkeley Multiple slides from Sturt Russell or Andrew Moore Recp: Serch Exmple: Pncke

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

More information

George Boole. IT 3123 Hardware and Software Concepts. Switching Algebra. Boolean Functions. Boolean Functions. Truth Tables

George Boole. IT 3123 Hardware and Software Concepts. Switching Algebra. Boolean Functions. Boolean Functions. Truth Tables George Boole IT 3123 Hrdwre nd Softwre Concepts My 28 Digitl Logic The Little Mn Computer 1815 1864 British mthemticin nd philosopher Mny contriutions to mthemtics. Boolen lger: n lger over finite sets

More information

The notation y = f(x) gives a way to denote specific values of a function. The value of f at a can be written as f( a ), read f of a.

The notation y = f(x) gives a way to denote specific values of a function. The value of f at a can be written as f( a ), read f of a. Chpter Prerequisites for Clculus. Functions nd Grphs Wht ou will lern out... Functions Domins nd Rnges Viewing nd Interpreting Grphs Even Functions nd Odd Functions Smmetr Functions Defined in Pieces Asolute

More information

UNIT 11. Query Optimization

UNIT 11. Query Optimization UNIT Query Optimiztion Contents Introduction to Query Optimiztion 2 The Optimiztion Process: An Overview 3 Optimiztion in System R 4 Optimiztion in INGRES 5 Implementing the Join Opertors Wei-Png Yng,

More information

Scalable Interprocedural Register Allocation for High Level Synthesis

Scalable Interprocedural Register Allocation for High Level Synthesis Sclle Interprocedurl Register Alloction for High Level Synthesis Rmi Beids, Jinwen Zhu Electricl nd Computer Engineering University of Toronto, ON M5S G, Cnd reids, jzhu@eecg.toronto.edu Astrct The success

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

More information

Subband coding of image sequences using multiple vector quantizers. Emanuel Martins, Vitor Silva and Luís de Sá

Subband coding of image sequences using multiple vector quantizers. Emanuel Martins, Vitor Silva and Luís de Sá Sund coding of imge sequences using multiple vector quntizers Emnuel Mrtins, Vitor Silv nd Luís de Sá Instituto de Telecomunicções, Deprtmento de Engenhri Electrotécnic Pólo II d Universidde de Coimr,

More information

Accelerating 3D convolution using streaming architectures on FPGAs

Accelerating 3D convolution using streaming architectures on FPGAs Accelerting 3D convolution using streming rchitectures on FPGAs Hohun Fu, Robert G. Clpp, Oskr Mencer, nd Oliver Pell ABSTRACT We investigte FPGA rchitectures for ccelerting pplictions whose dominnt cost

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

More information

CSCI 104. Rafael Ferreira da Silva. Slides adapted from: Mark Redekopp and David Kempe

CSCI 104. Rafael Ferreira da Silva. Slides adapted from: Mark Redekopp and David Kempe CSCI 0 fel Ferreir d Silv rfsilv@isi.edu Slides dpted from: Mrk edekopp nd Dvid Kempe LOG STUCTUED MEGE TEES Series Summtion eview Let n = + + + + k $ = #%& #. Wht is n? n = k+ - Wht is log () + log ()

More information

The Reciprocal Function Family. Objectives To graph reciprocal functions To graph translations of reciprocal functions

The Reciprocal Function Family. Objectives To graph reciprocal functions To graph translations of reciprocal functions - The Reciprocl Function Fmil Objectives To grph reciprocl functions To grph trnsltions of reciprocl functions Content Stndrds F.BF.3 Identif the effect on the grph of replcing f () b f() k, kf(), f(k),

More information

Languages. L((a (b)(c))*) = { ε,a,bc,aa,abc,bca,... } εw = wε = w. εabba = abbaε = abba. (a (b)(c)) *

Languages. L((a (b)(c))*) = { ε,a,bc,aa,abc,bca,... } εw = wε = w. εabba = abbaε = abba. (a (b)(c)) * Pln for Tody nd Beginning Next week Interpreter nd Compiler Structure, or Softwre Architecture Overview of Progrmming Assignments The MeggyJv compiler we will e uilding. Regulr Expressions Finite Stte

More information

called the vertex. The line through the focus perpendicular to the directrix is called the axis of the parabola.

called the vertex. The line through the focus perpendicular to the directrix is called the axis of the parabola. Review of conic sections Conic sections re grphs of the form REVIEW OF CONIC SECTIONS prols ellipses hperols P(, ) F(, p) O p =_p REVIEW OF CONIC SECTIONS In this section we give geometric definitions

More information

Reducing a DFA to a Minimal DFA

Reducing a DFA to a Minimal DFA Lexicl Anlysis - Prt 4 Reducing DFA to Miniml DFA Input: DFA IN Assume DFA IN never gets stuck (dd ded stte if necessry) Output: DFA MIN An equivlent DFA with the minimum numer of sttes. Hrry H. Porter,

More information

Geometry Subsystem Design

Geometry Subsystem Design Geometr Susstem Design Ln-D Vn ( 范倫達 ), Ph. D. Deprtment of Computer Science Ntionl Chio Tung Universit Hisnchu, Tiwn Fll, 206 206/0/4 Outline Geometr Susstem Introduction to Shding Algorithms Proposed

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

A Formalism for Functionality Preserving System Level Transformations

A Formalism for Functionality Preserving System Level Transformations A Formlism for Functionlity Preserving System Level Trnsformtions Smr Abdi Dniel Gjski Center for Embedded Computer Systems UC Irvine Center for Embedded Computer Systems UC Irvine Irvine, CA 92697 Irvine,

More information

Lecture 7: Integration Techniques

Lecture 7: Integration Techniques Lecture 7: Integrtion Techniques Antiderivtives nd Indefinite Integrls. In differentil clculus, we were interested in the derivtive of given rel-vlued function, whether it ws lgeric, eponentil or logrithmic.

More information

A Reconfigurable Arithmetic Datapath Architecture

A Reconfigurable Arithmetic Datapath Architecture A Reconfigurle Arithmetic Dtpth Architecture Reiner W. Hrtenstein, Riner Kress, Helmut Reinig University of Kiserslutern Erwin-Schrödinger-Strße, D-67663 Kiserslutern, Germny Fx: 49 631 205 2640, emil:

More information

6.3 Definite Integrals and Antiderivatives

6.3 Definite Integrals and Antiderivatives Section 6. Definite Integrls nd Antiderivtives 8 6. Definite Integrls nd Antiderivtives Wht ou will lern out... Properties of Definite Integrls Averge Vlue of Function Men Vlue Theorem for Definite Integrls

More information

Solving Problems by Searching. CS 486/686: Introduction to Artificial Intelligence

Solving Problems by Searching. CS 486/686: Introduction to Artificial Intelligence Solving Prolems y Serching CS 486/686: Introduction to Artificil Intelligence 1 Introduction Serch ws one of the first topics studied in AI - Newell nd Simon (1961) Generl Prolem Solver Centrl component

More information

Efficient Regular Expression Grouping Algorithm Based on Label Propagation Xi Chena, Shuqiao Chenb and Ming Maoc

Efficient Regular Expression Grouping Algorithm Based on Label Propagation Xi Chena, Shuqiao Chenb and Ming Maoc 4th Ntionl Conference on Electricl, Electronics nd Computer Engineering (NCEECE 2015) Efficient Regulr Expression Grouping Algorithm Bsed on Lbel Propgtion Xi Chen, Shuqio Chenb nd Ming Moc Ntionl Digitl

More information

Position Heaps: A Simple and Dynamic Text Indexing Data Structure

Position Heaps: A Simple and Dynamic Text Indexing Data Structure Position Heps: A Simple nd Dynmic Text Indexing Dt Structure Andrzej Ehrenfeucht, Ross M. McConnell, Niss Osheim, Sung-Whn Woo Dept. of Computer Science, 40 UCB, University of Colordo t Boulder, Boulder,

More information

NOTES. Figure 1 illustrates typical hardware component connections required when using the JCM ICB Asset Ticket Generator software application.

NOTES. Figure 1 illustrates typical hardware component connections required when using the JCM ICB Asset Ticket Generator software application. ICB Asset Ticket Genertor Opertor s Guide Septemer, 2016 Septemer, 2016 NOTES Opertor s Guide ICB Asset Ticket Genertor Softwre Instlltion nd Opertion This document contins informtion for downloding, instlling,

More information

A dual of the rectangle-segmentation problem for binary matrices

A dual of the rectangle-segmentation problem for binary matrices A dul of the rectngle-segmenttion prolem for inry mtrices Thoms Klinowski Astrct We consider the prolem to decompose inry mtrix into smll numer of inry mtrices whose -entries form rectngle. We show tht

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

Intelligent Assembly/Disassembly System with a Haptic Device for Aircraft Parts Maintenance

Intelligent Assembly/Disassembly System with a Haptic Device for Aircraft Parts Maintenance Intelligent Assemly/Disssemly System with Hptic Device for Aircrft Prts Mintennce Christind nd Jungwon Yoon Mechnicl nd Aerospce Engineering nd ReCAPT, GyeongSng Ntionl University, Jinju, Gyeongnm 660-701,

More information

Taming Subgraph Isomorphism for RDF Query Processing

Taming Subgraph Isomorphism for RDF Query Processing Tming Sugrph Isomorphism for RDF Query Processing Jinh Kim # jinh.kim@orcle.com Hyungyu Shin hgshin@dl.postech.c.kr Sungpck Hong # Hssn Chfi # {sungpck.hong, hssn.chfi}@orcle.com POSTECH, South Kore #

More information

CSCI 3130: Formal Languages and Automata Theory Lecture 12 The Chinese University of Hong Kong, Fall 2011

CSCI 3130: Formal Languages and Automata Theory Lecture 12 The Chinese University of Hong Kong, Fall 2011 CSCI 3130: Forml Lnguges nd utomt Theory Lecture 12 The Chinese University of Hong Kong, Fll 2011 ndrej Bogdnov In progrmming lnguges, uilding prse trees is significnt tsk ecuse prse trees tell us the

More information

A Sparse Grid Representation for Dynamic Three-Dimensional Worlds

A Sparse Grid Representation for Dynamic Three-Dimensional Worlds A Sprse Grid Representtion for Dynmic Three-Dimensionl Worlds Nthn R. Sturtevnt Deprtment of Computer Science University of Denver Denver, CO, 80208 sturtevnt@cs.du.edu Astrct Grid representtions offer

More information

GENERATING ORTHOIMAGES FOR CLOSE-RANGE OBJECTS BY AUTOMATICALLY DETECTING BREAKLINES

GENERATING ORTHOIMAGES FOR CLOSE-RANGE OBJECTS BY AUTOMATICALLY DETECTING BREAKLINES GENEATING OTHOIMAGES FO CLOSE-ANGE OBJECTS BY AUTOMATICALLY DETECTING BEAKLINES Efstrtios Stylinidis 1, Lzros Sechidis 1, Petros Ptis 1, Spiros Sptls 2 Aristotle University of Thessloniki 1 Deprtment of

More information

CSCE 531, Spring 2017, Midterm Exam Answer Key

CSCE 531, Spring 2017, Midterm Exam Answer Key CCE 531, pring 2017, Midterm Exm Answer Key 1. (15 points) Using the method descried in the ook or in clss, convert the following regulr expression into n equivlent (nondeterministic) finite utomton: (

More information

CHAPTER III IMAGE DEWARPING (CALIBRATION) PROCEDURE

CHAPTER III IMAGE DEWARPING (CALIBRATION) PROCEDURE CHAPTER III IMAGE DEWARPING (CALIBRATION) PROCEDURE 3.1 Scheimpflug Configurtion nd Perspective Distortion Scheimpflug criterion were found out to be the best lyout configurtion for Stereoscopic PIV, becuse

More information

Bleach: A Distributed Stream Data Cleaning System

Bleach: A Distributed Stream Data Cleaning System Blech: A Distriuted Strem Dt Clening System Yongcho Tin Eurecom Biot, Frnce Emil: yongcho.tin@eurecom.fr Pietro Michirdi Eurecom Biot, Frnce Emil: pietro.michirdi@eurecom.fr Mrko Vukolić IBM Reserch Zurich,

More information

Data sharing in OpenMP

Data sharing in OpenMP Dt shring in OpenMP Polo Burgio polo.burgio@unimore.it Outline Expressing prllelism Understnding prllel threds Memory Dt mngement Dt cluses Synchroniztion Brriers, locks, criticl sections Work prtitioning

More information

Evolutionary Approaches To Minimizing Network Coding Resources

Evolutionary Approaches To Minimizing Network Coding Resources This full text pper ws peer reviewed t the direction of IEEE Communictions Society suject mtter experts for puliction in the IEEE INFOCOM 2007 proceedings. Evolutionry Approches To Minimizing Network Coding

More information

Transparent neutral-element elimination in MPI reduction operations

Transparent neutral-element elimination in MPI reduction operations Trnsprent neutrl-element elimintion in MPI reduction opertions Jesper Lrsson Träff Deprtment of Scientific Computing University of Vienn Disclimer Exploiting repetition nd sprsity in input for reducing

More information

Section 9.2 Hyperbolas

Section 9.2 Hyperbolas Section 9. Hperols 597 Section 9. Hperols In the lst section, we lerned tht plnets hve pproimtel ellipticl orits round the sun. When n oject like comet is moving quickl, it is le to escpe the grvittionl

More information