DOC PREVIEW
UT CS 395T - Garbage Collection and the Case for High-level Low-level Programming

This preview shows page 1-2-3-4-5-6-7-8-9-10-11-79-80-81-82-83-84-85-86-87-88-89-90-159-160-161-162-163-164-165-166-167-168-169 out of 169 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 169 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

AcknowledgmentsAbstractContentsIntroductionDefinitionsProblem StatementScope and ContributionsThesis OutlineGarbage CollectionThe Anatomy of a Garbage CollectorTaxonomy of Garbage Collection AlgorithmsObject AllocationGarbage IdentificationGarbage ReclamationCanonical AlgorithmsReference CountingMark-SweepSemi-SpaceMark-CompactMark-RegionGenerational CollectionBarriersGarbage Collection for Low-level ProgramsMeasuring Garbage Collection InterferenceThroughputResponsiveness and PredictabilityConcurrent and Incremental Tracing CollectionThe Tricolor AbstractionThe Mutator--Collector RaceIncremental-Update AlgorithmsSnapshot-at-the-Beginning AlgorithmsIncremental and Concurrent CopyingIncremental Copying AlgorithmsConcurrent Copying AlgorithmsReference Counting CollectionReducing Performance OverheadsCompiler OptimizationDeferred Reference CountingCoalescing Reference CountingUlterior Reference CountingCollecting Cyclic GarbageBackup TracingTrial DeletionReal-Time CollectionMetronomeSummaryHigh-Performance Garbage CollectionEffective Prefetch for Garbage CollectionRelated WorkEdge EnqueuingBuffered PrefetchResultsFree-Me: Prompt Reclamation of GarbageRelated WorkRuntime MechanismFree List ImplementationBump Pointer ImplementationsResultsEffectiveness of AnalysisPerformance EvaluationSummaryCycle TracingThe Cycle Tracing AlgorithmBase Backup Tracing AlgorithmA Lightweight Snapshot Write BarrierConcurrency OptimizationMarking OptimizationSweeping OptimizationInteraction With The Reference CounterInvocation HeuristicsEvaluationImplementation DetailsExperimental PlatformBenchmarksThroughput Limit StudyConcurrencyOverall PerformanceSummaryGenerational MetronomeReal-Time Generational CollectionKey ChallengesBasic StructureThree Stage Nursery Life CycleIncremental Nursery CollectionOutside Nursery CollectionStart of Nursery CollectionDuring Nursery CollectionEnd of Nursery CollectionMature--Nursery Collection InteractionsMature Collector References to the NurseryMark State of Promoted ObjectsSweeping Objects Stored in Remembered SetsAnalytical ModelDefinitionsSteady-State Assumption and Time ConversionBounds for Non-Generational Metronome CollectorsBounds for Our Generational CollectorComparison with SyncopationEvaluationGenerational versus Non-Generational ComparisonDynamic Nursery SizeParametrization StudiesStart-up versus Steady State BehaviorSummaryHigh-level Low-level ProgrammingLow-level ProgrammingHigh- versus Low-level LanguagesFrom Assembler to CComplexity Drives ChangeCultural ResistanceLooking ForwardRelated WorkFortifying a Low-level LanguageSystems Programming LanguagesTwo-Language ApproachesExtending High-level Languages for Low-level ProgrammingSummaryHigh-level Low-level Programming with org.vmmagicThe ApproachKey PrinciplesRequirements and ChallengesRepresenting DataExtending the SemanticsA Concrete FrameworkType-System ExtensionsRaw StorageUnboxed TypesSemantic ExtensionIntrinsic FunctionsSemantic RegimesDeploymentSummaryHigh-Performance and Flexibility with MMTkWhy Java?Low-level Programming RequirementsCase Study: An Object Model for Heap TraversalOriginal DesignSolutionPerformance EvaluationCase Study: MMTk HarnessHarness ArchitectureUsage ScenariosUnit TestingGarbage Collector DevelopmentSummaryVisualization with TuningForkIntroductionRelated WorkRequirementsTuningFork ArchitectureOscilloscope FigureCase Study: Unexpected Collector Scheduling DecisionsSummaryConclusionFuture WorkGarbage Collection for Low-level ProgramsHigh-level Low-level ProgrammingBibliographyGarbage Collection and the Case forHigh-level Low-level ProgrammingDaniel FramptonA thesis submitted for the degree ofDoctor of Philosophy atThe Australian National UniversityJune 2010c Daniel Frampton 2010Except where otherwise indicated, this thesis is my own original work.Daniel Frampton8 June 2010to Kerryn.AcknowledgmentsThis work would not have been possible without the generous support and assistanceof many individuals and organizations. I only hope that I have remembered to giveyou all the credit you deserve.First, I would like to thank my advisor, Steve, who has been amazing throughoutmy candidature. He has provided me with incredible opportunities, encouraging meto apply for internships, supporting me in attending several conferences. Most of all,he has helped me to believe in and persist with my research—thank you.I would also like to express my gratitude to those who have supported me fi-nancially: the Australian National University, the Australian Government, IBM, andMicrosoft Research.During my time as a student I have been lucky to be involved with several greatresearch communities, including DaCapo, Microsoft Research’s Singularity and Ad-vanced Compiler Technology groups, and IBM’s Metronome group. Each of thesehas helped to shape my research, and my involvement with them has been bothenjoyable and productive. Thanks specifically to Bjarne, Mark, Vivian and David atMSR, to Dave, David, Mike and Perry at IBM, and to Amer, Eliot, Kathryn, Steve,Tony, and the countless others in DaCapo that make it such a friendly and engagingcommunity.I would also like to thank my fellow students, particularly Robin and Filip, withwhom I have worked most closely. I have greatly enjoyed our many intense discus-sions and coding marathons, and look forward to more of the same in the future!I would also like to express my gratitude to all the developers of Jikes RVM andMMTk, past and present, without whom this research would not have been the same.For offering to review previous versions of this document, thanks must go to Ker-ryn, Steve, Kathryn, Luke, and Mira. The document is all the better for having yourattention, though as always, I claim exclusive ownership of any and all remaining er-rors (as unlikely an occurence as this may be!). Particular thanks must go to Kerryn,who not only spent countless hours reviewing my work, but also helped me to tameIllustrator, and waded with me through countless poorly formatted BibTEX entries toget my bibliography under control.Last of all, I would like to recognize the vast amount of more personal supportthat I have received throughout this endeavor. Thanks to my parents, Luke, Mira,Danel, Jackie, all of my soccer buddies, and especially to Kerryn, who has helped tomake the whole process of finishing infinitely more enjoyable than it otherwise couldhave been.viiAbstractModern high-level programming languages have helped to raise the level of abstrac-tion at which


View Full Document

UT CS 395T - Garbage Collection and the Case for High-level Low-level Programming

Documents in this Course
TERRA

TERRA

23 pages

OpenCL

OpenCL

15 pages

Byzantine

Byzantine

32 pages

Load more
Download Garbage Collection and the Case for High-level Low-level Programming
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Garbage Collection and the Case for High-level Low-level Programming and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Garbage Collection and the Case for High-level Low-level Programming 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?