C. Richard Attanasio

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

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

Software engineering, systems software and programming languages · 2Systems, architecture and hardware · 1 · 1 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.

Software engineering, system software, and programming languages
2 papers
Runtime systems and virtual machines · 95% Operating systems · 5%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Parallel and multicore computing · 100%

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

TopicWeightPapersLastEvidence papers
Runtime systems and virtual machines › garbage collection
concurrent reference counting
0.012001
Java without the Coffee Breaks: A Nonintrusive Multiprocessor Garbage Collector · PLDI 2001
Runtime systems and virtual machines
garbage collection
0.012001
Java without the Coffee Breaks: A Nonintrusive Multiprocessor Garbage Collector · PLDI 2001
Runtime systems and virtual machines › garbage collection
parallel garbage collection
0.012001
Java without the Coffee Breaks: A Nonintrusive Multiprocessor Garbage Collector · PLDI 2001
Runtime systems and virtual machines › virtual machine implementation
java virtual machine
0.011999
Implementing Jalapeño in Java · OOPSLA 1999
Parallel and multicore computing › multiprocessor system
shared-memory multiprocessor
0.012001
Java without the Coffee Breaks: A Nonintrusive Multiprocessor Garbage Collector · PLDI 2001
Runtime systems and virtual machines › dynamic compilation
just-in-time compilation
0.011999
Implementing Jalapeño in Java · OOPSLA 1999

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

reference counting · 0.1mark-and-sweep · 0.0mark and sweep · 0.0unsafe casts · 0.0reflection · 0.0magic class · 0.0
YearPublicationVenuePosition
2004 Whole-Stack Analysis and Optimization of Commercial Workloads on Server Systems
C. Richard Attanasio, Jong-Deok Choi, Niteesh Dubey, Kattamuri Ekanadham, Manish Gupta 0002, Tatsushi Inagaki, Kazuaki Ishizaki, Joefon Jann, Robert D. Johnson, Toshio Nakatani, Pratap Pattnaik, Mauricio J. Serrano, Stephen E. Smith, Ian M. Steiner, Yefim Shuf
NPC1
2001 Java without the Coffee Breaks: A Nonintrusive Multiprocessor Garbage Collector
abstract
The deployment of Java as a concurrent programming language has created a critical need for high-performance, concurrent, and incremental multiprocessor garbage collection. We present the Recycler, a fully concurrent pure reference counting garbage collector that we have implemented in the Jalapeno Java virtual machine running on shared memory multiprocessors.While a variety of multiprocessor collectors have been proposed and some have been implemented, experimental data is limited and there is little quantitative basis for comparison between different algorithms. We present measurements of the Recycler and compare it against a non-concurrent but parallel load-balancing mark-and-sweep collector (that we also implemented in Jalapeno), and evaluate the classical tradeoff between response time and throughput.When processor or memory resources are limited, the Recycler runs at about 90% of the speed of the mark-and-sweep collector. However, with an extra processor to run collection and with a moderate amount of memory headroom, the Recycler is able to operate without ever blocking the mutators and achieves a maximum measured mutator delay of only 2.6 milliseconds for our benchmarks. End-to-end execution time is usually within 5%.
David F. Bacon, C. Richard Attanasio, Han Bok Lee, V. T. Rajan, Stephen E. Smith
PLDI2
1999 Implementing Jalapeño in Java
abstract
Jalape~no is a virtual machine for Java TM servers written in Java. A running Java program involves four layers of functionality: the user code, the virtual-machine, the operating system, and the hardware. By drawing the Java / non-Java boundary below the virtual machine rather than above it, Jalape~no reduces the boundary-crossing overhead and opens up more opportunities for optimization. To get Jalape~no started, a boot image of a working Jalape ~no virtual machine is concocted and written to a file. Later, this file can be loaded into memory and executed. Because the boot image consists entirely of Java objects, it can be concocted by a Java program that runs in any JVM. This program uses reflection to convert the boot image into Jalape~no's object format. A special Magic class allows unsafe casts and direct access to the hardware. Methods of this class are recognized by Jalape~no's three compilers, which ignore their bytecodes and emit special-purpose machine code. User code w...
Bowen Alpern, C. Richard Attanasio, John J. Barton, Anthony Cocchi, Susan Flynn Hummel, Derek Lieber, Ton Anh Ngo, Mark F. Mergen, Janice C. Shepherd, Stephen E. Smith
OOPSLA2