Ran Shaham

dblp:81/6617 · DBLP profile ↗
← Back
8ranked-venue papers
5as first author
0since 2021 · last 2006
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 8 · 5 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
1 paper
Memory systems · 100%
Software engineering, system software, and programming languages
2 papers
Compilers and program optimization · 41% Runtime systems and virtual machines · 26% Software maintenance and evolution · 26%

Topics — the 6 heaviest of 7, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Memory systems › data layout optimization
cache-conscious data structure layout
0.112006
Cache-conscious coallocation of hot data streams · PLDI 2006
Memory systems › cache
cache performance
0.112006
Cache-conscious coallocation of hot data streams · PLDI 2006
Runtime systems and virtual machines
garbage collection
0.012001
Heap Profiling for Space-Efficient Java · PLDI 2001
Software maintenance and evolution
refactoring
0.012001
Heap Profiling for Space-Efficient Java · PLDI 2001
Compilers and program optimization
space optimization
0.012001
Heap Profiling for Space-Efficient Java · PLDI 2001
Compilers and program optimization › memory optimization
data layout optimization
0.012006
Cache-conscious coallocation of hot data streams · PLDI 2006

Methods — techniques the papers use, named apart from their topics

profile-based analysis · 0.1heap profiling · 0.0
YearPublicationVenuePosition
2006 Cache-conscious coallocation of hot data streams
abstract
The memory system performance of many programs can be improved by coallocating contemporaneously accessed heap objects in the same cache block. We present a novel profile-based analysis for producing such a layout. The analysis achieves cacheconscious coallocation of a hot data stream H (i.e., a regular data access pattern that frequently repeats) by isolating and combining allocation sites of object instances that appear in H such that intervening allocations coming from other sites are separated. The coallocation solution produced by the analysis is enforced by an automatic tool, cminstr, that redirects a program's heap allocations to a run-time coallocation library comalloc. We also extend the analysis to coallocation at object field granularity. The resulting field coallocation solution generalizes common data restructuring techniques, such as field reordering, object splitting, and object merging, and allows their combination. Furthermore, it provides insight into object restructuring by breaking down the coallocation benefit on a per-technique basis, which provides the opportunity to pick the "sweet spot" for each program. Experimental results using a set of memory-performance-limited benchmarks, including a few SPECInt2000 programs, and Microsoft VisualFoxPro, indicate that programs possess significant coallocation opportunities. Automatic object coallocation improves execution time by 13% on average in the presence of hardware prefetching. Hand-implemented field coallocation solutions for two of the benchmarks produced additional improvements (12% and 22%) but the effort involved suggests implementing an automated version for type-safe languages, such as Java and C#.
Trishul M. Chilimbi, Ran Shaham
PLDI2
2006 Combining Shape Analyses by Intersecting Abstractions
Gilad Arnold, Roman Manevich, Shmuel Sagiv, Ran Shaham
VMCAI4
2005 Optimizing C Multithreaded Memory Management Using Thread-Local Storage
Yair Sade, Shmuel Sagiv, Ran Shaham
CC3
2005 Establishing local temporal heap safety properties with applications to compile-time memory management
Ran Shaham, Eran Yahav, Elliot K. Kolodner, Shmuel Sagiv
Sci. Comput. Program.1
2003 Establishing Local Temporal Heap Safety Properties with Applications to Compile-Time Memory Management
Ran Shaham, Eran Yahav, Elliot K. Kolodner, Shmuel Sagiv
SAS1
2001 Heap Profiling for Space-Efficient Java
abstract
We present a heap-profiling tool for exploring the potential for space savings in Java programs. The output of the tool is used to direct rewriting of application source code in a way that allows more timely garbage collection (GC) of objects, thus saving space. The rewriting can also avoid allocating some objects that are never used.
Ran Shaham, Elliot K. Kolodner, Shmuel Sagiv
PLDI1
2000 Automatic Removal of Array Memory Leaks in Java
Ran Shaham, Elliot K. Kolodner, Shmuel Sagiv
CC1
2000 On the Effectiveness of GC in Java
abstract
We study the effectiveness of garbage collection (GC) algorithms by measuring the time difference between the actual collection time of an object and the potential earliest collection time for that object. Our ultimate goal is to use this study in order to develop static analysis techniques that can be used together with GC to allow earlier reclamation of objects. The results may also be used to pinpoint application source code that could be rewritten in a way that would allow more timely GC.
Ran Shaham, Elliot K. Kolodner, Shmuel Sagiv
ISMM1