Newsletter #1, February 2002
Welcome to the first Memory Management Network newsletter.
The Memory Management Network is a new
EPSRC-funded network
of researchers with interests in memory management.
Its aims include
the creation of a UK forum in the field of memory management,
promotion of awareness of state-of-the-art techniques and solutions,
and support for training of developers and students.
The consortium currently includes the universities of
Glasgow, Kent, St. Andrews and Southampton,
IBM, Insignia Solutions and Microsoft.
We actively seek further participation.
Our website is
http://www.mm-net.org.uk,
where you can find more details of
the Network's activities,
useful resources
and the rest of this newsletter!
Richard Jones
R.E.Jones@ukc.ac.uk
Memory Management News
We intend to publish a regular newsletter to keep the community informed of
new events and ideas.
This newsletter includes a report from OOPSLA 2001 and details of forthcoming
conferences.
We welcome suggestions and/or contributions for future newsletters.
Forthcoming Conferences
- JavaOne,
San Francisco, March 25-29, 2002.
- PLDI,
Berlin, June 17 - 19, 2002
- ISMM
Berlin, June 20-21, 2002 (in conjunction with PLDI 2002).
ISMM is the premier conference of memory management related work.
-
Java Virtual Machine Research and Technology Symposium,
San Francisco, August 1-2, 2002
- OOPSLA,
Seattle, November 4-8, 2002. Deadline for papers: March 22, 2002.
OOPSLA 2001 - Conference Report
(Tony Printezis)
One session focused on memory management. As usual now, the emphasis
was on Java!
- Pretenuring for Java Stephen Blackburn, Sharad Singhai,
Matthew Hertz, Kathryn McKinley and Eliot Moss (University of
Massachusetts).
A scheme to detect when to allocate objects directly to old space
instead of the young space. They identify allocation locations
(i.e. invocations to new) that seem to create objects that live
longer. They claim it works both for generational and the older-first
GCs. What I found interesting in their experimental setup was that
they showed GC and total elapsed times for a variety of heap sizes
rather than just one. This is actually important as the heap size
affects the performance of the system.
- Controlling Garbage Collection And Heap Growth To Reduce The
Execution Time Of Java Applications Tim Brecht (HP Labs), Eshrat
Arjomandi, Chang Li, and Hang Pham (York University).
Explored how to decide on whether to collect or extend the heap in
order to improve performance. They claim that if there is enough
memory available, just grow the heap aggressively and don't bother
collecting. However, if the memory threshold was being reached,
think of performing a GC. The decision is based on how desparately
out of space the system is and how much garbage was reclaimed during
the last GC.
- An On-The-Fly Reference Counting Garbage Collector For Java
Yossi Levanoni (Microsoft) and Erez Petrank (Technion).
This paper describes an efficient, they claim, way of using reference counting (RC) for GC purposes. There is no need for synchronisation
for their write-barrier as the RC updates are logged on thread-local
buffers and then applied when required (this can be achieved
concurrently with the program). Thanks to an interesting observation,
they can get away with applying only a small number of RC updates.
They use 2-bit RCs a la Wise. A backup low-priority tracing collector
deals with cycles. They show that their implementation works well,
however it's only been implemented in Classic JDK so it will be
interesting to see how it will perform in a high performance VM.
I think this is worth a read.
These were the general papers that I thought were interesting.
One was not on Java!
- The Java Syntactic Extender Jonathan Bachrach (MIT AI Lab)
and Keith Playford (Functional Objects Inc.).
How to do macros in Java "properly"; this is groovy (and mind-blowing)
stuff!
- A Study Of Exception Handling And Its Dynamic Optimization In Java
Taeshi Ogawawara, Hideaki Komatsu, and Toshio Nakatani (IBM Tokyo
Research Laboratory).
On the implementation of exceptions in Java with minimal overheads.
- Efficient Implementation Of Java Interfaces:
Invokeinterface Considered Harmless Bowen Alpern, Anthony Cocchi,
Stephen Fink, David Grove, and Derek Lieber (IBM T.J. Watson Research
Center).
Describes implementation strategies that nearly eliminate the
assumed performance penalty of Java interface invocations.
- Multitasking Without Compromise Grzegorz Czajkowski and
Laurent Daynes (SunLabs West).
On the isolation of applications inside the same JVM. Cool stuff.
- Partial Method Compilation Using Dynamic Profile Information
John Whaley (Stanford University).
On-line profiling of basic-block execution frequencies to re-optimise
only the hot paths of methods dynamically.
- A Dynamic Optimization Framework For A Java Just-In-Time Compiler
Toshio Suganuma, Toshiaki Yasue, Motohiro Kawahito, Hideaki Komatsu
and Toshio Nakatani (IBM Tokyo Research Laboratory).
Describes the execution model of IBM's Tokyo VM. This includes an
interpreter and three (!) levels of JIT compilation (no
optimisations, full optimisations, additional dynamic optimisations).
Problems with this page?
Contact the mm-net webmaster
Last modified Tue Feb 19 11:02:01 GMT 2002