CallForwarding: ASimpleInterproceduralOptimizationTechnique. fordynamicallytypedlanguages

Size: px
Start display at page:

Download "CallForwarding: ASimpleInterproceduralOptimizationTechnique. fordynamicallytypedlanguages"

Transcription

1 CallForwarding: ASimpleInterproceduralOptimizationTechnique fordynamicallytypedlanguages KoenDeBosschere;ySaumyaDebray;zDavidGudeman;zSampathKannanz ydepartmentofelectronics UniversiteitGent B-9000Gent,Belgium zdepartmentofcomputerscience TheUniversityofArizona Tucson,AZ85721,USA Abstract Thispaperdiscussescallforwarding,asimpleinterproceduraloptimizationtechniquefordynamicallytyped languages.thebasicideabehindtheoptimizationis straightforward:ndanorderingforthe\entryactions" ofaprocedure,andgeneratemultipleentrypointsfor theprocedure,soastomaximizethesavingsrealized fromdierentcallsitesbypassingdierentsetsofentryactions.weshowthattheproblemofcomputing optimalsolutionstoarbitrarycallforwardingproblems isnp-complete,anddescribeanecientgreedyalgorithmfortheproblem.experimentalresultsindicate that(i)thisalgorithmiseective,inthatthesolutions producedaregenerallyclosetooptimal;and(ii)the resultingoptimizationleadstosignicantperformance improvementsforanumberofbenchmarkstested. 1Introduction Thecodegeneratedforafunctionorprocedureina dynamicallytypedlanguagetypicallyhastocarryout varioustypeandrangechecksonitsargumentsbefore itcanoperateonthem.theseruntimetestscanincur asignicantperformanceoverhead.asaverysimple example,considerthefollowingfunctiontocomputethe averageofalistofnumbers: K.DeBosscherewassupportedbytheNationalFundforScienticResearchofBelgiumandbytheBelgianNationalIncentive ProgramforfundamentalresearchinArticialIntelligence.S. DebrayandD.GudemanweresupportedinpartbytheNational ScienceFoundationundergrantnumberCCR S.KannanwassupportedinpartbytheNationalScienceFoundation undergrantnumberccr Copyright1994ACM.AppearedintheProceedingsofthe21stAnnualACMSIGPLAN-SIGACT SymposiumonPrinciplesofProgrammingLanguages,January1994,pp.409{420. ave(l,sum,count)= ifnull(l)thensum/count elseave(tail(l),sum+head(l),count+1) Inastraightforwardimplementationofthisfunction, thecodegeneratedchecksthetypeofeachofitsargumentseachtimearoundtheloop:therstargument mustbea(emptyornon-empty)list,whilethesecond andthirdargumentsmustbenumbers.1notice,however,thatsomeofthistypecheckingisunnecessary:the expressionsum+head(l)evaluatescorrectlyonlyifsum isanumber,inwhichcaseitsvalueisalsoanumber; similarly,count+1evaluatescorrectlyonlyifcountis anumber,andinthatcaseitalsoevaluatestoanumber.thus,oncethetypesofsumandcounthavebeen checkedattheentrytotheloop,furthertypecheckson thesecondandthirdargumentsarenotnecessary. Thefunctioninthisexampleistailrecursive,making iteasytorecognizetheiterativenatureofitscomputationandusesomeformofinvariantcodemotionto movethetypecheckoutoftheloop.ingeneral,however,suchredundantactionsmaybeencounteredwhere thedenitionsarenottailrecursiveandwheretheloop structureisnotaseasytorecognize.analternativeapproach,whichworksingeneral,istogeneratemultiple entrypointsforthefunctionave,sothataparticular callsitecanenteratthe\appropriate"entrypoint,bypassinganycodeitdoesnotneedtoexecute.inthe exampleabove,thiswouldgiveexactlythedesiredresult:tailcalloptimizationwouldcompiletherecursive calltoaveintoajumpinstruction,andnoticingthat therecursivecalldoesnotneedtotestthetypesofits secondandthirdarguments,thetargetofthisjump 1Inreality,thegeneratedcodewoulddistinguishbetweenthe numerictypesintandfloat,e.g.,using\messagesplitting"techniquesasin[5,6] thedistinctionisnotimportanthere,andwe assumeasinglenumerictypeforsimplicityofexposition. 1

2 wouldbechosentobypassthesetests. However,noticethatintheexampleabove,evenif wegeneratemultipleentrypointsforave,theoptimizationworksonlyifthetestsaregeneratedintheright order:sinceitisnecessarytotestthetypeoftherst argumenteachtimearoundtheloop,thetestsonthe secondandthirdargumentscannotbebypassedifthe typetestontherstargumentprecedesthoseonthe othertwoarguments.asthisexampleillustrates,the orderinwhichthetestsaregeneratedinuencesthe amountofunnecessarycodethatcanbebypassedat runtime,andthereforetheperformanceoftheprogram. Ingeneral,functionsandproceduresindynamically typedlanguagescontainasetof(idempotent)\entry actions,"suchastypetests,initializationactions(especiallyforvariadicprocedures),etc.,thatareexecuted atentrytotheprocedure.moreover,theseactionscan typicallybecarriedoutinanyofanumberofdierent\legal"orders(ingeneral,notallorderingsofentry actionsmaybelegal,sincesomeactionsmaydepend ontheoutcomesofothers forexample,thetypeofan expressionhead(x)cannotbecheckeduntilxhasbeen veriedtobeoftypelist).thecodegeneratedfora procedurethereforeconsistsofasetofentryactionsin someorder,followedbycodeforitsbody.therearea numberofdierentcallsitesforeachprocedure,andat eachcallsitewehavesomeinformationabouttheactual parametersatthatcallsite,allowingthatcalltoskip someoftheseentryactions.moreover,eachcallsitehas adierentexecutionfrequency(estimated,forexample, fromproleinformationorfromthestructureofthe callgraph).ingeneral,dierentcallsiteshavedierent informationavailableabouttheiractualparameters,so thatanorderfortheentryactionsofaprocedurethat isgoodforonecallsite,intermsofthenumberofunnecessaryentryactionsthatcanbeskipped,maynotbe asgoodforanothercallsite.agoodcompilershould thereforeattempttondanorderingontheentryactionsthatmaximizesthebenets,overallcallsites,due tobypassingunnecessarycode.werefertodetermining suchanorderfortheentryactionsandthen\forwarding"thebranchinstructionsatdierentcallsitessoas tobypassunnecessarycodeas\callforwarding." Whilemanysystemscompilefunctionswithmultipleentrypoints,wedonotknowofanythatattempt toordertheentryactionscarefullyinordertoexploit thistothefullest.inthispaper,weaddresstheproblemofdetermininga\good"orderforthesetoftestsa functionorprocedurehastocarryout.weshowthat generatinganoptimalorderisnp-completeingeneral, andgiveanecientalgorithmforselectinganordering usingagreedyheuristic.theresultgeneralizesanumberofoptimizationsfortraditionalcompilers,suchas jumpchaincollapsingandinvariantcodemotionoutof loops.experimentalresultsindicatethat(i)theheuristicisgood,inthattheorderingsitgeneratesareusually notfarfromtheoptimal;and(ii)theresultingoptimizationiseective,inthesensethatittypicallyleadsto signicantspeedimprovements. Theissuesandoptimizationsdiscussedinthispaperareprimarilyattheintermediatecodelevel:for thisreason,wedonotmakemanyassumptionsabout thesourcelanguage,exceptthatacalltoaprocedure typicallyinvolvesexecutingasetofidempotent\entryactions."thiscoversawidevarietyofdynamicallytypedlanguages,e.g.,functionalprogramminglanguagessuchaslispandscheme(e.g.,see[15]),logic programminglanguagessuchasprolog[4],ghc[17] andjanus[11,13],imperativelanguagessuchassetl [14],andobject-orientedlanguagessuchasSmalltalk [10]andSELF[6].Theoptimizationwediscussis likelytobemostbenecialforlanguagesandprogramswhereprocedurecallsarecommon,andwhich arethereforeliabletobenetsignicantlyfromreducingthecostofprocedurecalls.however thetitleof thepapernotwithstanding theoptimizationisnotlimited,apriori,todynamicallytypedlanguages:itis alsoapplicable,inprinciple,toidempotententryactions,suchasinitializationandarrayboundchecks, instaticallytypedlanguages,andsomeoptimizations usedinstaticallytypedlanguages,suchasinverseetareduction/uncurrying/argumentatteninginstandard MLofNewJersey[1],canalsobethoughtofasinstances ofcallforwarding(seesection6). 2TheCallForwardingProblem Asdiscussedintheprevioussection,thecodegeneratedforaprocedureconsistsofasetofentryactions, whichcanbecarriedoutinanumberofdierentlegal orders,followedbythecodeforitsbody.eachprocedurehasanumberofcallsites,andateachcallsite thereissomeinformationabouttheactualparameters forcallsissuedfromthatsite,specifyingwhichentry actionsmustbeexecutedandwhichmaybeskipped.2 Thisismodelledbyassociating,witheachcallsite,a setofentryactionsthatmustbeexecutedbythatcall site.moreover,eachcallsitehasassociatedwithitan estimateofitsexecutionfrequency:suchestimatescan beobtainedfromproleinformation,orfromthestructureofthecallgraphoftheprogram(see,forexample, [3,19]).Finally,dierententryactionsmayrequirea dierentnumberofmachineinstructionstoexecute,and thereforehavedierent\sizes." Ourobjectiveistoordertheentryactionsofthe proceduresinaprogram,andredirectcallssoastoby- 2Theprecisemechanismbywhichthisinformationisobtained, e.g.,dataowanalysis,userdeclarations,etc.,isorthogonaltothe issuesdiscussedinthispaper,andsoisnotaddressedhere.

3 passunnecessaryactionswherepossible,insuchaway thatthetotalnumberofinstructionsthatareskipped, overtheentireexecutionoftheprogram,isaslargeas possible.however,itisnotdiculttoseethatforany procedurepinaprogram,thecodetosetupandexecuteprocedurecallsinthebodyofpisseparatefrom theentryactionsofp.becauseofthis,theorderof p'sentryactions andtherefore,thenumberofinstructionsthatareskippedbycallstopinanexecutionofthe program neitherinuencenorareinuencedbytheorderoftheentryactionsforanyotherprocedureinthe program.theproblemofmaximizingthetotalnumber ofinstructionsskippedbycallforwardingfortheentire program,then,reducestotheproblemofmaximizing, foreachprocedure,thenumberofinstructionsskipped bycallstothatprocedure.forourpurposes,therefore, thecallforwardingproblemistheproblemofdetermininga\good"orderfortheentryactionsofaprocedure sothatthesavingsaccruingfrombypassingunnecessaryentryactionsoverallcallsitesforthatprocedure, weightedbyexecutionfrequency,isaslargeaspossible. Theproblemcanbegeneralizedbyallowingcodeto becopiedfromaproceduretothecallsitesforthatprocedure.asanexample,supposewehaveaprocedure withentryactionsaandb,andtwocallsites:a,which canskipabutmustexecuteb;andb,whichcanskip bbutmustexecutea.supposetheentryactionsare generatedintheorderha;bi,thencallsiteacanskipa, butbcannotskipbandthereforeexecutesunnecessary code(asymmetricproblemarisesiftheotherpossible orderischosen).asolutionistocopytheentryactionaatthecallsiteb,i.e.,executetheentryaction atbbeforejumpingtothecallee.ifweallowarbitrarilymanyentryactionstobecopiedtocallsitesin thismanner,itistrivialtogenerateanoptimalsolution toanycallforwardingproblem:simplycopytoeach callsitetheentryactionsthatcallsitemustexecute, thenbranchintothecalleebypassingallentryactions atthecallee.thisobviouslyproducesanoptimalsolution,sinceeachcallsiteexecutesexactlythoseentry actionsthatitmustexecute,andcanbedoneeciently inpolynomialtime.however,ithastheproblemthat suchunrestrictedcopyingcanleadtosignicantcode bloat,sincetheremaybemanycallsitesforaprocedure,eachofthemgettingacopyofmostoftheentry actionsforthatprocedure(wehaveobservedthisphenomenoninanumberofapplicationprograms). Thebestsolutiontothisproblemistoimposea globalboundonthetotalnumberofentryactionsthat maybecopied,acrossallthecallsitesoccurringinaprogram,butthisturnsouttobecomplicatedtoimplement becausewhenperformingcallforwardingonanyparticularprocedure,wehavetokeeptrackofthenumberof entryactionscopiedforalltheproceduresintheprogram,includingthosethathavenotyetbeenprocessed bytheoptimizer!asimpleandeectiveapproximationtothisapproachistoassign,foreachprocedure, aboundonthenumberofentryactionsthatcanbe copiedtoeachcallsiteforthatprocedure.ifwestart withaglobalboundonthetotalnumberofentryactionsthatcanbecopied,suchper-procedureboundscan beobtainedby\dividingup"theglobalboundamong theprocedures(possiblytakingintoaccount,foreach procedure,thenumberofcallsitesforitandtheirexecutionfrequencies,sothatprocedureswithdeeplynested callsitescancopymoreentryactionsandtherebyeffectgreateroptimization).adiscussionofheuristics forestablishingsuchper-procedureboundsisbeyond thescopeofthisabstract:wesimplyassume,inthe discussionthatfollows,thatforeachprocedurethereis aboundonthenumberofitsentryactionsthatcanbe copiedtoanycallsite. Thecallforwardingproblemcanthereforebeformulatedintheabstractasfollows: Denition2.1Acallforwardingproblemisa5-tuple he;c;w;s;ki,where: {Eisaniteset(representingtheentryactionsof theprocedureconcerned); {CisamultisetofsubsetsofE(representingthe entryactionsthateachcallsitemustexecute); {w:c?!n,wherenisthesetofnaturalnumbers,isafunctionthatmapseachcallsitetoits \weight",i.e.,executionfrequency; {s:e?!nrepresentsthe\size"ofeachelementofe(representingthenumberofmachine instructionsneededtorealizethecorresponding entryaction);and {k0representsaboundonthenumberofentry actionsthatcanbecopiedtocallsites. AsolutiontoacallforwardingproblemhE;C;w;s;ki isapermutationofe,i.e.,a1-1function:e?! f1;:::;jejg.thecostofasolutionis,intuitively, thetotalnumberofmachineinstructionsexecuted,over allcallsites,giventhattheentryactionsaregeneratedintheorder.givenacallforwardingproblem he;c;w;s;ki,thecostofasolutionforitisdened asfollows.first,letcopied(c;;i)denote(theindices of)thoseentryactionsinthathavetobecopiedtoa callsiteciftheentrypointforcistobypassthersti elementsof: copied(c;;i)=fjjji^?1(j)2cg:

4 Here,?1(j)denotestheelementofEthatisthejth elementofthepermutation.foranycallsitec2c, giventheboundkonthenumberofactionsthatcanbe copiedtoc,themaximumnumberofentryactionsthat canbeskippedbyc eitherbecausecdoesnothaveto executethataction,orbecauseithasbeencopiedfrom thecalleetothecallsite isgivenby Skip(c;)=maxfi:jcopied(c;;i)jkg: Thecostofasolutioncanthenbeexpressedasthe weightedsum,overallcallsites,of(thesizesof)the instructionsthatcannotbeskippedbythecallsites: cost()= Pc2Cfw(c)s(I)jI2E^(I)> Skip(c;)g: 3AlgorithmicIssues Werstconsiderthecomplexityofdeterminingoptimal solutionstocallforwardingproblems.thefollowing resultshowsthattheexistenceofecientalgorithms forthisisunlikely: Theorem3.1ThedeterminationofanoptimalsolutiontoacallforwardingproblemisNP-complete.ItremainsNP-completeevenifallentryactionshaveequal size. ProofByreductionfromtheOptimalLinearArrangementproblem,whichisknowntobeNP-complete[8,9]. SeetheAppendixfordetails. Thisresultmightverywellbeofonlyacademicinterestifthenumberofentryactionsencounteredintypicalprogramscouldbeguaranteedtobesmall.However,ourexperiencehasbeenthatthisisnotthecase inmanyactualapplications.thereasonforthisisthat, evenifthenumberofargumentstoproceduresissmall formostprogramsencounteredinpractice,itisnot unusualtohaveanumberofentryactionsassociated withasingleargument(e.g.,seesection4),involving typeandrangechecks,patternmatchingandindexing code,pointerchaindereferencing(acommonoperation inlogicprogramminglanguages),andsoon.because ofthis,thetotalnumberofentryactionsinaprocedurecanbequitelarge,makingexhaustivesearchfor anoptimalsolutionimpractical.wethereforeseekecientpolynomialtimeheuristicsforcallforwardingthat producegoodsolutionsforcommoncases. 3.1AGreedyAlgorithm Whiletheproblemofcomputingoptimalsolutionsfor arbitrarycallforwardingproblemsisnp-completein general,agreedyalgorithmappearstoworkquitewell inpractice(seetable1).givenacallforwardingproblemforaprocedurewithaboundofkonthenumber ofactionsthatcanbecopiedfromthecalleetothecall sites,thegeneralideaistopickactionsoneatatime,at eachstepchoosinganactionthatminimizesthecostto bepaidatthatstep.thealgorithmmaintainsalistof callsitesthatdonotneedtoexecutemorethankofthe actionschosenuptothatpoint,andthereforecanstill havesomeactionscopiedtothem suchcallsitesare saidtobeactive.eachactivecallsitechasassociated withitacounter,denotedbycount[c]infigure1,that keepstrackofhowmanymoreactionscanbecopiedto thatcallsite.theweightofanaction,atanypointin thealgorithm,iscomputedasthesumoftheweightsof theactivecallsitesthatneedtoexecutethataction,dividedbythe\size"ofthataction(recallthatthesizeof anactionrepresentsthenumberofmachineinstructions neededtoimplementit) thus,everythingelsebeing equal,anactionthatismoreexpensiveintermsofthe numberofmachineinstructionsitrequireswillhavea smallerweightthanonewithsmallersize,andhencebe pickedearlier,therebyallowingmorecallsitestobypass it.sinceingeneraltheremaybedependenciesbetween instructionsthatrestrictthesetoflegalorderings(e.g., seetheexampleinsection4),thealgorithmrstconstructsadependencygraphwhosenodesaretheentry actionsunderconsideration,andwherethereisanedge fromanodee1toanodee2ife1mustprecedee2in anylegalexecution;thesetofpredecessorsofanodex inthisgraphisdenotedbypreds(x).thealgorithmis simple:itrepeatedlypicksan\available"action(i.e., anactionwhosepredecessorsinthedependencygraph Ghavealreadybeenpicked)ofleastweight,thenupdatesthecountersoftheappropriatecallsitesaswell asthelistofactivecallsites,deletingfromthislistany callsitethathasreacheditslimitofthenumberofactionsthatcanbecopiedfromthecallee.thisprocess continuesuntilallactionshavebeenenumerated.the algorithmisdescribedinfigure1. 4AnExample InthissectionweconsiderinmoredetailtheavefunctionfromSection1toseetheeectofcallforwarding onthecodegenerated.toillustratethefactthatthis optimizationisnotlimitedtocodefortypechecking, weconsiderherearealizationofthisfunctioninprolog. Asinotherlogicprogramminglanguages,unication betweenvariablesinprologcansetupchainsofpointers,andloadingthevalueofavariablerequiresdereferencingsuchchains.anumberofauthorshaveshown thatsignicantperformanceimprovementsarepossible ifthelengthsofthesepointerchainscanbepredictedvia compile-timeanalysis,sothatunnecessarydereferencingcodecanbedeleted[7,12,16];however,theanalyses involvedarefairlycomplex.hereweshowhow,inmany

5 cases,unnecessarydereferenceoperationscanbeeliminatedusingcallforwarding.theprocedureisdened asfollows: ave([],sum,count,avg):- AvgisSum/Count. ave([h L],Sum,Count,Avg):- Sum1isSum+H,Count1isCount+1, ave(l,sum1,count1,avg). Assumethat,asinmanymodernLispandPrologimplementations,parametersarepassedin(virtualmachine) registers,sothattherstparameterisinregisterarg1, thesecondparameterinregisterarg2,andsoon.figure 2(a)givestheintermediatecodethatmightbegeneratedinastraightforwardway.(Inreality,thegenerated codewoulddistinguishbetweenthenumerictypesint andfloat,e.g.,using\messagesplitting"techniquesas in[5,6] thedistinctionisnotimportanthere,andwe assumeasinglenumerictypeforsimplicityofexposition.)therstsixinstructionsofaveareentryactions thatcanbeexecutedinanyorderwherethedereferencingofaregisterprecedesitsuse.moreover,atthe (recursive)callsiteforave,weknowfromthesemanticsoftheaddinstructionthatarg1andarg2areboth numbers,andthatthereisnoneedforeitherdereferencingortypecheckingoftheseregisters.theentry actionscorrespondingtodereferencingandtypecheckingoftheseregisterscanthereforebebypassedbythe recursivecallsite.assumethatapartfromtherecursive call,thereisanothercallsite(the\initial"call)forthe procedureave.fornotationalbrevityinthediscussion thatfollows,denotetheinstructionsaboveasfollows: Arg1:=deref(Arg1) 7!a Arg2:=deref(Arg2) 7!b Arg3:=deref(Arg3) 7!c if:list(arg1)gotoerr7!d if:number(arg2)gotoerr7!e if:number(arg3)gotoerr7!f Finally,assumethatnocopyingofcodetocallsites isallowed.then,wecanformulatethisasacallforwardingproblemhe;c;w;s;kiasfollows: E=fa;b;c;d;e;fg; C=fc1;c2g,wherec1=fa;b;c;d;e;fgisthe initialcallsite,andc2=fa;dgistherecursive callsite; w=fc17!1;c27!10g,i.e.,weassumethatloops iterateabout10timesontheaverage; the\sizefunction"smapseachentryactionine to1(forsimplicity);and k=0,i.e.,nocopyingofcodetocallsitesisallowed. Initially,thesetofavailableactionsisfa;b;cg,andboth callsitesareactive,sotheweightscomputedforthese actionsare:a:11;b:1;c:1.therearetwoactions, bandc,thathavelowestweight,andoneofthem say,b ispickedbythealgorithm.asaresult,the callsitec1becomesinactive.thesetofavailableactionsatthispointisfa;c;eg,withweights10,0,0respectively.therearetwoactions,cande,withlowest weight,andoneofthem say,c ispicked.thealgorithmproceedsinthismanner,eventuallyproducingthe sequencehb;c;e;f;a;diasasolutiontothiscallforwardingproblem.inotherwords,callforwardingordersthe entryactionssothatthedereferencingandtypetests onarg2andarg3comerst,andcanbeskippedby therecursivecalltoave.theresultingcodeisshownin Figure2(b).Noticethatthecodefordereferencingand typecheckingthesecondandthirdargumentshaveeffectivelybeen\hoisted"outoftheloop.moreover,this hasbeenaccomplished,notbyrecognizinganddealing withloopsinsomespecialway,butsimplybyusing theinformationavailableatcallsites.itisapplicable, therefore,eventocomputationsthatarenotiterative (i.e.,tailrecursive),includingproceduresthatinvolve arbitrarylinear,nonlinear,andmutualrecursion. 5ExperimentalResults Weranexperimentsonanumberofsmallbenchmarks togauge(i)theecacyofgreedyalgorithm,i.e.,the qualityofitssolutionscomparedtotheoptimal;and(ii) theecacyoftheoptimization,i.e.,theperformance improvementsresultingfromit.thenumberspresented reecttheperformanceofjc[11],animplementationof alogicprogramminglanguagecalledjanus[13]ona Sparcstation-1.3Thissystemiscurrentlyavailableby anonymousftpfromcs.arizona.edu. Table1gives,foreachbenchmark,thenumberof machineinstructionsthatwouldbeexecutedoverall callsitesfortheentryactionsintheproceduresonly, using(i)nocallforwarding;(ii)callforwardingusing thegreedyalgorithm;and(iii)optimalcallforwarding. Theweightsforthecallsiteswereestimatedusingthe structureofthecallgraph:weassumedthatontheaverage,eachloopiteratesabout10times,andthebranches ofaconditionalaretakenwithequalfrequency.while theoptimizationswerecarriedoutattheintermediate codelevel,weusedcountsofthenumberofsparcassemblyinstructionsforeachintermediatecodeinstruction, togetherwiththeexecutionfrequenciesestimatedfrom thecallgraphstructure,toestimatetheruntimecost 3Ourimplementationusesavariantofcallforwardingwhere entryactionsarecopiedfromthecalleetothecallsitesaslong asthiswillallowalateractiontobeskipped.

6 ofthedierentsolutions.theresultsindicatethatthe greedyheuristichasuniformlygoodperformance:on thebenchmarks,itattainstheoptimalsolutionineach caseṫable2givestheimprovementsinspeedresulting fromouroptimizations,andservestoevaluatetheef- cacyofcallforwarding.thetimereportedforeach benchmark,inmilliseconds,isthetimetakentoexecutetheprogramonce.thistimewasobtainedby iteratingtheprogramlongenoughtoeliminatemosteffectsduetomultiprogrammingandclockgranularity, thendividingthetotaltimetakenbythenumberofiterations.theexperimentswererepeated20timesfor eachbenchmark,andtheaveragetimetakenineach case.callforwardingaccountsforimprovementsrangingfromabout12%toover45%.mostofthisimprovementcomesfromcodemotionoutofinnerloops:the vastmajorityoftypetestsetc.inaprocedureappearas entryactionsthatarebypassedinrecursivecallsdueto callforwarding,eectively\hoisting"suchtestsoutof innerloops.asaresult,muchoftheruntimeoverhead fromdynamictypecheckingisoptimizedaway. Table3putsthesenumbersinperspectivebycomparingtheperformanceofjctoQuintusandSicstus Prologs,twowidelyusedcommercialPrologsystems. OncomparingtheperformancenumbersfromTable2 forjcbeforeandafteroptimization,itcanbeseenthat theperformanceofjciscompetitivewiththesesystemsevenbeforetheapplicationoftheoptimizations discussedinthispaper.itiseasytotakeapoorlyengineeredsystemwithalotofinecienciesandgethuge performanceimprovementsbyeliminatingsomeofthese ineciencies.thepointofthistableisthatwhenevaluatingtheecacyofouroptimizations,wewerecareful tobeginwithasystemwithgoodperformance,soasto avoiddrawingoverlyoptimisticconclusions. Finally,Table4comparestheperformanceofour JanussystemwithCcodeforsomesmallbenchmarks.4 Again,thesewererunonaSparcstation1,withccas theccompiler.theprogramswerewritteninthestyle onewouldexpectofacompetentcprogrammer:no recursion(exceptintakandnrev ano(n2)\naive reverse"programforreversingalinkedlistofintegers whereitishardtoavoid),destructiveupdates,andthe useofarraysratherthanlinkedlists(exceptinnrev, whichbydenitiontraversesalist).thesourcecode forthesebenchmarksisgiveninappendixb.itcanbe seenthattheperformanceofjcisnotveryfarfromthat 4TheJanusversionofqsortusedinthistableisslightlydifferentfromthatofTable3:inthiscasethereareexplicitinteger typetestsintheprogramsource,tobeconsistentwithintdeclarationsinthecprogramandallowafaircomparisonbetween thetwoprograms.thepresenceofthesetestsprovidesadditionalinformationtothejccompilerandallowssomeadditional optimizations. ofc,attainingapproximatelythesameperformanceas unoptimizedccode,andbeingonlyaboutafactorof 2,ontheaverage,slowerthanCcodeoptimizedatlevel -O4.Onsomebenchmarks,suchasnrev,jcoutperformsunoptimizedCandisnotmuchslowerthanoptimizedC,eventhoughtheCprogramusesdestructiveassignmentanddoesnotallocatenewconscells, whilejanusisasingleassignmentlanguagewherethe programallocatesnewconscellsateachiteration its performancecanbeattributedatleastinparttothe benetsofcallforwarding. 6RelatedWork Theoptimizationsdescribedherecanbeseenasgeneralizingsomeoptimizationsfortraditionalimperative languages[2].inthespecialcaseofa(conditionalor unconditional)jumpwhosetargetisa(conditionalor unconditional)jumpinstruction,callforwardinggeneralizestheow-of-controloptimizationthatcollapses chainsofjumpinstructions.callforwardingisableto dealwithconditionaljumpstoconditionaljumps(this turnsouttobeanimportantsourceofperformanceimprovementinpractice),whiletraditionalcompilersfor imperativelanguagessuchascandfortrantypically dealonlywithjumpchainswherethereisatmostone conditionaljump(see,forexample,[2],p.556). Whenweconsidercallforwardingforthelastcall inarecursiveprocedure,whatwegetisessentiallya generalizationofcodemotionoutofloops,inthesense thatthecodethatisbypassedduetocallforwardingat aparticularcallsiteneednotbeinvariantwithrespect totheentireloop.thepointisbestillustratedbyan example:considerafunction f(x)=ifx=0then1 elseifp(x)thenf(g(x-1))/*1*/ elsef(h(x-1)) /*2*/ Assumethattheentryactionsforthisfunctioninclude atestthatitsargumentisaninteger,andsupposethat weknow,fromdataowanalysis,thatg()returnsaninteger,butdonotknowanythingaboutthereturntype ofh().fromtheconventionaldenitionofa\loop"in aowgraph(see,forexample,[2]),thereisoneloop intheowgraphofthisfunctionthatincludesboth thetailrecursivecallsitesforf().becauseofourlack ofknowledgeaboutthereturntypeofh(),wecannot claimthat\theargumenttof()isaninteger"isaninvariantfortheentireloop.however,usingcallforwarding,theintegertestintheportionofthelooparising fromcallsite1canbebypassed.eectively,thismoves somecodeoutof\partof"aloop.moreover,ouralgorithmimplementsinterproceduraloptimizationandcan dealwithbothdirectandmutualrecursion,aswellas non-tail-recursivecode,withouthavingtodoanything

7 special,whiletraditionalcodemotionalgorithmshandle onlytheintra-proceduralcase. Theideaofcompilingfunctionswithmultipleentry pointsisnotnew:manylispsystemsdothis,standardmlofnewjerseyandyalehaskellgeneratedual entrypointsforfunctions,andaquariusprologgeneratesmultipleentrypointsforprimitiveoperations[18]. However,wedonotknowofanysystemthatattempts toordertheentryactionscarefullyinordertomaximize thesavingsfrombypassingentryactions. Someoptimizationsusedinstaticallytypedlanguagescanalsobethoughtofintermsofcallforwarding. Forexample,StandardMLofNewJerseyusesacombinationofthreetransformations inverseeta-reduction, uncurrying,andargumentattening tooptimizefunctionswherealloftheknowncallsitespasstuplesofthe samesizeasarguments,butwherethefunctionmay \escape,"i.e.,notallofcallsitesareknownatcompiletime[1].theideaistohavetheknowncallsites passargumentsinregistersinsteadofconstructingand deconstructingtuplesontheheap,whilecallsitesthat areunknownatcompiletimeexecuteadditionalcode tocorrectlydeconstructthetuplestheypass.thisoptimizationcanbethoughtofintermsofcallforwarding asfollows:supposethateachknowncallsiteforafunctionconstructsandpassesann-tupleastheargument, whichisthendeconstructedwithnselectoperations atthecallee.wecancopythenselectoperations fromthecalleetoeachknowncallsite,andforwardthe callstoenterthecalleebypassingtheseoperations.at eachofthesecallsites,theconstructionoftheargumentn-tuplefollowedbynselectsonitcaneasilybe recognizedasinverseoperationsthatcanbeoptimized toavoidhavingtoactuallybuildtuplesontheheap. Thus,knowncallsitescanbeexecutedeciently,while callsitesthatarenotknownatcompiletimeenterat theoriginalentrypointandexecutetheselectoperationsintheexpectedway.indeed,thewholepointof inverseeta-reductionistogeneratetwoentrypointsfor afunctionsothatknowncallsitescanbypassunnecessarycode:callforwardingcanbeseenasawayof extendingthisideatogetmorethantwoentrypoints wherenecessary. ChambersandUngarconsidercompile-timeoptimizationtechniquestoreduceruntimetypechecking indynamicallytypedobject-orientedlanguages[5,6]. Theirapproachusestypeanalysistogeneratemultiple copiesofprogramfragments,inparticularloopbodies,whereeachcopyisspecializedtoaparticulartype andthereforecanomitsometypetests.someofthe eectsoftheoptimizationwediscuss,e.g.,\hoisting" typetestsoutofloops(seesection4),aresimilarto eectsachievedbytheoptimizationofchambersand Ungar.Ingeneral,however,itisessentiallyorthogonaltotheworkdescribedhere,inthatitisconcerned primarilywithtypeinferenceandcodespecialization ratherthanwithcodeordering.becauseofthis,the twooptimizationsarecomplementary:evenifthebody ofaprocedurehasbeenoptimizedusingthetechniques ofchambersandungar,itmaycontaintypetestsetc. attheentry,whicharecandidatesfortheoptimization wediscuss;conversely,the\messagesplitting"optimizationofchambersandungarcanenhancetheeectsof callforwardingconsiderably. 7Conclusions Thispaperdiscussescallforwarding,asimpleinterproceduraloptimizationtechniquefordynamicallytyped languages.thebasicideabehindtheoptimizationisextremelystraightforward:ndanorderingforthe\entry actions"ofaproceduresuchthatthesavingsrealized fromdierentcallsitesbypassingdierentsetsofentry actions,weightedbytheirestimatedexecutionfrequencies,isaslargeaspossible.itturnsout,however,tobe quiteeectiveforimprovingprogramperformance.we showthattheproblemofcomputingoptimalsolutions toarbitrarycallforwardingproblemsisnp-complete, anddescribeanecientheuristicfortheproblems.experimentalresultsindicatethatthesolutionsproduced aregenerallyoptimalorclosetooptimal,andleadto signicantperformanceimprovementsforanumberof benchmarkstested.avariantoftheseideashasbeen implementedinjc,alogicprogrammingsystemthatis availablebyanonymousftpfromcs.arizona.edu. References [1]A.Appel,CompilingwithContinuations,CambridgeUniversityPress,1992. [2]A.V.Aho,R.SethiandJ.D.Ullman,Compilers{ Principles,TechniquesandTools,Addison-Wesley, [3]T.BallandJ.Larus,\OptimallyProlingand TracingPrograms",Proc.19th.ACMSymp. onprinciplesofprogramminglanguages,albuquerque,nm,jan.1992,pp.59{70. [4]M.CarlssonandJ.Widen,SICStusPrologUser's Manual,SwedishInstituteofComputerScience, Oct [5]C.ChambersandD.Ungar,\IterativeType AnalysisandExtendedMessageSplitting:OptimizingDynamicallyTypedObject-OrientedPrograms",Proc.SIGPLAN'90ConferenceonProgrammingLanguageDesignandImplementation, WhitePlains,NY,June1990,pp.150{164.SIG- PLANNoticesvol.25no.6. [6]C.Chambers,D.UngarandE.Lee,\AnEcient ImplementationofSELF,ADynamicallyTyped

8 Object-OrientedLanguageBasedonPrototypes", Proc.OOPSLA'89,NewOrleans,LA,1989,pp. 49{70. [7]S.K.Debray,\ASimpleCodeImprovement SchemeforProlog",J.LogicProgramming,vol.13 no.1,may1992,pp [8]M.R.GareyandD.S.Johnson,Computersand Intractability:AGuidetotheTheoryofNP- Completeness,Freeman,NewYork,1979. [9]M.R.Garey,D.S.Johnson,andL.Stockmeyer, \SomeSimpliedNP-completeGraphProblems", TheoreticalComputerSciencevol.1,pp.237{267, [10]A.GoldbergandD.Robson,Smalltalk-80:The LanguageanditsImplementation,Addison-Wesley, [11]D.Gudeman,K.DeBosschere,andS.K.Debray, \jc:anecientandportableimplementation ofjanus",proc.jointinternationalconference andsymposiumonlogicprogramming,washingtondc,nov.1992.mitpress. [12]A.Marien,G.Janssens,A.Mulkers,andM. Bruynooghe,\TheImpactofAbstractInterpretation:AnExperimentinCodeGeneration",Proc. SixthInternationalConferenceonLogicProgramming,Lisbon,June1989,pp.33{47.MITPress. [13]V.Saraswat,K.Kahn,andJ.Levy,\Janus:A steptowardsdistributedconstraintprogramming", inproc.1990northamericanconferenceonlogic Programming,Austin,TX,Oct.1990,pp MITPress. [14]J.T.Schwartz,R.B.K.Dewar,E.Dubinsky,and E.Schonberg,ProgrammingwithSets:AnIntroductiontoSETL,Springer-Verlag,1986. [15]G.L.SteeleJr.,CommonLisp:TheLanguage, DigitalPress,1984. [16]A.Taylor,\RemovalofDereferencingandTrailing inprologcompilation",proc.sixthinternational ConferenceonLogicProgramming,Lisbon,June 1989,pp.48{60.MITPress. [17]K.Ueda,\GuardedHornClauses",inConcurrent Prolog:CollectedPapers,vol.1,ed.E.Shapiro,pp ,1987.MITPress. [18]P.VanRoy,CanLogicProgrammingExecuteas FastasImperativeProgramming?,PhDDissertation,UniversityofCalifornia,Berkeley,Nov [19]D.W.Wall,\PredictingProgramBehaviorUsing RealorEstimatedProles",Proc.SIGPLAN-91 Conf.onProgrammingLanguageDesignandImplementation,June1991,pp.59{70. AAppendix:ProofofNPCompleteness Thefollowingproblemisusefulindiscussingthecomplexityofoptimalcallforwarding: DenitionA.1TheOptimalLinearArrangement problem(ola)isdenedasfollows:givenagraph G=(V;E)andanintegerk,ndapermutation,f, fromtheverticesinvto1;:::;nsuchthatdeningthe lengthofedge(i;j)tobejf(i)?f(j)j,thetotallength ofalledgesislessthanorequaltok. ThefollowingresultisduetoGarey,Johnson,and Stockmeyer[8,9]: TheoremA.1TheOptimalLinearArrangementproblemisNP-complete. Thefollowingresultgivesthecomplexityofoptimalcall forwarding: Theorem3.1Thedeterminationofanoptimalsolution toacallforwardingproblemisnp-complete.itremains NP-completeevenifeveryentryactionhasequalsize. Proof:Werstformulateoptimalcallforwardingasa decisionproblem,asfollows:\givenacallforwarding problemiandanintegerk0,isthereasolutiontoi withcostnogreaterthank?"werefertothisproblem ascf.theproofisbyreductionfromoptimallineararrangementproblem,which,fromtheorema.1, isnp-complete.letg=(v;e);kbeaparticularinstanceofola.wemakethefollowingtransformation toaninstanceha;c;w;s;kiofcf,where: {Aisthesetofvertices1;:::;ninValongwith twodummyverticessandt; {TheelementsofCarealldoubletonsets: {correspondingtoeachedge(u;v)2e,there isanelementfu;vgincwithweight1: forterminologicalsimplicityinthediscussion thatfollows,werefertotheseelementsas normalsets; {letbethemaximumdegreeofanyvertex ing,thencorrespondingtoeachvertexi2g ofdegreedi,thereisanelementfi;sginc withweight12(?di)(someofthesesets

9 couldhavezeroweight,inwhichcasethey caneectivelyberemoved):werefertothese elementsasspecialsets; {nally,thereisanelementfs;tgincof weightm,wheremislargeenoughtoensure thatsandthavetobethelasttwoelements inanyoptimalorderingofthevertices(m canbechosentoben3orgreater):werefer tothiselementasaheavyset. {s(i)=1foreveryi2a. {k=0. WealsohavetodenethenumberKthatistobound thecostofthecallforwardingproblemsoconstructed. LetK=14n(n+5)+3M+k=2.Weclaimthatthe instanceofcfsodenedhasasolutionwithcostno greaterthankifandonlyifthegiveninstanceofola hasasolution. ConsideranyproposedorderofelementsinasolutiontotheinstanceofCFdenedabove.Thecostof thissolutioncanbedecomposedasfollows: Aswemarchalongthelistofelements,ateachpoint wecharge=2toeachoftheelementswehaveseenso farbutnottoeitherofthespecialelements.ifvertex i2gisencountered,thechargeof=2onvertexifrom thenoncanbethoughtofaspaying1/2towardseach ofthenormalsetsthatcontainiandpayingtheentire costofthespecialsetthatcontainsi.nowifbothelementsofanormalsethavebeenencountered,thetotal costofthesetwillfromthenonbepickedupbythese chargestothevertices.foranormalsetfi;jg,afteri hasbeenencounteredandbeforejhasbeenencountered theextrachargeof1/2ateachstagewillbechargedto theedge(i;j).breakingupthechargesasabove,one ndsthatforanyorderinwhichsandtnishlast,the chargetotheverticesisaconstantindependentofthe orderandisequalto14(n(n+5))andthechargefor theheavysetisxedat3m.theonlyvariableisthe chargetotheedgesandthischargewillbeexactlyhalf thetotallengthoftheedges,sinceanedgegetscharged onlyafteroneofitsendpointshasbeenencounteredand beforetheotherendpointhasbeenencountered,i.e.for the\duration"ofitslength. ThusthereisaYESanswertotheinstanceofCF createdifandonlyifthetotallengthofall\normal" edgesiskepttokorless,or,inotherwords,ifandonly iftheinstanceofolaisayes-instance.(notethat sincethecostofthespecialsetsisentirelypickedup bythevertices,thelengthsofthespecialedgesdonot matter.) BSourceCodeforSomeBenchmarks ThesourcecodeforthebenchmarksusedinthecomparisonbetweenjcandCisgivenbelow.Forspace reasons,onlythecodeforthemainfunctionsisgiven. nrev:c: typedefstructs{ inthead; structs*tail; }cons_node; cons_node*append(l1,l2) cons_node*l1,*l2; {cons_node*l3; if(l1==null)returnl2; else{ for(l3=l1;l3->tail!=null;l3=l3->tail) ; l3->tail=l2; returnl1; } }cons_node*nrev(l) cons_node*l; {cons_node*l1; if(l==null)returnnull; else{ l1=l->tail; l->tail=null;/*reclaimheadnode*/ returnappend(nrev(l1),l); } }Janus: nrev([],^[]). nrev([h L1],^R):- nrev(l1,^r1),app(r1,[h],^r). app([],l,^l). app([h L1],L2,^[H L3]):-app(L1,L2,^L3). binomial:c: /*fact()asinthefactorialbenchmark*/ intpow(x,i) intx,i; {intprod; for(prod=1;i>0;i--)prod*=x; returnprod; }intchoose(n,k) intn,k; {returnfact(n)/(fact(k)*fact(n-k)); }intbinomial(x,y,n)

10 intx,y; {inti,prod=0; for(i=0;i<=n;i++) prod+=choose(n,i)*pow(x,i)*pow(y,n-i); returnprod; }Janus: /*fact()asinthefactorialbenchmark*/ pow(x,n,^p):-int(x) pow(x,n,^p,1). pow(x,0,^p,a):-int(x),int(a) P=A. pow(x,n,^p,a):- int(x),int(n),int(a),n>0 pow(x,n-1,^p,x*a). choose(n,k,^c):-int(n),int(k) fact(n,^f1),fact(k,^f2),fact(n-k,^f3), C=F1//(F2*F3). binomial(x,y,n,^z):- int(x),int(y),int(n),n>=0 binomial(x,y,n,^z,n). binomial(_,_,_,^0,0). binomial(x,y,n,^z,k):- int(x),int(y),int(n),int(k),k>0 binomial(x,y,n,^z1,k-1), choose(n,k,^c), pow(x,k,^xp), pow(y,n-k,^yp), Z=Z1+C*Xp*Yp. dnf:c: dnf(in,r,w,b) intin[],r,w,b; {inttemp; while(r<=w){ if(in[w]==0){ temp=in[w];in[w]=in[r];in[r]=temp; R+=1; }elseif(in[w]==1) W-=1; elseif(in[w]==2){ temp=in[w];in[w]=in[b];in[b]=temp; B-=1;W-=1; } } }Janus: dnf(in,r,w,b,^out):- int(r),int(w),r>w Out=In. dnf(in,r,w,b,^out):- int(r),int(w),r=<w,in.w=red dnf(in[r->in.w,w->in.r],r+1,w,b,^out). dnf(in,r,w,b,^out):- int(r),int(w),r=<w,in.w=white dnf(in,r,w-1,b,^out). dnf(in,r,w,b,^out):- int(r),int(w),r=<w,in.w=blue dnf(in[b->in.w,w->in.b],r,w-1,b-1,^out). tak:c: inttak(x,y,z) intx,y,z; {if(x<=y)returnz; returntak(tak(x-1,y,z), tak(y-1,z,x), tak(z-1,x,y)); }Janus: tak(x,y,z,^a):- int(x),int(y),int(z),x>y tak(x-1,y,z,^a1), tak(y-1,z,x,^a2), tak(z-1,x,y,^a3), tak(a1,a2,a3,^a). tak(x,y,z,^a):- int(x),int(y),int(z),x=<y A=Z. factorial:c: intfact(n) intn; {intprod; for(prod=1;n>0;n--) prod*=n; returnprod; }Janus: fact(n,^x):- int(n),n>=0 fact(n,^x,1). fact(n,^f,a):- int(a),int(n),n>0 fact(n-1,^f,a*n). fact(0,^f,a):-int(a) F=A.

11 Output:AsolutiontoI,i.e.,apermutationofE. Input:AcallforwardingproblemI=hE;C;w;s;ki. Method: beginactivesites:=c; :=hi; foreachc2cdocount[c]:=kod Processed:=;; AvailInstrs:=therootnodesofG; whileavailinstrs6=;do constructthedependencygraphgforlegalexecutionorders; Processed:=Processed[fIg; od; I:=anelementofAvailInstrswiththeleastweightsocomputed; :=appenditotheendof; AvailInstrs:=(AvailInstrsnfIg)[fJ2Ejpreds(J)Processedg; foreachi2availinstrsdo foreachc2activesitess.t.i2cdo/*updatelistofactivesites*/ computetheweightofias(pfw(c)jc2activesitesandi2cg)=s(i); elsecount[c]:=count[c]?1; ifcount[c]=0then deletecfromactivesites; /*extendsolution*/ /*updatelistofavailableinstructions*/ endod; return; od Figure1:AGreedyAlgorithmforCallForwarding

12 ave:arg1:=deref(arg1) if:number(arg3)gotoerr Arg2:=deref(Arg2) t1:=head(arg1) ifarg1==nilgotol1 if:number(arg2)gotoerr Arg1:=tail(Arg1) Arg3:=deref(Arg3) if:list(arg1)gotoerr ave:arg2:=deref(arg2) t1:=deref(t1) L0:Arg1:=deref(Arg1) ifarg1==nilgotol1 t1:=head(arg1) if:number(arg3)gotoerr if:list(arg1)gotoerr Arg3:=deref(Arg3) Arg1:=tail(Arg1) if:number(arg2)gotoerr L1:t1:=div(Arg2,Arg3) if:number(t1)gotoerr Arg2:=add(Arg2,t1) Arg3:=add(Arg3,1) gotoave if:number(t1)gotoerr t1:=deref(t1) Arg2:=add(Arg2,t1) Arg3:=add(Arg3,1) Figure2:TheEectofCallForwardingonIntermediateCodefortheaveprocedure Arg4:=deref(Arg4) (a)beforecallforwarding assign(arg4,t1) L1:t1:=div(Arg2,Arg3) (b)aftercallforwarding gotol0 Arg4:=deref(Arg4) assign(arg4,t1)

13 Program hanoi tak nrev qsort nooptimization greedy optimal Table1:EcacyofthegreedyCallForwardingheuristic(inSparcassemblyinstructions) factorial merge Programw/oforwarding(ms)withforwarding(ms) dnf pi binomial %improvement hanoi tak Programjc(J)(ms)Sicstus(S)(ms)Quintus(Q)(ms)S/J nrev qsort merge hanoi dnf Table2:PerformanceImprovementduetoCallForwarding tak nrev qsort factorial Q/J 4.23 Program nrevtable3:theperformanceofjc,comparedwithsicstusandquintusprolog GeometricMean: binomialjc(j)(ms)c(unopt)(ms)c(opt:-o4)j/c-unoptj/c-opt dnf qsort tak factorial Table4:TheperformanceofjccomparedtoC GeometricMean:

Number of objects. 16 32 64 128 256 512 1k 2k 4k 8k 16k 32k 64k 128k256k512k 1m 2m 4m 8m

Number of objects. 16 32 64 128 256 512 1k 2k 4k 8k 16k 32k 64k 128k256k512k 1m 2m 4m 8m GarbageCollectionforLargeMemoryJava AndreasKrallandPhilippTomsich Applications InstitutfurComputersprachen,TechnischeUniversitatWien Argentinierstrae8,A{1040Wien,Austria tolarge,data-intensivescienticapplicationsallocatingmemoryinthe

More information

2Proofbymathematicalinductionplaysacrucialroleinthevericationofprogramtrans-

2Proofbymathematicalinductionplaysacrucialroleinthevericationofprogramtrans- SubmissiontoJ.FunctionalProgrammingSpecialIssueonTheoremProving&FunctionalProgramming AutomaticVericationofFunctionswith DepartmentofComputing&ElectricalEngineering, AccumulatingParameters UniversityofEdinburgh,80SouthBridge,

More information

Structured Representation Models. Structured Information Sources

Structured Representation Models. Structured Information Sources SchemalessRepresentationofSemistructured Dong-YalSeo1,Dong-HaLee1,Kang-SikMoon1,JisookChang1, DataandSchemaConstruction 1Dept.ofComputerScienceandEngineering PohangUniversityofScienceandTechnology Jeon-YoungLee1,andChang-YongHan2

More information

Center for Teacher Certification Austin Community College

Center for Teacher Certification Austin Community College TAKS Exit Exam 120 Problems to Success in Mathematics Tutors with Vision Project Center for Teacher Certification Austin Community College Abel L. Villarreal, mathematics teacher, learned long ago that

More information

NetworksofWorkstationswithBalanced SNOWBALL:ScalableStorageon RadekVingraleky YuriBreitbartz Load GerhardWeikumx performanceparallelanddistributedsystems.exploitingnetworksofwork- Abstract stationsformassivedatamanagementposesexcitingchallenges.wecon-

More information

NormalizingIncompleteDatabases

NormalizingIncompleteDatabases NormalizingIncompleteDatabases Abstract 600MountainAvenue,MurrayHill,NJ07974USA E-mail:libkin@research.att.com AT&TBellLaboratories LeonidLibkin Databasesareoftenincompletebecauseofthepresence ofdisjunctiveinformation,duetoconicts,partialknowledgeandotherreasons.queriesagainstsuchdatabaseswithnullvalues[akg91,il84],isdisjunctiveinforticsofsuchdatabasesandprovenormalizationtheorems

More information

threads threads threads

threads threads threads AHybridMultithreading/Message-PassingApproachforSolving IrregularProblemsonSMPClusters Jan-JanWu InstituteofInformationScience AcademiaSinica Taipei,Taiwan,R.O.C. Chia-LienChiang Nai-WeiLin Dept.ComputerScience

More information

5. Continuous Random Variables

5. Continuous Random Variables 5. Continuous Random Variables Continuous random variables can take any value in an interval. They are used to model physical characteristics such as time, length, position, etc. Examples (i) Let X be

More information

Tool 1. Greatest Common Factor (GCF)

Tool 1. Greatest Common Factor (GCF) Chapter 4: Factoring Review Tool 1 Greatest Common Factor (GCF) This is a very important tool. You must try to factor out the GCF first in every problem. Some problems do not have a GCF but many do. When

More information

SCHOOLOFCOMPUTERSTUDIES RESEARCHREPORTSERIES UniversityofLeeds Report95.4

SCHOOLOFCOMPUTERSTUDIES RESEARCHREPORTSERIES UniversityofLeeds Report95.4 SCHOOLOFCOMPUTERSTUDIES RESEARCHREPORTSERIES UniversityofLeeds Report95.4 AcquisitionsandApplications Generic3-DShapeModel: DivisionofArticialIntelligence XShen&DCHogg by February1995 sequencesandrepresentedbythecontrolpointsofab-splinesurface.the

More information

CS711008Z Algorithm Design and Analysis

CS711008Z Algorithm Design and Analysis CS711008Z Algorithm Design and Analysis Lecture 7 Binary heap, binomial heap, and Fibonacci heap 1 Dongbo Bu Institute of Computing Technology Chinese Academy of Sciences, Beijing, China 1 The slides were

More information

However,duetoboththescaleandthecomplexityoftheInternet,itisunlikelythatameasure-

However,duetoboththescaleandthecomplexityoftheInternet,itisunlikelythatameasure- Part1:AServer-BasedMeasurementInfrastructure NetworkPerformanceMeasurementandAnalysis Y.ThomasHou (ConceptPaper) AsInternettraccontinuestogrowexponentially,itisessentialforboththeusersandserviceproviders

More information

IPD Danish Annual Property Index 2013

IPD Danish Annual Property Index 2013 IPD Danish Annual Property Index 2013 Håvard Bjorå, Vice President, IPD 2013 Investment Property Databank Ltd. All rights reserved. ipd.com 1 Agenda IPD Denmark Annual Property Index 2013 Size, segments

More information

SAP Predictive Analysis Overview & demo SAPSA 2014. yann chagourin y.chagourin@accenture.com

SAP Predictive Analysis Overview & demo SAPSA 2014. yann chagourin y.chagourin@accenture.com SAP Predictive Analysis Overview & demo SAPSA 2014 yann chagourin y.chagourin@accenture.com Content Predictive analytics: what is it? SAP Predictive Analysis: solution overview Demo: customer churn prediction

More information

TypesAnimationovertheInternet ConcurrentAlgorithmsandData GiuseppeF.Italianoy GiuseppeCattaneo UmbertoFerraro VittorioScarano AlgorithmsanddataTypesAnimationovertheInternet).Amongthefeaturesofthis systemarealoweortrequiredforanimatingalgorithmiccode,andthepossibilityof

More information

The Tower of Hanoi. Recursion Solution. Recursive Function. Time Complexity. Recursive Thinking. Why Recursion? n! = n* (n-1)!

The Tower of Hanoi. Recursion Solution. Recursive Function. Time Complexity. Recursive Thinking. Why Recursion? n! = n* (n-1)! The Tower of Hanoi Recursion Solution recursion recursion recursion Recursive Thinking: ignore everything but the bottom disk. 1 2 Recursive Function Time Complexity Hanoi (n, src, dest, temp): If (n >

More information

2015 2016 Training. 2015 Assessments. 2016 Assessments NAEP Assessments (selected sample)

2015 2016 Training. 2015 Assessments. 2016 Assessments NAEP Assessments (selected sample) Jan 11 (Mon) ESC training for the 2016 state assessment program Jan 29 (Fri) Completion date for training of district testing coordinators by ESCs Test Date(s) TAKS Oct 19 (Mon) Oct 20 (Tues) Oct 21 (Wed)

More information

2015 2016 STUDENT ASSESSMENT TESTING CALENDAR

2015 2016 STUDENT ASSESSMENT TESTING CALENDAR Jan (date TBD) ESC training for the 2016 state assessment program Jan (date TBD) Completion date for training of district testing coordinators by ESCs Test Date(s) TAKS Oct 19 (Mon) Oct 20 (Tues) Oct 21

More information

Facts and Myths About image Patterns

Facts and Myths About image Patterns CAR-TR-968 CS-TR-4251 CorneliaFermuller1,HenrikMalm2andYiannisAloimonos1 StatisticsExplainsGeometricalOpticalIllusions 1CenterforAutomationResearchIIS-00-8-1365 CollegePark,MD20742-3275 UniversityofMaryland

More information

LocalErrorRecoveryinSRM: ComparisonofTwoApproaches. Ching-GungLiu,DeborahEstrin,ScottShenkerandLixiaZhang

LocalErrorRecoveryinSRM: ComparisonofTwoApproaches. Ching-GungLiu,DeborahEstrin,ScottShenkerandLixiaZhang LocalErrorRecoveryinSRM: ComparisonofTwoApproaches Ching-GungLiu,DeborahEstrin,ScottShenkerandLixiaZhang AbstractSRMisaframeworkforreliablemulticastdelivery.Inordertomaximizethecollaborationamongthe groupmembersinerrorrecovery,bothretransmissionrequestsandrepliesaremulticasttotheentiregroup.while

More information

TechnicalReportRSTR-018-97-01 GaryMcGraw,ChristophMichaelandMichaelSchatz GeneratingSoftwareTestDataby Evolution RSTCorporation Suite#250,21515RidgetopCircle Sterling,VA20166 February9,1998 datageneration.thisresearchextendspreviousworkondynamictestdatageneration

More information

Case Study. File Transfer Issues Faced by an Engineering Company

Case Study. File Transfer Issues Faced by an Engineering Company Case Study File Transfer Issues Faced by an Engineering Company Abstract This case study shows how an engineering company changed their long-running file transfer system because of security issues; and

More information

Human Resources BW Security Model

Human Resources BW Security Model Human Resources BW Security Model The Human Resources security for BW is based upon the security role assigned to the user, the report and, in some cases, the characteristics displayed in the report. User

More information

FACTORY NEW CALOBRI FORGED IN STOCK

FACTORY NEW CALOBRI FORGED IN STOCK FACTORY NEW CALOBRI FORGED IN STOCK MADE IN ITALY SAME DAY SHIPPING A105 # 5 1500# SE 10 1/2" CALOBRI S15N 1500# BB THD GATE VALVE, A105, API TRIM 5 (FHF) 25 3/4" CALOBRI S15N 1500# BB THD GATE VALVE,

More information

The Lincoln National Life Insurance Company Variable Life Portfolio

The Lincoln National Life Insurance Company Variable Life Portfolio The Lincoln National Life Insurance Company Variable Life Portfolio State Availability as of 12/14/2015 PRODUCTS AL AK AZ AR CA CO CT DE DC FL GA GU HI ID IL IN IA KS KY LA ME MP MD MA MI MN MS MO MT NE

More information

SCHOOLOFCOMPUTERSTUDIES RESEARCHREPORTSERIES UniversityofLeeds Report95.23. AutomaticDetectionofKeySignature usingnotedistribution

SCHOOLOFCOMPUTERSTUDIES RESEARCHREPORTSERIES UniversityofLeeds Report95.23. AutomaticDetectionofKeySignature usingnotedistribution SCHOOLOFCOMPUTERSTUDIES RESEARCHREPORTSERIES UniversityofLeeds Report95.23 AutomaticDetectionofKeySignature usingnotedistribution DivisionofArticialIntelligence,SchoolofComputerStudies K.C.Ng,R.D.Boyle&D.Coopery

More information

Shelf Life. Shelving in Perforce Sven Erik Knop, Perforce Software

Shelf Life. Shelving in Perforce Sven Erik Knop, Perforce Software Shelf Life Shelving in Perforce Sven Erik Knop, Perforce Software What s in store? What is shelving? How does it work? Keeping track of shelves Use cases Backup of modified files Swap out current changes

More information

Normal distribution. ) 2 /2σ. 2π σ

Normal distribution. ) 2 /2σ. 2π σ Normal distribution The normal distribution is the most widely known and used of all distributions. Because the normal distribution approximates many natural phenomena so well, it has developed into a

More information

Semantic Description of Distributed Business Processes

Semantic Description of Distributed Business Processes Semantic Description of Distributed Business Processes Authors: S. Agarwal, S. Rudolph, A. Abecker Presenter: Veli Bicer FZI Forschungszentrum Informatik, Karlsruhe Outline Motivation Formalism for Modeling

More information

October 15, 2014 George Hammer 209 Harrogate pi Longwood,FJ32779

October 15, 2014 George Hammer 209 Harrogate pi Longwood,FJ32779 October 15, 214 George Hammer 29 Harrogate pi Longwood,FJ32779 RE: Docket 146-WS SanlandoUtilities Corp (""') n3: -~ (""') -f 13: _, rn- ;::;:;(.{) ::t:~ C> :z: :J> :X 'P. &" "\.: rn!ll < rn ll u (J) (

More information

!!! 2014!!2015!NONPROFIT!SALARY!&!STAFFING!REPORT! NEW$YORK$CITY$AREA$ $ $ $ $ $ $

!!! 2014!!2015!NONPROFIT!SALARY!&!STAFFING!REPORT! NEW$YORK$CITY$AREA$ $ $ $ $ $ $ 2014 2015NONPROFITSALARY&STAFFINGREPORT NEWYORKCITYAREA 2014NONPROFITSURVEYFINDINGS&2015TRENDS EXECUTIVESUMMARY Thisyear ssalarysurvey201422015confirmsgrowth andchallengesinthesectorduring2014andthestrong

More information

When factoring, we look for greatest common factor of each term and reverse the distributive property and take out the GCF.

When factoring, we look for greatest common factor of each term and reverse the distributive property and take out the GCF. Factoring: reversing the distributive property. The distributive property allows us to do the following: When factoring, we look for greatest common factor of each term and reverse the distributive property

More information

1 Sufficient statistics

1 Sufficient statistics 1 Sufficient statistics A statistic is a function T = rx 1, X 2,, X n of the random sample X 1, X 2,, X n. Examples are X n = 1 n s 2 = = X i, 1 n 1 the sample mean X i X n 2, the sample variance T 1 =

More information

Section 5.1 Continuous Random Variables: Introduction

Section 5.1 Continuous Random Variables: Introduction Section 5. Continuous Random Variables: Introduction Not all random variables are discrete. For example:. Waiting times for anything (train, arrival of customer, production of mrna molecule from gene,

More information

MATH 4552 Cubic equations and Cardano s formulae

MATH 4552 Cubic equations and Cardano s formulae MATH 455 Cubic equations and Cardano s formulae Consider a cubic equation with the unknown z and fixed complex coefficients a, b, c, d (where a 0): (1) az 3 + bz + cz + d = 0. To solve (1), it is convenient

More information

State Survey Results MULTI-LEVEL LICENSURE TITLE PROTECTION

State Survey Results MULTI-LEVEL LICENSURE TITLE PROTECTION MULTI-LEVEL LICENSURE TITLE PROTECTION Prior AK MN TN MO AL MO KY VA AZ MS MO DC NYC NE HI ME OR IA RI PA IL TX VA KS WA LA WI MA WV Prior AK ME OR TN AL MI PA HI CO MS FL DC NC MN IA NE UT IL NV WA IN

More information

Preapproval Inspections for Manufacturing. Christy Foreman Deputy Director Division of Enforcement B Office of Compliance/CDRH

Preapproval Inspections for Manufacturing. Christy Foreman Deputy Director Division of Enforcement B Office of Compliance/CDRH Preapproval Inspections for Manufacturing Christy Foreman Deputy Director Division of Enforcement B Office of Compliance/CDRH Major Steps Review of the Quality System information Inspection requests generated

More information

Chapter R.4 Factoring Polynomials

Chapter R.4 Factoring Polynomials Chapter R.4 Factoring Polynomials Introduction to Factoring To factor an expression means to write the expression as a product of two or more factors. Sample Problem: Factor each expression. a. 15 b. x

More information

Functions Recursion. C++ functions. Declare/prototype. Define. Call. int myfunction (int ); int myfunction (int x){ int y = x*x; return y; }

Functions Recursion. C++ functions. Declare/prototype. Define. Call. int myfunction (int ); int myfunction (int x){ int y = x*x; return y; } Functions Recursion C++ functions Declare/prototype int myfunction (int ); Define int myfunction (int x){ int y = x*x; return y; Call int a; a = myfunction (7); function call flow types type of function

More information

GCF/ Factor by Grouping (Student notes)

GCF/ Factor by Grouping (Student notes) GCF/ Factor by Grouping (Student notes) Factoring is to write an expression as a product of factors. For example, we can write 10 as (5)(2), where 5 and 2 are called factors of 10. We can also do this

More information

State Annual Report Due Dates for Business Entities page 1 of 10

State Annual Report Due Dates for Business Entities page 1 of 10 State Annual Report Due Dates for Business Entities page 1 of 10 If you form a formal business entity with the state, you may be required to file periodic reports on the status of your entity to preserve

More information

2014 Retiree Insurance Rates

2014 Retiree Insurance Rates 2014 Retiree Insurance Rates Flight Attendant Traditional Plans Pre Medicare Retiree Traditional PPO Medical Plan (Retirees after June 30, 2003) 2014 Retiree Contributions 1 Adult 2 Adults 1 Adult + Child(ren)

More information

PERCEPTIONS OF GLOBAL BUYERS: THE ASIAN WOOD FURNITURE EXAMPLE. ILO Presentation to Handicraft Exporters / Producers (July 2003)

PERCEPTIONS OF GLOBAL BUYERS: THE ASIAN WOOD FURNITURE EXAMPLE. ILO Presentation to Handicraft Exporters / Producers (July 2003) PERCEPTIONS OF GLOBAL BUYERS: THE ASIAN WOOD FURNITURE EXAMPLE ILO Presentation to Handicraft Exporters / Producers (July 23) Objectives: WHY global buyers perceptions matter Vietnamese wood furniture

More information

Statistics Class 10 2/29/2012

Statistics Class 10 2/29/2012 Statistics Class 10 2/29/2012 Quiz 8 When playing roulette at the Bellagio casino in Las Vegas, a gambler is trying to decide whether to bet $5 on the number 13 or to bet $5 that the outcome is any one

More information

10CS35: Data Structures Using C

10CS35: Data Structures Using C CS35: Data Structures Using C QUESTION BANK REVIEW OF STRUCTURES AND POINTERS, INTRODUCTION TO SPECIAL FEATURES OF C OBJECTIVE: Learn : Usage of structures, unions - a conventional tool for handling a

More information

Introduction to Hypothesis Testing

Introduction to Hypothesis Testing I. Terms, Concepts. Introduction to Hypothesis Testing A. In general, we do not know the true value of population parameters - they must be estimated. However, we do have hypotheses about what the true

More information

F CUS your recruitment dollars on top scientists and engineers.

F CUS your recruitment dollars on top scientists and engineers. F CUS your recruitment dollars on top scientists and engineers. PHYSICS TODAY Recruitment Products and Rates 2016 WHY PHYSICISTS? Physicists, as well as scientists and engineers with training in first

More information

Factoring Trinomials of the Form

Factoring Trinomials of the Form Section 4 6B: Factoring Trinomials of the Form A x 2 + Bx + C where A > 1 by The AC and Factor By Grouping Method Easy Trinomials: 1 x 2 + Bx + C The last section covered the topic of factoring second

More information

MESSAGE TO TEACHERS: NOTE TO EDUCATORS:

MESSAGE TO TEACHERS: NOTE TO EDUCATORS: MESSAGE TO TEACHERS: NOTE TO EDUCATORS: Attached herewith, please find suggested lesson plans for term 1 of MATHEMATICS Grade 11 Please note that these lesson plans are to be used only as a guide and teachers

More information

What is missing in campaign management today? Shaun Doyle VP Intelligent Marketing Solutions, SAS

What is missing in campaign management today? Shaun Doyle VP Intelligent Marketing Solutions, SAS What is missing in campaign management today? Shaun Doyle VP Intelligent Marketing Solutions, SAS Content What is campaign management? How has the technology evolved? Where are we today? What is missing?

More information

CSCI 123 INTRODUCTION TO PROGRAMMING CONCEPTS IN C++

CSCI 123 INTRODUCTION TO PROGRAMMING CONCEPTS IN C++ Brad Rippe CSCI 123 INTRODUCTION TO PROGRAMMING CONCEPTS IN C++ Recursion Recursion CHAPTER 14 Overview 14.1 Recursive Functions for Tasks 14.2 Recursive Functions for Values 14.3 Thinking Recursively

More information

3.5 RECURSIVE ALGORITHMS

3.5 RECURSIVE ALGORITHMS Section 3.5 Recursive Algorithms 3.5.1 3.5 RECURSIVE ALGORITHMS review : An algorithm is a computational representation of a function. Remark: Although it is often easier to write a correct recursive algorithm

More information

Factoring a Difference of Two Squares. Factoring a Difference of Two Squares

Factoring a Difference of Two Squares. Factoring a Difference of Two Squares 284 (6 8) Chapter 6 Factoring 87. Tomato soup. The amount of metal S (in square inches) that it takes to make a can for tomato soup is a function of the radius r and height h: S 2 r 2 2 rh a) Rewrite this

More information

Frequentist vs. Bayesian Statistics

Frequentist vs. Bayesian Statistics Bayes Theorem Frequentist vs. Bayesian Statistics Common situation in science: We have some data and we want to know the true hysical law describing it. We want to come u with a model that fits the data.

More information

CINCINNATI HILLS CHRISTIAN ACADEMY COLLEGE QUESTIONNAIRE FOR STUDENTS

CINCINNATI HILLS CHRISTIAN ACADEMY COLLEGE QUESTIONNAIRE FOR STUDENTS CINCINNATI HILLS CHRISTIAN ACADEMY COLLEGE QUESTIONNAIRE FOR STUDENTS Complete & bring with you to your Junior College Planning Meeting. NAME: ADDRESS: EMAIL: BIRTHDATE: PHONE #: DATE: PLEASE READ BEFORE

More information

Normal Distribution as an Approximation to the Binomial Distribution

Normal Distribution as an Approximation to the Binomial Distribution Chapter 1 Student Lecture Notes 1-1 Normal Distribution as an Approximation to the Binomial Distribution : Goals ONE TWO THREE 2 Review Binomial Probability Distribution applies to a discrete random variable

More information

LAYMAN S GUIDE TO USING SSIM

LAYMAN S GUIDE TO USING SSIM LAYMAN S GUIDE TO USING SSIM 1. Introduction This guide has been compiled to give the first-time user a broad outline on how to compose a slot clearance message for any of the airports, for which Airport

More information

Lead time reduction in a global manufacturing environment or The Volvo Journey

Lead time reduction in a global manufacturing environment or The Volvo Journey Lead time reduction in a global manufacturing environment or The Volvo Journey Anders Carlsson Volvo Cars Group Lead time reduction in a global manufacturing environment, Anders Carlsson, Volvo Cars Group

More information

Lecture 11. Sergei Fedotov. 20912 - Introduction to Financial Mathematics. Sergei Fedotov (University of Manchester) 20912 2010 1 / 7

Lecture 11. Sergei Fedotov. 20912 - Introduction to Financial Mathematics. Sergei Fedotov (University of Manchester) 20912 2010 1 / 7 Lecture 11 Sergei Fedotov 20912 - Introduction to Financial Mathematics Sergei Fedotov (University of Manchester) 20912 2010 1 / 7 Lecture 11 1 American Put Option Pricing on Binomial Tree 2 Replicating

More information

National Automotive Service Task Force

National Automotive Service Task Force National Automotive Service Task Force Mission - The National Automotive Service Task Force will facilitate the identification and correction of gaps in the availability and accessibility of automotive

More information

How To Rate Plan On A Credit Card With A Credit Union

How To Rate Plan On A Credit Card With A Credit Union Rate History Contact: 1 (800) 331-1538 Form * ** Date Date Name 1 NH94 I D 9/14/1998 N/A N/A N/A 35.00% 20.00% 1/25/2006 3/27/2006 8/20/2006 2 LTC94P I F 9/14/1998 N/A N/A N/A 35.00% 20.00% 1/25/2006 3/27/2006

More information

Discovery FAQs. 1. What is Discovery?

Discovery FAQs. 1. What is Discovery? P a g e 1 Beginning July 1, 2014 the Office of Developmental Disability Services (ODDS) initiated a new service called Discovery. This FAQ is designed to answer some of the recent questions and provide

More information

TheIMSCorpusWorkbench CorpusAdministrator'sManual InstitutfurmaschinelleSprachverarbeitung UniversitatStuttgart OliverChrist oli@ims.uni-stuttgart.de {Computerlinguistik{ D70174Stuttgart1 Azenbergstr.12

More information

STATISTICA Formula Guide: Logistic Regression. Table of Contents

STATISTICA Formula Guide: Logistic Regression. Table of Contents : Table of Contents... 1 Overview of Model... 1 Dispersion... 2 Parameterization... 3 Sigma-Restricted Model... 3 Overparameterized Model... 4 Reference Coding... 4 Model Summary (Summary Tab)... 5 Summary

More information

Payroll Tax Chart Results

Payroll Tax Chart Results Payroll Tax Chart Results Terminated Employee -- Involuntary Terminated Employee -- Vacation Pay Terminated Employee -- Voluntary Taxing Authority Federal Payment Date for Involuntary Termination No provision

More information

Tenth Problem Assignment

Tenth Problem Assignment EECS 40 Due on April 6, 007 PROBLEM (8 points) Dave is taking a multiple-choice exam. You may assume that the number of questions is infinite. Simultaneously, but independently, his conscious and subconscious

More information

Moving TIM from Good to Great?

Moving TIM from Good to Great? FHWA Update: Traffic Incident Management Program Moving TIM from Good to Great? Iowa Traffic Safety Forum November 19, 2014 Mr. Jeff King (Retired Capt. AzDPS) Traffic Incident Management Public Safety

More information

HMM Based Enhanced Security System for ATM Payment [AICTE RPS sanctioned grant project, Affiliated to University of Pune, SKNCOE, Pune]

HMM Based Enhanced Security System for ATM Payment [AICTE RPS sanctioned grant project, Affiliated to University of Pune, SKNCOE, Pune] HMM Based Enhanced Security System for ATM Payment [AICTE RPS sanctioned grant project, Affiliated to University of Pune, SKNCOE, Pune] Vivek V. Jog 1, Sonal S.Dhamak 3 Vikalpa B. Landge 5, Aaradhana A.

More information

A Better Solution. Multidimensional Services. Seamless Results.

A Better Solution. Multidimensional Services. Seamless Results. John W. Harris WILLIAM C. DUVALL A Better Solution At Lincoln Harris, we are dedicated to providing our clients with superior real estate solutions. It is the reason we opened our doors decades ago, and

More information

Business Intelligence. BI Security. BI Environment. Business Explorer (BEx) BI Environment Overview. Ad Hoc Query Considerations

Business Intelligence. BI Security. BI Environment. Business Explorer (BEx) BI Environment Overview. Ad Hoc Query Considerations SAP Business Intelligence Reporting BI Environment Washington State HRMS Business Intelligence (BI) BI Power User Workshop Materials General Topics BI Power User The following section provides an overview

More information

Qlik connector for SAP NetWeaver

Qlik connector for SAP NetWeaver Qlik connector for SAP NetWeaver Increasing the value of SAP with quick and flexible data discovery Organizations spend millions of dollars automating their business processes. But unfortunately, many

More information

Time to fill jobs in the US January 2015. 30day. The. tipping point

Time to fill jobs in the US January 2015. 30day. The. tipping point Time to fill jobs in the US January 2015 The 30day tipping point Time to fill jobs in the US Key Findings For businesses that fail to fill job openings within the first month, there is a 57% chance that

More information

1.- L a m e j o r o p c ió n e s c l o na r e l d i s co ( s e e x p li c a r á d es p u é s ).

1.- L a m e j o r o p c ió n e s c l o na r e l d i s co ( s e e x p li c a r á d es p u é s ). PROCEDIMIENTO DE RECUPERACION Y COPIAS DE SEGURIDAD DEL CORTAFUEGOS LINUX P ar a p od e r re c u p e ra r nu e s t r o c o rt a f u e go s an t e un d es a s t r e ( r ot u r a d e l di s c o o d e l a

More information

Lecture 9: Bayesian hypothesis testing

Lecture 9: Bayesian hypothesis testing Lecture 9: Bayesian hypothesis testing 5 November 27 In this lecture we ll learn about Bayesian hypothesis testing. 1 Introduction to Bayesian hypothesis testing Before we go into the details of Bayesian

More information

HOSE, TUBE, AND PIPE CLAMPS

HOSE, TUBE, AND PIPE CLAMPS hose, tube & clamp B/W pages 24/6/08 9:28 AM Page 2 HOSE, TUBE, AND PIPE CLAMPS TABLE OF CONTENTS Introduction 3 Construction 3 Application 3 Mounting 3 Standard Duty Clamps (HRL) Arrangements 4 Dimensions

More information

EMPIRICAL FREQUENCY DISTRIBUTION

EMPIRICAL FREQUENCY DISTRIBUTION INTRODUCTION TO MEDICAL STATISTICS: Mirjana Kujundžić Tiljak EMPIRICAL FREQUENCY DISTRIBUTION observed data DISTRIBUTION - described by mathematical models 2 1 when some empirical distribution approximates

More information

Server Load Prediction

Server Load Prediction Server Load Prediction Suthee Chaidaroon (unsuthee@stanford.edu) Joon Yeong Kim (kim64@stanford.edu) Jonghan Seo (jonghan@stanford.edu) Abstract Estimating server load average is one of the methods that

More information

The mathematical branch of probability has its

The mathematical branch of probability has its ACTIVITIES for students Matthew A. Carlton and Mary V. Mortlock Teaching Probability and Statistics through Game Shows The mathematical branch of probability has its origins in games and gambling. And

More information

maximo 7 integration guide

maximo 7 integration guide maximo 7 integration guide maximo 7 integration guide template can be a document which induces the manual creator of all the required information for a instructions. MAXIMO 7 INTEGRATION GUIDE A factory

More information

TAX PREP FEE PHILOSOPHY. Copyright 2013 Drake Software

TAX PREP FEE PHILOSOPHY. Copyright 2013 Drake Software TAX PREP FEE PHILOSOPHY Copyright 2013 Drake Software Table of Contents Tax Prep Fee Survey Introduction... 2 Profile of Respondents... 3 Tax Prep Fee Averages - Federal Forms... 4 1040 Prep Fee Averages

More information

HIGHER EDUCATION COMMISSION H-9, Islamabad (Pakistan)

HIGHER EDUCATION COMMISSION H-9, Islamabad (Pakistan) HIGHER EDUCATION COMMISSION H-9, Islamabad (Pakistan) For HEC use only Proposal Identification Number UNIVERSITY INDUSTRY TECHNOLOGY SUPPORT PROGRAM TECHNOLOGY GRANT PROPOSAL COVER SHEET FOR PROPOSAL A.

More information

SAP Cloud for Sales Integration to SAP ERP 6.0 End-to-end master data synchronization and process integration

SAP Cloud for Sales Integration to SAP ERP 6.0 End-to-end master data synchronization and process integration SAP Cloud for Integration to SAP ERP 6.0 End-to-end master data synchronization and process integration SAP Cloud for Accounts & Prospects Products Quotation Recent Orders SAP ERP Customer Material Pricing

More information

DataIntegrationwithXMLandSemanticWeb Technologies

DataIntegrationwithXMLandSemanticWeb Technologies DataIntegrationwithXMLandSemanticWeb Technologies Athesispresented by RubénTous Submittedinpartialfullmentoftherequerimentsfor DoctorateinComputerScienceandDigitalCommunication thedegreeofdoctorofphilosophy

More information

The Importance of Systems Engineering

The Importance of Systems Engineering Al Brule SYSE 590 Oct 10, 2003 Systems Engineering Integrative Workshop Concept Map Systems Engineering Concepts Functions Requirements Answer Test Methods Risk Management Interface Management Decision

More information

SAP Configuration Management at Harley-Davidson Motor Company. 2013 SAP Product Configurator Info Day

SAP Configuration Management at Harley-Davidson Motor Company. 2013 SAP Product Configurator Info Day SAP Configuration Management at Harley-Davidson Motor Company 2013 SAP Product Configurator Info Day Introductions Richard Quinlan GPM, Master Data Management Laurie Schlenvogt Variant Configuration Lead

More information

U.S. Department of Housing and Urban Development: Weekly Progress Report on Recovery Act Spending

U.S. Department of Housing and Urban Development: Weekly Progress Report on Recovery Act Spending U.S. Department of Housing and Urban Development: Weekly Progress Report on Recovery Act Spending by State and Program Report as of 3/7/2011 5:40:51 PM HUD's Weekly Recovery Act Progress Report: AK Grants

More information

Practical steps for a successful. PROFIBUS Project. Presented by Dr. Xiu Ji Manchester Metropolitan University

Practical steps for a successful. PROFIBUS Project. Presented by Dr. Xiu Ji Manchester Metropolitan University Practical steps for a successful PROFIBUS Project Presented by Dr. Xiu Ji Manchester Metropolitan University Basics of PROFIBUS Content Practical steps in the design and installation stages Segmentation:

More information

Earliest Due Date (EDD) [Ferrari] Delay EDD. Jitter EDD

Earliest Due Date (EDD) [Ferrari] Delay EDD. Jitter EDD Earliest Due Date (EDD) [Ferrari] Based on EDF Delay-EDD vs. jitter-edd Works for periodic message models (single packet in period): (pi,, Di) Partition end-to-end deadline D i into local deadlines D i,k

More information

How To Write A Pcs Report

How To Write A Pcs Report Page : 1 of 6 PACS PACS Instrument Health Prepared by Checked by Approved by Approved by Approved by Name Function Date Signature H. Feuchtgruber, K. Okumura Authorized by O. H. Bauer PM Authorized by

More information

SOLVING QUADRATIC EQUATIONS BY THE NEW TRANSFORMING METHOD (By Nghi H Nguyen Updated Oct 28, 2014))

SOLVING QUADRATIC EQUATIONS BY THE NEW TRANSFORMING METHOD (By Nghi H Nguyen Updated Oct 28, 2014)) SOLVING QUADRATIC EQUATIONS BY THE NEW TRANSFORMING METHOD (By Nghi H Nguyen Updated Oct 28, 2014)) There are so far 8 most common methods to solve quadratic equations in standard form ax² + bx + c = 0.

More information

Return-to-Work Outcomes Among Social Security Disability Insurance (DI) Beneficiaries

Return-to-Work Outcomes Among Social Security Disability Insurance (DI) Beneficiaries Return-to-Work Outcomes Among Social Security Disability Insurance (DI) Beneficiaries Yonatan Ben-Shalom Arif Mamun Presented at the CSDP Forum Washington, DC September 17, 2014 Acknowledgments The research

More information

ECU Pinout and Wiring Comparisons 1995.5 2004 Toyota Tacoma Trucks

ECU Pinout and Wiring Comparisons 1995.5 2004 Toyota Tacoma Trucks ECU out and Wiring Comparisons 1995.5 2004 Toyota Tacoma Trucks Table of Contents Authorʼs Note 2 1995.5 Tacoma 3RZ 4 1995.5 Tacoma 5VZ 14 1996 Tacoma 3RZ 26 1996 Tacoma 5VZ 36 1997 Tacoma 3RZ 47 1997

More information

Sampling Distributions

Sampling Distributions Sampling Distributions You have seen probability distributions of various types. The normal distribution is an example of a continuous distribution that is often used for quantitative measures such as

More information

Ourmainaiminthispaperistovisuallyunderstandthespatialrelationshipsbetween

Ourmainaiminthispaperistovisuallyunderstandthespatialrelationshipsbetween ClassVisualizationofHigh-DimensionalDatawith InderjitS.Dhillon,DharmendraS.Modha,andW.ScottSpangler Emailforcorrespondence:dmodha@almaden.ibm.com 65HarryRoad,SanJose,CA9512-699 IBMAlmadenResearchCenter

More information

Gear Engineering Data. Spur Gear Gear Formulas Drive Selection Horsepower and Torque Tables

Gear Engineering Data. Spur Gear Gear Formulas Drive Selection Horsepower and Torque Tables Engineering Gear Engineering Data Spur Gear Gear Formulas Drive Selection Horsepower and Torque Tables G-79 Gear Selection Stock Spur Gear Drive Selection When designing a stock gear drive using the horsepower

More information

SteganographyinaVideoConferencingSystem? AndreasWestfeld1andGrittaWolf2 2InstituteforOperatingSystems,DatabasesandComputerNetworks 1InstituteforTheoreticalComputerScience DresdenUniversityofTechnology

More information

Logic and Reasoning Practice Final Exam Spring 2015. Section Number

Logic and Reasoning Practice Final Exam Spring 2015. Section Number Logic and Reasoning Practice Final Exam Spring 2015 Name Section Number The final examination is worth 100 points. 1. (5 points) What is an argument? Explain what is meant when one says that logic is the

More information