Cultural advice

The Australian National University acknowledges, celebrates and pays our respects to the Ngunnawal and Ngambri people of the Canberra region and to all First Nations Australians on whose traditional lands we meet and work, and whose cultures are among the oldest continuing cultures in human history.

Aboriginal and Torres Strait Islander peoples are advised that ANU Library collections may include images, names, voices, and other representations of deceased persons.

Material in the collection may contain terms, language or views that reflect the period in which the item was created and may be considered inappropriate today.

Z-Rays: Divide Arrays and Conquer Speed and Flexibility

dc.contributor.authorSartor, Jennifer B.
dc.contributor.authorBlackburn, Stephen
dc.contributor.authorFrampton, Daniel
dc.contributor.authorHirzel, Martin
dc.contributor.authorMcKinley, Kathryn
dc.coverage.spatialToronto Canada
dc.date.accessioned2015-12-10T22:32:22Z
dc.date.createdJune 2-10 2010
dc.date.issued2010
dc.date.updated2016-02-24T10:18:07Z
dc.description.abstractArrays are the ubiquitous organization for indexed data. Throughout programming language evolution, implementations have laid out arrays contiguously in memory. This layout is problematic in space and time. It causes heap fragmentation, garbage collection pauses in proportion to array size, and wasted memory for sparse and over-provisioned arrays. Because of array virtualization in managed languages, an array layout that consists of indirection pointers to fixed-size discontiguous memory blocks can mitigate these problems transparently. This design however incurs significant overhead, but is justified when real-time deadlines and space constraints trump performance. This paper proposes z-rays, a discontiguous array design with flexibility and efficiency. A z-ray has a spine with indirection pointers to fixed-size memory blocks called arraylets, and uses five optimizations: (1) inlining the first N array bytes into the spine, (2) lazy allocation, (3) zero compression, (4) fast array copy, and (5) arraylet copy-on-write. Whereas discontiguous arrays in prior work improve responsiveness and space efficiency, z-rays combine time efficiency and flexibility. On average, the best z-ray configuration performs within 12.7% of an unmodified Java Virtual Machine on 19 benchmarks, whereas previous designs have two to three times higher overheads. Furthermore, language implementers can configure z-ray optimizations for various design goals. This combination of performance and flexibility creates a better building block for past and future array optimization.
dc.identifier.isbn9781450300193
dc.identifier.urihttp://hdl.handle.net/1885/55730
dc.publisherAssociation for Computing Machinery Inc (ACM)
dc.relation.ispartofseriesACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2010)
dc.sourceProceedings of the ACM SIGPLAN 2010 Conference on Programming Language Design and Implementation (PLDI 2010)
dc.source.urihttp://www.cs.stanford.edu/pldi10/
dc.subjectKeywords: Array design; Array layout; Array optimization; Array sizes; Building blockes; Design goal; Garbage collection; Inlining; Java virtual machines; Memory blocks; Programming language; Space and time; Space constraints; Space efficiencies; Time efficiencies; arraylets; arrays; compression; heap; z-rays
dc.titleZ-Rays: Divide Arrays and Conquer Speed and Flexibility
dc.typeConference paper
local.contributor.affiliationSartor, Jennifer B., University of Texas
local.contributor.affiliationBlackburn, Stephen, College of Engineering and Computer Science, ANU
local.contributor.affiliationFrampton, Daniel, College of Engineering and Computer Science, ANU
local.contributor.affiliationHirzel, Martin, IBM
local.contributor.affiliationMcKinley, Kathryn, University of Texas
local.contributor.authoruidBlackburn, Stephen, u3789498
local.contributor.authoruidFrampton, Daniel, u3293014
local.description.embargo2037-12-31
local.description.notesImported from ARIES
local.description.refereedYes
local.identifier.absfor080308 - Programming Languages
local.identifier.absseo970108 - Expanding Knowledge in the Information and Computing Sciences
local.identifier.ariespublicationU3594520xPUB338
local.identifier.doi10.1145/1806596.1806649
local.identifier.scopusID2-s2.0-77954753579
local.type.statusPublished Version

Downloads

Original bundle

Now showing 1 - 2 of 2
Loading...
Thumbnail Image
Name:
01_Sartor_Z-Rays:_Divide_Arrays_and_2010.pdf
Size:
3.46 MB
Format:
Adobe Portable Document Format
Loading...
Thumbnail Image
Name:
02_Sartor_Z-Rays:_Divide_Arrays_and_2010.pdf
Size:
440.65 KB
Format:
Adobe Portable Document Format