[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/286936.286944acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article
Free access

JRes: a resource accounting interface for Java

Published: 01 October 1998 Publication History

Abstract

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.

References

[1]
Agarwal, A, Sites, R, and Horowitz, M. ATUM:A New Technique for Capturing Address Traces Using Mictvcode. Proc. 13th International Symposium on Computer Architecture, June 1986.
[2]
Arnold, K and Gosling, J. The Java Programming Language. Addison-Wesley.
[3]
Bershad, B, Savage, S and Pardyak P. Protection is a Software Issue. Fifth Workshop on Hot Topics in Operating Systems, Orcas Island, WA, May 1995.
[4]
Bershad, B, Savage, S, Pardyak, P, Sirer, E, Fiuczynski, M, Becker, D, Eggers, S, and Chambers, C. Extensibility, Safety and Performance in the SPIN Operating System. 15th ACM Symposium on Operating Systems Principles, Copper Mountain, CO, December 1995.
[5]
Brewer, E, Dellarocas, C, Colbrook, A and Weihl, W. PROTEUS." A High-Performance Parallel- Architecture Simulator. Massachusetts Institute of Technology technical report MIT/LCS/TR-516, 1991.
[6]
Chase, J, Levy, H, Feeley, M and Lazowska, E. Sharing and Protection in a Single Address Space Operating System. In ACM Transactions on Computer Systems, May 1994.
[7]
Clark, D and Tennenhouse, D. Architectural Considerations for a New Generation of Protocols Proc. SIGCOMM Symposium on Communications Architectures and Protocols, Philadelphia, PA, September 1990.
[8]
Cmelik, R and Keppel, D. Shade: A Fast Instruction- Set Simulator for Execution Profiling. Proc. ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems, May 1994.
[9]
Cohen, G, Chase, J, and Kaminsky, D. Automatic Program Transformation with JOIE. Proc. USENIX Annual Conference, New Orleans, LA, June 1998.
[10]
Czajkowski, G, Chang, C-C, Hawblitze, C, Hu, D and von Eicken, T. Resource Management for Extensible Internet Servers. Proc. of
[11]
Denning, A. ActiveX Controls Inside Out. Microsoft Press, 1997.
[12]
Engler, D, Kaashoek, F, and O'Toole, J. Exokernel: An Operating System Architecture for Application- Level Resource Management. Proc. ACM Symposium on Operating Systems Principles, Copper Mountain, CO, December 1995.
[13]
Etch.http://memsys.cs.washington.edu/memsys/html/ etch.html.
[14]
Godfrey, M, Mayr, T, Seshadri P, and yon Eicken, T. Secure and Portable Database Extensibility. Proc. ACM SIGMOD international Conference on Management of Data, SIGMOD Record, vol 27, Issue 2, June 1998.
[15]
Gong, L and Schemers, R. Implementing Protection Domains in the Java Development Kit 1.2. Internet Society Symposium on Network and Distributed System Security, San Diego, CA, March 1998.
[16]
Gosling, J, Joy, B, and Steele, G. The Java language specification. Addison-Wesley, 1996.
[17]
Hastings, R and Joyce, B. Purify." Fast Detection of Memory Leaks and Access Errors. Proc. Winter USENIX Conference, January 1992.
[18]
Graham, S, Kessler, P and Marshall K. An Execution Profiler for Modular Programs. Software Practice and Experience, pages 671-685, vol 13, 1983.
[19]
Hicks, M, Kakkar, P, Moore, J, Gunter, C, and Nettles, S. PLAN." A Programming Language for Active Networks. Submitted to ACM SIGPLAN Conference on Programming Language Design and Implementation, 1998.
[20]
Hawblitzel, C, Chang, C-C, Czajkowski, G, Hu, D, and von Eicken, T. Implementing Multiple Protection Domains in Java. In Proceedings of USENIX Annual Conference, New Orleans, LA, June 1998.
[21]
Heiser, G, Lam, F and Russel, S. Resource Management in the Mungi Single-Address-Space Operating System. In Proceedings of the 21St Australasian Computer Science Conference, Perth, Australia, February, 1998.
[22]
Jackson, J and McClelan, A. Java By Example. SunSoft Press, April 1996.
[23]
Java Web Server Home Page. http://J serv'j avas~ft'c~m/pr~ducts/webserver/index" ht ml.
[24]
Jigsaw Overview. http://www.w3c.org/Jigsaw.
[25]
Larus, J and Ball, T. Rewriting Executable Files to Measure Program Behavior. Software, Practice and Experience, vol 24, no. 2, February 1994
[26]
Larus, J and Schnarr, E. EEL: Machine-Indenepdent Executable Editing. Proc. SIGPLAN Conference on Programming Language Design and Implementation, June 1995.
[27]
Lee, H and Zorn, B. BIT." A Tool for Instrumenting Java Bytecodes. In Proceedings of the USENIX Symposium on Intemet Technologies and Systems, Monterey, CA, December 1997.
[28]
Lindholm, T and Ycllin, F. The Java Virtual Machine Spec!lqcation. Addison-Wesley, 1996.
[29]
Necula, G. Proo{:Car~'ing (~ule. In Proceedings of the 24th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. Paris, France, January 1997.
[30]
Nilsen, K. Issues in the Design and hnplementation of Real-Time Java. Java Developer's Journal, 1996,
[31]
Pendragon Software. Caffeine Mark 3.0. http ://www.pendragonso ft wa r e. co m/pe nd ra go n/c m3/inde x. html.
[32]
Seltzer, M, Endo, Y, Small, C, and Smith, K. Dealing with Disaster: Suiwiving Misbehaved Kernel Extensions. Proceedings of the Second Symposium on Operating System Design and Implementation, Seattle, WA, November 1996.
[33]
Sirer, E, Fiuczynski, M, and Pardyak, P. Writing an Operating System with Modula-3. First Workshop on Compiler Support for System Software, Tucson, AZ, February 1996.
[34]
Smith, M. Tracing with Pixie. Memo from Center for Integrated Systems, Stanford University, April 1991.
[35]
Srivastava, A and Eustace, A. ATOM A System for Building Customized Program Analysis 7bols. Proc. of the SIGPLAN '94 Conference on Programming Language Design and Implementation, June 1994.
[36]
Srivastava, A and Wall, D. A Practical System flJr Intermodule Code Optimization at Link-Time. Journal of Programming Languages, vol I, no 1, March 1993.
[37]
SunTest. JavaCC Java Parser Generator. http ://www. sun.com/suntest/JavaCC.
[38]
Wall, D. Systems jbr Late Code modiJication. In Robert Giegerich and Susan L. Graham, eds., Code Generation- Concepts, Tools, Techniques, Springer- Verlag, 1992.
[39]
Wallach, D, Balfanz, D, Dean, D, and Felten, E. Extensible Security Architectures Jor Java. 16~h ACM Symposium on Operating Systems Principles, 9. 116-128, Saint-Malo, France, October 1997.

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
OOPSLA '98: Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
October 1998
428 pages
ISBN:1581130058
DOI:10.1145/286936
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 October 1998

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Java
  2. extensible systems
  3. resource management

Qualifiers

  • Article

Conference

OOPSLA98
Sponsor:

Acceptance Rates

Overall Acceptance Rate 268 of 1,244 submissions, 22%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)187
  • Downloads (Last 6 weeks)19
Reflects downloads up to 14 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2017)Data Storage Management in Cloud EnvironmentsACM Computing Surveys10.1145/313662350:6(1-51)Online publication date: 11-Dec-2017
  • (2017)A Taxonomy of Adaptive Resource Management Mechanisms in Virtual Machines: Recent Progress and ChallengesCloud Computing10.1007/978-3-319-54645-2_3(59-98)Online publication date: 3-Jun-2017
  • (2016)Prioritized garbage collection: explicit GC support for software cachesACM SIGPLAN Notices10.1145/3022671.298402851:10(695-710)Online publication date: 19-Oct-2016
  • (2016)Prioritized garbage collection: explicit GC support for software cachesProceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications10.1145/2983990.2984028(695-710)Online publication date: 19-Oct-2016
  • (2015)Incinerator -- Eliminating Stale References in Dynamic OSGi ApplicationsProceedings of the 2015 45th Annual IEEE/IFIP International Conference on Dependable Systems and Networks10.1109/DSN.2015.39(545-554)Online publication date: 22-Jun-2015
  • (2014)Dynamic space limits for HaskellACM SIGPLAN Notices10.1145/2666356.259434149:6(588-598)Online publication date: 9-Jun-2014
  • (2014)Dynamic space limits for HaskellProceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/2594291.2594341(588-598)Online publication date: 9-Jun-2014
  • (2014)ScapegoatProceedings of the 2014 IEEE/IFIP Conference on Software Architecture10.1109/WICSA.2014.49(67-76)Online publication date: 7-Apr-2014
  • (2013)A progress and profile-driven cloud-VM for resource-efficiency and fairness in e-science environmentsProceedings of the 28th Annual ACM Symposium on Applied Computing10.1145/2480362.2480436(357-362)Online publication date: 18-Mar-2013
  • (2012)Multitasking without compromiseACM SIGPLAN Notices10.1145/2442776.244278547:4a(60-73)Online publication date: 18-Mar-2012
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media