CallForwarding: ASimpleInterproceduralOptimizationTechnique. fordynamicallytypedlanguages
|
|
- Clifton Marshall
- 8 years ago
- Views:
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
GarbageCollectionforLargeMemoryJava AndreasKrallandPhilippTomsich Applications InstitutfurComputersprachen,TechnischeUniversitatWien Argentinierstrae8,A{1040Wien,Austria tolarge,data-intensivescienticapplicationsallocatingmemoryinthe
More information2Proofbymathematicalinductionplaysacrucialroleinthevericationofprogramtrans-
SubmissiontoJ.FunctionalProgrammingSpecialIssueonTheoremProving&FunctionalProgramming AutomaticVericationofFunctionswith DepartmentofComputing&ElectricalEngineering, AccumulatingParameters UniversityofEdinburgh,80SouthBridge,
More informationStructured Representation Models. Structured Information Sources
SchemalessRepresentationofSemistructured Dong-YalSeo1,Dong-HaLee1,Kang-SikMoon1,JisookChang1, DataandSchemaConstruction 1Dept.ofComputerScienceandEngineering PohangUniversityofScienceandTechnology Jeon-YoungLee1,andChang-YongHan2
More informationCenter 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 informationNetworksofWorkstationswithBalanced SNOWBALL:ScalableStorageon RadekVingraleky YuriBreitbartz Load GerhardWeikumx performanceparallelanddistributedsystems.exploitingnetworksofwork- Abstract stationsformassivedatamanagementposesexcitingchallenges.wecon-
More informationNormalizingIncompleteDatabases
NormalizingIncompleteDatabases Abstract 600MountainAvenue,MurrayHill,NJ07974USA E-mail:libkin@research.att.com AT&TBellLaboratories LeonidLibkin Databasesareoftenincompletebecauseofthepresence ofdisjunctiveinformation,duetoconicts,partialknowledgeandotherreasons.queriesagainstsuchdatabaseswithnullvalues[akg91,il84],isdisjunctiveinforticsofsuchdatabasesandprovenormalizationtheorems
More informationthreads threads threads
AHybridMultithreading/Message-PassingApproachforSolving IrregularProblemsonSMPClusters Jan-JanWu InstituteofInformationScience AcademiaSinica Taipei,Taiwan,R.O.C. Chia-LienChiang Nai-WeiLin Dept.ComputerScience
More information5. 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 informationTool 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 informationR E E T O L O C A D. Type: - Turbine 3/20 - Turbine 10/50 - Torpress. Gearbox: - R 93. Optional: Rev: 005-10/2005
More information
SCHOOLOFCOMPUTERSTUDIES RESEARCHREPORTSERIES UniversityofLeeds Report95.4
SCHOOLOFCOMPUTERSTUDIES RESEARCHREPORTSERIES UniversityofLeeds Report95.4 AcquisitionsandApplications Generic3-DShapeModel: DivisionofArticialIntelligence XShen&DCHogg by February1995 sequencesandrepresentedbythecontrolpointsofab-splinesurface.the
More informationCS711008Z 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 informationHowever,duetoboththescaleandthecomplexityoftheInternet,itisunlikelythatameasure-
Part1:AServer-BasedMeasurementInfrastructure NetworkPerformanceMeasurementandAnalysis Y.ThomasHou (ConceptPaper) AsInternettraccontinuestogrowexponentially,itisessentialforboththeusersandserviceproviders
More informationIPD 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 informationSAP 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 informationTypesAnimationovertheInternet ConcurrentAlgorithmsandData GiuseppeF.Italianoy GiuseppeCattaneo UmbertoFerraro VittorioScarano AlgorithmsanddataTypesAnimationovertheInternet).Amongthefeaturesofthis systemarealoweortrequiredforanimatingalgorithmiccode,andthepossibilityof
More informationThe 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 information2015 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 information2015 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 informationFacts and Myths About image Patterns
CAR-TR-968 CS-TR-4251 CorneliaFermuller1,HenrikMalm2andYiannisAloimonos1 StatisticsExplainsGeometricalOpticalIllusions 1CenterforAutomationResearchIIS-00-8-1365 CollegePark,MD20742-3275 UniversityofMaryland
More informationLocalErrorRecoveryinSRM: ComparisonofTwoApproaches. Ching-GungLiu,DeborahEstrin,ScottShenkerandLixiaZhang
LocalErrorRecoveryinSRM: ComparisonofTwoApproaches Ching-GungLiu,DeborahEstrin,ScottShenkerandLixiaZhang AbstractSRMisaframeworkforreliablemulticastdelivery.Inordertomaximizethecollaborationamongthe groupmembersinerrorrecovery,bothretransmissionrequestsandrepliesaremulticasttotheentiregroup.while
More informationTechnicalReportRSTR-018-97-01 GaryMcGraw,ChristophMichaelandMichaelSchatz GeneratingSoftwareTestDataby Evolution RSTCorporation Suite#250,21515RidgetopCircle Sterling,VA20166 February9,1998 datageneration.thisresearchextendspreviousworkondynamictestdatageneration
More informationCase 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 informationHuman 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 informationFACTORY 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 informationThe 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 informationSCHOOLOFCOMPUTERSTUDIES RESEARCHREPORTSERIES UniversityofLeeds Report95.23. AutomaticDetectionofKeySignature usingnotedistribution
SCHOOLOFCOMPUTERSTUDIES RESEARCHREPORTSERIES UniversityofLeeds Report95.23 AutomaticDetectionofKeySignature usingnotedistribution DivisionofArticialIntelligence,SchoolofComputerStudies K.C.Ng,R.D.Boyle&D.Coopery
More informationShelf 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 informationNormal 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 informationSemantic 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 informationOctober 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 2015NONPROFITSALARY&STAFFINGREPORT NEWYORKCITYAREA 2014NONPROFITSURVEYFINDINGS&2015TRENDS EXECUTIVESUMMARY Thisyear ssalarysurvey201422015confirmsgrowth andchallengesinthesectorduring2014andthestrong
More informationWhen 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 information1 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 informationSection 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 informationMATH 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 informationState 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 informationPreapproval 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 informationChapter 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 informationFunctions 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 informationGCF/ 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 informationState 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 information2014 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 informationPERCEPTIONS 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 informationStatistics 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 information10CS35: 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 informationIntroduction 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 informationF 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 informationFactoring 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 informationMESSAGE 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 informationWhat 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 informationCSCI 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 information3.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 informationFactoring 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 informationFrequentist 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 informationCINCINNATI 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 informationNormal 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 informationLAYMAN 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 informationLead 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 informationLecture 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 informationNational 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 informationHow 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 informationDiscovery 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 informationTheIMSCorpusWorkbench CorpusAdministrator'sManual InstitutfurmaschinelleSprachverarbeitung UniversitatStuttgart OliverChrist oli@ims.uni-stuttgart.de {Computerlinguistik{ D70174Stuttgart1 Azenbergstr.12
More informationSTATISTICA 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 informationPayroll 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 informationTenth 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 informationMoving 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 informationHMM 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 informationA 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 informationBusiness 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 informationQlik 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 informationTime 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 information1.- 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 informationLecture 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 informationHOSE, 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 informationEMPIRICAL 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 informationServer 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 informationThe 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 informationmaximo 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 informationTAX 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 informationHIGHER 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 informationSAP 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 informationDataIntegrationwithXMLandSemanticWeb Technologies
DataIntegrationwithXMLandSemanticWeb Technologies Athesispresented by RubénTous Submittedinpartialfullmentoftherequerimentsfor DoctorateinComputerScienceandDigitalCommunication thedegreeofdoctorofphilosophy
More informationThe 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 informationSAP 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 informationU.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 informationPractical 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 informationEarliest 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 informationHow 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 informationSOLVING 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 informationReturn-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 informationECU 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 informationSampling 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 informationOurmainaiminthispaperistovisuallyunderstandthespatialrelationshipsbetween
ClassVisualizationofHigh-DimensionalDatawith InderjitS.Dhillon,DharmendraS.Modha,andW.ScottSpangler Emailforcorrespondence:dmodha@almaden.ibm.com 65HarryRoad,SanJose,CA9512-699 IBMAlmadenResearchCenter
More informationGear 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 informationSteganographyinaVideoConferencingSystem? AndreasWestfeld1andGrittaWolf2 2InstituteforOperatingSystems,DatabasesandComputerNetworks 1InstituteforTheoreticalComputerScience DresdenUniversityofTechnology
More informationLogic 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