SWITCH T F T F SELECT. (b) local schedule of two branches. (a) if-then-else construct A & B MUX. one iteration cycle

Size: px
Start display at page:

Download "SWITCH T F T F SELECT. (b) local schedule of two branches. (a) if-then-else construct A & B MUX. one iteration cycle"

Transcription

1 768 IEEE RANSACIONS ON COMPUERS, VOL. 46, NO. 7, JULY 997 Compile-ime Sceduling of Dynamic Constructs in Dataæow Program Graps Soonoi Ha, Member, IEEE and Edward A. Lee, Fellow, IEEE Abstract Sceduling dataæow graps onto processors consists of assigning actors to processors, ordering teir execution witin te processors, and specifying teir æring time. Wile all sceduling decisions can be made at runtime, te overead is excessive for most real systems. o reduce tis overead, compile-time decisions can be made for assigning andèor ordering actors on processors. Compile-time decisions are based on known proæles available for eac actor at compile time. e proæle of an actor suc as te execution time and te communication patterns. However, a dynamic construct witin a macro actor, suc as a conditional and a data-dependent iteration, makes te proæle of te actor unpredictable at compile time. For tose constructs, we propose to assume some proæle at compile-time and deæne a cost to be minimized wen deciding on te proæle under te assumption tat te runtime statistics are available at compile-time. Our decisions on te proæles of dynamic constructs are sown to be optimal under some bold assumptions, and expected to be near-optimal in most cases. e proposed sceduling tecnique as been implemented as one of te rapid prototyping facilities in Ptolemy. is paper presents te preliminary results on te performance wit syntetic examples. Keywords multiprocessor sceduling, dynamic constructs, proæle, macro actor, dataæow program graps. A I. Introduction D ataæow grap representation, eiter as a programming language or as an intermediate representation during compilation, is suitable for programming multiprocessors because parallelism can be extracted automatically from te representation ëë, ëë Eac node, or actor, in a dataæow grap represents eiter an individual program instruction or a group tereof to be executed according to te precedence constraints represented by arcs, wic also represent te æow of data. A dataæow grap is usually made ierarcical. In a ierarcical grap, an actor itself may represent anoter dataæow grap: it is called a macro actor. Particularly, we deæne a data-dependent macro actor, or data-dependent actor, as a macro actor of wic te execution sequence of te internal dataæow grap is data dependent ècannot be predicted at compile timeè. Some examples are macro actors tat contain dynamic constructs suc as conditional, data-dependent iteration, and recursion. Actors are said to be data-independent if not data-dependent. e sceduling task consists of assigning actors to processors, specifying te order in wic actors are executed on eac processor, and specifying te time at wic tey are S. Ha is wit te Department of Computer Engineering, Seoul National University, Seoul, 5-74, Korea. sa@comp.snu.ac.kr E. Lee is wit te Department of Electrical Engineering and Computer Science, University of California at Berkeley, Berkeley, CA 9470, USA. eal@om.eecs.berkeley.edu executed. ese tasks can be performed eiter at compile time or at run time ë3ë. In te fully-dynamic sceduling, all sceduling decisions are made at run time. It as te æexibility to balance te computational load of processors in response to canging conditions in te program. In case a program as a large amount of non-deterministic beavior, any static assignment of actors may result in very poor load balancing or poor sceduling performance. en, te fully dynamic sceduling would be desirable. However, te run-time overead may be excessive; for example it may be necessary to monitor te computational loads of processors and sip te program code between processors via networks at run time. Furtermore, it is not usually practical to make globally optimal sceduling decision at run time. In tis paper, we focus on te applications wit a moderate amount of non-deterministic beavior suc as DSP applications and grapics applications. en, te more sceduling decisions are made at compile time te better in order to reduce te implementation costs and to make it possible to reliably meet any timing constraints. Wile compile-time processor sceduling as a very ric and distinguised istory ë4ë, ë5ë, most eæorts ave been focused on deterministic models: te execution time of eac actor i on a processor P k is æxed and tere are no data-dependent actors in te program grap. Even in tis restricted domain of applications, algoritms tat accomplis an optimal sceduling ave combinatorial complexity, except in certain trivial cases. erefore, good euristic metods ave been developed over te years ë4ë, ë6ë, ë7ë, ë8ë. Also, most of te sceduling tecniques are applied to a completely expanded dataæow grap and assume tat an actor is assigned to a processor as an indivisible unit. It is simpler, owever, to treat a data-dependent actor as a scedulable indivisible unit. Regarding a macro actor as a scedulable unit greatly simpliæes te sceduling task. Prasanna et al ë9ë scedule te macro dataæow graps ierarcically to treat macro actors of matrix operations as scedulable units. en, a macro actor may be assigned to more tan one processor. erefore, new sceduling tecniques to treat a macro actor as a scedulable unit was devised. Compile-time sceduling assumes tat static information about eac actor is known. We deæne te proæle of an actor as te static information about te actor necessary for a given sceduling tecnique. For example, if we use a list sceduling tecnique, te proæle of an actor is simply te computation time of te actor on a processor. e communication requirements of an actor wit oter actors are included in te proæle if te sceduling tec-

2 HA AND LEE: COMPILE-IME SCHEDULING OF DYNAMIC CONSRUCS IN DAAFLOW PROGRAM GRAPHS 769 nique requires tat information. e proæle of a macro actor would be te number of te assigned processors and te local scedule of te actor on te assigned processors. For a data-independent macro actor suc as a matrix operation, te proæle is deterministic. However, te proæle of a data-dependent actor of dynamic construct cannot be determined at compile time since te execution sequence of te internal dataæow subgrap varies at run time. For tose constructs, we ave to assume te proæles someow at compile-time. e main purpose of tis paper is to sow owwe can deæne te proæles of dynamic constructs at compile-time. A crucial assumption we rely on is tat we can approximate te runtime statistics of te dynamic beavior at compiletime. Simulation may be a proper metod to gater tese statistics if te program is to be run on an embedded DSP system. Sometimes, te runtime statistics could be given by te programmer for grapics applications or scientiæc applications. By optimally coosing te proæle of te dynamic constructs, we will minimize te expected scedule lengt of a program assuming te quasi-static sceduling. In ægure, actor A is a data-dependent actor. e sceduling result is sown wit a gantt cart, in wic te orizontal axis indicates te sceduling time and te vertical axis indicates te processors. At compile time, te proæle of actor A is assumed. At run time, te scedule lengt of te program varies depending on te actual beavior of actor A. Note tat te pattern of processor availability before actor B starts execution is preserved at run time by inserting idle time. en, after actor A is executed, te remaining static scedule can be followed. is sceduling strategy is called quasi-static sceduling tat was ærst proposed by Lee ë0ë for DSP applications. e strict application of te quasistatic sceduling requires tat te syncronization between actors is guaranteed at compile time so tat no run-time syncronization is necessary as long as te pattern of processor availability is consistent wit te sceduled one. It is generally impractical to assume tat te exact run-time beaviors of actors are known at compile time. erefore, syncronization between actors is usually performed at run time. In tis case, it is not necessary to enforce te pattern of processor availability by inserting idle time. Instead, idle time will be inserted wen syncronization is required to execute actors. Wen te execution order of te actors is not canged from te sceduled order, te actual scedule lengt obtained from run-time syncronization is proven to be not muc diæerent from wat te quasi-static sceduling would produce ë3ë. Hence, our optimality criterion for te proæle of dynamic constructs is based on te quasi-static sceduling strategy, wic makes analysis simpler. II. Previous Work All of te deterministic sceduling euristics assume tat static information about te actors is known. But almost none ave addressed ow to deæne te static information of data-dependent actors. e pioneering work on tis issue was done by Martin and Estrin ëë. ey calculated S S A C (a) B D S A C (b) A B S A B C D C D (c) (d) Fig.. èaè A dataæow grap consists of æve actors among wic actor A is a data-dependent actor. èbè Gantt cart for compile-time sceduling assuming a certain execution time for actor A. ècè At run time, if actor A takes longer, te second processor is padded wit no-ops and èdè if actor A takes less, te ærst processor is idled to make te pattern of processor availability same as te sceduled one èdark lineè in te quasi-static sceduling. te mean pat lengt from eac actor to a dummy terminal actor as te level of te actor for list sceduling. For example, if tere are two possible pats divided by a conditional construct from an actor to te dummy terminal actor, te level of te actor is a sum of te pat lengts weigted by te probability wit wic te pat is taken. us, te levels of actors are based on statistical distribution of dynamic beavior of data-dependent actors. Since tis is expensive to compute, te mean execution times instead are usually used as te static information of data-dependent actors ëë. Even toug te mean execution time seems a reasonable coice, it is by no means optimal. In addition, bot approaces ave te common drawback tat a datadependent actor is assigned to a single processor, wic is a severe limitation for a multiprocessor system. wo groups of researcers ave proposed quasi-static sceduling tecniques independently: Lee ë0ë and Loeæer et al ë3ë. ey developed metods to scedule conditional and data-dependent iteration constructs respectively. Bot approaces allow more tan one processor to be assigned to dynamic constructs. Figure sows a conditional and compares tree sceduling metods. In ægure èbè, te local scedules of bot brances are sown, were two brances are sceduled on tree processors èn = 3è wile te total number of processors is 4 è = 4è. In Lee's metod, we overlap te local scedules of bot brances and coose te maximum termination for eac processor. For ard real-time systems, it is te proper coice. Oterwise, it may be ineæcient if eiter one branc is more likely to be taken and te size of te likely branc is muc smaller. On te oter and, Loeæer takes te local scedule of more likely branc as te proæle of te conditional. is strategy is ineæcient if bot brances are equally likely to be taken and te size of te assumed branc ismuc larger. Finally, a conditional evaluation can be replaced wit a conditional assignment to make te construct static; te grap is modiæed as illustrated in ægure ècè. In tis sceme, bot true and false brances are sced- B D

3 770 IEEE RANSACIONS ON COMPUERS, VOL. 46, NO. 7, JULY 997 SWICH F A A & B B F SELEC (a) if-ten-else construct 3 A MUX (c) a fully-static scedule N B A 3 (b) local scedule of two brances MAX(A,B) (d) Lee s metod 3 3 B p(a) > p(b) (e) Leoffler s metod Fig.. ree diæerent scedules of a conditional construct. èaè An example of a conditional construct tat forms a data-dependent actor as a wole. èbè Local deterministic scedules of te two brances. ècè A static scedule by modifying te grap to use conditional assignment. èdè Lee's metod to overlap te local scedules of bot brances and to coose te maximum for eac processor. èeè Loeæer's metod to take te local scedule of te branc wic is more likely to be executed. uled and te result from one branc is selected depending on te control boolean. An immediate drawback is ineæciency wic becomes severe wen one of te two brances is not a small actor. Anoter problem occurs wen te unselected branc generates an exception condition suc as divide-by-zero error. All tese metods on conditionals are ad-oc and not appropriate as a general solution. Quasi-static sceduling is very eæective for a datadependent iteration construct if te construct can make eæective use of all processors in eac cycle of te iteration. It scedules one iteration and pads wit no-ops to make te pattern of processor availability at te termination te same as te pattern of te start èægure 3è èequivalently, all processors are occupied for te same amount of time in eac iterationè. en, te pattern of processor availability after te iteration construct is independent of te number of iteration cycles. is sceme breaks down if te construct cannot utilize all processors eæectively. one iteration cycle Fig. 3. A quasi-static sceduling of a data-dependent iteration construct. e pattern of processor availability is independent of te number of iteration cycles. e recursion construct as not yet been treated successfully in any statically sceduled data æow paradigm. Recently, a proper representation of te recursion construct as been proposed ë4ë. But, it is not explained ow toscedule te recursion construct onto multiprocessors. Wit ænite resources, careless exploitation of te parallelism of te recursion construct may cause te system to deadlock. In summary, dynamic constructs suc as conditionals, data-dependent iterations, and recursions, ave not been treated properly in past sceduling eæorts, eiter for static sceduling or dynamic sceduling. Some ad-oc metods ave been introduced but proven unsuitable as general solutions. Our earlier result wit data-dependent iteration ë3ë demonstrated tat a systematic approac to determine te proæle of data-dependent iteration actor could minimize te expected scedule lengt. In tis paper, we extend our analysis to general dynamic constructs. In te next section, we will sowow dynamic constructs are assigned teir proæles at compile-time. We also prove te given proæles are optimal under some unrealistic assumptions. Our experiments enable us to expect tat our decisions are near-optimal in most cases. Section 4,5 and 6 contains an example wit data-dependent iteration, recursion, and conditionals respectively to sow ow te proæles of dynamic constructs can be determined wit known runtime statistics. We implement our tecnique in te Ptolemy framework ë5ë. e preliminary simulation results will be discussed in section 7. Finally, we discuss te limits of our metod and mention te future work. III. Compile-ime Profile of Dynamic Constructs Eac actor sould be assigned its compile-time proæle for static sceduling. Assuming a quasi-static sceduling strategy, te proposed sceme is to decide te proæle of a construct so tat te average scedule lengt is minimized assuming tat all actors except te dynamic construct are data-independent. is objective is not suitable for a ard real-time system as it does not bound te worst case beavior. We also assume tat all dynamic constructs are uncorrelated. Wit tis assumption, we may isolate te effect of eac dynamic construct on te scedule lengt separately. In case tere are inter-dependent actors, we may group tose actors as anoter macro actor, and decide te optimal proæle of te large actor. Even toug te decision of te proæle of te new macro actor would be complicated in tis case, te approac is still valid. For nested dynamic constructs, we apply te proposed sceme from te inner dynamic construct ærst. For simplicity, all examples in tis paper will ave only one dynamic construct in te dataæow grap. e run-time cost of an actor i, C i, is te sum of te total computation time devoted to te actor and te idle time due to te quasi-static sceduling strategy over all processors. In ægure, te run-time cost of a data-dependent actor A is te sum of te ligtly ècomputation timeè and darkly saded areas after actor A or C èimmediate idle time after te dynamic constructè. e scedule lengt of a certain iteration can be written as scedule lengt = èc i + Rè; were is te total number of processors in te system, and R is te rest of te computation including all idle time tat may result bot witin te scedule and at te end. erefore, we can minimize te expected scedule lengt by minimizing te expected cost of te data-dependent ac- èè

4 HA AND LEE: COMPILE-IME SCHEDULING OF DYNAMIC CONSRUCS IN DAAFLOW PROGRAM GRAPHS 77 tor or dynamic construct if we assume tat R is independent of our decisions for te proæle of actor i. is assumption is unreasonable wen precedence constraints make R dependent on our coice of proæle. Consider, for example, a situation were te dynamic construct is always on te critical pat and tere are more processors tan we can eæectively use. en, our decision on te proæle of te construct will directly aæect te idle time at te end of te scedule, wic is included in R. On te oter and, if tere is enoug parallelism to make eæective use of te unassigned processors and te execution times of all actors are small relative to te scedule lengt, te assumption is valid. Realistic situations are likely to fall between tese two extremes. o select te optimal compile-time proæle of actor i, we assume tat te statistics of te runtime beavior is known at compile-time. e validity of tis assumption varies to large extent depending on te application. In digital signal processing applications were a given program is repeatedly executed wit data stream, simulation can be useful to obtain te necessary information. In general, owever, we may use a well-known distribution, for example uniform or geometric distribution, wic makes te analysis simple. Using te statistical information, we coose te proæle to give te least expected cost at runtime as te compile-time proæle. e proæle of a data-dependent actor is a local scedule wic determines te number of assigned processors and computation times taken on te assigned processors. e overall algoritm of proæle decision is as follows. We assume tat te dynamic beavior of actor i is expressed wit parameter k and its distribution pèkè. min = LARGE; èè is te total number of processors. èè N is te number of processors assigned to te actor. forn=tof èè AèN,kè is te actor cost wit parameter N, k èè pèkè is P te probability of parameter k temp = k pèkèaèn; kè; if ètemp é minè min = temp; g In te next section, we will illustrate te proposed sceme wit data-dependent iteration, recursion, and conditionals respectively to sow ow proæles are decided wit runtime statistics. IV. Data Dependent Iteration In a data-dependent iteration, te number of iteration cycles is determined at runtime and cannot be known at compile-time. wo possible dataæow representations for data-dependent iteration are sown in ægure 4 ë0ë. e numbers adjacent to te arcs indicate te number of tokens produced or consumed wen an actor æres ëë. In ægure 4 èaè, since te upsample actor produces M tokens eac time it æres, and te iteration body consumes only one token wen it æres, te iteration body must ære M times for eac æring of te upsample actor. In ægure 4 èbè, te source of M UPSAMPLE M Iteration body M DOWNSAMPLE (a) F SELEC f SWICH F (b) Fig. 4. Data-dependent iteration can be represented using te eiter of te dataæow graps sown. e grap in èaè is used wen te number of iterations is known prior to te commencement of te iteration, and èbè is used oterwise. number of iterations need not be known prior to te commencement of te iteration. Here, a token coming in from above is routed troug a "select" actor into te iteration body. e "D" on te arc connected to te control input of te "select" actor indicates an initial token on tat arc wit value "false". is ensures tat te data coming into te "F" input will be consumed te ærst time te "select" actor æres. After tis ærst input token is consumed, te control input to te "select" actor will ave value "true" until function tèè indicates tat te iteration is ænised by producing a token wit value "false". During te iteration, te output of te iteration function fèè will be routed around by te "switc" actor, again until te test function tèè produces a token wit value "false". ere are many variations on tese two basic models for data-dependent iteration. e previous work ë3ë considered a subset of datadependent iterations, in wic simultaneous execution of successive cycles is proibited as in ægure 4 èbè. In ægure 4 èaè, tere is no suc restriction, unless te iteration body itself contains a recurrence. erefore, we generalize te previous metod to permit overlapped cycles wen successive iteration cycles are invokable before te completion of an iteration cycle. Detection of te intercycle dependency from a sequential language is te main task of te parallel compiler to maximize te parallelism. A dataæow representation, owever, reveals te dependency rater easily wit te presence of delay on a feedback arc. We assume tat te probability distribution of te number of iteration cycles is known or can be approximated at compile time. Let te number of iteration cycles be a random variable I wit known probability mass function pèiè. For simplicity, we set te minimum possible value of I to be 0. We let te number of assigned processors be N and te total number of processors be. We assume a blocked scedule as te local scedule of te iteration body to remove te unnecessary complexity inall illustrations, altoug te proposed tecnique can be applicable to te overlap execution scedule ë6ë. In a blocked scedule, all assigned processors are assumed to be available, or syncronized at te beginning. us, te execution time of one iteration cycle wit N assigned processors is t N as displayed in ægure 5 èaè. We denote by s N te time tat must t D

5 77 IEEE RANSACIONS ON COMPUERS, VOL. 46, NO. 7, JULY 997 elapse in one iteration before te next iteration is enabled. is time could be zero, if tere is no data dependency between iterations. Given te local scedule of one iteration cycle, we decide on te assumed number of iteration cycles, x N, and te numberofoverlapped cycles k N. Once te two parameters, x N and k N, are cosen, te proæle of te data-dependent iteration actor is determined as sown in ægure 5 èbè. e subscript N of t N, s N, x N and k N represents tat tey are functions of N, te number of te assigned processors. For brevity, we will omit te subscript N for te variables witout confusion. Using tis proæle of te data-dependent macro actor, global sceduling is performed to make a ierarcical compilation. Note tat te pattern of processor availability after execution of te construct is diæerent from tat before execution. We do not address ow to scedule te iteration body in tis paper since it is te standard problem of static sceduling. N kn s t next iteration cycle is executable (a) (c) i < x i x kn (b) i = x x (d) i > x x Fig. 5. èaè A blocked scedule of one iteration cycle of a datadependent iteration actor. A quasi-static scedule is constructed using a æxed assumed number x of cycles in te iteration. e cost of te actor is te sum of te dotted area èexecution timeè and te dark area èidle time due to te iterationè. ere displays 3 possible cases depending on te actual number of cycles i in èbè for i = x, ècè for iéx, and èdè for iéx. According to te quasi-static sceduling policy, tree cases can appen at runtime. If te actual number of cycles coincides wit te assumed number of iteration cycles, te iteration actor causes no idle time and te cost of te actor consists only of te execution time of te actor. Oterwise, some of te assigned processors will be idled if te iteration takes fewer tan x cycles èægure 5 ècèè, or else te oter processors as well will be idled èægure 5 èdèè. e expected cost of te iteration actor, CèN; k; xè, is a sum of te individual costs weigted by te probability mass function of te number of iteration cycles. e expected cost becomes xx CèN; k; xè = pèièntx + pèièèntx + i,x td k eè: i=x+ èè By combining te ærst term wit te ærst element of te second term, tis reduces to CèN; k; xè =Ntx + t i pèièd, x e: è3è k i=x+ i Our metod is to coose tree parameters èn, k, and xè in order to minimize te expected cost in equation è3è. First, we assume tat N is æxed. Since CèN; k; xè is a decreasing function of k wit æxed N, we select te maximum possible number for k. e number k is bounded by two ratios: N and t s. e latter constraint is necessary to avoid any idle time between iteration cycles on a processor. As a result, k is set to be k = minèb N c; b t s cè: e next step is to determine te optimal x. Ifavalue x is optimal, te expected cost is not decreased if we vary x by + or,. erefore, we obtain te following inequalities, CèN; k; xè, CèN; k; x +è=,nt+t pèx ++ikè ç 0 CèN; k; xè, CèN; k; x, è = Nt,t pèx + ikè ç 0: Since t is positive, from inequality è5è, pèx ++ikè N ç ç pèx + ikè: If k is equal to, te above inequality becomes same as inequality è5è in ë3ë, wic sows tat te previous work is a special case of tis more general metod. Up to now, we decided te optimal value for x and k for a given number N. How tocoose optimal N is te next question we ave to answer. Since t is not a simple function of N, no closed form for N minimizing CèN; k; xè exists, unfortunately. However, we may use exaustive searc troug all possible values N and select te value minimizing te cost in polynomial time. Moreover, our experiments sow tat te searc space for N is often reduced signiæcantly using some criteria. Our experiments sow tat te metod is relatively insensitive to te approximated probability mass function for i ë3ë. Using some well-known distributions wic ave nice matematical properties for te approximation, we can reduce te summation terms in è3è and è6è to closed forms. Let us consider a geometric probability mass function wit parameter q as te approximated distribution of te number of iteration cycles. is models a class of asymmetric bell-saped distributions. e geometric probability mass function means tat for any non-negativeinteger r, P ëj ç rë =q r ; Pëj=rë=pèrè=q r è, qè: o use inequality è6è, we ænd è4è è5è è6è è7è q x pèx + ikè =è,qè,qk: è8è

6 HA AND LEE: COMPILE-IME SCHEDULING OF DYNAMIC CONSRUCS IN DAAFLOW PROGRAM GRAPHS 773 erefore, from te inequality è6è, te optimal value of x satisæes, q, q k qx+ N ç ç, q, q k qx : è9è Using æoor notation, we can obtain te closed form for te optimal value as follows: x = blog q Nè, q k è è, qè c: Furtermore, equation è3è is simpliæed by using te fact getting i=x+ è0è i pèièd, x k e = qx+, q ; èè k CèN; k; xè =Ntx + t qx+, q k : èè Now, we ave all simpliæed formulas for te optimal proæle of te iteration actor. Similar simpliæcation is possible also wit uniform distributions ë7ë. If k equals to, our results coincide wit te previous result reported in ë3ë. V. Recursion Recursion is a construct wic instantiates itself as a part of te computation if some termination condition is not satisæed. Most ig level programming languages support tis construct since it makes a program compact and easy to understand. However, te number of self-instantiations, called te dept of recursion, is usually not known at compile-time since te termination condition is calculated at run-time. In te dataæow paradigm, recursion can be represented as a macro actor tat contains a SELF actor èægure 6è. A SELF actor simply represents an instance of a subgrap witin wic it sits. If te recursion actor as only one SELF actor, te function of te actor can be identically represented by a datadependent iteration actor as sown in ægure 4 èbè in te previous section. is includes as a special case all tail recursive constructs. Accordingly, te sceduling decision for te recursion actor will be same as tat of te translated data-dependent iteration actor. In a generalized recursion construct, we mayave more tan one SELF actor. e number of SELF actors in a recursion construct is called te widt of te recursion. In most real applications, te widt of te recursion is no more tan two. A recursion construct wit widt and dept is illustrated in ægure 6 èbè and ècè. We assume tat all nodes of te same dept in te computation tree ave te same termination condition. We will discuss te limitation of tis assumption later. We also assume tat te run-time probability mass function of te dept of te recursion is known or can be approximated at compile-time. e potential parallelism of te computation tree of a generalized recursion construct may be uge, since all nodes at te same dept can be executed concurrently. e maximum degree of parallelism, owever, is usually not known at compile-time. Wen we exploit te parallelism of te construct, we sould consider te resource limitations. We may ave to restrict te parallelism in order not to deadlock te system. Restricting te parallelism in case te maximum degree of parallelism is too large as been recognized as a diæcult problem to be solved in a dynamic dataæow system. Our approac proposes an eæcient solution by taking te degree of parallelism as an additional component of te proæle of te recursion construct. Suppose tat te widt of te recursion construct is k. Let te dept of te recursion be a random variable I wit known probability mass function pèiè. We denote te degree of parallelism by d, wic means tat te descendents at dept d in te computation grap are assigned to different processor groups. A descendent recursion construct at dept d is called a ground construct èægure 7 èaèè. If we denote te size of eac processor group by N, te total number of processors devoted to te recursion becomes Nk d. en, te proæle of a recursion construct is deæned by tree parameters: te assumed dept of recursion x, te degree of parallelism d, and te size of a processor group N. Our approac optimizes te parameters to minimize te expected cost of te recursion construct. An example of te proæle of a recursion construct is displayed in ægure 7 èbè. Let ç be te sum of te execution times of actors, and in ægure 6. And, let ç o be te sum of te execution times of actors a and b. en, te scedule lengt l x of a ground construct becomes l x = çèk 0 +k +æææ+k x,d, è+ç o k x,d = ç kx,d, k, +ç ok x,d ; è3è wen x ç d. At run time, some processors will be idled if te actual dept of recursion is diæerent from te assumed dept of recursion, wic is illustrated in ægure 7 ècè and èdè. Wen te actual dept of recursion i is smaller tan te assumed dept x, te assigned processors are idled. Oterwise, te oter processors as well are idled. Let R be te sum of te execution times of te recursion besides te ground constructs. is basic cost R is equal to Nçèkd,è k,. For i ç x, te runtime cost, C, becomes C = R + Nk d èç kx,d, k, +ç o k x,d è; è4è assuming tat x is not less tan d. For iéx, te cost C becomes C = R + Nk d èç ki,d, +ç o k i,d è+ k, è,nk d ç èè k, + ç oèèk i,d, k x,d è: è5è erefore, te expected cost of te recursion construct, CèN; x; dè is te sum of te run-time cost weigted by te probability mass function. xx CèN; d; xè =R+ pèièc + pèièc : i=x+ è6è

7 774 IEEE RANSACIONS ON COMPUERS, VOL. 46, NO. 7, JULY 997 SELF actor f a SWICH F test dept 0 c a a a a function f(x) a(x); if test(x) is RUE return b(x); else return (f(c(x)),f(c(x))); f f F SELEC b b b b b 0 (a) (b) (c) Fig. 6. èaè An example of a recursion construct and èbè its dataæow representation. e SELF actor represents te recursive call. ècè e computation tree of a recursion construct wit two SELF actors wen te dept of te recursion is two. l x N 3 4 ground construct Nk d 3 4 (a) (b) (c) (d) Fig. 7. èaè e reduced computation grap of a recursion construct of widt wen te degree of parallelism is. èbè e proæle of te recursion construct. e scedule lengt of te ground construct is a function of te assumed dept of recursion x and te degree of parallelism d. A quasi-static scedule is constructed depending on te actual dept i of te recursion in ècè for iéxand in èdè for iéx. After a few manipulations, CèN; d; xè = Nèç kx, k, + ç ok x è+ ç pèiè è k, + ç oèèk i,d, k x,d è7è è: i=x+ First, we assume tat N is æxed. Since te expected cost is a decreasing function of d, we select te maximum possible number for d. e number d is bounded by te processor constraint: Nk d ç. Since we assume tat te assumed dept of recursion x is greater tan te degree of parallelism d, te optimal value for d is d = minèblog k N c;xè: è8è Next, we decide te optimal value for x from te observation tat if x is optimal, te expected cost is not decreased wen x is varied by + and,. erefore, we get CèN; d; xè, CèN; d; x +è= èç+ç o èk,èèè,nk x +k x,d pèièè ç 0 i=x+ CèN; d; xè, CèN; d; x, è =

8 HA AND LEE: COMPILE-IME SCHEDULING OF DYNAMIC CONSRUCS IN DAAFLOW PROGRAM GRAPHS 775 èç + ç o èk, èèènk x,,k x,d, pèièè ç 0: è9è i=x Rearranging te inequalities, we get te following, i=x+ pèiè ç Nkd ç i=x pèiè: è0è Note te similarity of inequality è0è wit tat for datadependent iterations è6è. In particular, if k is, te two formulas are equivalent as expected. e optimal values d and x depend on eac oter as sown in è8è and è0è. We may need to use iterative computations to obtain te optimal values of d and x starting from d = blog c. k N Let us consider an example in wic te probability mass function for te dept of te recursion is geometric wit parameter q. At eac execution of dept i of te recursion, we proceed to dept i + wit probability q and return to dept i, wit probability,q.from te inequality è0è, te optimal x satisæes As a result, x becomes q x+ ç Nkd ç qx : èè Nk d x = blog q c: èè Up to now, we assume tat N is æxed. Since ç is a transcendental function of N, te dependency of te expected cost upon te size of a processor group N is not clear. Instead, we examine te all possible values for N, calculate te expected cost from equation è3è and coose te optimal N giving te minimum cost. e complexity of tis procedure is still polynomial and usually reduced signiæcantly since te searc space of N can be reduced by some criteria. In case of geometric distribution for te dept of te recursion, te expected cost is simpliæed to CèN; d; xè =Nèç kx, k, +ç ok x x,d qx+ è+ èç+ç o èk,èèk, qk : è3è In case te number of cild functions is one èk = è, our simpliæed formulas wit a geometric distribution coincide wit tose for data-dependent iterations, except for an overead term to detect te loop termination. Recall tat our analysis is based on te assumption tat all nodes of te same dept in te computation tree ave te same termination condition. is assumption rougly approximates a more realistic assumption, wic we call te independence assumption, tat all nodes of te same dept ave equal probability of terminating te recursion, and tat tey are independent eac oter. is equal probability is considered as te probability tat all nodes of te same dept terminate te recursion in our assumption. e expected number of nodes at a certain dept is te same in bot assumptions even toug tey describe different beaviors. Under te independence assumption, te sape of te proæle would be te same as sown in ægure 7: te degree of parallelism d is maximized. Moreover, all recursion processors ave te same scedule lengt for te ground constructs. However, te optimal scedule lengt l x of te ground construct would be diæerent. e lengt l x is proportional to te number of executions of te recursion constructs inside a ground construct. is number can be any integer under te independence assumptions, wile it belongs to a subset f0;k ;k ; :::g under our assumption. Since te probability mass function for tis number is likely to be too complicated under te independence assumption, we sacriæce performance by coosing a sub-optimal scedule lengt under a simpler assumption. VI. Conditionals Decision making capabilityisan indispensable requirement of a programming language for general applications, and even for signal processing applications. A dataæow representation for an if-ten-else and te local scedules of bot brances are sown in ægure èaè and èbè. We assume tat te probability p wit wic te "RUE" branc èbranc è is selected is known. e "FALSE" branc èbranc è is selected wit probability p =,p. Let t ij be te ænising time of te local scedule of te i-t branc on te j-t processor. And let ^tj be te ænising time on te j-t processor in te optimal proæle of te conditional construct. We determine te optimal values f^tj g to minimize te expected runtime cost of te construct. Wen te i-t branc is selected, te cost becomes NX k= NX ^t k + maxë0; max jë;në èt ij, ^tj èë: X erefore, te expected cost CèN è is CèNè= ^t k + k= i= p i maxë0; max jë;në èt ij, ^tj èë: è4è è5è It is not feasible to obtain te closed form solutions for ^tj because te max function is non-linear and discontinuous. Instead, a numerical algoritm is developed.. Initially, take te maximum ænis time of bot branc scedules for eac processor according to Lee's metod ë0ë.. Deæne æ i = maxë0; max j èt ij, ^tj è; 0èë. Initially, all æ i =0. e variable æ i represents te excessive cost per processor over te expected cost wen branc i is selected at run time. We deæne te bottleneck processors of branc i as te processors fjg tat satisfy te relation t ij, ^tj = æ i. For all brances fig, repeat te next step. 3. Coose te set of bottleneck processors, æ i, of branc i only. If we decrease ^tj by æ for all j æ i, te variation of te expected cost becomes æcèn è = è,jæ i j + p i èæ. Increase æ until te set æ i needs to be updated. Update æ i and repeat step 3. Now, we consider te example sown in ægure. Suppose p =0:3 and p =0:7. e initial proæle in our algoritm is same as Lee's proæle as sown in ægure 8 èaè, wic

9 776 IEEE RANSACIONS ON COMPUERS, VOL. 46, NO. 7, JULY 997 appens to be same as Loeæer's proæle in tis speciæc example. e optimal proæle determined by our algoritm is displayed in ægure 8 èbè. N 3 3 (a) initial profile (b) optimal profile Fig. 8. Generation of te optimal proæle for te conditional construct in ægure. èaè initial proæle èbè optimal proæle. We generalized te proposed algoritm to te M-way branc construct by case construct. o realize an M-way branc, we prefer to using case construct to using a nested if-ten-else constructs. Generalization of te proposed algoritm and proof of optimality is beyond te scope of tis paper. For te detailed discussion, refer to ë7ë. For a given number of assigned processors, te proposed algoritm determines te optimal proæle. o obtain te optimal number of assigned processors, we compute te total expected cost for eac number and coose te minimum. VII. An Example e proposed tecnique to scedule data-dependent actors as been implemented in Ptolemy, wic is a eterogeneous simulation and prototyping environment being developed in U.C.Berkeley, U.S.A. ë5ë. One of te key objectives of Ptolemy is to allow many diæerent computational models to coexist in te same system. A domain is a set of blocks tat obey a common computational model. An example of mixed domain system is sown in ægure 9. e syncronous dataæow èsdfè domain contains all dataindependent actors and performs compile-time sceduling. wo brances of te conditional constructs are represented as SDF subsystems, so teir local scedules are generated by a static sceduler. Using te local scedules of bot brances, te dynamic dataæowèddfè domain executes te proposed algoritm to obtain te optimal proæle of te conditional construct. e topmost SDF domain system regards te DDF domain as a macro actor wit te assumed proæle wen it performs te global static sceduling. SDF DDF SDF SWICH F F SELEC Fig. 9. An example of mixed domain system. e topmost level of te system is a SDF domain. A dynamic constructèif-ten-elseè is in te DDF domain, wic in turn contains two subsystems in te SDF domain for its brances. SDF We apply te proposed sceduling tecnique to several syntetic examples as preliminary experiments. ese experiments do not serve as a full test or proof of generality of te tecnique. However, tey verify tat te proposed tecnique can make better sceduling decisions tan oter simple but ad-oc decisions on dynamic constructs in many applications. e target arcitecture is assumed to be a sared bus arcitecture wit 4 processors, in wic communication can be overlapped wit computation. o test te eæectiveness of te proposed tecnique, we compare it wit te following sceduling alternatives for te dynamic constructs. Metod. Assign all processors to eac dynamic construct Metod. Assign only one processor to eac dynamic construct Metod 3. Apply a fully dynamic sceduling ignoring all overead Metod 4. Apply a fully static sceduling Metod corresponds to te previous researc on quasistatic sceduling tecnique made by Lee ë0ë and by Loefæer et. al. ë3ë for data dependent iterations. Metod approximately models te situation wen we implement eac dynamic construct as a single big atomic actor. o simulate te tird model, we list all possible outcomes, eac of wic can be represented as a data-independent macro actor. Wit eac possible outcome, we replace te dynamic construct wit a data-independent macro actor and perform fully-static sceduling. e sceduling result from Metod 3 is non-realistic since it ignores all te overead of te fully dynamic sceduling strategy. Noneteless, it will give a yardstick to measure te relative performance of oter sceduling decisions. By modifying te dataæow graps, we may use fully static sceduling in Metod 4. For a conditional construct, we mayevaluate bot brances and select one by amultiplexor actor. For a data-dependent iteration construct, we always perform te worst case number of iterations. For comparison, we use te average scedule lengt of te program as te performance measure. As an example, consider a For construct of datadependent iteration as sown in ægure 0. e number inside eac actor represents te execution lengt. o increase te parallelism, we pipelined te grap at te beginning of te For construct. e sceduling decisions to be made for te For construct are ow many processors to be assigned to te iteration body and ow many iteration cycles to be sceduled explicitly. We assume tat te number of iteration cycles is uniformly distributed between and 7. o determine te optimal number of assigned processors, we compare te expected total cost as sown in table I. Since te iteration body can utilize two processors eæectively, te expected total cost of te ærst two columns are very close. However, te scedule determines tat assigning one processor is sligtly better. Rater tan parallelizing te iteration body, te sceduler automatically parallelizes te iteration cycles. If we cange te parameters, we maywant to parallelize te iteration body ærst and te iteration cycles next.

10 HA AND LEE: COMPILE-IME SCHEDULING OF DYNAMIC CONSRUCS IN DAAFLOW PROGRAM GRAPHS FOR UP- SAMPLE body DOWN- SAMPLE Fig. 0. An example wit a For construct at te top level. e subsystems associated wit te For construct are also displayed. e number inside an actor represents te execution lengt of te actor. e proposed tecnique considers te tradeoæs of parallelizing inner loops or parallelizing outer loops in a nested loop construct, wic as been te main problem of parallelizing compilers for sequential programs. e resulting Gantt cart for tis example is sown in ægure FOR Fig.. A Gantt cart disply of te sceduling result over 4 processors from te proposed sceduling tecnique for te example in ægure 0. e proæle of te For construct is identiæed. If te number of iteration cycles at run time is less tan or equal to 3, te scedule lengt of te example is same as te scedule period 66. If it is greater tan 3, te scedule lengt will increase. erefore, te average scedule lengt of te example becomes e average scedule lengt from oter sceduling decisions are compared in table II. e proposed tecnique outperforms oter realistic metods and acieves 85è of te ideal scedule lengt by Metod 3. In tis example, assigning 4 processors to te iteration body èmetod è worsens te performance since it fails to exploit te intercycle parallelism. Conæning te dynamic construct in a single actor èmetod è gives te worst performance as expected since it fails to exploit bot intercycle parallelism and te parallelism of te iteration body. Since te range of te number of iteration cycles is not big, assuming te worst case iteration èmetod 4è is not bad. is example, owever, reveals a sortcoming of te proposed tecnique. If we assign processors to te iteration body to exploit te parallelism of te iteration body as well as te intercycle parallelism, te average scedule lengt becomes 77.7, wic is sligtly better tan te sceduling result by te proposed tecnique. Wen we calculate te 4 expected total cost to decide te optimal number of processors to assign to te iteration body, we do not account for te global eæect of te decision. Since te diæerence of te expected total costs between te proposed tecnique and te best sceduling was not signiæcant, as sown in table I, tis non-optimality of te proposed tecnique could be anticipated. o improve te performance of te proposed tecnique, we can add a euristic tat if te expected total cost is not signiæcantly greater tan te optimal one, we perform sceduling wit tat assigned number and compare te performance wit te proposed tecnique to coose te best sceduling result. e searc for te assumed number of iteration cycles for te optimal proæle is not faultless eiter, since te proposed tecnique ænds a local optimum. e proposed tecnique selects 3 as te assumed number of iteration cycles. It is proved, owever, tat te best assumed number is in tis example even toug te performance diæerence is negligible. Altoug te proposed tecnique is not always optimal, it is certainly better tan any ofte oter sceduling metods demonstrated in table II. Experiments wit oter dynamic constructs as well as nested constructs ave been performed to obtain te similar results tat te proposed tecnique outperforms oter ad-oc decisions. e resulting quasi-static scedule could be at least 0è faster tan oter sceduling decisions currently existent, wile it is as little as 5 è slower tan an ideal èand igly unrealisticè fully-dynamic scedule. In a nested dynamic construct, te compile-time proæle of te inner dynamic construct aæects tat of te outer dynamic construct. In general, tere is a trade-oæ between exploiting parallelism of te inner dynamic construct ærst and tat of te outer construct ærst. e proposed tecnique resolves tis conæict automatically. Refer to ë7ë for detailed discussion. Let us assess te complexity of te proposed sceme. If te number of dynamic constructs including all nested ones is D and te number of processors is N, te total number of proæle decision steps is order of ND, OèNDè. o determine te optimal proæle also consumes OèNDè time units. erefore, te overall complexity is order of ND. e memory requirements are te same order od magnitude as te number of proæles to be maintained, wic is also order of ND. VIII. Conclusion As long as te data-dependent beavior is not dominating in a dataæow program, te more sceduling decisions are made at compile time te better, since we can reduce te ardware and software overead for sceduling at run time. For compile-time decision of task assignment andèor ordering, we need te static information, called proæles, of all actors. Most euristics for compile-time decisions assume te static information of all tasks, or use ad-oc approximations. In tis paper, we propose a systematic metod to decide on proæles for eac dynamic construct. We deæne te compile-time proæle of a dynamic construct as an assumed local scedule of te body of te dynamic

11 778 IEEE RANSACIONS ON COMPUERS, VOL. 46, NO. 7, JULY 997 ABLE I e expected total cost of te For construct as a function of te number of assigned processors Number of assigned processors 3 4 Expected total cost NèA ABLE II Performance comparison among several sceduling decisions Metod Proposed 3 4 Average scedule lengt è of ideal construct. We deæne te cost of a dynamic construct and coose its compile-time proæle in order to minimize te expected cost. e cost of a dynamic construct is te sum of execution lengt of te construct and te idle time on all processors at run-time due to te diæerence between te compile-time proæle and te actual run-time proæle. We discussed in detail ow to compute te proæle of tree kinds of common dynamic constructs: conditionals, datadependent iterations, and recursion. o compute te expected cost, we require tat te statistical distribution of te dynamic beavior, for example te distribution of te number of iteration cycles for a datadependent iteration, must be known or approximated at compile-time. For te particular examples we used for experiments, te performance does not degrade rapidly as te stocastic model deviates from te actual program beavior, suggesting tat a compiler can use fairly simple tecniques to estimate te model. We implemented te tecnique in Ptolemy as a part of a rapid prototyping environment. We illustrated te eæectiveness of te proposed tecnique wit a syntetic example in tis paper and wit many oter examples in ë7ë. e results are only a preliminary indication of te potential in practical applications, but tey are very promising. Wile te proposed tecnique makes locally optimal decisions for eac dynamic construct, it is sown tat te proposed tecnique is eæective wen te amount of data dependency from a dynamic construct is small. But, we admittedly cannot quantify at wat level te tecnique breaks down. Acknowledgments e autors would like to gratefully tank te anonymous reviewers for teir elpful suggestions. is researc is part of te Ptolemy project, wic is supported by te Advanced Researc Projects Agency and te U.S. Air Force èunder te RASSP program, contract F C-37è, te State of California MICRO program, and te following companies: Bell Nortern Researc, Cadence, Dolby, Hitaci, Lucky-Goldstar, Mentor Grapics, Mitsubisi, Motorola, NEC, Pilips, and, Rockwell. References ëë W.B.Ackerman, "Data Flow Languages", Computer, Vol. 5, ëë ë3ë ë4ë ë5ë ë6ë ë7ë ë8ë ë9ë No., pp. 5-5, Feb. 98. E.A.Lee and D.G.Messerscmitt, "Syncronous Data Flow", IEEE Proceedings, September, 987. S.Ha and E.A.Lee, "Compile-ime Sceduling and Assignment of Dataæow Program Graps wit Data-Dependent Iteration", IEEE rans. Computers, November, 99. E.G.Coæman,Jr., Computer and Job Sceduling eory, Wiley, New York, 976. M.J.Gonzalez, "Deterministic Processor Sceduling", Computing Surveys, 9è3è, September, 977. G.C.Si, "Multiprocessor Sceduling to Account for Interprocessor Communications", P.D. esis, University of California, Berkeley, April, 99. S.J.Kim and J.C.Browne, "A General Approac to Mapping of Parallel Computations Upon Multiprocessor Arcitecture", Int. Conf. on Distributed Computing Systems, pp. -8, 988. K.Konstantinides, R..Kanesiro, and J.R.ani, "ask Allocation and Sceduling Models for Multiprocessor Digital Signal Processing", IEEE rans. Acoustics, Speec, and Signal Processing, Vol.38, No., pp. 5-6, December, 990. Computing Surveys, 9è3è, September, 977. G.N.S.Prasanna, A.Agarwal, and B.R.Musicus, "Hierarcical Compilation of Macro Dataæow Graps for Multiprocessors wit Local Memory", IEEE rans. on Parallel and Distributed Systems, Vol.5, No.7, pp , July, 994. ë0ë E.A.Lee, "Recurrences, Iteration, and Conditionals in Statically Sceduled Block Diagram Languages", VLSI Signal Processing III, IEEE Press, 988. ëë D.F.Martin and G.Estrin, "Pat Lengt Computation on Grap Models of Computations", IEEE rans. on Computers, C-8, pp , June, 969. ëë M. Granski, I. Korn, and G.M.Silberman, "e Eæect of Operation Sceduling on te Performance of a Data Flow Computer", IEEE rans. on Computers, C-36è9è, September, 987. ë3ë C.Loeæer, A.Ligtenberg, H.Beda, and G. Moscytz, "Hierarcical Sceduling Systems for Parallel Arcitectures", Proceedings of Euco, Grenoble, September, 988. ë4ë P.A.Suler, J.Biswas, K.M.Korner, and J.C.Browne, "DFL: A ask-level Dataæow Language", Journal of Parallel and Distributed Computing, 9, pp. 03-5, 990. ë5ë J. Buck, S. Ha, E. A. Lee, and D.G. Messerscmitt, "Ptolemy: A Framework for Simulating and Prototyping Heterogeneous Systems", International Journal of Computer Simulation Vol. 4. April, pp. 55-8, 994. ë6ë P.Hoang and J.Rabaey, "Program Partitioning for a Reconægurable Multiprocessor System", IEEE Worksop on VLSI Signal Processing IV, November, 990. ë7ë S. Ha, "Compile-ime Sceduling of Dataæow Program Graps wit Dynamic Constructs," P.D. dissertation, University of California, Berkeley, May, 99.

12 HA AND LEE: COMPILE-IME SCHEDULING OF DYNAMIC CONSRUCS IN DAAFLOW PROGRAM GRAPHS 779 Soonoi Ha Soonoi Ha is an assistant professor in te Computer Engineering Department at Seoul National University, Seoul, Korea. His researc interests include arcitecture and sceduling tecniques for parallel processing, design metodology for digital systems, and ardware-software codesign. He as been actively involved in te Ptolemy project since its birt. He received te B.S. and te M.S. degrees in electronics from Seoul National University, Seoul, Korea, in 985 and 987, respectively. He received te P.D. degree in te Electrical Engineering and Computer Science Department at U.C. Berkeley in 99. He is a member of ACM and te IEEE Computer Society. Edward A. Lee Edward A. Lee is a Professor in te Electrical Engineering and Computer Science Department at U.C. Berkeley. His researc interests include real-time software, discrete-event systems, parallel computation, arcitecture and software tecniques for signal processing, and design metodology for eterogeneous systems. He is director of te Ptolemy project at UC Berkeley. He is co-autor of four books, numerous papers, and two patents. His bacelors degree èb.s.è is from Yale University è979è, is masters ès.m.è from MI è98è, and is P.D. from U. C. Berkeley è986è. From 979 to 98 e was a member of tecnical staæ at Bell elepone Laboratories in Holmdel, New Jersey, in te Advanced Data Communications Laboratory. He is a founder of Berkeley Design ecnology, Inc. and as consulted for a number of oter companies. He is a fellow of te IEEE and was an NSF Presidential Young Investigator.

Geometric Stratification of Accounting Data

Geometric Stratification of Accounting Data Stratification of Accounting Data Patricia Gunning * Jane Mary Horgan ** William Yancey *** Abstract: We suggest a new procedure for defining te boundaries of te strata in igly skewed populations, usual

More information

Derivatives Math 120 Calculus I D Joyce, Fall 2013

Derivatives Math 120 Calculus I D Joyce, Fall 2013 Derivatives Mat 20 Calculus I D Joyce, Fall 203 Since we ave a good understanding of its, we can develop derivatives very quickly. Recall tat we defined te derivative f x of a function f at x to be te

More information

M(0) = 1 M(1) = 2 M(h) = M(h 1) + M(h 2) + 1 (h > 1)

M(0) = 1 M(1) = 2 M(h) = M(h 1) + M(h 2) + 1 (h > 1) Insertion and Deletion in VL Trees Submitted in Partial Fulfillment of te Requirements for Dr. Eric Kaltofen s 66621: nalysis of lgoritms by Robert McCloskey December 14, 1984 1 ackground ccording to Knut

More information

Verifying Numerical Convergence Rates

Verifying Numerical Convergence Rates 1 Order of accuracy Verifying Numerical Convergence Rates We consider a numerical approximation of an exact value u. Te approximation depends on a small parameter, suc as te grid size or time step, and

More information

ACT Math Facts & Formulas

ACT Math Facts & Formulas Numbers, Sequences, Factors Integers:..., -3, -2, -1, 0, 1, 2, 3,... Rationals: fractions, tat is, anyting expressable as a ratio of integers Reals: integers plus rationals plus special numbers suc as

More information

Optimized Data Indexing Algorithms for OLAP Systems

Optimized Data Indexing Algorithms for OLAP Systems Database Systems Journal vol. I, no. 2/200 7 Optimized Data Indexing Algoritms for OLAP Systems Lucian BORNAZ Faculty of Cybernetics, Statistics and Economic Informatics Academy of Economic Studies, Bucarest

More information

The modelling of business rules for dashboard reporting using mutual information

The modelling of business rules for dashboard reporting using mutual information 8 t World IMACS / MODSIM Congress, Cairns, Australia 3-7 July 2009 ttp://mssanz.org.au/modsim09 Te modelling of business rules for dasboard reporting using mutual information Gregory Calbert Command, Control,

More information

Schedulability Analysis under Graph Routing in WirelessHART Networks

Schedulability Analysis under Graph Routing in WirelessHART Networks Scedulability Analysis under Grap Routing in WirelessHART Networks Abusayeed Saifulla, Dolvara Gunatilaka, Paras Tiwari, Mo Sa, Cenyang Lu, Bo Li Cengjie Wu, and Yixin Cen Department of Computer Science,

More information

Lecture 10: What is a Function, definition, piecewise defined functions, difference quotient, domain of a function

Lecture 10: What is a Function, definition, piecewise defined functions, difference quotient, domain of a function Lecture 10: Wat is a Function, definition, piecewise defined functions, difference quotient, domain of a function A function arises wen one quantity depends on anoter. Many everyday relationsips between

More information

The EOQ Inventory Formula

The EOQ Inventory Formula Te EOQ Inventory Formula James M. Cargal Matematics Department Troy University Montgomery Campus A basic problem for businesses and manufacturers is, wen ordering supplies, to determine wat quantity of

More information

Computer Science and Engineering, UCSD October 7, 1999 Goldreic-Levin Teorem Autor: Bellare Te Goldreic-Levin Teorem 1 Te problem We æx a an integer n for te lengt of te strings involved. If a is an n-bit

More information

Research on the Anti-perspective Correction Algorithm of QR Barcode

Research on the Anti-perspective Correction Algorithm of QR Barcode Researc on te Anti-perspective Correction Algoritm of QR Barcode Jianua Li, Yi-Wen Wang, YiJun Wang,Yi Cen, Guoceng Wang Key Laboratory of Electronic Tin Films and Integrated Devices University of Electronic

More information

Math 113 HW #5 Solutions

Math 113 HW #5 Solutions Mat 3 HW #5 Solutions. Exercise.5.6. Suppose f is continuous on [, 5] and te only solutions of te equation f(x) = 6 are x = and x =. If f() = 8, explain wy f(3) > 6. Answer: Suppose we ad tat f(3) 6. Ten

More information

Can a Lump-Sum Transfer Make Everyone Enjoy the Gains. from Free Trade?

Can a Lump-Sum Transfer Make Everyone Enjoy the Gains. from Free Trade? Can a Lump-Sum Transfer Make Everyone Enjoy te Gains from Free Trade? Yasukazu Icino Department of Economics, Konan University June 30, 2010 Abstract I examine lump-sum transfer rules to redistribute te

More information

1.6. Analyse Optimum Volume and Surface Area. Maximum Volume for a Given Surface Area. Example 1. Solution

1.6. Analyse Optimum Volume and Surface Area. Maximum Volume for a Given Surface Area. Example 1. Solution 1.6 Analyse Optimum Volume and Surface Area Estimation and oter informal metods of optimizing measures suc as surface area and volume often lead to reasonable solutions suc as te design of te tent in tis

More information

SAT Subject Math Level 1 Facts & Formulas

SAT Subject Math Level 1 Facts & Formulas Numbers, Sequences, Factors Integers:..., -3, -2, -1, 0, 1, 2, 3,... Reals: integers plus fractions, decimals, and irrationals ( 2, 3, π, etc.) Order Of Operations: Aritmetic Sequences: PEMDAS (Parenteses

More information

- 1 - Handout #22 May 23, 2012 Huffman Encoding and Data Compression. CS106B Spring 2012. Handout by Julie Zelenski with minor edits by Keith Schwarz

- 1 - Handout #22 May 23, 2012 Huffman Encoding and Data Compression. CS106B Spring 2012. Handout by Julie Zelenski with minor edits by Keith Schwarz CS106B Spring 01 Handout # May 3, 01 Huffman Encoding and Data Compression Handout by Julie Zelenski wit minor edits by Keit Scwarz In te early 1980s, personal computers ad ard disks tat were no larger

More information

FINITE DIFFERENCE METHODS

FINITE DIFFERENCE METHODS FINITE DIFFERENCE METHODS LONG CHEN Te best known metods, finite difference, consists of replacing eac derivative by a difference quotient in te classic formulation. It is simple to code and economic to

More information

Catalogue no. 12-001-XIE. Survey Methodology. December 2004

Catalogue no. 12-001-XIE. Survey Methodology. December 2004 Catalogue no. 1-001-XIE Survey Metodology December 004 How to obtain more information Specific inquiries about tis product and related statistics or services sould be directed to: Business Survey Metods

More information

How To Ensure That An Eac Edge Program Is Successful

How To Ensure That An Eac Edge Program Is Successful Introduction Te Economic Diversification and Growt Enterprises Act became effective on 1 January 1995. Te creation of tis Act was to encourage new businesses to start or expand in Newfoundland and Labrador.

More information

Instantaneous Rate of Change:

Instantaneous Rate of Change: Instantaneous Rate of Cange: Last section we discovered tat te average rate of cange in F(x) can also be interpreted as te slope of a scant line. Te average rate of cange involves te cange in F(x) over

More information

Note nine: Linear programming CSE 101. 1 Linear constraints and objective functions. 1.1 Introductory example. Copyright c Sanjoy Dasgupta 1

Note nine: Linear programming CSE 101. 1 Linear constraints and objective functions. 1.1 Introductory example. Copyright c Sanjoy Dasgupta 1 Copyrigt c Sanjoy Dasgupta Figure. (a) Te feasible region for a linear program wit two variables (see tet for details). (b) Contour lines of te objective function: for different values of (profit). Te

More information

Comparison between two approaches to overload control in a Real Server: local or hybrid solutions?

Comparison between two approaches to overload control in a Real Server: local or hybrid solutions? Comparison between two approaces to overload control in a Real Server: local or ybrid solutions? S. Montagna and M. Pignolo Researc and Development Italtel S.p.A. Settimo Milanese, ITALY Abstract Tis wor

More information

In other words the graph of the polynomial should pass through the points

In other words the graph of the polynomial should pass through the points Capter 3 Interpolation Interpolation is te problem of fitting a smoot curve troug a given set of points, generally as te grap of a function. It is useful at least in data analysis (interpolation is a form

More information

Math Test Sections. The College Board: Expanding College Opportunity

Math Test Sections. The College Board: Expanding College Opportunity Taking te SAT I: Reasoning Test Mat Test Sections Te materials in tese files are intended for individual use by students getting ready to take an SAT Program test; permission for any oter use must be sougt

More information

Distances in random graphs with infinite mean degrees

Distances in random graphs with infinite mean degrees Distances in random graps wit infinite mean degrees Henri van den Esker, Remco van der Hofstad, Gerard Hoogiemstra and Dmitri Znamenski April 26, 2005 Abstract We study random graps wit an i.i.d. degree

More information

Improved dynamic programs for some batcing problems involving te maximum lateness criterion A P M Wagelmans Econometric Institute Erasmus University Rotterdam PO Box 1738, 3000 DR Rotterdam Te Neterlands

More information

f(a + h) f(a) f (a) = lim

f(a + h) f(a) f (a) = lim Lecture 7 : Derivative AS a Function In te previous section we defined te derivative of a function f at a number a (wen te function f is defined in an open interval containing a) to be f (a) 0 f(a + )

More information

SAMPLE DESIGN FOR THE TERRORISM RISK INSURANCE PROGRAM SURVEY

SAMPLE DESIGN FOR THE TERRORISM RISK INSURANCE PROGRAM SURVEY ASA Section on Survey Researc Metods SAMPLE DESIG FOR TE TERRORISM RISK ISURACE PROGRAM SURVEY G. ussain Coudry, Westat; Mats yfjäll, Statisticon; and Marianne Winglee, Westat G. ussain Coudry, Westat,

More information

Determine the perimeter of a triangle using algebra Find the area of a triangle using the formula

Determine the perimeter of a triangle using algebra Find the area of a triangle using the formula Student Name: Date: Contact Person Name: Pone Number: Lesson 0 Perimeter, Area, and Similarity of Triangles Objectives Determine te perimeter of a triangle using algebra Find te area of a triangle using

More information

Section 3.3. Differentiation of Polynomials and Rational Functions. Difference Equations to Differential Equations

Section 3.3. Differentiation of Polynomials and Rational Functions. Difference Equations to Differential Equations Difference Equations to Differential Equations Section 3.3 Differentiation of Polynomials an Rational Functions In tis section we begin te task of iscovering rules for ifferentiating various classes of

More information

Pressure. Pressure. Atmospheric pressure. Conceptual example 1: Blood pressure. Pressure is force per unit area:

Pressure. Pressure. Atmospheric pressure. Conceptual example 1: Blood pressure. Pressure is force per unit area: Pressure Pressure is force per unit area: F P = A Pressure Te direction of te force exerted on an object by a fluid is toward te object and perpendicular to its surface. At a microscopic level, te force

More information

Tis Problem and Retail Inventory Management

Tis Problem and Retail Inventory Management Optimizing Inventory Replenisment of Retail Fasion Products Marsall Fiser Kumar Rajaram Anant Raman Te Warton Scool, University of Pennsylvania, 3620 Locust Walk, 3207 SH-DH, Piladelpia, Pennsylvania 19104-6366

More information

2 Limits and Derivatives

2 Limits and Derivatives 2 Limits and Derivatives 2.7 Tangent Lines, Velocity, and Derivatives A tangent line to a circle is a line tat intersects te circle at exactly one point. We would like to take tis idea of tangent line

More information

CHAPTER 7. Di erentiation

CHAPTER 7. Di erentiation CHAPTER 7 Di erentiation 1. Te Derivative at a Point Definition 7.1. Let f be a function defined on a neigborood of x 0. f is di erentiable at x 0, if te following it exists: f 0 fx 0 + ) fx 0 ) x 0 )=.

More information

2.12 Student Transportation. Introduction

2.12 Student Transportation. Introduction Introduction Figure 1 At 31 Marc 2003, tere were approximately 84,000 students enrolled in scools in te Province of Newfoundland and Labrador, of wic an estimated 57,000 were transported by scool buses.

More information

Pre-trial Settlement with Imperfect Private Monitoring

Pre-trial Settlement with Imperfect Private Monitoring Pre-trial Settlement wit Imperfect Private Monitoring Mostafa Beskar University of New Hampsire Jee-Hyeong Park y Seoul National University July 2011 Incomplete, Do Not Circulate Abstract We model pretrial

More information

Tangent Lines and Rates of Change

Tangent Lines and Rates of Change Tangent Lines and Rates of Cange 9-2-2005 Given a function y = f(x), ow do you find te slope of te tangent line to te grap at te point P(a, f(a))? (I m tinking of te tangent line as a line tat just skims

More information

An inquiry into the multiplier process in IS-LM model

An inquiry into the multiplier process in IS-LM model An inquiry into te multiplier process in IS-LM model Autor: Li ziran Address: Li ziran, Room 409, Building 38#, Peing University, Beijing 00.87,PRC. Pone: (86) 00-62763074 Internet Address: jefferson@water.pu.edu.cn

More information

2.23 Gambling Rehabilitation Services. Introduction

2.23 Gambling Rehabilitation Services. Introduction 2.23 Gambling Reabilitation Services Introduction Figure 1 Since 1995 provincial revenues from gambling activities ave increased over 56% from $69.2 million in 1995 to $108 million in 2004. Te majority

More information

Binary Search Trees. Adnan Aziz. Heaps can perform extract-max, insert efficiently O(log n) worst case

Binary Search Trees. Adnan Aziz. Heaps can perform extract-max, insert efficiently O(log n) worst case Binary Searc Trees Adnan Aziz 1 BST basics Based on CLRS, C 12. Motivation: Heaps can perform extract-max, insert efficiently O(log n) worst case Has tables can perform insert, delete, lookup efficiently

More information

Writing Mathematics Papers

Writing Mathematics Papers Writing Matematics Papers Tis essay is intended to elp your senior conference paper. It is a somewat astily produced amalgam of advice I ave given to students in my PDCs (Mat 4 and Mat 9), so it s not

More information

MATHEMATICS FOR ENGINEERING DIFFERENTIATION TUTORIAL 1 - BASIC DIFFERENTIATION

MATHEMATICS FOR ENGINEERING DIFFERENTIATION TUTORIAL 1 - BASIC DIFFERENTIATION MATHEMATICS FOR ENGINEERING DIFFERENTIATION TUTORIAL 1 - BASIC DIFFERENTIATION Tis tutorial is essential pre-requisite material for anyone stuing mecanical engineering. Tis tutorial uses te principle of

More information

College Planning Using Cash Value Life Insurance

College Planning Using Cash Value Life Insurance College Planning Using Cas Value Life Insurance CAUTION: Te advisor is urged to be extremely cautious of anoter college funding veicle wic provides a guaranteed return of premium immediately if funded

More information

SAT Math Facts & Formulas

SAT Math Facts & Formulas Numbers, Sequences, Factors SAT Mat Facts & Formuas Integers:..., -3, -2, -1, 0, 1, 2, 3,... Reas: integers pus fractions, decimas, and irrationas ( 2, 3, π, etc.) Order Of Operations: Aritmetic Sequences:

More information

Chapter 11. Limits and an Introduction to Calculus. Selected Applications

Chapter 11. Limits and an Introduction to Calculus. Selected Applications Capter Limits and an Introduction to Calculus. Introduction to Limits. Tecniques for Evaluating Limits. Te Tangent Line Problem. Limits at Infinit and Limits of Sequences.5 Te Area Problem Selected Applications

More information

New Vocabulary volume

New Vocabulary volume -. Plan Objectives To find te volume of a prism To find te volume of a cylinder Examples Finding Volume of a Rectangular Prism Finding Volume of a Triangular Prism 3 Finding Volume of a Cylinder Finding

More information

Notes: Most of the material in this chapter is taken from Young and Freedman, Chap. 12.

Notes: Most of the material in this chapter is taken from Young and Freedman, Chap. 12. Capter 6. Fluid Mecanics Notes: Most of te material in tis capter is taken from Young and Freedman, Cap. 12. 6.1 Fluid Statics Fluids, i.e., substances tat can flow, are te subjects of tis capter. But

More information

Strategic trading in a dynamic noisy market. Dimitri Vayanos

Strategic trading in a dynamic noisy market. Dimitri Vayanos LSE Researc Online Article (refereed) Strategic trading in a dynamic noisy market Dimitri Vayanos LSE as developed LSE Researc Online so tat users may access researc output of te Scool. Copyrigt and Moral

More information

Projective Geometry. Projective Geometry

Projective Geometry. Projective Geometry Euclidean versus Euclidean geometry describes sapes as tey are Properties of objects tat are uncanged by rigid motions» Lengts» Angles» Parallelism Projective geometry describes objects as tey appear Lengts,

More information

Area-Specific Recreation Use Estimation Using the National Visitor Use Monitoring Program Data

Area-Specific Recreation Use Estimation Using the National Visitor Use Monitoring Program Data United States Department of Agriculture Forest Service Pacific Nortwest Researc Station Researc Note PNW-RN-557 July 2007 Area-Specific Recreation Use Estimation Using te National Visitor Use Monitoring

More information

Chapter 7 Numerical Differentiation and Integration

Chapter 7 Numerical Differentiation and Integration 45 We ave a abit in writing articles publised in scientiþc journals to make te work as Þnised as possible, to cover up all te tracks, to not worry about te blind alleys or describe ow you ad te wrong idea

More information

SAT Math Must-Know Facts & Formulas

SAT Math Must-Know Facts & Formulas SAT Mat Must-Know Facts & Formuas Numbers, Sequences, Factors Integers:..., -3, -2, -1, 0, 1, 2, 3,... Rationas: fractions, tat is, anyting expressabe as a ratio of integers Reas: integers pus rationas

More information

Free Shipping and Repeat Buying on the Internet: Theory and Evidence

Free Shipping and Repeat Buying on the Internet: Theory and Evidence Free Sipping and Repeat Buying on te Internet: eory and Evidence Yingui Yang, Skander Essegaier and David R. Bell 1 June 13, 2005 1 Graduate Scool of Management, University of California at Davis (yiyang@ucdavis.edu)

More information

A strong credit score can help you score a lower rate on a mortgage

A strong credit score can help you score a lower rate on a mortgage NET GAIN Scoring points for your financial future AS SEEN IN USA TODAY S MONEY SECTION, JULY 3, 2007 A strong credit score can elp you score a lower rate on a mortgage By Sandra Block Sales of existing

More information

Unemployment insurance/severance payments and informality in developing countries

Unemployment insurance/severance payments and informality in developing countries Unemployment insurance/severance payments and informality in developing countries David Bardey y and Fernando Jaramillo z First version: September 2011. Tis version: November 2011. Abstract We analyze

More information

Design and Analysis of a Fault-Tolerant Mechanism for a Server-Less Video-On-Demand System

Design and Analysis of a Fault-Tolerant Mechanism for a Server-Less Video-On-Demand System Design and Analysis of a Fault-olerant Mecanism for a Server-Less Video-On-Demand System Jack Y. B. Lee Department of Information Engineering e Cinese University of Hong Kong Satin, N.., Hong Kong Email:

More information

Analyzing the Effects of Insuring Health Risks:

Analyzing the Effects of Insuring Health Risks: Analyzing te Effects of Insuring Healt Risks: On te Trade-off between Sort Run Insurance Benefits vs. Long Run Incentive Costs Harold L. Cole University of Pennsylvania and NBER Soojin Kim University of

More information

Part II: Finite Difference/Volume Discretisation for CFD

Part II: Finite Difference/Volume Discretisation for CFD Part II: Finite Difference/Volume Discretisation for CFD Finite Volume Metod of te Advection-Diffusion Equation A Finite Difference/Volume Metod for te Incompressible Navier-Stokes Equations Marker-and-Cell

More information

13 PERIMETER AND AREA OF 2D SHAPES

13 PERIMETER AND AREA OF 2D SHAPES 13 PERIMETER AND AREA OF D SHAPES 13.1 You can find te perimeter of sapes Key Points Te perimeter of a two-dimensional (D) sape is te total distance around te edge of te sape. l To work out te perimeter

More information

Channel Allocation in Non-Cooperative Multi-Radio Multi-Channel Wireless Networks

Channel Allocation in Non-Cooperative Multi-Radio Multi-Channel Wireless Networks Cannel Allocation in Non-Cooperative Multi-Radio Multi-Cannel Wireless Networks Dejun Yang, Xi Fang, Guoliang Xue Arizona State University Abstract Wile tremendous efforts ave been made on cannel allocation

More information

Orchestrating Bulk Data Transfers across Geo-Distributed Datacenters

Orchestrating Bulk Data Transfers across Geo-Distributed Datacenters Tis article as been accepted for publication in a future issue of tis journal, but as not been fully edited Content may cange prior to final publication Citation information: DOI 101109/TCC20152389842,

More information

Theoretical calculation of the heat capacity

Theoretical calculation of the heat capacity eoretical calculation of te eat capacity Principle of equipartition of energy Heat capacity of ideal and real gases Heat capacity of solids: Dulong-Petit, Einstein, Debye models Heat capacity of metals

More information

Floodless in SEATTLE: A Scalable Ethernet Architecture for Large Enterprises

Floodless in SEATTLE: A Scalable Ethernet Architecture for Large Enterprises Floodless in SEATTLE: A Scalable Eternet Arcitecture for Large Enterprises Cangoon Kim Mattew Caesar Jennifer Rexford Princeton University Princeton University Princeton University Abstract IP networks

More information

Staffing and routing in a two-tier call centre. Sameer Hasija*, Edieal J. Pinker and Robert A. Shumsky

Staffing and routing in a two-tier call centre. Sameer Hasija*, Edieal J. Pinker and Robert A. Shumsky 8 Int. J. Operational Researc, Vol. 1, Nos. 1/, 005 Staffing and routing in a two-tier call centre Sameer Hasija*, Edieal J. Pinker and Robert A. Sumsky Simon Scool, University of Rocester, Rocester 1467,

More information

OPTIMAL FLEET SELECTION FOR EARTHMOVING OPERATIONS

OPTIMAL FLEET SELECTION FOR EARTHMOVING OPERATIONS New Developments in Structural Engineering and Construction Yazdani, S. and Sing, A. (eds.) ISEC-7, Honolulu, June 18-23, 2013 OPTIMAL FLEET SELECTION FOR EARTHMOVING OPERATIONS JIALI FU 1, ERIK JENELIUS

More information

OPTIMAL DISCONTINUOUS GALERKIN METHODS FOR THE ACOUSTIC WAVE EQUATION IN HIGHER DIMENSIONS

OPTIMAL DISCONTINUOUS GALERKIN METHODS FOR THE ACOUSTIC WAVE EQUATION IN HIGHER DIMENSIONS OPTIMAL DISCONTINUOUS GALERKIN METHODS FOR THE ACOUSTIC WAVE EQUATION IN HIGHER DIMENSIONS ERIC T. CHUNG AND BJÖRN ENGQUIST Abstract. In tis paper, we developed and analyzed a new class of discontinuous

More information

ON LOCAL LIKELIHOOD DENSITY ESTIMATION WHEN THE BANDWIDTH IS LARGE

ON LOCAL LIKELIHOOD DENSITY ESTIMATION WHEN THE BANDWIDTH IS LARGE ON LOCAL LIKELIHOOD DENSITY ESTIMATION WHEN THE BANDWIDTH IS LARGE Byeong U. Park 1 and Young Kyung Lee 2 Department of Statistics, Seoul National University, Seoul, Korea Tae Yoon Kim 3 and Ceolyong Park

More information

Pretrial Settlement with Imperfect Private Monitoring

Pretrial Settlement with Imperfect Private Monitoring Pretrial Settlement wit Imperfect Private Monitoring Mostafa Beskar Indiana University Jee-Hyeong Park y Seoul National University April, 2016 Extremely Preliminary; Please Do Not Circulate. Abstract We

More information

A survey of Quality Engineering-Management journals by bibliometric indicators

A survey of Quality Engineering-Management journals by bibliometric indicators A survey of Quality Engineering-Management journals by bibliometric indicators 1 FIORENZO FRANCESCHINI, DOMENICO MAISANO POLITECNICO di TORINO Dipartimento di Sistemi di Produzione ed Economia dell Azienda

More information

Simultaneous Location of Trauma Centers and Helicopters for Emergency Medical Service Planning

Simultaneous Location of Trauma Centers and Helicopters for Emergency Medical Service Planning Simultaneous Location of Trauma Centers and Helicopters for Emergency Medical Service Planning Soo-Haeng Co Hoon Jang Taesik Lee Jon Turner Tepper Scool of Business, Carnegie Mellon University, Pittsburg,

More information

Pioneer Fund Story. Searching for Value Today and Tomorrow. Pioneer Funds Equities

Pioneer Fund Story. Searching for Value Today and Tomorrow. Pioneer Funds Equities Pioneer Fund Story Searcing for Value Today and Tomorrow Pioneer Funds Equities Pioneer Fund A Cornerstone of Financial Foundations Since 1928 Te fund s relatively cautious stance as kept it competitive

More information

Average and Instantaneous Rates of Change: The Derivative

Average and Instantaneous Rates of Change: The Derivative 9.3 verage and Instantaneous Rates of Cange: Te Derivative 609 OBJECTIVES 9.3 To define and find average rates of cange To define te derivative as a rate of cange To use te definition of derivative to

More information

a joint initiative of Cost of Production Calculator

a joint initiative of Cost of Production Calculator a joint initiative of Cost of Production Calculator 1 KEY BENEFITS Learn to use te MAKING MORE FROM SHEEP cost of production calculator to: Measure te performance of your seep enterprise year on year Compare

More information

h Understanding the safe operating principles and h Gaining maximum benefit and efficiency from your h Evaluating your testing system's performance

h Understanding the safe operating principles and h Gaining maximum benefit and efficiency from your h Evaluating your testing system's performance EXTRA TM Instron Services Revolve Around You It is everyting you expect from a global organization Te global training centers offer a complete educational service for users of advanced materials testing

More information

Shell and Tube Heat Exchanger

Shell and Tube Heat Exchanger Sell and Tube Heat Excanger MECH595 Introduction to Heat Transfer Professor M. Zenouzi Prepared by: Andrew Demedeiros, Ryan Ferguson, Bradford Powers November 19, 2009 1 Abstract 2 Contents Discussion

More information

To motivate the notion of a variogram for a covariance stationary process, { Ys ( ): s R}

To motivate the notion of a variogram for a covariance stationary process, { Ys ( ): s R} 4. Variograms Te covariogram and its normalized form, te correlogram, are by far te most intuitive metods for summarizing te structure of spatial dependencies in a covariance stationary process. However,

More information

Chapter 10: Refrigeration Cycles

Chapter 10: Refrigeration Cycles Capter 10: efrigeration Cycles Te vapor compression refrigeration cycle is a common metod for transferring eat from a low temperature to a ig temperature. Te above figure sows te objectives of refrigerators

More information

Chapter 6 Tail Design

Chapter 6 Tail Design apter 6 Tail Design Moammad Sadraey Daniel Webster ollege Table of ontents apter 6... 74 Tail Design... 74 6.1. Introduction... 74 6.. Aircraft Trim Requirements... 78 6..1. Longitudinal Trim... 79 6...

More information

Large-scale Virtual Acoustics Simulation at Audio Rates Using Three Dimensional Finite Difference Time Domain and Multiple GPUs

Large-scale Virtual Acoustics Simulation at Audio Rates Using Three Dimensional Finite Difference Time Domain and Multiple GPUs Large-scale Virtual Acoustics Simulation at Audio Rates Using Tree Dimensional Finite Difference Time Domain and Multiple GPUs Craig J. Webb 1,2 and Alan Gray 2 1 Acoustics Group, University of Edinburg

More information

Referendum-led Immigration Policy in the Welfare State

Referendum-led Immigration Policy in the Welfare State Referendum-led Immigration Policy in te Welfare State YUJI TAMURA Department of Economics, University of Warwick, UK First version: 12 December 2003 Updated: 16 Marc 2004 Abstract Preferences of eterogeneous

More information

Predicting the behavior of interacting humans by fusing data from multiple sources

Predicting the behavior of interacting humans by fusing data from multiple sources Predicting te beavior of interacting umans by fusing data from multiple sources Erik J. Sclict 1, Ritcie Lee 2, David H. Wolpert 3,4, Mykel J. Kocenderfer 1, and Brendan Tracey 5 1 Lincoln Laboratory,

More information

Welfare, financial innovation and self insurance in dynamic incomplete markets models

Welfare, financial innovation and self insurance in dynamic incomplete markets models Welfare, financial innovation and self insurance in dynamic incomplete markets models Paul Willen Department of Economics Princeton University First version: April 998 Tis version: July 999 Abstract We

More information

SHAPE: A NEW BUSINESS ANALYTICS WEB PLATFORM FOR GETTING INSIGHTS ON ELECTRICAL LOAD PATTERNS

SHAPE: A NEW BUSINESS ANALYTICS WEB PLATFORM FOR GETTING INSIGHTS ON ELECTRICAL LOAD PATTERNS CIRED Worksop - Rome, 11-12 June 2014 SAPE: A NEW BUSINESS ANALYTICS WEB PLATFORM FOR GETTING INSIGTS ON ELECTRICAL LOAD PATTERNS Diego Labate Paolo Giubbini Gianfranco Cicco Mario Ettorre Enel Distribuzione-Italy

More information

Abstract. Introduction

Abstract. Introduction Fast solution of te Sallow Water Equations using GPU tecnology A Crossley, R Lamb, S Waller JBA Consulting, Sout Barn, Brougton Hall, Skipton, Nort Yorksire, BD23 3AE. amanda.crossley@baconsulting.co.uk

More information

Factoring Synchronous Grammars By Sorting

Factoring Synchronous Grammars By Sorting Factoring Syncronous Grammars By Sorting Daniel Gildea Computer Science Dept. Uniersity of Rocester Rocester, NY Giorgio Satta Dept. of Information Eng g Uniersity of Padua I- Padua, Italy Hao Zang Computer

More information

What is Advanced Corporate Finance? What is finance? What is Corporate Finance? Deciding how to optimally manage a firm s assets and liabilities.

What is Advanced Corporate Finance? What is finance? What is Corporate Finance? Deciding how to optimally manage a firm s assets and liabilities. Wat is? Spring 2008 Note: Slides are on te web Wat is finance? Deciding ow to optimally manage a firm s assets and liabilities. Managing te costs and benefits associated wit te timing of cas in- and outflows

More information

The Dynamics of Movie Purchase and Rental Decisions: Customer Relationship Implications to Movie Studios

The Dynamics of Movie Purchase and Rental Decisions: Customer Relationship Implications to Movie Studios Te Dynamics of Movie Purcase and Rental Decisions: Customer Relationsip Implications to Movie Studios Eddie Ree Associate Professor Business Administration Stoneill College 320 Wasington St Easton, MA

More information

The Derivative as a Function

The Derivative as a Function Section 2.2 Te Derivative as a Function 200 Kiryl Tsiscanka Te Derivative as a Function DEFINITION: Te derivative of a function f at a number a, denoted by f (a), is if tis limit exists. f (a) f(a+) f(a)

More information

A system to monitor the quality of automated coding of textual answers to open questions

A system to monitor the quality of automated coding of textual answers to open questions Researc in Official Statistics Number 2/2001 A system to monitor te quality of automated coding of textual answers to open questions Stefania Maccia * and Marcello D Orazio ** Italian National Statistical

More information

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Why? A central concept in Computer Science. Algorithms are ubiquitous. Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online

More information

MULTY BINARY TURBO CODED WOFDM PERFORMANCE IN FLAT RAYLEIGH FADING CHANNELS

MULTY BINARY TURBO CODED WOFDM PERFORMANCE IN FLAT RAYLEIGH FADING CHANNELS Volume 49, Number 3, 28 MULTY BINARY TURBO CODED WOFDM PERFORMANCE IN FLAT RAYLEIGH FADING CHANNELS Marius OLTEAN Maria KOVACI Horia BALTA Andrei CAMPEANU Faculty of, Timisoara, Romania Bd. V. Parvan,

More information

Training Robust Support Vector Regression via D. C. Program

Training Robust Support Vector Regression via D. C. Program Journal of Information & Computational Science 7: 12 (2010) 2385 2394 Available at ttp://www.joics.com Training Robust Support Vector Regression via D. C. Program Kuaini Wang, Ping Zong, Yaoong Zao College

More information

EC201 Intermediate Macroeconomics. EC201 Intermediate Macroeconomics Problem set 8 Solution

EC201 Intermediate Macroeconomics. EC201 Intermediate Macroeconomics Problem set 8 Solution EC201 Intermediate Macroeconomics EC201 Intermediate Macroeconomics Prolem set 8 Solution 1) Suppose tat te stock of mone in a given econom is given te sum of currenc and demand for current accounts tat

More information

Cyber Epidemic Models with Dependences

Cyber Epidemic Models with Dependences Cyber Epidemic Models wit Dependences Maocao Xu 1, Gaofeng Da 2 and Souuai Xu 3 1 Department of Matematics, Illinois State University mxu2@ilstu.edu 2 Institute for Cyber Security, University of Texas

More information

For Sale By Owner Program. We can help with our for sale by owner kit that includes:

For Sale By Owner Program. We can help with our for sale by owner kit that includes: Dawn Coen Broker/Owner For Sale By Owner Program If you want to sell your ome By Owner wy not:: For Sale Dawn Coen Broker/Owner YOUR NAME YOUR PHONE # Look as professional as possible Be totally prepared

More information

Torchmark Corporation 2001 Third Avenue South Birmingham, Alabama 35233 Contact: Joyce Lane 972-569-3627 NYSE Symbol: TMK

Torchmark Corporation 2001 Third Avenue South Birmingham, Alabama 35233 Contact: Joyce Lane 972-569-3627 NYSE Symbol: TMK News Release Torcmark Corporation 2001 Tird Avenue Sout Birmingam, Alabama 35233 Contact: Joyce Lane 972-569-3627 NYSE Symbol: TMK TORCHMARK CORPORATION REPORTS FOURTH QUARTER AND YEAR-END 2004 RESULTS

More information

Guide to Cover Letters & Thank You Letters

Guide to Cover Letters & Thank You Letters Guide to Cover Letters & Tank You Letters 206 Strebel Student Center (315) 792-3087 Fax (315) 792-3370 TIPS FOR WRITING A PERFECT COVER LETTER Te resume never travels alone. Eac time you submit your resume

More information

arxiv:1304.1679v2 [cs.cc] 10 Apr 2013

arxiv:1304.1679v2 [cs.cc] 10 Apr 2013 Intrinsic universality in tile self-assembly requires cooperation arxiv:1304.1679v2 [cs.cc] 10 Apr 2013 Pierre-Etienne Meunier Mattew J. Patitz cott M. ummers Guillaume eyssier Andrew Winslow Damien Woods

More information

ANALYTICAL REPORT ON THE 2010 URBAN EMPLOYMENT UNEMPLOYMENT SURVEY

ANALYTICAL REPORT ON THE 2010 URBAN EMPLOYMENT UNEMPLOYMENT SURVEY THE FEDERAL DEMOCRATIC REPUBLIC OF ETHIOPIA CENTRAL STATISTICAL AGENCY ANALYTICAL REPORT ON THE 2010 URBAN EMPLOYMENT UNEMPLOYMENT SURVEY Addis Ababa December 2010 STATISTICAL BULLETIN TABLE OF CONTENT

More information