DOC PREVIEW
UT CS 395T - A real time garbage collector with low overhead and consistent utilization

This preview shows page 1-2-16-17-18-33-34 out of 34 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 34 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 34 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 34 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 34 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 34 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 34 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 34 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 34 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

A Real-time garbage collector with low overhead and consistent utilizationOutlineMotivationGarbage Collection in Real-time SystemsProblems with Previous WorksSlide 6Slide 7Components and Concepts in Proposed GCSegregated Free List AllocatorLimiting Internal FragmentationDefragmentationRead Barrier: To-space InvariantRead Barrier OptimizationIncremental Mark-SweepPointer Fix-up During MarkArrayletsSlide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Scheduling the CollectorSchedulingSlide 29Pause Time Distribution for javac (Time-Based vs. Work-Based)Utilization vs. Time for javac (Time-Based vs. Work-Based)Minimum Mutator Utilization for javac (Time-Based vs. Work-Based)Space Usage for javac (Time-Based vs. Work-Based)ConclusionsA REAL-TIME GARBAGE COLLECTOR WITH LOW OVERHEAD AND CONSISTENT UTILIZATIONDavid F. Bacon, Perry Cheng, and V.T. RajanIBM T.J. Watson Research CenterPresented by Srilakshmi Swati PendyalaOutlineMotivationIntroduction & Previous WorksOverview of the Proposed Garbage CollectorExample of the Collection ProcessScheduling – Time-Based Vs. Work-BasedExperimental ResultsConclusionMotivationReal-time systems growing in importanceATMs, PDAs, Web Servers, Points of Sale etc.Constraints for Real-Time Systems:Hard constraints for continuous performance (Low Pause Times)Memory Constraints (less memory in embedded systems)Other Constraints ? Need for a real-time garbage collectorwith low memory usage.Garbage Collection in Real-time SystemsMaximum Pause Time < Required ResponseCPU Utilization sufficient to accomplish taskMeasured with Minimum Mutator UtilizationMemory Requirement < Resource LimitImportant Constraint in Embedded SystemsProblems with Previous WorksFragmentationEarly works (Baker’s Treadmill) handles a single object size Not suitable modern languagesFragmentation not a major problem for a family of C and C++ benchmarks (Johnstone’ Paper)Not valid for long-run programs (web-servers, embedded systems etc.)Use of single (large) block sizeIncrease in memory requirementsLeads to internal fragmentationProblems with Previous WorksHigh Space OverheadCopying algorithms to avoid fragmentation Leads to high space overheadUneven Mutator UtilizationThe fraction of processor devoted to mutator executionSeveral copying algorithms suffer from poor/uneven mutator utilizationLong low-utilization periods render mutator unsuitable for real-time applicationsInability to handle large data structuresWhen collecting a subset of the heap at a time, large structures generated by adversarial mutators force unbounded workOutlineMotivationIntroduction & Previous WorksOverview of the Proposed Garbage CollectorExample of the Collection ProcessScheduling – Time-Based Vs. Work-BasedExperimental ResultsConclusionComponents and Concepts in Proposed GCSegregated free list allocatorGeometric size progression limits internal fragmentationMostly non-copyingObjects are usually not moved.DefragmentationMoves objects to a new page when page is fragmented due to GCRead barrier: to-space invariant [Brooks]New techniques with only 4% overheadIncremental mark-sweep collectorMark phase fixes stale pointersArraylets: bound fragmentation, large object opsTime-based schedulingNewOldSegregated Free List AllocatorHeap divided into fixed-size pagesEach page divided into fixed-size blocksObjects allocated in smallest block that fits241612Limiting Internal FragmentationChoose page size P and block sizes sk such thatsk = sk-1(1+ρ)How do we choose small s0 & ρ ?  s0 ~ minimum block size ρ ~ sufficiently small to avoid internal fragmentationToo small a ρ leads to too many pages and hence a wastage of space, but it should be okay for long running processesToo large a ρ leads to internal fragmentationMemory for a page should be allocated only when there is at least one object in that page.DefragmentationWhen do we move objects?At the end of sweep phase, when there are no sufficient free pages for the mutator to execute, that is, when there is fragmentationUsually, program exhibits locality of sizeDead objects are re-used quicklyDefragment either whenDead objects are not re-used for a GC cycleFree pages fall below limit for performing a GCIn practice: we move 2-3% of data tracedMajor improvement over copying collectorRead Barrier: To-space InvariantProblem: Collector moves objects (defragmentation)and mutator is finely interleavedSolution: read barrier ensures consistencyEach object contains a forwarding pointer [Brooks]Read barrier unconditionally forwards all pointersMutator never sees old versions of objectsWill the mutator utilization have any effects because of the read barrier ?From-space To-space A X Y Z A X Y Z A′BEFORE AFTERRead Barrier OptimizationPrevious studies: 20-40% overhead [Zorn, Nielsen]Several optimizations applied to the read barrier and reduced the cost over-head to <10% using Eager Read Barriers“Eager” read barrier preferred over “Lazy” read barrier.Incremental Mark-SweepMark/sweep finely interleaved with mutatorWrite barrier: snapshot-at-the-beginning [Yuasa]Ensures no lost objectsMust treat objects in write buffer as rootsRead barrier ensures consistencyMarker always traces correct objectWith barriers, interleaving is simpleAre the problems inherent to mark sweep, also apply here ?Pointer Fix-up During MarkWhen can a moved object be freed?When there are no more pointers to itMark phase updates pointersRedirects forwarded pointers as it marks themObject moved in collection n can be freed:At the end of mark phase of collection n+1From-space To-space A X Y Z A′ArrayletsLarge arrays create problemsFragment memory spaceCan not be moved in a short, bounded timeSolution: break large arrays into arrayletsAccess via indirection; move one arraylet at a timeA1 A2 A3OutlineMotivationIntroduction & Previous WorksOverview of the Proposed Garbage CollectorExample of the Collection ProcessScheduling – Time-Based Vs. Work-BasedExperimental ResultsConclusionHeap (one size only)StackProgram StartHeapStackfreeallocatedProgram is allocatingHeapStackfreeunmarkedGC startsHeapStackfreeunmarkedmarked orallocatedProgram allocating and


View Full Document

UT CS 395T - A real time garbage collector with low overhead and consistent utilization

Documents in this Course
TERRA

TERRA

23 pages

OpenCL

OpenCL

15 pages

Byzantine

Byzantine

32 pages

Load more
Download A real time garbage collector with low overhead and consistent utilization
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 A real time garbage collector with low overhead and consistent utilization 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 A real time garbage collector with low overhead and consistent utilization 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?