Why nothing matters: the impact of zeroing

dc.contributor.authorYang, Xi
dc.contributor.authorBlackburn, Stephen
dc.contributor.authorFrampton, Daniel
dc.contributor.authorSartor, Jennifer B.
dc.contributor.authorMcKinley, Kathryn
dc.coverage.spatialPortland USA
dc.date.accessioned2015-12-10T22:12:24Z
dc.date.createdOctober 22-27 2011
dc.date.issued2011
dc.date.updated2016-02-24T11:30:16Z
dc.description.abstractMemory safety defends against inadvertent and malicious misuse of memory that may compromise program correctness and security. A critical element of memory safety is zero initialization. The direct cost of zero initialization is surprisingly high: up to 12.7%, with average costs ranging from 2.7 to 4.5% on a high performance virtual machine on IA32 architectures. Zero initialization also incurs indirect costs due to its memory bandwidth demands and cache displacement effects. Existing virtual machines either: a) minimize direct costs by zeroing in large blocks, or b) minimize indirect costs by zeroing in the allocation sequence, which reduces cache displacement and bandwidth. This paper evaluates the two widely used zero initialization designs, showing that they make different tradeoffs to achieve very similar performance. Our analysis inspires three better designs: (1) bulk zeroing with cache-bypassing (non-temporal) instructions to reduce the direct and indirect zeroing costs simultaneously, (2) concurrent non-temporal bulk zeroing that exploits parallel hardware to move work off the application's critical path, and (3) adaptive zeroing, which dynamically chooses between (1) and (2) based on available hardware parallelism. The new software strategies offer speedups sometimes greater than the direct overhead, improving total performance by 3% on average. Our findings invite additional optimizations and microarchitectural support.
dc.identifier.isbn9781450309400
dc.identifier.urihttp://hdl.handle.net/1885/49639
dc.publisherAssociation for Computing Machinery Inc (ACM)
dc.relation.ispartofseriesInternational conference on Object oriented programming systems languages and applications
dc.sourceWhy Nothing Matters: The Impact of Zeroing
dc.subjectKeywords: Average cost; Critical elements; Critical Paths; Direct costs; Indirect costs; Memory bandwidths; Memory safety; Microarchitectural support; Parallel hardware; Program correctness; Total performance; Virtual machines; Zero initialization; Bandwidth; Cache Memory safety; Zero initialization
dc.titleWhy nothing matters: the impact of zeroing
dc.typeConference paper
local.bibliographicCitation.lastpage324
local.bibliographicCitation.startpage307
local.contributor.affiliationYang, Xi, College of Engineering and Computer Science, ANU
local.contributor.affiliationBlackburn, Stephen, College of Engineering and Computer Science, ANU
local.contributor.affiliationFrampton, Daniel, College of Engineering and Computer Science, ANU
local.contributor.affiliationSartor, Jennifer B., University of Texas
local.contributor.affiliationMcKinley, Kathryn, University of Texas
local.contributor.authoruidYang, Xi, u4632562
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.ariespublicationu4963866xPUB189
local.identifier.doi10.1145/2048066.2048092
local.identifier.scopusID2-s2.0-81455131754
local.identifier.thomsonID000298294500020
local.type.statusPublished Version

Downloads

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
01_Yang_Why_nothing_matters:_the_2011.pdf
Size:
812.63 KB
Format:
Adobe Portable Document Format