Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Forrest J. Robinson

dblp:169/6840 · DBLP profile ↗
← Back
3ranked-venue papers
1as first author
0since 2021 · last 2016
—ORCID · none

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

Software engineering, systems software and programming languages · 2 · 1 first-authorSystems, architecture and hardware · 1

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
2 papers
Memory systems · 48% Performance modeling and evaluation · 28% Energy-efficient computing · 24%
Software engineering, system software, and programming languages
2 papers
Compilers and program optimization · 58% Runtime systems and virtual machines · 34% Operating systems · 8%

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

TopicWeightPapersLastEvidence papers
Compilers and program optimization
dynamic optimization
0.212016
Impact of Intrinsic Profiling Limitations on Effectiveness of Adaptive Optimizations · ACM Trans. Archit. Code Optim. 2016
Compilers and program optimization › dynamic optimization
profile-guided optimization
0.212016
Impact of Intrinsic Profiling Limitations on Effectiveness of Adaptive Optimizations · ACM Trans. Archit. Code Optim. 2016
Performance modeling and evaluation › performance tuning
profile-guided optimization
0.212016
Impact of Intrinsic Profiling Limitations on Effectiveness of Adaptive Optimizations · ACM Trans. Archit. Code Optim. 2016
Runtime systems and virtual machines
managed runtime
0.212015
Cross-layer memory management for managed language applications · OOPSLA 2015
Memory systems › DRAM
DRAM power management
0.212015
Cross-layer memory management for managed language applications · OOPSLA 2015
Memory systems
memory management
0.212015
Cross-layer memory management for managed language applications · OOPSLA 2015
Energy-efficient computing
power management
0.212015
Cross-layer memory management for managed language applications · OOPSLA 2015
Runtime systems and virtual machines › dynamic compilation
just-in-time compilation
0.112016
Impact of Intrinsic Profiling Limitations on Effectiveness of Adaptive Optimizations · ACM Trans. Archit. Code Optim. 2016
Operating systems › resource management › memory management
virtual memory
0.112015
Cross-layer memory management for managed language applications · OOPSLA 2015

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

simulation · 0.5profiling · 0.5sampling · 0.4object profiling · 0.4code generation · 0.4
YearPublicationVenuePosition
2016 Code cache management in managed language VMs to reduce memory consumption for embedded systems
abstract
The compiled native code generated by a just-in-time (JIT) compiler in managed language virtual machines (VM) is placed in a region of memory called the code cache. Code cache management (CCM) in a VM is responsible to find and evict methods from the code cache to maintain execution correctness and manage program performance for a given code cache size or memory budget. Effective CCM can also boost program speed by enabling more aggressive JIT compilation, powerful optimizations, and improved hardware instruction cache and I-TLB performance. Though important, CCM is an overlooked component in VMs. We find that the default CCM policies in Oracle’s production-grade HotSpot VM perform poorly even at modest memory pressure. We develop a detailed simulation-based framework to model and evaluate the potential efficiency of many different CCM policies in a controlled and realistic, but VM-independent environment. We make the encouraging discovery that effective CCM policies can sustain high program performance even for very small cache sizes. Our simulation study provides the rationale and motivation to improve CCM strategies in existing VMs. We implement and study the properties of several CCM policies in HotSpot. We find that in spite of working within the bounds of the HotSpot VM’s current CCM sub-system, our best CCM policy implementation in HotSpot improves program performance over the default CCM algorithm by 39%, 41%, 55%, and 50% with code cache sizes that are 90%, 75%, 50%, and 25% of the desired cache size, on average.
Forrest J. Robinson, Michael R. Jantz, Prasad A. Kulkarni
LCTES1
2016 Impact of Intrinsic Profiling Limitations on Effectiveness of Adaptive Optimizations
abstract
Many performance optimizations rely on or are enhanced by runtime profile information. However, both offline and online profiling techniques suffer from intrinsic and practical limitations that affect the quality of delivered profile data. The quality of profile data is its ability to accurately predict (relevant aspects of) future program behavior. While these limitations are known, their impact on the effectiveness of profile-guided optimizations, compared to the ideal performance, is not as well understood. We define ideal performance for adaptive optimizations as that achieved with a precise profile of future program behavior. In this work, we study and quantify the performance impact of fundamental profiling limitations by comparing the effectiveness of typical adaptive optimizations when using the best profiles generated by offline and online schemes against a baseline where the adaptive optimization is given access to profile information about the future execution of the program. We model and compare the behavior of three adaptive JVM optimizations—heap memory management using object usage profiles, code cache management using method usage profiles, and selective just-in-time compilation using method hotness profiles—for the Java DaCapo benchmarks. Our results provide insight into the advantages and drawbacks of current profiling strategies and shed light on directions for future profiling research.
Michael R. Jantz, Forrest J. Robinson, Prasad A. Kulkarni
ACM Trans. Archit. Code Optim.2
2015 Cross-layer memory management for managed language applications
abstract
Performance and energy efficiency in memory have become critically important for a wide range of computing domains. However, it is difficult to control and optimize memory power and performance because these effects depend upon activity across multiple layers of the vertical execution stack. To address this challenge, we construct a novel and collaborative framework that employs object placement, cross-layer communication, and page-level management to effectively distribute application objects in the DRAM hardware to achieve desired power/performance goals. In this work, we describe the design and implementation of our framework, which is the first to integrate automatic object profiling and analysis at the application layer with fine-grained management of memory hardware resources in the operating system. We demonstrate the utility of our framework by employing it to more effectively control memory power consumption. We design a custom memory-intensive workload to show the potential of our approach. Next, we develop sampling and profiling-based analyses and modify the code generator in the HotSpot VM to understand object usage patterns and automatically determine and control the placement of hot and cold objects in a partitioned VM heap. This information is communicated to the operating system, which uses it to map the logical application pages to the appropriate DRAM ranks according to user-defined provisioning goals. We evaluate our framework and find that it achieves our test goal of significant DRAM energy savings across a variety of workloads, without any source code modifications or recompilations.
Michael R. Jantz, Forrest J. Robinson, Prasad A. Kulkarni, Kshitij A. Doshi
OOPSLA2