DOC PREVIEW
UT CS 395T - Z-Rays: Divide Arrays and Conquer Speed and Flexibility

This preview shows page 1-2-3-4-5 out of 15 pages.

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

Unformatted text preview:

Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Z-Rays: Divide Arrays and Conquer Speed and Flexibility Jennifer B. Sartor et al.Presented by Yuhao ZhuCS 395TMotivationsContiguous implementation of arrays incurs fragmentation (wastes space), and is GC-unfriendly, especially latencyDiscontiguous implementation overcomes above problems, but brings about the throughput issue due to the high overhead of indirectionDiscountiguous ArraysOrganizationHeaderIndirection pointersRemainders Why does it work?Why does it not work?Z-rays implementation5 optimizations in a momentSeparate arraylet spacesub-space of the heapCollected under the control of its parent spineEach arraylet has its own liveness bitSpines are in the nursury space and collected as normalFirst-NNearly 90% of all array accesses occur at access positions less than 4KB. So inline them in the spine and access without indirectionMost effective optimizationAddressed the performance issue of basic discontiguous designLazy AllocationSpace optimizationEmploys an immutable zero arraylet, to which all indirection pointers are pointing upon creationNeed to be performed atomically due to possible race condition of multiple threadsZero CompressionSpace optimization, utilizes the zero arrayletReinstall the indirection pointer to the zero arraylet when all elements in an arraylet are zerosPerformed during GC timeIncurs additional indirection and scanning operatins, but compensated by the reduction in the memory costFast Array CopyDiscontiguous arrays make array copy complicatedOne optimization is to hoist the indirection operation outside of the loop when performing sequential copyOne indirection instead of nCopy-on-WriteSpace optimizationA generalization of lazy allocationOnly create the private instance of an arraylet after first writeRealized by tainting the least significant bit of the indirection pointers pointing to the shared arrayletImplementation NotesRead/Write BarriersThe arraylet space is non-moving, and the age of an object is indicated by its parent spinePromote survived spines into mature space, which effectively promotes corresponding arrayletsWhat's the arraylet space allocator? Any comment?Do we mark the liveness bits of arraylets whose source spine is in nursery space?If no, what's the implication?EvaluationsBenchmark characteristicsEvaluations (cont.)COW degrades the performanceDue to the maintenance of barriersZ-rays could even IMPROVE the performanceThe indirection overhead is compensated by the reduction of collection timeEvaluations (cont.)How does Z-ray affect the performance?Mutator: indirection beyond First NCollector: varies significantly- indirection + improvements through space efficiencyEvaluations (cont.)First-N is the most significant optimizationFast array copy benefits benchmarks with frequent array copying very muchCOW degrades performanceDiscussionWhy is it called Z-rays???Any concurrency to explore?How to configure Z-rays for different design goals?Any further


View Full Document

UT CS 395T - Z-Rays: Divide Arrays and Conquer Speed and Flexibility

Documents in this Course
TERRA

TERRA

23 pages

OpenCL

OpenCL

15 pages

Byzantine

Byzantine

32 pages

Load more
Download Z-Rays: Divide Arrays and Conquer Speed and Flexibility
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 Z-Rays: Divide Arrays and Conquer Speed and Flexibility 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 Z-Rays: Divide Arrays and Conquer Speed and Flexibility 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?