A copy of this work was available on the public web and has been preserved in the Wayback Machine. The capture dates from 2017; you can also visit the original URL.
The file type is application/pdf
.
Filters
Layout Transformations for Heap Objects Using Static Access Patterns
[chapter]
Lecture Notes in Computer Science
Our experiments with the Olden benchmarks demonstrate that layout transformations for heap objects based on our static access pattern analysis improve cache locality by 38% and performance by 24%. ...
Since modern applications heavily use structures allocated in the heap, this paper proposes an efficient structure layout based on static analyses. ...
Heap Layout Transformations Before we discuss how to extract access patterns at compile-time, this section describes two heap layout transformations. ...
doi:10.1007/978-3-540-71229-9_13
dblp:conf/cc/JeonSH07
fatcat:o7be4nzuurfp5dikmhetrl7uai
Speculative separation for privatization and reductions
2012
SIGPLAN notices
To reduce sensitivity to memory layout, Privateer speculatively separates memory objects. ...
Polaris [29] Array Expansion [10] ASSA [14] DSA [31] RSSA [23] Static PD [21] Dynamic LRPD [22] R−LRPD [7] Privateer (this work) ...
Prakash Prabhu thanks Google, Inc. for fellowship support. ...
doi:10.1145/2345156.2254107
fatcat:mo2nunbuyndlbojivo6jxwqvbu
Speculative separation for privatization and reductions
2012
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation - PLDI '12
To reduce sensitivity to memory layout, Privateer speculatively separates memory objects. ...
Polaris [29] Array Expansion [10] ASSA [14] DSA [31] RSSA [23] Static PD [21] Dynamic LRPD [22] R−LRPD [7] Privateer (this work) ...
Prakash Prabhu thanks Google, Inc. for fellowship support. ...
doi:10.1145/2254064.2254107
dblp:conf/pldi/JohnsonKPZA12
fatcat:uvykq5b5pnf6hbtqgd4v7df56e
Automatic pool allocation
2005
SIGPLAN notices
The key contribution is a new compiler algorithm for partitioning heap objects in imperative programs based on a context-sensitive pointer analysis, including a novel strategy for correct handling of indirect ...
This paper describes Automatic Pool Allocation, a transformation framework that segregates distinct instances of heap-based data structures into seperate memory pools and allows heuristics to be used to ...
We are also grateful to Shengnan Cong for her assistance with the fpgrowth program, the members of the LLVM group for their comments and suggestions on the paper, and the anonymous reviewers for their ...
doi:10.1145/1064978.1065027
fatcat:6zfqopashbdnpjby5poywssuce
Backward-compatible constant-time exception-protected memory
2009
Proceedings of the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering on European software engineering conference and foundations of software engineering symposium - ESEC/FSE '09
We present a novel, table-free technique for detecting all temporal and spatial memory access errors (e.g. dangling pointers, out-ofbounds check, etc.) in programs supporting general pointers. ...
Our approach is the first technique to provide such error checking using only constant-time operations. ...
[8] are similar to us in temporal access error checking, although they only cover dangling pointer checks for heap-allocated objects. ...
doi:10.1145/1595696.1595710
dblp:conf/sigsoft/VarmaSS09
fatcat:get6dwo35zdyxgbw2ze2kv3t5m
Automatic Restructuring of Linked Data Structures
[chapter]
2010
Lecture Notes in Computer Science
Programs using pointer linked data structures are notorious for producing such so called irregular memory access patterns. ...
The memory pool is restructured at run-time using this permutation, after which all pointers (both stack and heap) that refer to the restructured pool must be updated. ...
We believe the restructuring transformations for pointer-linked data restructures that have been described in this paper do not only enable data layout remapping, but also provide the basis for new techniques ...
doi:10.1007/978-3-642-13374-9_18
fatcat:ybnnmljmjbge5cpbjibzve3k4y
Automatic pool allocation
2005
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation - PLDI '05
The key contribution is a new compiler algorithm for partitioning heap objects in imperative programs based on a context-sensitive pointer analysis, including a novel strategy for correct handling of indirect ...
This paper describes Automatic Pool Allocation, a transformation framework that segregates distinct instances of heap-based data structures into seperate memory pools and allows heuristics to be used to ...
We are also grateful to Shengnan Cong for her assistance with the fpgrowth program, the members of the LLVM group for their comments and suggestions on the paper, and the anonymous reviewers for their ...
doi:10.1145/1065010.1065027
dblp:conf/pldi/LattnerA05
fatcat:vsylzw3th5gyfj5kqv2bsloecu
Utilizing field usage patterns for Java heap space optimization
2006
Proceedings of the 2006 conference of the Center for Advanced Studies on Collaborative research - CASCON '06
, and bidirectional object layout. ...
Motivated by this observation, we designed a heap compression mechanism that classifies object instances at runtime based on their field-usage patterns and eliminates unused fields to save space. ...
His research interests include distributed and parallel systems and object-oriented programming languages. ...
doi:10.1145/1188966.1188974
dblp:conf/cascon/GuoASW06
fatcat:a2iu452gererhijjud6xgb6bsu
Making pointer-based data structures cache conscious
2000
Computer
Cacheconscious reorganization transforms the pointer structure layout into a linear memory layout, sequenced according to the expected data access pattern, and maps structure elements to reduce Cache-conscious ...
Compilers use two array-structure properties to reorder the accesses: uniform, random access to array elements, and a number-theoretic basis for statically analyzing data dependencies. ...
doi:10.1109/2.889095
fatcat:yvivmpsrrffjrgab54cl2ctyee
Cache-conscious structure definition
1999
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation - PLDI '99
A program's cache performance can be improved by changing the organization and layout of its data-even complex, pointer-based data structures. ...
These techniques produced significant performance improvements, but worked best for small structures that could be packed into a cache block. ...
ACKNOWLEDGEMENTS The authors would like to thank Ronnie Chaiken, Roger Crew, Richard Shupak, and Daniel Weise for helpful discussions. ...
doi:10.1145/301618.301635
dblp:conf/pldi/ChilimbiDL99
fatcat:nv2qrhenofemfpqhrw765bz6mu
Composition-based Cache simulation for structure reorganization
2010
Journal of systems architecture
Finding the best data layout has been an ultimate goal of memory optimization. Even with data access profile, heuristic algorithms are needed to reorganize data layout for better locality. ...
Instead of running all possible layouts, we simulate only the primary subsets of layouts and compose the cache misses for all layouts by summing up the cache misses of component subsets. ...
These two methods commonly use the field affinity graph, but STATIC uses the static access patterns based on regular expressions, while FILED_AFFI counts the neighboring accesses within the access window ...
doi:10.1016/j.sysarc.2010.01.002
fatcat:dp5nscbsibdivpvdwhqg76to6a
Cache-conscious structure definition
1999
SIGPLAN notices
A program's cache performance can be improved by changing the organization and layout of its data-even complex, pointer-based data structures. ...
These techniques produced significant performance improvements, but worked best for small structures that could be packed into a cache block. ...
ACKNOWLEDGEMENTS The authors would like to thank Ronnie Chaiken, Roger Crew, Richard Shupak, and Daniel Weise for helpful discussions. ...
doi:10.1145/301631.301635
fatcat:tzge4niglneetcbn2cyncuqktm
Panthera: holistic memory management for big data processing over hybrid memories
2019
Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation - PLDI 2019
Panthera analyzes user programs on a Big Data system to infer their coarse-grained access patterns, which are then passed to the Panthera runtime for efficient data placement and migration. ...
For Big Data applications, the coarse-grained data division information is accurate enough to guide the GC for data layout, which hardly incurs overhead in data monitoring and moving. ...
We are especially grateful to our shepherd Jennifer Sartor for her feedback, helping us improve the paper substantially. ...
doi:10.1145/3314221.3314650
dblp:conf/pldi/WangCCZVML0X19
fatcat:mpkwj5a5ezarfjdvnzyzu74m74
Safely Abstracting Memory Layouts
[article]
2019
arXiv
pre-print
Modern architectures require applications to make effective use of caches to achieve high performance and hide memory latency. ...
In managed languages like Java and C#, the abstract view of memory and proliferation of moving compacting garbage collection does not provide enough control over placement and layout. ...
access patterns). ...
arXiv:1901.08006v1
fatcat:olwk6ysex5cdfnbmnjt32rny6u
Automatic feedback-directed object fusing
2010
ACM Transactions on Architecture and Code Optimization (TACO)
The order of objects on the heap is changed in such a way that objects that are accessed together are placed next to each other in memory. ...
Array fusing specifically optimizes arrays, which are frequently used for the implementation of dynamic data structures. ...
ACKNOWLEDGMENTS We would like to thank the Java HotSpot TM compiler team at Sun Microsystems, especially Thomas Rodriguez, Kenneth Russell, and David Cox, for their persistent support, for contributing ...
doi:10.1145/1839667.1839669
fatcat:ugvquqaf6basleqnfpm4iilwuu
« Previous
Showing results 1 — 15 out of 3,111 results