|
|
- Isabel Lane
- 8 years ago
- Views:
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 informationPatterns 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 informationLibrary 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 informationDESIGNINGCRYPTOGRAPHICPOSTAGEINDICIA. NevinHEINTZE BellLaboratories 600MountainAve,MurrayHillNJ07974,USA
DESIGNINGCRYPTOGRAPHICPOSTAGEINDICIA UniversityofCalifornia,SanDiego BennetYEE ComputerScienceDept,5000ForbesAve,PittsburghPA15213,USA J.D.TYGAR DeptofCompSciandEng,0114,LaJolla,CA92093,USA CarnegieMellonUniversity
More informationCOMMUTATIVE 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 informationMicrosoft 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 informationChapter 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 informationAll 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 informationPersistent 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 informationClient 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 informationITG 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 informationHow 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 informationFloatingpointvericationinHOLLight:theexponentialfunction 1 Floatingpointverication theexponentialfunction inhollight: UniversityofCambridge JohnHarrison Introduction Floatingpointcorrectness Ourimplementationlanguage
More information1. 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 informationMagento 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 informationNSI 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 informationCARS: 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 informationHow 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 informationModule 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 informationChapter 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 informationComputer 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 informationINDUSTRY 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 informationQuality 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 informationAClassofLinearAlgorithmstoProcessSetsofSegments GonzaloNavarroRicardoBaeza-Yates DepartmentofComputerScience fgnavarro,rbaezag@dcc.uchile.cl BlancoEncalada2120 UniversityofChile Santiago-Chile currentsolutionstooperatesegmentsfocusonsingleoperations(e.g.insertionorsearching),
More informationComputer 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 informationGREATEST 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 informationOpen 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 informationITIL-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 informationComputer 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 informationCHAPTER 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 informationPlanning 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 informationSmarter 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 informationCAD 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 informationA 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 informationIPSecuritas 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 informationApplication 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 informationKITES 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 informationIRPhEP 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 informationFINAL 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 informationHigh 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 informationAn 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 information3.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 informationCampus 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 informationThe 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 informationlubyk 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 informationYear-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 informationAgenda. 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 informationReceivables 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 informationITG 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 informationMemory 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 informationAQA 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 informationComputational 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 informationResearch 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 informationHow 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 information6.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 informationAN 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 informationPart 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 informationINVESTIGATING 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 informationJava'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 informationExamView 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 informationSymantec 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 informationThe 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 information1. 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 informationAGraphDrawingandTranslationServiceon StinaBridgeman,AshimGargandRobertoTamassia DepartmentofComputerScience thewww*
AGraphDrawingandTranslationServiceon StinaBridgeman,AshimGargandRobertoTamassia DepartmentofComputerScience thewww* Abstract.Bothpractitionersandresearcherscantakebetteradvantageofthelatestdevelopmentsingraphdrawingifimplementationsof
More informationd 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 informationApplications 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 informationA 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 informationRobotics 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 informationCS 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 informationSoftware 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 informationBig 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 informationIBM 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 informationRobust 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 informationLearning 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 informationNAUTI 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 informationON 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 informationCreo 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 informationBusiness 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 information2006 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 informationBusiness 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 informationLinux 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 informationSoMA. 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 informationArmanino 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 informationCourse 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 informationFountas & 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 informationMiSeq: 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 informationFrom 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 informationCOMPUTER 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 informationMetastorm 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 informationDEMO 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 informationStorage 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 informationDocument 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 informationAugust 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 informationSupply 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 informationQUALIFICATIONS 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 informationDMSplus 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 informationXML 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 informationApplying 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 informationGE 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 informationHow 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