JRes: A resource accounting interface for Java
G Czajkowski, T Von Eicken - ACM SIGPLAN Notices, 1998 - dl.acm.org
G Czajkowski, T Von Eicken
ACM SIGPLAN Notices, 1998•dl.acm.orgWith the spread of the Internet the computing model on server systems is undergoing
several important changes. Recent research ideas concerning dynamic operating system
extensibility are finding their way into the commercial domain, resulting in designs of
extensible databases and Web servers. In addition, both ordinary users and service
providers must deal with untrusted downloadable executable code of unknown origin and
intentions. Across the board, Java has emerged as the language of choice for Internet …
several important changes. Recent research ideas concerning dynamic operating system
extensibility are finding their way into the commercial domain, resulting in designs of
extensible databases and Web servers. In addition, both ordinary users and service
providers must deal with untrusted downloadable executable code of unknown origin and
intentions. Across the board, Java has emerged as the language of choice for Internet …
With the spread of the Internet the computing model on server systems is undergoing several important changes. Recent research ideas concerning dynamic operating system extensibility are finding their way into the commercial domain, resulting in designs of extensible databases and Web servers. In addition, both ordinary users and service providers must deal with untrusted downloadable executable code of unknown origin and intentions.Across the board, Java has emerged as the language of choice for Internet-oriented software. We argue that, in order to realize its full potential in applications dealing with untrusted code, Java needs a flexible resource accounting interface. The design and prototype implementation of such an interface --- JRes --- is presented in this paper. The interface allows to account for heap memory, CPU time, and network resources consumed by individual threads or groups of threads. JRes allows limits to be set on resources available to threads and it can invoke callbacks when these limits are exceeded. The JRes prototype described in this paper is implemented on top of standard Java virtual machines and requires only a small amount of native code.
ACM Digital Library