Size: px
Start display at page:

Download ""

Transcription

1 GarbageCollectioninObjectOriented DatabasesUsingTransactionalCyclic PrasanRoy1 ReferenceCounting S.Sudarshan1 S.Seshadri1S.Ashwin1 AviSilberschatz2 1IndianInstituteofTechnology, Mumbai400076,India MurrayHill,NJ BellLaboratories grammerfromexplicitlydeallocatingmemory.inthispaper,wepresentagarbage Garbagecollectionisimportantinobject-orienteddatabasestofreethepro- Abstract collectionalgorithm,calledtransactionalcyclicreferencecounting(tcrc),for objectorienteddatabases.thealgorithmisbasedonavariantofareferencecountingalgorithmproposedforfunctionalprogramminglanguagesthealgorithmkeeps trackofauxiliaryreferencecountinformationtodetectandcollectcyclicgarbage. Thealgorithmworkscorrectlyinthepresenceofconcurrentlyrunningtransactions, andsystemfailures.itdoesnotobtainanylongtermlocks,therebyminimizing interferencewithtransactionprocessing.itusesrecoverysubsystemlogstodetect algorithmandpresentresultsofaperformancestudyoftheimplementation. pointerupdates;thus,existingcodeneednotberewritten.finally,itexploits schemainformation,ifavailable,toreducecosts.wehaveimplementedthetcrc Objectorienteddatabases(OODBs),unlikerelationaldatabases,supportthenotionof 1objectidentity,andobjectscanrefertootherobjectsviaobjectidentiers.Requiring Introduction theprogrammertowritecodetotrackobjectsandtheirreferences,andtodeleteobjects CurrentlyatUniversityofWisconsinMadison1

2 thatarenolongerreferenced,iserrorproneandleadstocommonprogrammingerrors suchasmemoryleaks(garbageobjectsthatarenotreferredtofromanywhere,and haven'tbeendeleted)anddanglingreferences.whiletheseproblemsarepresentin traditionalprogramminglanguages,theeectofamemoryleakislimitedtoindividual programsthatcreateandaccessthem.automatedgarbagecollectionisessentialin Theproblembecomesmoreseriousinpersistentobjectstores,sinceobjectsoutlivethe runsofprograms,sinceallgarbageisimplicitlycollectedwhentheprogramterminates. anobjectorienteddatabasetoprotectfromtheerrorsmentionedabove.infact,the SmalltalkbindingfortheODMGobjectdatabasestandardrequiresautomatedgarbage Allobjectsthatarereachablefromthepersistentrootorfromthetransientprogram objectsandthearcsarethereferencesbetweenobjects.thegraphhasapersistentroot. collection. stateofanon-goingtransactionarelive;whiletherestaregarbage.weoftencallobject WemodelanOODBinthestandardwayasanobjectgraph,whereinthenodesarethe referencesaspointers. space;theentireoldspaceisthenreclaimed.incontrast,themarkandsweepalgorithm CopyingCollectorbased[YNY94]andMarkandSweepbased[AFG95].Thecopying collectoralgorithmtraversestheentireobjectgraphandcopiesliveobjectsintoanew Therehavebeentwoapproachestogarbagecollectioninobjectorienteddatabases: databaseanddeletesallobjectsthatareunmarked.thecopyingcollectoralgorithm marksallliveobjectsbytraversingtheobjectgraphandthentraverses(sweeps)theentire cases,butmaydestroyprogrammerspeciedclusteringresultinginworseperformance reclustersobjectsdynamically;thereclusteringcanimprovelocalityofreferenceinsome inothercases.thegarbagecollectionalgorithmsof[yny94]aswellas[afg95]handle concurrencycontrolandrecoveryissues. prohibitivelyexpensivefordatabaseslargerthanthememorysize,particularlyifthere aremanycross-pagereferences.intheworstcase,whenthebuersizeisasmallfraction ofthedatabasesizeandobjectsinapagerefertoobjectsinotherpagesonly,there Withboththeabovealgorithms,thecostoftraversingtheentireobjectgraphcanbe maybeani/oforeverypointerinthedatabase.toalleviatethisproblem,earlierwork fewpages.eachpartitionstoresinter-partitionreferences,thatisreferencestoobjects [YNY94,AFG95]hasattemptedtodividethedatabaseintopartitionsconsistingofa inthepartitionfromobjectsinotherpartitions,inapersistentdatastructure.objects referredtofromotherpartitionsaretreatedasiftheyarereachablefromthepersistent partition.eachpartitionisgarbagecollectedindependentofotherpartitions;references root,andarenotgarbagecollectedeveniftheyarenotreferredtofromwithinthe eciencyoccurringifthewholepartitiontsintothebuerspace. moreecient;thesmallerthepartition,themoreecientthetraversal,withmaximum toobjectsinotherpartitionsarenotfollowed.thus,partitioningmakesthetraversal Unfortunately,smallpartitionsincreasetheprobabilityofself-referentialcyclesof 2

3 by[cwz94]showedthatevensmallincreasesindatabaseconnectivitycanproducesignicantamountsofsuchgarbage.therefore,itisnotclearthatpartitionsizescanbtitionedgarbagecollectionalgorithms.previousworkhasmaintainedthatsuchcross cyclestructureswillbefew,andwill\probably"notbeaproblem.however,simulations madeverysmallwithouteitherfailingtocollectlargeamountsofgarbageoremploying special(andexpensive)techniquestodetectsuchcyclicgarbage. ofkeepingacountofthenumberofpointerspointingtoeachobject.whenthereference countoftheobjectbecomeszero,itisgarbageandeligibleforcollection.reference countinghastheattractivepropertiesoflocalizedandincrementalprocessing.unfortu- AnaturalalternativeisReferenceCounting.ReferenceCountingisbasedontheidea garbagethatcrosspartitionboundaries;suchcyclicgarbageisnotdetectedbytheparnately,basicreferencecountingcannotdealwithself-referentialcyclesofobjects;each objectcouldhaveapositivereferencecount,yetalltheobjectsinthecyclemaybe unreachablefromthepersistentroot,andthereforebegarbage.however,anumberof extensionsofthebasicreferencingcountingalgorithmtohandlecyclicdatahavebeen proposedintheprogramminglanguagecommunity,including:[bro85,bro84,pvep88]. [Bro85,Bro84]forfunctionalprogramminglanguages,whichhandlesselfreferentialcycles Morerecentworkinthisareaincludes[Lin90,MWL90,JL91]. (TCRC),basedonBrownbridge'salgorithm,whichissuitableforgarbagecollectionin ofgarbage.wepresentanalgorithm,calledtransactionalcyclicreferencecounting Inthispaper,weconsideraversionofreferencecounting,proposedbyBrownbridge anoodb.thesalientfeaturesofthetcrcalgorithmare: Itdetectsallselfreferentialcyclesofgarbageunlikebasicreferencecounting,and Itperformsaverylocalizedversionofmark-and-sweeptohandlecyclicdata,with thepartitionedgarbagecollectionalgorithms. eachmark-and-sweeplikelytoaccessfarfewerobjectsthanaglobalmark-andsweep.thusitdoesnothavetoexaminetheentiredatabasewhilecollecting Itallowstransactionstorunconcurrently,anddoesnotobtainanylongtermlocks, therebyminimizinginterferencewithtransactionprocessing. garbage,exceptintheworstcase. Itisintegratedwithrecoveryalgorithms,andworkscorrectlyinspiteofsystem Itexploitsschemainformation,ifavailable,toreducecosts.Inparticular,ifthe crashes.italsousesrecoverysubsystemlogstodetectpointerupdates;thus,existingapplicationcodeneednotberewritten. schemagraphisacyclic,nocyclicreferencesarepossibleinthedatabaseandtcrc behavesidenticallytoreferencecounting. 3

4 before;webelievethisisoneofthecentralcontributionsofourpaper.wealsopresent Designingacyclicreferencingcountingalgorithmwhichallowsconcurrentupdatesand handlessystemcrashesisrathernon-trivial,andtoourknowledgehasnotbeendone aproofofcorrectnessofthetcrcalgorithm. weexpectistrueinanyrealisticscenario,pointerupdatesareonlyasmallfractionof countbeingupdated.thisoverheadwillhaveonlyasmallimpactonperformanceif,as referencecounts.however,eachpointerupdatecanonlyresultinatmostonereference Aproblemoftencitedagainstreferencecountingschemesistheoverheadofupdating theoverallupdates.fortcrc,moreover,theoverheadisosetbythereducedcostof tendedabstractofthispaper[ars+97],inthefollowingways.thereisnolongeran assumptionthattransactionsfollowstrict2pl;infactthecurrentalgorithmmakesno traversalswhilecollectinggarbage. assumptionsaboutthelockingpoliciesusedbythetransaction.thereisnolongeran Thealgorithmpresentedinthispaperimprovesonthatpresentedinanearlierex- assumptionthattransactionsfollowstrictwal(thatis,boththeundoandredovaluesmustbeloggedbeforeactuallyperformingtheupdate);onlythenormal(non-strict) WALisassumedtobefollowed.Thatis,thecurrentalgorithmrequiresundovaluesto amorerestrictedlocaltraversalthantheearlieralgorithm,andisthereforepotentially beloggedbeforetheupdate,whiletheredovaluesmaybeloggedanytimebeforetheend moreecient. ofthetransaction(beforeoraftertheupdate).finally,thecurrentalgorithmperforms ofthetransaction. afterthetransactionends,andarenotrequiredtobeforcedtotheserverbeforetheend thatis,updatesmadebyatransactionrunningattheclientcanbereectedattheserver Fortheclient-serversetting,thecurrentalgorithmalsorelaxestheforcerequirement; WepresentaperformancestudyofTCRCbasedontheimplementation;thestudyclearly illustratesthebenetsoftcrc. markandsweepalgorithmonastoragemanagercalledbrahmadevelopediniitbombay. WehaveimplementedaprototypeoftheTCRCalgorithmaswellasthepartitioned 2 Brownbridge'sCyclicReferenceCountingAlgorithm OurTransactionalCyclicReferenceCountingalgorithmisbasedontheCyclicReference Counting(CRC)algorithmproposedbyBrownbridge[Bro84,Bro85],inthecontextof functionalprogramminglanguages. [Bro84,Bro85]istolabeledgesintheobjectgraphasstrongorweak.Thelabellingis donesuchthatacycleintheobjectgraphcannotconsistofstrongedgesalone{itmust ThebasicideabehindtheCyclicReferenceCounting(CRC)algorithmofBrownbridge 4

5 haveatleastoneweakedge.twoseparatereferencecountsforstrongandforweakedges strongedgesornot.hence,intheabsenceoffurtherinformation,thealgorithmtakesthe ingeneraltocheaplydeterminewhetherlabellinganewedgeasstrongcreatesacycleof (denotedsrefcandwrefcrespectively)aremaintainedperobject.itisnotpossible conservativeviewthatlabellinganewedgestrongcouldcreateacycleofstrongedges, andlabelsthenewedgeweak. fromitaredeleted.ifthesrefciszero,butwrefcisnon-zero,thereisachance thatsisinvolvedinaselfreferentialcycleofgarbage.ifthesrefcofanobjects objects,thesrefcaswellaswrefciszero,thensisgarbageandsandtheedges TheSRefCandWRefCareupdatedasedgesarecreatedanddeleted.Ifforan TCRCalgorithmdoesnotguaranteethislastproperty). isgreaterthanzero,thensisguaranteedtobereachablefromtheroot(however,our SRefCofSiszeroandWRefCofSisnonzero,alocalizedmarkandsweepalgorithm detectswhethersandanyoftheobjectsreachablefromsareindeedgarbage.the theonlypotentialcandidatesforbecominggarbagearesandobjectsreachablefroms.if IftheobjectgraphdidnothaveanygarbagebeforethedeletionofanedgetoS,then fromsandcoloursthemred.letusdenotetheabovesetbyr.itthencoloursgreen localizedmarkandsweepperformsatraversalfromsandidentiesallobjectsreachable everyobjectinrthathasareferencefromanobjectoutsider(detectedusingreference counts).italsocoloursgreenallobjectsreachablefromanygreenobject.duringthis atleastonestrongpointertoit.wewilldescribethispointerstrengthupdateindetail greenmarkingphasesomepointerstrengthsareupdatedtoensurethateveryobjecthas inthecontextofourtransactionalcyclicreferencecountingalgorithm.attheend,all environmentwithconcurrentupdatestoobjects,anddonotdealwithpersistentdata objectsinrnotmarkedgreenaregarbageandaredeleted. rithm,weredesignedforasingleusersystem.theycannotbeusedinamulti-user andfailures.ourcontributionslieinextendingbrownbridge'salgorithmto(a)uselogs However,priorcyclicreferencecountingalgorithms,includingBrownbridge'salgo- ofupdatestodetectchangestoobjectreferences,(b)toworkinanenvironmentwith strongpointers. atime,and(e)optimizethelocalizedmarkandsweepsignicantlybyfollowingonly transactionaborts,(d)handleabatchofupdatesatatimeratherthanoneupdateat concurrentupdates,(c)toworkonpersistentdatainthepresenceofsystemfailuresand Inthissection,wedescribeoursystemmodelandoutlinethearchitecturalassumptions 3onwhichourgarbagecollectorisbased. SystemModelandAssumptions andredorecordsarerepresentedasundo(tid,oid,oset,old-value),andredo(tid,oid, Inourmodel,transactionslogundoandredoinformationforallupdates.Undo 5

6 oset,new-value),wheretiddenotesatransactionidentierandoidanobjectidentier. theosetwecandetermineifthevaluethathasbeenupdatedisapointereld.these Objectcreationisloggedasobject-allocation(tid,oid).Thecommitlogisrepresentedas commit(tid);andtheabortlogisrepresentedasabort(tid).werequirethatfromtheoid wecanidentifythetypeoftheobject(perhapsbyrstfetchingtheobject),andfrom requirementsaresatisedbymostdatabasesystems. (oid)isvalidonlyifiteitherreferstoapersistentroot,orispresentinapointereldof ofanactivetransactionthatreadtheoidfromanobjectinthedatabaseorcreated anobjectinthedatabase,orisinthetransientmemory(programvariablesorregisters) Aswithanyothergarbagecollectionscheme,weassumethatanobjectidentier theobjectitrefersto.notethatthisprecludestransactionsfrompassingoidstoother transactions,andfromstoringoidsinexternalpersistentstorage. Assumption3.1ThetransactionsfollowWAL,thatis,theylogtheundovaluebefore actuallyperformingtheupdate,buttheredovaluemaybeloggedanytime(beforeorafter theupdate).2 Assumption3.2Alllogsforatransactionareforcedtodiskbeforecommitorabort databases. (force-logs-at-abortinadditiontoforce-logs-at-commit).2 Theassumptionsabovearesatisedbytypicalstoragemanagersforobject-oriented WewillnowdescribetheTransactionalCyclicReferenceCounting(TCRC)algorithm. 4Werstdescribethedatastructuresneededbythetransactionalcyclicreferencecounting algorithm. numberofstrongpointerspointingtotheobject,aweakreferencecount(wrefc)giving Associatedwitheachobject,wemaintainastrongreferencecount(SRefC)givingthe 4.1 DataStructures thenumberofweakpointerspointingtotheobject,andastrengthbitfortheobject. Eachpointeralsohasastrengthbit.Thepointerisstrongifthestrengthbitinthepointer andthestrengthbitintheobjectpointedtohavethesamevalue;otherwisethepointer isweak.thisrepresentationofstrengthusingtwobitsisanimportantimplementation weak,andallweakpointerstotheobjectstrong.allthatneedbedoneistoipthe valueofthestrengthbitintheobject. thestrengthofallpointerstoanobject,thatismakingallstrongpointerstotheobject trick,frombrownbridge[bro84,bro85].itmakesveryecienttheoperationofipping 6

7 whichcontainsoidsfortheobjectswhichhaveazerosrefc,i.e.nostrongpointers incidentonthem.thepersistentrootisneverputintothewrt. TheTCRCalgorithmalsomaintainsanothertable,theWeakReferenceTable(WRT), crashbyscanningtheentiredatabase.therefore,itisnotnecessarytomakeitpersistentandincurtheoverheadofloggingupdatestothesestructures.reconstructingthis informationatcrashwillhoweveraecttheavailabilityofthedatabase.iffastrecovery Alltheaboveinformationcanbeconstructedfromtheobjectgraphafterasystem isrequiredthenwecouldmakethesestructurespersistentatthecostofextralogging. Thechoiceofwhetherornottomakethisinformationpersistentcanbelefttoeach installation. informationtobeupdated/inserted/deleted.thustheirupdateswillbeundoneifthe fromthewrtareloggedaspartofthetransactionwhosepointerupdatecausedthe updateofthestrengthbitofanobjectorofapointer,andtheinsertordeleteofentries Iftheabovestructuresaremadepersistent,thenupdatestoSRefCandWRefC, thismeansthatirrespectiveofwhethertheabovestructuresaremadepersistentthese crashes. transactiondoesnotcomplete,andwillberedone(whilerepeatinghistory)ifthesystem neednotbepersistent. Apartfromtheabovestructures,wehavethefollowingnon-persistentstructures{ whetherthecolouroftheobjectisredorgreen.thistableisstoredondisksincethesize ReferenceTable(RRT);thistableassociateswith(some)objectsastrongredreference count(sredrefc),aweakredreferencecount(wredrefc),andabitthatindicates Thereisanon-persistenttablewhichisusedduringgarbagecollection:theRed ofthistablecouldbelargeintheworstcase,butupdatestothistablearenotlogged. thetemporaryreferencetable(trt),whichcontainsallthoseoidssuchthatareference totheobjectwasaddedordeletedbyanactivetransaction,ortheobjectwascreated bythetransaction.anoidintrtistaggedwiththetidofthetransactionthatis Similarto[AFG95]TCRCalsomaintainsannon-persistentin-memorytablecalled reponsibleforitsinsertionintotrt.theremaybemultipleentriesintrtforthesame oid.anobjectwhoseoidisintrtmaynotbegarbageevenifitisunreachablefrom anyotherobject,sincethetransactionmaystoreareferencetotheobjectbackinthe 4.2 database.updatestotrtarealsonotlogged. TCRCconsistsoftwodistinctalgorithms,runbydierentprocesses.Therstistheloganalyzeralgorithm(LogAnalyzer).Thesecondalgorithmistheactualgarbagecollection TheAlgorithm takenforthedurationofcollectgarbage.wedescribethetwoalgorithmsbelow. algorithm(collectgarbage).theexecutionoftheseissynchronizedbytwolatches:a loganalyzerlatchthatistakenforthedurationofloganalyzer,andagclatchthatis 7

8 4.2.1LogAnalyzer Thelog-analyzeralgorithmanalyzeslogrecordsgeneratedbythetransaction,andperformsvariousactionsbasedonthelogrecords.Weshallassumeitisrunaspartofthe transactionitself,andisinvokedeachtimealogrecordisappendedtothesystemlog tail,andisatomicwithrespecttotheappendingofthelogrecord. thread,andwhenatransactionappendsalogrecordtothesystemlog,itactuallyonly deliversittothelog-analyzer,whichthenappendsthelogrecordtothesystemlog. Intheactualimplementation,itispossibletorunthelog-analyzerasaseparate IftheSRefCfallstozeroafterthedecrementthentheobject'soidisputintoWRT. decrementsthewrefcorsrefcforanobjectwhenapointertotheobjectisdeleted. ProcedureAddPointer,bydefault,setsthestrengthofthepointertobeweakandincrementstheWRefCoftheobjectpointedto.Thestrengthissettoweaksothatcycles Thelog-analyzermakesuseofthefollowingprocedures.ProcedureDeletePointer (whichisalsoacquiredbythegarbagecollectionthread)toestablishaconsistentpoint makesomenewpointersstrong. ofstrongedgesarenotcreated;however,wewillseeinsection6thatwemaybeableto theloganalyzeranddependingonthetypeofthelogrecordvariousactionsasoutlined inthelog.thelatchisobtainedforthedurationoftheprocedure.thelogisanalyzedby TheprocedureLogAnalyzerworksasfollows.Firstitobtainstheloganalyzerlatch belowaretaken. Forundo/redologrecordscausedbypointerupdates,thereferencecountsforthe aectedobjectsareupdated.thisisdonebydeletepointerincaseofundologs, Forlogrecordscorrespondingtothecreationofobjects,thereferencecountsfor thetrttaggedwiththetidofthetransactionthatmadetheupdate. andaddpointerincaseofredologs.theoidoftheaectedobjectisinsertedinto thenewobjectareinitializedtozero,andtheoidofthecreatedobjectisinserted Forend-of-transaction(commitorabort)logrecords,thealgorithmrsttriesto intothewrt.theoidofthecreatedobjectisinsertedintothetrttaggedwith thetidofthetransactionthatcreatedtheobject. notinprogressandremovealltheoidentriesfortheterminatingtransactionfrom thetrtandthegclatchreleasedthereafter(recallthateachoidentryintrtis taggedwiththetidofthetransactionthatisresponsibleforitspresenceintrt). getthegclatch.ifthelatchisobtainedimmediately,thengarbagecollectionis However,ifthegclatchcannotbeobtainedimmediatelythenagarbagecollectionis Alloperationsonpointerstrengthsandreferencecountsareprotectedbyalatchon inprogressconcurrently.inthiscase,theoidentriesfortheterminatingtransaction arenotremoved,butinsteadaggedforlaterremovalbythegarbagecollector. 8

9 WRTandTRTarealsoprotectedbylatches. theobjectpointedto,althoughnotexplicitlymentionedinouralgorithms.accessto Property4.1ThepersistentrootisneverplacedintheWRT.Ithasnoreferencesto it.thereforeitneveroccursinthetrtorrrt.2 Thefollowingpropertiesfollowfromtheabovediscussion. when(a)thetransactionhasendedand(b)garbagecollectionisnotinprogress.2 Property4.2TheobjectsinTRTcorrespondingtoatransactionareremovedonly 4.2.2GarbageCollector Thegarbagecollectionalgorithmisactivatedperiodically(possiblydependingonavailabilityoffreespace).Thealgorithmmakesuseofthefollowingsupportfunctions. inrrt.thepseudocodeforredtraverseappearsinfigure1.redtraverseperformsa fuzzylocalizedtraversaloftheobjectgraph.itisinvokedonallobjectsinwrtthatare garbage.therestofthegarbagecollectionalgorithmisrestrictedtoonlytheobjects ProcedureRedTraversepopulatestheRRTwithobjectsitidentiesaspotential notintrt.thereafter,anobjectisvisitedbyanyoftheinvocationsifandonlyifthe objectisnotintrtandalltheobjectsthathaveastrongpointertothisobjecthave beenvisitedearlier.nolocksareobtainedontheobjectsbeingtraversed.shortterm latchesmaybeobtainedonobjectsorpagestoensurephysicalconsistency.redtraverse objectinrrtattheinstantitvisitstheobject.redtraversealsomaintainsforeach objectinrrt,twocounts:sredrefcandwredrefc,givingrespectivelythenumber marksallvisitedobjectsredandputstheminrrt. ofstrongandweakpointerstotheobjectfromallotherobjectsvisited.thesecountsare Additionally,RedTraversecachesthereferencecounts(SRefCandWRefC)ofeach Figure1,theseobjectsarecolouredblue.Fortherestofthepaper,weignorethepresence sincesuchobjectsmaybeaddedtorrtlaterinthetraversal.inthepseudocodeof thesecountsforobjectsthatarereachablebyasingleweakedgefromobjectsinrrt, maintainedontheyduringthetraversal;inordertodoso,redtraversealsomaintains ofblueobjectsinrrt,andassumethattheyareexplicitlyremovedfromrrtafterthe lastinvocationofredtraverse.theinvocationsofredtraversearecollectivelytermedred traversal. objectsinrrtgreenandupdatingsomepointerstrengthstoensurethateveryobject absenceofupdatetransactionsduringthegarbagecollectionphase,noobjectwillbein itvisitshasatleastonestrongpointerreferringtotheobject(thisensuresthatinthe ProcedureGreenTraverseperformsafuzzytraversalwiththepurposeofmarkinglive WRTthusensuringthatthereisnoworktobedoneduringthenextgarbagecollections phase.seetheorem5.11foraformalproofofthisstatement).inaddition,thepointer 9

10 ProcedureRedTraverse(oid) Input:oid:(oidof)theobjecttobetraversed f gproceduretraverse(oid) ifoidisnotinrrt InsertRRT(oid) Input:oid:(oidof)theobjecttobetraversed f ifoidisnotintrtf foreachpointeroid!poidf colouroidred ifpoidisnotinrrt updatesredrefcpoidandwredrefcpoid ifsredrefcpoid==srefcpoid InsertRRT(poid) dependingonthestrengthofoid!poid g g Traverse(poid) /*thisisthelaststrongpointertopoid*/ Input:oid:(oidof)theobjecttobeinsertedintoRRT gprocedureinsertrrt(oid) f colouroidblue insertoidintorrt g cachecurrentvaluesofsrefcandwrefcforoid insrefcoidandwrefcoidrespectively withsredrefcoid=wredrefcoid=0 Figure1:PseudoCodeforRedTraverse 10

11 Input:oid:(oidof)theobjecttobetraversed ProcedureGreenTraverse(oid) f colouroidyellow forallpointersoid!poidf gforallpointersoid!poidf ifpoidisinrrtandisnotyellow ifpoidisgreenf GreenTraverse(poid) ifsrefcpoid==0 updatereferencecountsofpoid makeoid!poidstrong(ifweak) getloganalyzerlatch removepoidfromwrt gelsef releaseloganalyzerlatch updatereferencecountsofpoid getloganalyzerlatch releaseloganalyzerlatch makeoid!poidweak(ifstrong) gcolouroidgreen g ifsrefcpoid==0 insertpoidintowrt g Figure2:PseudocodeforGreenTraverse 11

12 ProcedureCollectGarbage f RRT=fg acquiregclatch /*P0*/ foreachoidinwrtbutnotintrt /*alsocachesthereferencecounts RedTraverse(oid) WaitforalltransactionsinTLISTtoend TLIST=listofalltransactionsactiveatP1 /*P1*/ ofvisitedobjectsinsrefcoidandwrefcoid*/ /*P2:instantwhenalltransactionsinTLISTend*/ L0: foreachoidinrrtbutnotintrtf ifsrefcoid+wrefcoid> /*SRefCoidandWRefCoidreferto cachedreferencecounts*/ ifsrefcoid==0/*oidisinwrt*/ SRedRefCoid+WRedRefCoidf updatereferencecountsofoid invertthestrengthofallreferencestooid getloganalyzerlatch removeoidfromwrt g/*p3*/ g GreenTraverse(oid) releaseloganalyzerlatch L1:foreachoidinRRTthatisredandisinTRT foreachoidinrrtthatisred /*P4*/ GreenTraverse(oid) releasegclatch removeallaggedentriesfromtrt /*P5*/ Collect(oid) g Figure3:PseudoCodeforCollectGarbage 12

13 strengthupdateshavetobedoneinsuchafashionthatstrongcyclesdonotremainat theendofthegarbagecollectionphase.thepseudocodeforgreentraverseappearsin Figure2.StartingfromtheobjectProcedureGreenTraverseisinvokedon,itvisitsallthe objectsinrrtthatarereachablefromthisobjectinadepthrstmanner:itbacktracks fromanobjectafterithasvisitedallobjectsinrrtreachablefromthatobject.just beforebacktrackingfromanobject,itcolourstheobjectgreenandupdates(ifneeded) thestrengthsofthereferencesoutoftheobject.ifthereferenceistoagreenobject,itis madestrongifitisweak;otherwiseifthereferenceistoanyotherobject(possiblytoan objectnotinrrt)thenitismadeweakifitisstrong.theinvocationsofgreentraverse arecollectivelytermedgreentraversal. pointedto.italsoremovestheobjectfromwrt. oftheobject,updatingthestoredreferencecounts(srefcandwrefc)oftheobjects ProcedureCollectactuallydeletesanobject;beforedoingso,itdeletesallpointersout infigure3.below,wepresentadiscussionofthestepsinvolved.additionally,wepoint outinstancesduringtheexecution(showninthegure)thatwillbereferredintheproof. ThegarbagecollectionalgorithmisimplementedbyProcedureCollectGarbage,shown toterminate. foralltransactionsthatwereactiveatsomepointp1aftertheendoftheredtraversal invokedonallobjectsthatareinwrtbutnotintrt.aftertheredtraversal,wewait Therststepistoacquiregclatch.AtsomepointP0afterthis,RedTraverseis (non-strict)walandarbitrarylockingprotocols.wepresenttheintuitionbelow;the formalproofappearsinsection5. IncaseatransactionTdoesnotfollowstrict-2PLlocking,thefollowingscenariocan Thiswaitisnecessaryforcorrectnessofthealgorithminfaceoftransactionsfollowing inx,andthenreleasesthelockonx.next,allthereferencestoygetdeletedandallthe occur.ttakesalockonsomeobjectx,readsthereferencetoyfromsomepointereld becauseoidofyiscachedbytwhichcaninsertapointertoyfromsomeotherobject transactionsthatmadethedeletionscommit(thiscanhappenbecausethasreleased thelockonx).thismakesyunreachablefromanyliveobject;butyisnotgarbage later.thewaitensuresthatalltransactionssuchastendbeforeanalysisproceeds. insertsthatoccuredduringtheredtraversalareforcedtodiskinadditiontotheundologs forpointerdeletionsbeforeanalysisproceeds;thisisbecauseallthelogsforatransaction are(byassumption)necessarilyforcedbeforetheendofthetransaction.thismakesthe Thewaitfurtherensures,infaceof(non-strict)WAL,thatalltheredologsforpointer alatchonthetransactiontablewhilescanningit.thisissafebecauseonlythefollowing TRTconsistentwithrespecttoanyinsertionordeletionofpointersthatmighthave occuredduringtheredtraversal. endsanddoesnotappearintlist thisisacceptablebecausewewerejustgoingto mayhappenwhilethescanisinprogress:(a)sometransactionthatwasactiveatp1 ThelistoftransactionsTLISTcanbedeterminedfuzzily thatis,weneednottake 13

14 waitforittoendanyway;or(b)somesometransactionstartsafterp1anditsentry appearsintlist thisisacceptablebecausethiscanonlyextendthewait.p2isthe GreenTraverseisinvokedonanobjectthatisinRRTbutnotinTRTifthetotalred instantwhenallthetransactionsintlistterminate. traversalisstrictlylessthanitstotalreferencecounts(srefc+wrefc)thatare referencecounts(sredrefc+wredrefc)fortheobjectcomputedduringthered Next,wedogreentraversaltomarkgreenallthelivenodesinRRT.AfterP2, countsupdatedatomicallywithrespecttothelog-analyzer(loganalyzerlatchisusedfor theinvocation,thestrengthsofallreferencestothisobjectareinvertedandthereference proof,theseobjectsarelive:theyarereferredfromsomeobjectnotinrrt.butbefore cachedduringtheredtraversal(ascheckedinstatementl0).aswillbeshowninthe ensurethatinabsenceofupdatetransactionsnoworkwillbedonebythenextgarbage collectionphaseisover,therewillbeatleastonestrongpointertotheobject(noticethat thispurpose).theinversionofstrengthsisnecessarytoensurethatafterthisgarbage mightcausestrongcyclestobeformed.but,asprovedinlemma5.8,thesewillnot allreferencestotheobjectfromobjectsnotinrrtmustbeweak).thisisnecessaryto collectionsphase;thisisformallyprovedintheorem5.11.thisinversionofstrengths existafterthisgarbagecollectionphaseisover. aboveobjectsarealsomarkedgreen,byinvokinggreentraverse.theseinvocationsget andcanpotentiallybestoredbackinthedatabase.objectsthatarereachablefromthe alsomarkedgreensincetheirreferencesmaystillbestoredinanongoingtransaction AftertheaboveinvocationscompleteatP3,anyobjectsinRRTthatareinTRTare overatp4. GreenTraverseonredobjectsthathavebeeninsertedintoTRTsincetheywerechecked followingsimpleprocedureisenough.wemakerepeatedscansoftherrt,invoking obtainedsuchthatatthispoint,noredobjectinrrtisintrt.itturnsoutthatthe Inthepseudocode,wehaveleftunspeciedhow(atstepL1)theconsistentpointis inthepreviousscan;andterminatingwhenwecomeacrossnosuchobjectinthelatest scan.theconsistentpointcorrespondstotheinstantthelastscanstarts.thisisbecause intrtduringthelastscan acontradiction. ifsomeobjectinrrtisredandisintrtatthestartofthelastscan,thenduringthe staysintrtbecauseofproperty4.2(b).butthen,itmustbedetectedtoberedand scanitstaysredbecauseofthefactthatgreentraverseisnotinvokedintheinterim;and is,sincegclatchwasacquired)areremoved. removablebytransactionsthatcompletedsincethegarbagecollectionphasebegan(that atp5.finally,thegclatchisreleasedandalltheentriesintrtthatweretaggedas AllobjectsinRRTthatareredatP4arecollectednext.Thecollectiongetsover 14

15 4.2.3SupportforLogicalUndobytheRecoveryManager TheTCRCalgorithmneedssomesupportfromtherecoverymanagerintheformof supportinglogicalundostoensurecorrectness.thissupportisrequiredonlyifwechoose tomaintainthereferencecounts,pointerstrengthsandwrtpersistent.therearesome actionswhoseundoshavetobeperformedlogicallyandnotphysically.wediscussthem belowanddiscusswhatthelogicalundoshoulddoineachcase: thepointerwiththestrengthsettobeweak(evenifitwasstrongearlier).similarly, thecorrectnessofthealgorithm.therightwaytoundoapointerdeletionistoreinsert update,ifperformednaively,mayintroducestrongcyclesinthegraph,whichcanaect PointerDeletionandStrengthUpdate:Undoofapointerdeletionorstrength theundoofapointerstrengthupdate(doneincaseofsystemcrashduringthegarbage strength). collectionphase)istosetthestrengthofthepointerasweak(irrespectiveoftheoriginal entobjectswhicharelockedbythetransactions.theobjectoitselfneednotbelocked sinceonlyareferencetoitisbeingupdated.onlyshorttermlatchesarenecessaryfor rentlyupdatedbymultipletransactions(includingthegarbagecollector)throughdier- ReferenceCountsUpdate:ThereferencecountsofanobjectOcanbeconcur- maintainingphysicalconsistency.ifatransactionthatupdatedthereferencecountofan objectaborts,itshouldbelogicallyundone:theundoofareferencecountincrementis isalwaysanincrementofwrefcsinceareinsertedpointerisalwaysweak. adecrementofthesamereferencecount,whiletheundoofareferencecountdecrement Weformallystatethedenitionofagarbageobject. 5 ProofofCorrectness reachablefromthepersistentrootorfromanyobjectinthetrtorfromanyobject Denition5.1(GarbageObject) whosereference(oid)hasbeenreadbyanyactivetransaction.2 Anobjectisdenedtobegarbageifitisnot doesnotsatisfytheotherconditionsandthereforeisgarbageintheconventionalsense. NotethateventuallyanobjectthatisgarbageintheconventionalsensewillleaveTRT andanyactivetransactionthatreadareferencetoitwillterminateandthuswillbecome TheabovedenitionconsidersanobjectasliveifitisreachablefromTRT,evenifit theabovedenition. garbageinthesenseofdenition5.1.ourlemmasandproofsaresimpliedbyusing 5.1 AtanyinstantbetweenP1andP4,anobjectxinRRTisinoneofthefollowingthree states: ObjectStates 15

16 S1:xisreachablefromanobjectoutsideRRTbutisnotreachable,throughapath S2:xisreachable,throughapathconsistingentirelyofobjectsinRRT,fromanobject consistingonlyofobjectsinrrt,fromanyobjectthatisinrrtandalsointrt. S3:xisneitherinstateS1norinstateS2,thatisxisneitherreachablefromanyobject outsiderrtnorfromanyobjectinrrtthatisalsointrt. inrrtthatisalsointrt. Intheabove,anobjectisassumedtobereachablefromitselfthroughanullpath. leavingoidsinwrtwhichwillbetraversedbyanothergarbagecollectionphase,which iteventuallycollectsallgarbageobjects. Abadlydesignedgarbagecollectionalgorithmcouldcreateinniteworkforitself,by WeneedtoprovethatTCRCissafe:itdoesnotcollectanyliveobjects;andcomplete: TCRC;thatis,intheabsenceofupdatetransactions,thesystemeventuallyreachesa inturnleavesoidsinwrt,adinnitum.weguaranteethatthisdoesnothappenin statewheregarbagecollectionthreaddoesnomorework. Lemma5.1IfatransactionnotinTLISTactiveataninstantPstrictlybetweenP1 resultsthatfollow. Wewillmakeuseofthefollowingpropertiesofthealgorithmintheproofofthe andp2hasreadareferencetoanobjectthatisinstates3atp,thentheobjectisin states2atp2. Proof:SupposesometransactionTnotinTLISTisactiveatPandhasreadareference tosomeobjectthatisinstates3atpbutnotinstates2atp2.letxbetherstsuch objecttowhichareferenceisreadbyt.also,letp0betheinstantwhentreadsthe rstobjectythathasareferencetox. possible: Case1:ThereferencefromytoxispresentatP. ThereferencefromytoxwaspresentatP0.Eitherofthefollowingtwocasesare T.Therefore,yisinstateS2atP2.IfthereferencefromytoxispresentatP2, thatisinstates3atpbutnotinstates2atp2areferencetowhichwasreadby toywasreadbytbeforethereferencetox.recallthatxwastherstobject SincexisinstateS3atP,ymustalsobeinstateS3atP.Denitely,areference betweenpandp2,thenbyassumption3.1andproperty4.2(b)xisintrt,and henceinstates2,atp2. thenxisinstates2atp2.otherwise,ifthereferencefromytoxhasbeendeleted Case2:ThereferencefromytoxisnotpresentatP. tion3.1,thelogfortheabovedeletionmusthavebeenanalyzedbetweenp0and ThereferencefromytoxhasbeendeletedbetweenP0andP.BecauseofAssump- 16

17 TheaboveimpliesthatxmustbeinstateS2atP2.Provedbycontradiction.2 Property4.2(b),xmustbeinTRT,andhenceinstateS2,atP. P.P0occuredafterP1becauseTcouldnothavebeenactiveatP1.Therefore,by transactionactiveatpcouldhavereadareferencetoit. Proof:SupposesometransactionTisactiveatPandhasreadareferencetosome Lemma5.2IfanobjectisinstateS3ataninstantPbetweenP2andP4,thenno byt.also,letp0betheinstantwhentreadstherstobjectythathasareferenceto x.denitely,areferencetoywasreadbytbeforethereferencetox.recallthatx objectthatisinstates3atp.letxbetherstsuchobjecttowhichareferenceisread P.ButitwaspresentatP0. instates3atp.sincexisinstates3atp,thereferencefromytoxisnotpresentat wastherstobjectinstates3areferencetowhichwasreadbyt.therefore,yisnot P0occuredafterP1becauseTcouldnothavebeenactiveatP1.Therefore,byProperty4.2(b),xmustbeinTRTatP,andthereforecannotbeinstateS3atP.Proved ThereferencefromytoxhasbeendeletedbetweenP0andP.BecauseofAssumption3.1,thelogfortheabovedeletionmusthavebeenanalyzedbetweenP0andP. bycontradiction.2 Lemma5.3IfanobjectvisinRRTbutisnotinTRTatP2,then(a)noreference tovisupdated(insertedordeleted)betweenp0andp1;and(b)allreferencestovthat Proof:NologcorrespondingtoanupdateofareferencetovthatoccursbeforeP1is redtraversal. existbetweenp0andp1areaccountedinthetotalreferencecountsofvcachedduring endbeforep2.therefore,byassumption3.2,thelogmustbeanalyzedbeforep2.but then,byproperty4.2(b),vwouldbeintrtatp2 acontradiction. analyzedafterp0.thisisbecausethetransactionthatisresponsiblefortheupdatemust andp1,considertheinstantwhenthelogforthereferenceupdateisanalyzed.asshown above,thismustoccurbeforep0.butthen,becausethetransactionisactiveatpby Property4.2(a)visinTRTatP,andthereforeisinTRTatP2byProperty4.2(b),a SupposeanupdateofsomereferencetovtakesplaceatsomeinstantPbetweenP0 oftheunaccountedreferenceisanalyzedatsomeinstantafterp0,acontradiction.the contradiction.thisprovespart(a)ofthelemma. countsofvatp0.thisisbecauseotherwiseitmustbethatthelogfortheinsertion totalreferencecountsforvmusthaveremainedunchangedbetweenp0andtheinstant AllreferencestovthatexistbetweenP0andP1areaccountedinthetotalreference whentheyarecachedduringtheredtraversal,againbecauseofthefactthatnologis 2analyzedintheinterimthatcancausethechange.Thisimpliespart(b)ofthelemma. 17

18 Lemma5.4IfanobjectinRRTisinstateS1atP2,thenitisreachablefromsome inrrtatp0.now,considertheinstantpwhentherstpathtoxfromsomeobjectnot Proof:SupposethatanobjectxinstateS1atP2isnotreachablefromanyobjectnot objectnotinrrtatp0. inrrtwascreated.lettheinsertionofthereferencefromobjectytoobjectzthatisin beinstates2atp2byassumption3.1andproperty4.2(b),whichisacontradiction. entirelyofobjectsinrrt.thispathremainsintacttillp2becauseotherwisexwould RRTberesponsibleforthesame.Then,atP,thereexistsapathfromztoxconsisting endbeforep2andthereforebecauseofassumption3.2andproperty4.2,zwouldbein startedafterp1. TRTatP2.ButthenxwouldbeinstateS2atP2leadingtoacontradiction.Thus,T IfthetransactionTthatmadetheaboveinsertionexistedbeforeP1,thenitwould havereadareferencetoz.butsincezisunreachablefromanyobjectnotinrrtor fromanyobjectintrtatp0,itmustbeinstates3atp0.butthen,bylemma5.1,z (andhencex)mustbeinstates2atp2,leadingtoacontradiction.2 ThisimpliesthatPoccuredafterP1.AtsomeinstantP0betweenP1andP,Tmust garbagecollection. Lemma5.5IfanobjectinRRTisinstateS3atsomeinstantPbetweenP2andP4, Thefollowingresultstatestherestrictionsonthestatetransitionofobjectsduring atransitiontosomeotherstateimmediatelyafterp. Proof:SupposethatanobjectxinstateS3atsomeinstantPbetweenP2andP4makes thenitremainsinstates3betweenpandp4. ofstates3,noobjectinaliesoutsiderrt.moreover,atpnoobjectinaisreachable xwouldalsobereachablefromthisobjectatpandthereforenotbeinstates3.this fromanobjectoutsiderrtorfromanobjectinrrtthatisalsointrt otherwise LetthesetAcontainalltheobjectsfromwhomxisreachableatP.Bydenition impliesthatallobjectsinaareinstates3atp. A;theinstantPcorrespondstotheoccurenceoftheupdateitself,ortheanalysisof thelogfortheupdate whicheverisearlier.thetransactiontthatisresponsiblefor theupdatemusthaveobtainedareferencetoybeforeitisabletomaketheupdateor Thetransitionofstatemustbeduetoanupdateofareferencetosomeobjectyin yisinstates3atpasshownabove.provedbycontradiction.2 P.BecauseofAssumption3.2,TisactiveatP.ButthiscontradictsLemma5.2because generatealogforthesame.inotherwords,tmusthaveobtainedareferencetoybefore Lemma5.6AtP4,anobjectinRRTisrediitisinstateS3. Next,weproveaninvariantofthealgorithm. 18

19 ByLemma5.5,xisnotinstateS3atP2. Proof:(Onlyif)SupposethatatP4,anobjectxinRRTisredandisnotinstateS3. intrtaregreen.twocasesarepossible. leadingtoterminationofthefor-loop.atp,therefore,allobjectsinrrtthatarealso ConsidertheinstantPwhentheconditioninthestatementL1evaluatestofalse Case1:xisinstateS1atP2. Then,byLemma5.4,itisreachablefromsomeobjectnotinRRTatP0.Letthe butvisinrrt.now,twosubcasesarepossible. Case1.1:ThepathfromutoxisintactbetweenP0andP. referencefromobjectutoobjectvbealongthepathsuchthatuisnotinrrt accountedintheredreferencecountsofv.thus,thecachedtotalreference accountedintheredreferencecountsofvareaccountedinthecachedtotal referencecountsofv.sinceuisnotinrrt,thereferencefromutovisnot ByLemma5.3(b),thereferencefromutovaswellasthereferencesthatare countsofvarestrictlygreaterthantheredreferencecountsofv. SincevisinRRTbutnotinTRT,statementL0willbeexecutedforv.For andisintactatthispoint,xwillbecolouredgreen(ifnotalreadyso). beinvokedonv.sincethepathfromvtoxconsistsofonlyobjectsinrrt thereasonsstatedabove,theconditionwillbesatisedandgreentraversewill Case1.2:ThepathfromutoxisbrokenbetweenP0andP. (ymightbethesameasx).beingintrt,ymustbegreenatp.butsincethe thepathisdeletedbetweenp0andp,butthepathfromytoxisintactatp pathfromytoxisintactbetweenp0andp,theinvocationofgreentraverse ConsidertheobjectyalongthepathatP0suchthatthereferencetoyalong Case2:xisinstateS2atP2. Thatis,atP2thereexistedapath,consistingonlyofobjectsinRRT,toxfrom thatcolouredygreenmustalsohavecolouredxgreen(ifnotalreadyso). someobjectinrrtthatisalsointrt.thepathcouldhavebrokenbetweenp2 andp.therestoftheproofissimilartocase1.2above.considertheobjecty alongthepathatp2suchthatthereferencetoyalongthepathisdeletedbetween P2andP,butthepathfromytoxisintactatP(ymightbethesameasx). BeinginTRT,ymustbegreenatP.Butsincethepathfromytoxisintact TheaboveimpliesthatxisgreenatP,andthereforeatP4 acontradiction.this betweenp2andp,theinvocationofgreentraversethatcolouredygreenmustalso provesthatxmustbeinstates3atp4.2 havecolouredxgreen(ifnotalreadyso). colouringgreensomeobjectythatisinstates3atp4. Proof:(If)Supposethatagreentraversalinvokedatsomeobjectxwasresponsiblefor 19

20 atp4 otherwiseywouldbeinstates2atp4byassumption3.1andproperty4.2(b). atthetimeoftheinvocation. Therefore,xmustalsobeinstateS3atP4.Inparticular,xcouldnothavebeeninTRT Thepathfromxtoythatexistedatthetimeofthegreentraversalmustbeintact conditioninstatementl0musthaveevaluatedtotruewhenitwasexecutedforx.that forx.thiscanonlyoccurifareferencefromsomeobjectztoxthatexisted(asper is,theredreferencecountsforxarestrictlylessthanthecachedtotalreferencecounts Butthen,theonlywaygreentraversalcouldhavebeeninvokedonxisthatthe thecachedtotalreferencecountsofx,bylemma5.3(b))betweenp0andp1wasnot traversedintheredtraversalandthereforeisnotaccountedintheredreferencecounts ofxḃylemma5.3(a),noupdateofanyreferencetoxtakesplacebetweenp0andp1. ThisimpliesthatthereferencefromztoxexistedatP0.Moreover,thisreferencecould nothavebeendeletedbetweenp0andp4,otherwisebyassumption3.1andproperty4.2 xwouldbeintrtatp4,acontradiction.thisfurtherimpliesthatzmustbeinrrt, otherwisexwouldnotbeins3atp4. thereferencefromztoxexistedatp0anditdidnotgetdeletedbetweenp0andp1. Butthen,thereferencewouldhavebeenaccountedintheredreferencecountsofv a contradiction.2 Now,weknowthatzwasvisitedbytheredtraversalbetweenP0andP1.Also, Theorem5.7(Safety)OnlygarbageobjectsarecollectedbyCollectGarbage. Theresultsstatedaboveareputtogetherintheformofthefollowingtheorem. Proof:AtP4,allredobjectsareinstateS3byLemma5.6.BydenitionofthestateS3, theseobjectsarenotreachablefrom(a)anyobjectnotinrrt.thisimpliesthatthey arenotreachablefromthepersistentroot(whichisneverinrrtbyproperty4.1)or fromanyobjectintrtnotinrrt;(b)anyobjectintrtthatisinrrt.therefore, theseobjectareneitherreachablefromthepersistentrootnorfromanyobjectintrt. ByLemma5.2,noreferencetoanyoftheseobjectshasbeenreadbyanytransaction activeatp4. Thisimplies,bydenition,thatallobjectsthatareredatP4aregarbage.Sinceonly AllobjectsfromwhichanobjectinstateS3isreachableatP4areinstateS3atP4. theseobjectsarecollectedbycollectgarbage,thetheoremisproved.2 Forthis,wefurtherneedthefollowingresults. Lemma5.8AcycleofstrongreferencescanexistonlybetweenP2andP5. Next,weprovethatTCRCiscomplete thatis,itcollectsallgarbageeventually. Proof:CollectGarbagechangesthereferencestrengthsonlybetweenP2andP5.Transactionscanonlydeletestrongreferences theyneverchangepointerstrengthsorinsert 20

21 strongpointers.weassumethatthereexistnocyclesofstrongreferenceswhentheobjectsareloaded.therefore,itissucienttoprovethatifthereexistnocyclesofstrong P5.SincetherearenocyclesofstrongreferencesatP2,wecannothaveacycleofstrong referencesatp2thenthereexistnocyclesofstrongreferencesatp5. referencesthatdoesnotcontainanobjectinrrtatp5. OnlythestrengthsofreferencesfromobjectsinRRTarechangedbetweenP2and xtoyaremadeweakduringthetraversal.thus,atp5thereexistnocyclesofstrong beforeitbacktrackedfromy.then,allreferencesfromytoxaremadestrongandfrom referencescontainingonlygreenobjects. Considertwogreenobjectsxandysuchthatthegreentraversalbacktrackedfromx RRTweak.ThisfurtherguaranteesthatthereexistnocyclesofstrongreferencesatP5 musthaveredobjects. ButallredobjectsatP4arecollectedasgarbagebeforeP5.Thisprovesthatthere Also,thegreentraversalmakesallreferencesfromgreenobjectstoobjectsnotin existnocyclescontainingstrongreferencesatp5.2 AsuchthatanobjectcomesafterallobjectsthathaveastrongreferencetoitatP0. Proof:LetAbethesetofallgarbageobjectsatP0.Wexanorderontheobjectsin Lemma5.9IfanobjectisgarbageP0thenitisinstateS3atP4. ThisispossiblebecausebyLemma5.8,cyclesofstrongreferencescannotexistatP0. Thereafter,itputsanobjectinRRTifitisnotinTRTandallobjectswhichhavestrong referencestothisobjectareinrrt. RecallthatredtraversalputsinRRTallobjectsinWRTthatarenotinTRT. Case1:TheredonotexistanystrongreferencestoxatP0.ButthenxisinWRT betwocasespossible. LetxbetherstobjectintheaboveorderingthatisnotinRRTatP2.Therecan atp0andnotintrtbecauseitisgarbage.beinggarbage,itremainsthatway Case2:ThereexiststrongreferencestoxatP0.SincexisgarbageatP0,allobjects invokedonit.thus,itmustbeincludedinrrt. duringthecourseoftheredtraversal,andthereforeredtraversemustbehavebeen thathaveastrongreferencetoxmustbegarbageatp0.butthen,theymustbe ina,andmustoccurbeforexintheordering.bythechoiceofx,alltheseobjects TheaboveimpliesthatxmustbeinRRTatP2 acontradiction.thisprovesthatall mustbeinrrtatp2.also,xisnotintrtbecauseitisgarbage.therefore,it objectsinaareinrrtatp2.further,noneoftheseobjects(whicharegarbageatp0) mustbeincludedinrrtduringtheredtraversal. arereachablefromobjectsnotinrrtatp2(whichareliveatp0).moreover,noneof 21

22 theseobjects,beinggarbagealsoatp2,arereachablefromobjectsthatareintrtat P2.Puttingtheabovetogether,weseethatallobjectsinAareinstateS3atP2. lemma.2 Theorem5.10(Completeness)AllgarbageobjectsareeventuallycollectedbyCollectGarbage. Proof:ByLemma5.9andLemma5.6,agarbageobjectwillbecolouredredatP4in therstcollectgarbageinvokedafteritbecamegarbageandthereforewillbecollected. 2Theorem5.11(BoundedWork) concurrentlyexecutingupdatetransactions,wrtwillbeemptyatp5. Proof:Sincetherearenotransactionupdatesexecutingconcurrentlywiththegarbage IfTRTisemptyatP0theninabsenceofany Butthen,byLemma5.5,allobjectsinAmustbeinstateS3atP4.Thisprovesthe lection. collection,thestrengthofallreferencesremainssameduringthecourseofgarbagecol- traversal.sincethisstrongreferenceisnottraversedbyduringthegreentraversal,it someobjectnotinrrt otherwisexwouldhavebeenincludedinrrtduringred referencefromsomeobjectinrrt,thenxmusthaveatleastonestrongreferencefrom First,weconsiderobjectsnotinRRT.IfanobjectxnotinRRTthathasastrong inrrtisnotinwrtatp5. isnevermadeweakbythegarbagecollector.further,sinceonlyobjectsinrrtget deleted,thereferencenevergetsdeletedeither.thisimpliesthatanyobjectthatisnot onestrongreferencetothemfromothergreenobjectsatp4. Thus,allgreenobjectsexcepttheonesonwhichthetraversalisinvokedhaveatleast traversedobjecttoasyetuntraversedobjectsinrrtstrongbeforetraversingthelatter. WeconsidertheobjectsinRRTnext.Thegreentraversalmakesthereferencesfroma traversalonit,thereferencestoitfromobjectsnotinrrtbecomestrong.because whenthestrengthsofreferencestoanobjectareinvertedbeforeinvocationofgreen referencesfromoutsiderrt.byconstruction,allthesereferencesareweak.therefore, BecausenoobjectisinTRT,greentraversalisstartedonlyonobjectswhichhave thesereferencesarenevertraversedduringthegreentraversal,theyarestrongatp4. collected,resultingindeletionofreferencesfromredobjectstogreenobjects.butfrom theresultsprovedabove,thesereferencedeletionscannotputanygreenobjectintowrt. greenobjectorfromanobjectnotinrrtatp4.betweenp4andp5,redobjectsare Summarizing,everygreenobjecthasatleastonestrongreferencetoitfromanother Thus,nogreenobjectisinWRTatP5. alltheobjectsbecausetheredonotexistanyredobjectsatp5.thus,itisprovedthat noobjectisinwrtatp5inabsenceoftransactionupdates.2 Thus,nogreenobjectorobjectnotinRRTisinWRTatP5.Butthisaccountsfor 22

23 latterinvocation;andthereforebylemma5.11thewrtwillbeemptyattheendof thesecondinvocation. CollectGarbagetotheendofthenext,thenTRTwillbeemptyatthebeginningofthe Inparticular,ifnoupdatetransactionsexistfromthebeginningofoneinvocationof WenowseehowtouseinformationfromthedatabaseschematooptimizeTCRC.The schemagraphisadirectedgraphinwhichthethenodesaretheclassesintheschema. 6 UsingtheSchemaGraph forthepointersbetweentheactualinstancesoftheobjects. AnedgefromnodeitonodejintheschemagraphdenotesthatClassihasanattribute graphisnotinvolvedinacycle,thenneithercananedgeeintheobjectgraphforwhich Eisthetemplate. thatisareferencetoclassj.thepointersintheschemagraphthusformatemplate Welabeledgeswhicharenotpartofacycleintheschemagraphasacyclicand IfanedgeEinaschema templateedgeintheschemagraphisacyclic,thestrengthofeissettobestrong.during garbagecollection,inredtraverse,wedonotfollowstrongedgeswhosetemplateedgeis theothersascyclic.whenaddinganedgeetotheobjectgraph,ifitscorresponding andtcrcbehavesjustlikereferencecounting,reducingthecostsignicantly. acyclic.intheextremecasewheretheschemagraphisacyclic,noedgesaretraversed, 7Inthissection,weoutlinethesetofassumptionsrequiredforouralgorithmtowork correctlyinadatashippingclientserverenvironment. ExtensiontoaClientServerEnvironment Assumption7.1Thetransactionsrunonlyattheclients.Theservercandetermine actionsrunningatanyclientalwaysseethelateststateofthedatabase.2 Assumption7.2Cacheconsistencyisguaranteedamongtheclients.Thatis,thetrans- whattransactionsarearepossiblyactiveattheclientsatanygiveninstant.2 attheserver(wal).2 Assumption7.3Allundorecordsarereceivedtheserverbeforetheupdateisreected Thisallowsustothinkofthetransactionsasrunningonasingleclient. abort(force-logs-at-abortinadditiontoforce-logs-at-commit).2 Assumption7.4Alllogsforatransactionarereceivedattheserverbeforecommitor 23

24 dataafterithasbeensenttotheserver. andwhetherornotdataiscachedattheclient.theclientscanretaincopiesofupdated Toguaranteethatthealgorithmworkscorrectlyintheclient-serversettingwiththe Ourtechniquesarenotaectedbytheunitofdatashipping(suchaspageorobject) aboveassumptions,theonlychangerequiredinthealgorithmisthefollowinggeneralizationofproperty4.2. when(a)thetransactionhasended;(b)allupdatesbythetransactionarereectedat Property7.1TheobjectsinTRTcorrespondingtoatransactionareremovedonly theserver;and(c)garbagecollectionisnotinprogressattheserver.2 Becausethedatabasestateattheserver(wherethegarbagecollectorisrunning)isnot current,itmighthappenthatanobjectmayhaveareferencetosomenewlycreated server.assuch,someextracarehastobetakenduringtraversalsoftheobjectgraph. NotethattheLogAnalyzeraswellastheCollectGarbagealgorithmsarerunatthe objectthatisnotyetpresentattheserver.suchadanglingreferenceissimplyignored duringthetraversals. referthereaderto[rss+98]foraproof. Wecanprovethecorrectnessofthealgorithmintheclientserversettingalsoand algorithmonanobjectmanagercalledbrahmadevelopedatiitbombay.brahma WeimplementedtheTCRCalgorithmandthePartitionedMarkandSweep(PMS) 8 PerformanceEvaluation supportsconcurrenttransactionsandhasacompleteimplementationofthearies recoveryalgorithm.itprovidesextendiblehashindicesaswellasb+-treeindicesas thetid(toalloweasydeletionofallentriesofatransaction). additionalaccessmechanisms. ontheoidwhilethetrtisanin-memoryhashtableindexedseparatelyontheoidand TheWRTisimplementedasanoptionallypersistentextendiblehashtableindexed onlypersistentstructuresrequiredbypmsareoneincomingreferencelist(irl)per SRefCandWRefCarestoredinanoptionallypersistenton-diskhashtable.The partitionwhichismaintainedasapersistentb+-tree. Thereferencecounts Inparticular,weworkedonthestandardsmall-9datasetinOO7whichwasalsoused in[yny94]fortheirsimulationstudy.theoo7parametersandtheirvaluesforthis datasetaregivenintable1andareexplainedbelow.figure4illustratestheoo7 OurperformancestudyinthissectionisbasedonthestandardOO7benchmark[CDN93]. Eachmoduleconsistsofatreeofobjectscalledassemblies.Thetreeisacompletetree benchmark. withafanoutofnumassmperassmandhasnumassmlevelslevels.thelast TheOO7datasetiscomposedofanumberofmodules,speciedbyNUMMODULES. 24

25 Module i id type builddate manual design_root Manual text complex assemblies base assemblies N Design Library of Composite Parts Figure4:TheOO7Benchmark 25

Averiedmodelcheckerforthemodal -calculusincoq SwissFederalInstituteofTechnology,Lausanne,Switzerland ComputerNetworkingLaboratory, sprenger@di.epfl.ch ChristophSprenger Abstract.Wereportontheformalisationandcorrectnessproofofa

More information

Patterns in. Lecture 2 GoF Design Patterns Creational. Sharif University of Technology. Department of Computer Engineering

Patterns in. Lecture 2 GoF Design Patterns Creational. Sharif University of Technology. Department of Computer Engineering Patterns in Software Engineering Lecturer: Raman Ramsin Lecture 2 GoF Design Patterns Creational 1 GoF Design Patterns Principles Emphasis on flexibility and reuse through decoupling of classes. The underlying

More information

Library Intro AC800M

Library Intro AC800M Library Intro AC800M Connecting Libraries Standard Custom Prepare Connect Application Library Data Types Blocks Modules Library Intro AC800M Connecting Libraries Standard Custom Prepare Connect Application

More information

DESIGNINGCRYPTOGRAPHICPOSTAGEINDICIA. NevinHEINTZE BellLaboratories 600MountainAve,MurrayHillNJ07974,USA

DESIGNINGCRYPTOGRAPHICPOSTAGEINDICIA. NevinHEINTZE BellLaboratories 600MountainAve,MurrayHillNJ07974,USA DESIGNINGCRYPTOGRAPHICPOSTAGEINDICIA UniversityofCalifornia,SanDiego BennetYEE ComputerScienceDept,5000ForbesAve,PittsburghPA15213,USA J.D.TYGAR DeptofCompSciandEng,0114,LaJolla,CA92093,USA CarnegieMellonUniversity

More information

COMMUTATIVE RINGS. Definition: A domain is a commutative ring R that satisfies the cancellation law for multiplication:

COMMUTATIVE RINGS. Definition: A domain is a commutative ring R that satisfies the cancellation law for multiplication: COMMUTATIVE RINGS Definition: A commutative ring R is a set with two operations, addition and multiplication, such that: (i) R is an abelian group under addition; (ii) ab = ba for all a, b R (commutative

More information

Microsoft Outlook 2013

Microsoft Outlook 2013 Microsoft Outlook 2013 1. Get started with Outlook 2013 Identifying new features of Outlook 2013 Connecting to email accounts Troubleshooting connection problems Connecting to Exchange accounts Connecting

More information

Chapter 12. Development Tools for Microcontroller Applications

Chapter 12. Development Tools for Microcontroller Applications Chapter 12 Development Tools for Microcontroller Applications Lesson 01 Software Development Process and Development Tools Step 1: Development Phases Analysis Design Implementation Phase 1 Phase 2 Phase

More information

All of my instructors showed a true compassion for teaching. This passion helped students enjoy every class. Amanda

All of my instructors showed a true compassion for teaching. This passion helped students enjoy every class. Amanda F 228 D O z F/ Fx L / H V L I & P G G F Q, z,, B, z -, q k k k FUN F x 20% 02 F 9185957834 I P G j P, E, j, k,, ; I I G F Ex 2011 H B H 2011-2012 F H E U F P G I G L L 228 D & 228 k B P 04 F 9185957834

More information

Persistent Binary Search Trees

Persistent Binary Search Trees Persistent Binary Search Trees Datastructures, UvA. May 30, 2008 0440949, Andreas van Cranenburgh Abstract A persistent binary tree allows access to all previous versions of the tree. This paper presents

More information

Client Overview. Engagement Situation. Key Requirements

Client Overview. Engagement Situation. Key Requirements Client Overview Our client is one of the leading providers of business intelligence systems for customers especially in BFSI space that needs intensive data analysis of huge amounts of data for their decision

More information

ITG Software Engineering

ITG Software Engineering IBM WebSphere Administration 8.5 Course ID: Page 1 Last Updated 12/15/2014 WebSphere Administration 8.5 Course Overview: This 5 Day course will cover the administration and configuration of WebSphere 8.5.

More information

How To Protect Your Firewall From Attack From A Malicious Computer Or Network Device

How To Protect Your Firewall From Attack From A Malicious Computer Or Network Device Ch.9 Firewalls and Intrusion Prevention Systems Firewalls: effective means of protecting LANs Internet connectivity is essential for every organization and individuals introduces threats from the Internet

More information

FloatingpointvericationinHOLLight:theexponentialfunction 1 Floatingpointverication theexponentialfunction inhollight: UniversityofCambridge JohnHarrison Introduction Floatingpointcorrectness Ourimplementationlanguage

More information

1. License. Copyright 2016 gamedna studio. All rights reserved.

1. License. Copyright 2016 gamedna studio. All rights reserved. Contents 1. License... 3 2. Introduction... 4 3. Getting started... 5 4. Recording events in Blueprints... 6 5. Supported Analytics Provider Nodes... 8 6. Recording events in C++... 9 1. License Copyright

More information

Magento ecommerce System Health Check Package

Magento ecommerce System Health Check Package Magento ecommerce System Health Check Package Ecommerce. By Design. CODE QUALITY Health Check and Benefits We have been working with Magento Stores since the initial platform launch in 2008. We understand

More information

NSI XML Retail Accounting Report Consuming Application 1.0 Conformance Statement

NSI XML Retail Accounting Report Consuming Application 1.0 Conformance Statement NSI XML Retail Accounting Report Consuming Application 1.0 Conformance Statement Note to submitter: This form contains a series of questions that need to be answered. Please complete ALL the fields in

More information

CARS: Agency Standard Reports. Mark Ross and Bryan Erwin August 13, 2014

CARS: Agency Standard Reports. Mark Ross and Bryan Erwin August 13, 2014 CARS: Agency Standard Reports Mark Ross and Bryan Erwin August 13, 2014 Agency Standard Reporting - ASR Agency Standard Reporting (ASR) is a new module in the Central Accounting Reporting System (CARS).

More information

How To Develop Software For Cms Tracker Sub Structure Tests

How To Develop Software For Cms Tracker Sub Structure Tests Proposal for steps to be taken in the software development for CMS tracker sub structure tests W. Beaumont (Antwerpen) V.Zhukov (Karlsruhe) software is important The software has a big influence on the

More information

Module 4 Creation and Management of Databases Using CDS/ISIS

Module 4 Creation and Management of Databases Using CDS/ISIS Module 4 Creation and Management of Databases Using CDS/ISIS Lesson 1 Introduction to Concepts of Database Design UNESCO EIPICT Module 4. Lesson 1 1 Rationale Keeping up with library automation technology

More information

Chapter 6: distributed systems

Chapter 6: distributed systems Chapter 6: distributed systems Strongly related to communication between processes is the issue of how processes in distributed systems synchronize. Synchronization is all about doing the right thing at

More information

Computer Engineering - Computing Technology - Master's Degree Programme - 5 year

Computer Engineering - Computing Technology - Master's Degree Programme - 5 year Computer Engineering - Computing Technology - Master's Degree Programme - 5 year Credits: 300 credits Grade name: Master i teknologi / sivilingeniør Full-time/Part-time: Full-time Lower cycle degree: Yes

More information

INDUSTRY REPORT ON AIRBAG INDUSTRY

INDUSTRY REPORT ON AIRBAG INDUSTRY INDUSTRY REPORT ON AIRBAG INDUSTRY AIRBAG MARKET GROWTH DRIVERS: Key drivers for airbags industry are: Federal regulation-first and foremost Public awareness General increase in concerns for safety Development

More information

Quality Management using Key Performance Indicators at MTU Aero Engines

Quality Management using Key Performance Indicators at MTU Aero Engines Quality Management using Key Performance Indicators at MTU Aero Engines Egon Behle, CEO, MTU Aero Engines IAQG General Assembly, 16 October 2009 MTU and its business model OEM business MRO business Commercial

More information

AClassofLinearAlgorithmstoProcessSetsofSegments GonzaloNavarroRicardoBaeza-Yates DepartmentofComputerScience fgnavarro,rbaezag@dcc.uchile.cl BlancoEncalada2120 UniversityofChile Santiago-Chile currentsolutionstooperatesegmentsfocusonsingleoperations(e.g.insertionorsearching),

More information

Computer Security: Principles and Practice

Computer Security: Principles and Practice Computer Security: Principles and Practice Chapter 9 Firewalls and Intrusion Prevention Systems First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Firewalls and Intrusion

More information

GREATEST COMMON DIVISOR

GREATEST COMMON DIVISOR DEFINITION: GREATEST COMMON DIVISOR The greatest common divisor (gcd) of a and b, denoted by (a, b), is the largest common divisor of integers a and b. THEOREM: If a and b are nonzero integers, then their

More information

Open Access Design of a Python-based Wireless Network Optimization and Testing System

Open Access Design of a Python-based Wireless Network Optimization and Testing System Send Orders for Reprints to reprints@benthamscience.ae The Open Automation and Control Systems Journal, 2015, 7, 353-357 353 Open Access Design of a Python-based Wireless Network Optimization and Testing

More information

ITIL-CMMII Comparison

ITIL-CMMII Comparison ITIL-CMMII Comparison Today we can see and understand that many IT organizations are striving to improve how they do business throughout the organization. In doing so, many organizations undertake a number

More information

Computer Security DD2395 http://www.csc.kth.se/utbildning/kth/kurser/dd2395/dasakh10/

Computer Security DD2395 http://www.csc.kth.se/utbildning/kth/kurser/dd2395/dasakh10/ Computer Security DD2395 http://www.csc.kth.se/utbildning/kth/kurser/dd2395/dasakh10/ Fall 2010 Sonja Buchegger buc@kth.se Lecture 6, Nov. 10, 2010 Firewalls, Intrusion Prevention, Intrusion Detection

More information

CHAPTER 5. Number Theory. 1. Integers and Division. Discussion

CHAPTER 5. Number Theory. 1. Integers and Division. Discussion CHAPTER 5 Number Theory 1. Integers and Division 1.1. Divisibility. Definition 1.1.1. Given two integers a and b we say a divides b if there is an integer c such that b = ac. If a divides b, we write a

More information

Planning and Scheduling in Manufacturing and Services

Planning and Scheduling in Manufacturing and Services Michael L. Pinedo Planning and Scheduling in Manufacturing and Services Second edition 4y Springer Preface Contents of CD-ROM vii xvii Part I Preliminaries 1 Introduction 3 1.1 Planning and Scheduling:

More information

Smarter Balanced Technology Implementation Readiness v1.1 11 July 2014

Smarter Balanced Technology Implementation Readiness v1.1 11 July 2014 Smarter Balanced Technology Implementation Readiness v1.1 11 July 2014 Release 1.1 Note: The previous version of this document was titled, Smarter Balanced Applications Deployment and Technology Certification

More information

CAD TOOLS FOR VLSI. FLOORPLANNING Page 1 FLOORPLANNING

CAD TOOLS FOR VLSI. FLOORPLANNING Page 1 FLOORPLANNING FLOORPLANNING Page 1 FLOORPLANNING Floorplanning: taking layout information into account at early stages of the design process. BEHAVIORAL D. STRUCTURAL D. Systems Algorithms Processors Register transfers

More information

A Performance Evaluation of Open Source Graph Databases. Robert McColl David Ediger Jason Poovey Dan Campbell David A. Bader

A Performance Evaluation of Open Source Graph Databases. Robert McColl David Ediger Jason Poovey Dan Campbell David A. Bader A Performance Evaluation of Open Source Graph Databases Robert McColl David Ediger Jason Poovey Dan Campbell David A. Bader Overview Motivation Options Evaluation Results Lessons Learned Moving Forward

More information

IPSecuritas 3.x. Configuration Instructions. Collax Business Server. for

IPSecuritas 3.x. Configuration Instructions. Collax Business Server. for IPSecuritas 3.x Configuration Instructions for Lobotomo Software 27. juillet 2010 Legal Disclaimer Contents Lobotomo Software (subsequently called "Author") reserves the right not to be responsible for

More information

Application Decisions: Visa Type/Refusal Reason(s)

Application Decisions: Visa Type/Refusal Reason(s) Application Number Decision 21196342 Approved Business 22132942 Approved Visit (Family / Friend) Visa Type/Refusal Reason(s) 22279082 Refused ID:- Insufficient documentation submitted in support of the

More information

KITES TECHNOLOGY COURSE MODULE (C, C++, DS)

KITES TECHNOLOGY COURSE MODULE (C, C++, DS) KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php info@kitestechnology.com technologykites@gmail.com Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL

More information

IRPhEP Database and Analysis Tool (IDAT)

IRPhEP Database and Analysis Tool (IDAT) IRPhEP Database and Analysis Tool (IDAT) http://www.oecd-nea.org/science/ Ian Hill December 2 th 2011 Outline ICSBEP, IRPhEP (quick reminder) and the Database + Data Analysis Tool ICSBEP + DICE (2 Slides)

More information

FINAL DoIT 11.03.2015 - v.4 PAYMENT CARD INDUSTRY DATA SECURITY STANDARDS APPLICATION DEVELOPMENT AND MAINTENANCE PROCEDURES

FINAL DoIT 11.03.2015 - v.4 PAYMENT CARD INDUSTRY DATA SECURITY STANDARDS APPLICATION DEVELOPMENT AND MAINTENANCE PROCEDURES Purpose: The Department of Information Technology (DoIT) is committed to developing secure applications. DoIT s System Development Methodology (SDM) and Application Development requirements ensure that

More information

High Performance Computing Facility Specifications, Policies and Usage. Supercomputer Project. Bibliotheca Alexandrina

High Performance Computing Facility Specifications, Policies and Usage. Supercomputer Project. Bibliotheca Alexandrina High Performance Computing Facility Specifications, Policies and Usage Supercomputer Project Bibliotheca Alexandrina Bibliotheca Alexandrina 1/16 Topics Specifications Overview Site Policies Intel Compilers

More information

An Open Source eid Simulator Open Identity Summit 9th -11th September 2013

An Open Source eid Simulator Open Identity Summit 9th -11th September 2013 An Open Source eid Simulator Open Identity Summit 9th -11th September 2013 BSI Tobias Senger HJP Consulting Holger Funke Agenda Requirements of BSI Current state Simulator Virtual Smart Card Reader Community

More information

3.03 College Board Advanced Placement Test means the Advanced Placement test administered by the College Board and Educational Testing Service.

3.03 College Board Advanced Placement Test means the Advanced Placement test administered by the College Board and Educational Testing Service. Arkansas Department of Education Rules for Advanced Placement and International Baccalaureate Diploma Incentive Program And Rules Governing Advanced Placement Courses in the Four Core Areas in Arkansas

More information

Campus Interview Survey 2005-2006

Campus Interview Survey 2005-2006 Anthropology, Social Sciences Internship unpaid Marketing Intern WA Arts Internship $12/hour Retail Management Intern WA Biochemistry, Biological & Environmental Science Career Analyst WA Business, Accounting

More information

The Prime Numbers. Definition. A prime number is a positive integer with exactly two positive divisors.

The Prime Numbers. Definition. A prime number is a positive integer with exactly two positive divisors. The Prime Numbers Before starting our study of primes, we record the following important lemma. Recall that integers a, b are said to be relatively prime if gcd(a, b) = 1. Lemma (Euclid s Lemma). If gcd(a,

More information

lubyk lua libraries for live arts Gaspard Bucher (Buma)! artist, musician, coder

lubyk lua libraries for live arts Gaspard Bucher (Buma)! artist, musician, coder lubyk lua libraries for live arts Gaspard Bucher (Buma)! artist, musician, coder lubyk is not a framework Why lubyk? Reuse code from project to project Accelerate development (live coding) Simple APIs

More information

Year-end closing procedures for Microsoft Dynamics GP Payroll

Year-end closing procedures for Microsoft Dynamics GP Payroll Year-end closing procedures for Microsoft Dynamics GP Payroll Summary This document outlines the recommended year-end closing procedures for Microsoft Dynamics GP Payroll. The "More Information" section

More information

Agenda. Understanding of Firewall s definition and Categorization. Understanding of Firewall s Deployment Architectures

Agenda. Understanding of Firewall s definition and Categorization. Understanding of Firewall s Deployment Architectures Firewall Agenda Unit 1 Understanding of Firewall s definition and Categorization Unit 2 Understanding of Firewall s Deployment Architectures Unit 3 Three Representative Firewall Deployment Examples in

More information

Receivables Management Year End Closing Checklists Dynamics GP2015

Receivables Management Year End Closing Checklists Dynamics GP2015 Year End Closing Checklists Dynamics GP2015 Date 29 June 2015 Version 1.0 29 June 2015 Page 1 of 8 Table of Contents Control Year End Closing... 3 What happens when I close the year on Dynamics GP2015?...

More information

ITG Software Engineering

ITG Software Engineering Introduction to Cloudera Course ID: Page 1 Last Updated 12/15/2014 Introduction to Cloudera Course : This 5 day course introduces the student to the Hadoop architecture, file system, and the Hadoop Ecosystem.

More information

Memory Allocation. Static Allocation. Dynamic Allocation. Memory Management. Dynamic Allocation. Dynamic Storage Allocation

Memory Allocation. Static Allocation. Dynamic Allocation. Memory Management. Dynamic Allocation. Dynamic Storage Allocation Dynamic Storage Allocation CS 44 Operating Systems Fall 5 Presented By Vibha Prasad Memory Allocation Static Allocation (fixed in size) Sometimes we create data structures that are fixed and don t need

More information

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping 3.1.1 Constants, variables and data types Understand what is mean by terms data and information Be able to describe the difference

More information

Computational intelligence in intrusion detection systems

Computational intelligence in intrusion detection systems Computational intelligence in intrusion detection systems --- An introduction to an introduction Rick Chang @ TEIL Reference The use of computational intelligence in intrusion detection systems : A review

More information

Research of Sales Contract Management System Based on WEB

Research of Sales Contract Management System Based on WEB Computer and Information Science February, 2009 Research of Sales Contract Management System Based on WEB Hualun Lai Business School Tel:86-21-5527-1343 E-mail: laihl@usst.edu.cn Liangwei Zhong CAD center

More information

How To Integrate Software And Systems

How To Integrate Software And Systems September 25, 2014 EFFECTIVE METHODS FOR SOFTWARE AND SYSTEMS INTEGRATION P R E S E N T E D B Y: D R. B O Y D L. S U M M E R S 1 Software Engineer (Quality) Defense and Space The Boeing Company - Seattle,

More information

6.2 Permutations continued

6.2 Permutations continued 6.2 Permutations continued Theorem A permutation on a finite set A is either a cycle or can be expressed as a product (composition of disjoint cycles. Proof is by (strong induction on the number, r, of

More information

AN ALGORITHM FOR DISK SPACE MANAGEMENT. whose workload consists of queries that retrieve information. These

AN ALGORITHM FOR DISK SPACE MANAGEMENT. whose workload consists of queries that retrieve information. These AN ALGORITHM FOR DISK SPACE MANAGEMENT TO MINIMIZE SEEKS SHAHRAM GHANDEHARIZADEH AND DOUG IERARDI Abstract. The past decade has witnessed a proliferation of repositories whose workload consists of queries

More information

Part I Courses Syllabus

Part I Courses Syllabus Part I Courses Syllabus This document provides detailed information about the basic courses of the MHPC first part activities. The list of courses is the following 1.1 Scientific Programming Environment

More information

INVESTIGATING THE ADMINISTRATIVE BARRIERS OF HUMAN RESOURCES DEVELOPMENT (A CASE STUDY OF RELIEF COMMITTEE OF IMAM KHOMEINI IN TEHRAN PROVINCE)

INVESTIGATING THE ADMINISTRATIVE BARRIERS OF HUMAN RESOURCES DEVELOPMENT (A CASE STUDY OF RELIEF COMMITTEE OF IMAM KHOMEINI IN TEHRAN PROVINCE) INVESTIGATING THE ADMINISTRATIVE BARRIERS OF HUMAN RESOURCES DEVELOPMENT (A CASE STUDY OF RELIEF COMMITTEE OF IMAM KHOMEINI IN TEHRAN PROVINCE) Taher jafare PhD student of human resource management, Shakhes-Pajooh

More information

Java's garbage-collected heap

Java's garbage-collected heap Sponsored by: This story appeared on JavaWorld at http://www.javaworld.com/javaworld/jw-08-1996/jw-08-gc.html Java's garbage-collected heap An introduction to the garbage-collected heap of the Java

More information

ExamView Level 1. Training Workbook. Module 3 Testing on a Local Area Network. at&t Communication Manager.lnk

ExamView Level 1. Training Workbook. Module 3 Testing on a Local Area Network. at&t Communication Manager.lnk at&t Communication Manager.lnk ExamView Level 1 Training Workbook Module 3 Testing on a Local Area Network ExamView Level 1 Training Workbook Contact Information In addition to this training guide and

More information

Symantec Consulting Services

Symantec Consulting Services GET MORE FROM YOUR SECURITY SOLUTIONS Symantec Consulting 2015 Symantec Corporation. All rights reserved. Access outstanding talent and expertise with Symantec Consulting Symantec s Security Consultants

More information

The Statement of Fitness for Work from sick note to fit note

The Statement of Fitness for Work from sick note to fit note The Statement of Fitness for Work from sick note to fit note Background Information From 6 April 2010 the sick note is changing to become a fit note. Sick notes (or Medical Statements) are the forms issued

More information

1. To develop the multidisciplinary skills essential to produce the trained experts in cloud computing and big data required by academia and industry

1. To develop the multidisciplinary skills essential to produce the trained experts in cloud computing and big data required by academia and industry PROGRAMME SPECIFICATION 1 Awarding Institution Newcastle University 2 Teaching Institution Newcastle University 3 Final Award MRes / PGDip 4 Programme Title Cloud Computing for Big Data 5 Programme Code

More information

AGraphDrawingandTranslationServiceon StinaBridgeman,AshimGargandRobertoTamassia DepartmentofComputerScience thewww*

AGraphDrawingandTranslationServiceon StinaBridgeman,AshimGargandRobertoTamassia DepartmentofComputerScience thewww* AGraphDrawingandTranslationServiceon StinaBridgeman,AshimGargandRobertoTamassia DepartmentofComputerScience thewww* Abstract.Bothpractitionersandresearcherscantakebetteradvantageofthelatestdevelopmentsingraphdrawingifimplementationsof

More information

d yn am i c s g p c l i e n t u se r g u i d e Version 4.6.5x

d yn am i c s g p c l i e n t u se r g u i d e Version 4.6.5x d yn am i c s g p c l i e n t u se r g u i d e Version 4.6.5x INTRODUCTION KwikTag document imaging software transforms your business documents into digital images. It works the way you work, without complicated

More information

Applications to Computational Financial and GPU Computing. May 16th. Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61

Applications to Computational Financial and GPU Computing. May 16th. Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61 F# Applications to Computational Financial and GPU Computing May 16th Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61 Today! Why care about F#? Just another fashion?! Three success stories! How Alea.cuBase

More information

A hypervisor approach with real-time support to the MIPS M5150 processor

A hypervisor approach with real-time support to the MIPS M5150 processor ISQED Wednesday March 4, 2015 Session 5B A hypervisor approach with real-time support to the MIPS M5150 processor Authors: Samir Zampiva (samir.zampiva@acad.pucrs.br) Carlos Moratelli (carlos.moratelli@pucrs.br)

More information

Robotics Engineering. Ohio Academic Content Standards Grade. Lesson Summary:

Robotics Engineering. Ohio Academic Content Standards Grade. Lesson Summary: Robotics Engineering Lesson Summary: The field of robotics engineering is a sub field of mechanical engineering. Robotics engineers design robots and develop new applications for them for use in a wide

More information

CS 103X: Discrete Structures Homework Assignment 3 Solutions

CS 103X: Discrete Structures Homework Assignment 3 Solutions CS 103X: Discrete Structures Homework Assignment 3 s Exercise 1 (20 points). On well-ordering and induction: (a) Prove the induction principle from the well-ordering principle. (b) Prove the well-ordering

More information

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or

More information

Big Data. White Paper. Big Data Executive Overview WP-BD-10312014-01. Jafar Shunnar & Dan Raver. Page 1 Last Updated 11-10-2014

Big Data. White Paper. Big Data Executive Overview WP-BD-10312014-01. Jafar Shunnar & Dan Raver. Page 1 Last Updated 11-10-2014 White Paper Big Data Executive Overview WP-BD-10312014-01 By Jafar Shunnar & Dan Raver Page 1 Last Updated 11-10-2014 Table of Contents Section 01 Big Data Facts Page 3-4 Section 02 What is Big Data? Page

More information

IBM WebSphere E i r c c V e V r e b r ee e k

IBM WebSphere E i r c c V e V r e b r ee e k IBM WebSphere Eric Verbeek Goals SCA Monitor / Department of Mathematics and Computer Science 3-4-2009 PAGE 1 Thanks Maurits André IBM Amsterdam Peter Leijten Master Student Student SOA Lab / Department

More information

Robust Data Sharing with Key-Value Stores

Robust Data Sharing with Key-Value Stores Robust Data Sharing with Key-Value Stores Cristina Băsescu, Christian Cachin, Ittay Eyal, Robert Haas, Alessandro Sorniotti, Marko Vukolić, and Ido Zachevsky Vrije Universiteit Amsterdam, Amsterdam, The

More information

Learning Objective 1. The Impact of Information Technology on the Audit Process. Describe how IT improves internal control.

Learning Objective 1. The Impact of Information Technology on the Audit Process. Describe how IT improves internal control. Learning Objective 1 The Impact of Information Technology on the Audit Process Describe how IT improves internal control. Chapter 12 12-1 12-2 How Information Technologies Enhance Internal Control Learning

More information

NAUTI FLY 75 AUTOMATIC 0,75m Ka band Trolley

NAUTI FLY 75 AUTOMATIC 0,75m Ka band Trolley 0,75m Ka band Trolley NAUTIFLY 75 is an automatic pointing flyaway antenna for satellite communications in Ka-band, easily transportable because contained in a small suitcase. NAUTIFLY 75 can be assembled

More information

ON GALOIS REALIZATIONS OF THE 2-COVERABLE SYMMETRIC AND ALTERNATING GROUPS

ON GALOIS REALIZATIONS OF THE 2-COVERABLE SYMMETRIC AND ALTERNATING GROUPS ON GALOIS REALIZATIONS OF THE 2-COVERABLE SYMMETRIC AND ALTERNATING GROUPS DANIEL RABAYEV AND JACK SONN Abstract. Let f(x) be a monic polynomial in Z[x] with no rational roots but with roots in Q p for

More information

Creo Illustrate 3.0. Curriculum Guide

Creo Illustrate 3.0. Curriculum Guide Creo Illustrate 3.0 Curriculum Guide Live Classroom Curriculum Guide Introduction to Creo Illustrate 3.0 Introduction to Creo Illustrate 3.0 Overview Course Code Course Length TRN-4415-T 1 Day In this

More information

Business Portal for Microsoft Dynamics GP 2010. Human Resources Management Self Service Suite Canadian Release

Business Portal for Microsoft Dynamics GP 2010. Human Resources Management Self Service Suite Canadian Release Business Portal for Microsoft Dynamics GP 2010 Human Resources Management Self Service Suite Canadian Release Copyright Copyright 2010 Microsoft. All rights reserved. Limitation of liability This document

More information

2006 07 PETITION/PROGRAM SHEET Degree: Bachelor of Science Major: Computer Science www.mesastate.edu/schools/snsm/csms

2006 07 PETITION/PROGRAM SHEET Degree: Bachelor of Science Major: Computer Science www.mesastate.edu/schools/snsm/csms 06 07 PETITION/PROGRAM SHEET Degree: Bachelor of Science Major: Computer Science www.mesastate.edu/schools/snsm/csms About This Major... Computer science is the study of algorithms and the issues involved

More information

Business Ready Licensing for Existing Microsoft Dynamics Clients

Business Ready Licensing for Existing Microsoft Dynamics Clients Business Ready Licensing for Existing Microsoft Dynamics Clients Agenda Definition Value of Business Ready Licensing (BRL) Two Customer Examples Next Steps What is Business Ready Licensing? Business Ready

More information

Linux Block I/O Scheduling. Aaron Carroll aaronc@gelato.unsw.edu.au December 22, 2007

Linux Block I/O Scheduling. Aaron Carroll aaronc@gelato.unsw.edu.au December 22, 2007 Linux Block I/O Scheduling Aaron Carroll aaronc@gelato.unsw.edu.au December 22, 2007 As of version 2.6.24, the mainline Linux tree provides four block I/O schedulers: Noop, Deadline, Anticipatory (AS)

More information

SoMA. Automated testing system of camera algorithms. Sofica Ltd

SoMA. Automated testing system of camera algorithms. Sofica Ltd SoMA Automated testing system of camera algorithms Sofica Ltd February 2012 2 Table of Contents Automated Testing for Camera Algorithms 3 Camera Algorithms 3 Automated Test 4 Testing 6 API Testing 6 Functional

More information

Armanino LLP Welcomes You To Today s Webinar: GP Tips and Tricks: Using Credit Cards in GP

Armanino LLP Welcomes You To Today s Webinar: GP Tips and Tricks: Using Credit Cards in GP Armanino LLP Welcomes You To Today s Webinar: GP Tips and Tricks: Using Credit Cards in GP The presentation will begin in a few moments Participants will receive an email within 48 hours with a link to

More information

Course Outline: Course 20489B: Developing Microsoft SharePoint Server 2013 Advanced Solutions

Course Outline: Course 20489B: Developing Microsoft SharePoint Server 2013 Advanced Solutions Course Outline: Course 20489B: Developing Microsoft SharePoint Server 2013 Advanced Learning Method: Instructor-led Classroom Learning Duration: 5.00 Day(s)/ 40 hrs Overview: This course provides SharePoint

More information

Fountas & Pinnell Online Data Management System for Benchmark Assessment System. Assessments

Fountas & Pinnell Online Data Management System for Benchmark Assessment System. Assessments Fountas & Pinnell Online Data Management System for Benchmark Assessment System Assessments Navigation Adding/Editing/Deleting Assessments Adding/Editing/Deleting Optional Assessments Welcome to the Fountas

More information

MiSeq: Imaging and Base Calling

MiSeq: Imaging and Base Calling MiSeq: Imaging and Page Welcome Navigation Presenter Introduction MiSeq Sequencing Workflow Narration Welcome to MiSeq: Imaging and. This course takes 35 minutes to complete. Click Next to continue. Please

More information

From bsdtar to tarsnap

From bsdtar to tarsnap Building an online backup service Colin Percival Tarsnap Backup Inc. cperciva@tarsnap.com September 28, 2013 Who am I? A computer scientist. Publications in computational mathematics, numerical analysis,

More information

COMPUTER BASED REMOTE CONTROL FOR LAYOUT OF SCALED MODEL TRAINS

COMPUTER BASED REMOTE CONTROL FOR LAYOUT OF SCALED MODEL TRAINS COMPUTER BASED REMOTE CONTROL FOR LAYOUT OF SCALED MODEL TRAINS Ivan Ivanov Monov, Ivan Petrov Gorchev Technical University - Sofia, 8 Kliment Ohridski Blvd., Sofia 1000, Bulgaria, phone: +359 887 204488,

More information

Metastorm BPM Interwoven Integration. Process Mapping solutions. Metastorm BPM Interwoven Integration. Introduction. The solution

Metastorm BPM Interwoven Integration. Process Mapping solutions. Metastorm BPM Interwoven Integration. Introduction. The solution Metastorm BPM Interwoven Integration Introduction A proven and cost effective solution for companies that need to create and maintain high volumes of Interwoven WorkSpaces and their associated documents

More information

DEMO of MIS Software - ASRLMS

DEMO of MIS Software - ASRLMS DEMO of MIS Software - ASRLMS The link to the newly developed MIS software is http://mis.asrlms.in/nrlm/index.php. There is also a tab MIS in the ASRLMS website http://www.asrlms.in. Here the demo is shown

More information

Storage Class Memory Support in the Windows Operating System Neal Christiansen Principal Development Lead Microsoft nealch@microsoft.

Storage Class Memory Support in the Windows Operating System Neal Christiansen Principal Development Lead Microsoft nealch@microsoft. Storage Class Memory Support in the Windows Operating System Neal Christiansen Principal Development Lead Microsoft nealch@microsoft.com What is Storage Class Memory? Paradigm Shift: A non-volatile storage

More information

Document Security. ados.com. www.therefore.net. 2009 ADOS Corporation. 2009 ADOS Corporation

Document Security. ados.com. www.therefore.net. 2009 ADOS Corporation. 2009 ADOS Corporation Document Security www.therefore.net ados.com Table of Contents 1. Int roduct ion 2. Managing Securit...4 y of Therefore Document s 3. St orage of Therefore...5 Document s...3 3. 1 Composit e Files...5

More information

August 2015. AP Psych Reading Schedule 2015-2016. Sun Mon Tue Wed Thu Fri Sat. 19 Freshmen only. 20 First Day! 24 25 26 or 27 BLOCK

August 2015. AP Psych Reading Schedule 2015-2016. Sun Mon Tue Wed Thu Fri Sat. 19 Freshmen only. 20 First Day! 24 25 26 or 27 BLOCK August 2015 1 Unit 1: History and Approaches: 8/20-8/28 Reading: Myers modules 1, 2. Unit 1 Guide : 8/28 Crash course #1 8/28 * 2 3 4 5 6 7 8 Unit 2: Research Methods: 8/31-9/4 Reading: Myers module 3.

More information

Supply Chain Management and Advanced Planning

Supply Chain Management and Advanced Planning Christoph Kilger Editors Supply Chain Management and Advanced Planning Concepts, Models, Software, and Case Studies 4th Edition 4y Springer Contents Preface, Christoph Kilger V Introduction 1 References

More information

QUALIFICATIONS PACK - OCCUPATIONAL STANDARDS FOR ELECTRONICS INDUSTRY. SECTOR: ELECTRONICS SUB-SECTOR: Semiconductor Design and Active Components

QUALIFICATIONS PACK - OCCUPATIONAL STANDARDS FOR ELECTRONICS INDUSTRY. SECTOR: ELECTRONICS SUB-SECTOR: Semiconductor Design and Active Components QUALIFICATIONS PACK - OCCUPATIONAL STANDARDS FOR ELECTRONICS INDUSTRY Contents 1. Introduction and Contacts..P1 2. Qualifications Pack....P2 What are Occupational Standards(OS)? OS describe what individuals

More information

DMSplus for Microsoft SharePoint 2010

DMSplus for Microsoft SharePoint 2010 DMSplus for Microsoft SharePoint 2010 A professional add-on for DMS (Document Management System) solutions based on Microsoft SharePoint 2010 DMSplus Product Information Version 1.0 DMSplus Overview DMSplus

More information

XML for Manufacturing Systems Integration

XML for Manufacturing Systems Integration Information Technology for Engineering & Manufacturing XML for Manufacturing Systems Integration Tom Rhodes Information Technology Laboratory Overview of presentation Introductory material on XML NIST

More information

Applying Remote Side-Channel Analysis Attacks on a Security-enabled NFC Tag

Applying Remote Side-Channel Analysis Attacks on a Security-enabled NFC Tag Applying Remote Side-Channel Analysis Attacks on a Security-enabled NFC Tag Thomas Korak Thomas Plos Institute for Applied Information Processing and Communications (IAIK), Graz University of Technology,

More information

GE Energy. User s Guide. Bently Nevada Technical Support Portal www.bntechsupport.com

GE Energy. User s Guide. Bently Nevada Technical Support Portal www.bntechsupport.com GE Energy User s Guide Bently Nevada Technical Support Portal www.bntechsupport.com Table of Contents Section Page Overview 2 Registration 3 Logging In 6 Key Features 8 1. Online Case Management 8 2. Access

More information

How to Configure Microsoft System Operation Manager to Monitor Active Directory, Group Policy and Exchange Changes Using NetWrix Active Directory

How to Configure Microsoft System Operation Manager to Monitor Active Directory, Group Policy and Exchange Changes Using NetWrix Active Directory How to Configure Microsoft System Operation Manager to Monitor Active Directory, Group Policy and Exchange Changes Using NetWrix Active Directory Change Reporter Table of Contents General Information...

More information