Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Open access

Resource aware programming

Published: 01 May 2005 Publication History

Abstract

We introduce the Resource Aware Programming framework, which allows users to monitor the resources used by their programs and to programmatically express policies for the management of such resources. The framework is based on a notion of hierarchical groups, which act as resource containers for the computations they sponsor. Asynchronous notifications for resource exhaustion and for computation termination can be handled by arbitrary user code, which is also executed under the control of this hierarchical group structure. Resources are manipulated by the programmer using resource descriptors, whose operations are specified by a resource algebra. In this article, we overview the Resource Aware Programming framework and describe its semantics in the form of a language-independent abstract machine able to model both shared and distributed memory environments. Finally, we discuss a prototype implementation of the Resource Aware Programming framework in Java.

References

[1]
Back, G., Hsieh, W. C., and Lepreau, J. 2000. Processes in KaffeOS: Isolation, Resource Management, and Sharing in Java. In Proceedings of the 4th Symposium on Operating Systems Design and Implementation (San Diego, CA). Usenix Association, Berkeley, CA.]]
[2]
Booth, D., Haas, H., McCabe, F., Newcomer, E., Champion, M., Ferris, C., and Orchard, D. 2003. Web services architecture. W3C Working Draft. World Wide Web Consortium (W. C.). Web site: www.w3.org.]]
[3]
Box, D., Curbera, F., Hondo, M., Kaler, C., Langworthy, D., Nadalin, A., Nagaratnam, N., Nottingham, M., von Riegen, C., and Shewchuk, J. 2003. Web services policy framework (ws-policy). Available online at http://msdn.microsoft.com/webservices/default.aspx?pull=/library/en-us/dnglobspec/html/ws-policy.asp.]]
[4]
Bryce, C. and Vitek, J. 2001. The JavaSeal mobile agent kernel. Auton. Agents Multi-Agent Syst. 4, 359--384.]]
[5]
Czajkowski, G. and von Eicken, T. 1998. JRes: A resource accounting interface for Java. In Proceedings of ACM OOPSLA Conference (Vancouver, BC, Canada). ACM Press, New York, NY.]]
[6]
Czajkowski, K., Dan, A., an S. Tuecke, J. R., and Xu, M. 2004. Agreement-based service management (ws-agreement). Tech. rep. Global Grid Forum, Lemont, IL. Web site: www.gridforum.org.]]
[7]
Damianou, N., Dulay, N., Lupu, E., and Sloman, M. 2001. The ponder policy specification language. In Workshop on Poicies for Distributed Systems and Networks (POLICY 2001). Lecture Notes in Computer Science, vol. 1995. Springer-Verlag, Berlin, Germany.]]
[8]
Della-Libera, G., Hallam-Baker, P., Hondo, M., Janczuk, T., Kaler, C., Maruyama, H., Nagaratnam, N., Nash, A., Philpott, R., Prafullchandra, H., Shewchuk, J., Waingold, E., and Zolfonoon, R. 2002. Web services security policy (ws-securitypolicy). Web site: http://www.ibm. com/developerworks/library/ws-secpol/index.html.]]
[9]
Foster, I. 2002. What is the grid? a three point checklist. Web site: http://www-fp.mcs.anl.gov/~foster/.]]
[10]
Foster, I., Kesselman, C., Nick, J. M., and Tuecke, S. 2002. The Physiology of the Grid---An Open Grid Services Architecture for Distributed Systems Integration. Tech. rep. Argonne National Laboratory, Argonne, IL.]]
[11]
Fuggetta, A., Picco, G. P., and Vigna, G. 1998. Analyzing mobile code languages, mobile object systems. IEEE Trans. Softw. Eng. 24, 5 (May), 352--361.]]
[12]
Groth, P. T. and Suri, N. 2002. CPU Resource Control and Accounting in the NOMADS Mobile Agent System. Tech. rep. Institute for Human & Machine Cognition, University of West Florida, Pensacola, FL.]]
[13]
Halstead, Jr., R. H. 1990. New ideas in Parallel Lisp: Language design, implementation. In Parallel Lisp: Languages and Systems. US/Japan Workshop on Parallel Lisp. Japan., T. Ito and R. H. Halstead, Eds. Lecture Notes in Computer Science, vol. 441. Springer-Verlag, Berlin, Germany, 2--57.]]
[14]
Hartel, P. H. and Moreau, L. 2001. Formalizing the safety of Java, the Java Virtual Machine and Java Card. ACM Comput. Surv. 33, 4 (Dec.), 517--558.]]
[15]
Haynes, C. T. and Friedman, D. P. 1987. Abstracting Timed Preemption with Engines. Comput. Lang. 12, 2, 109--121.]]
[16]
Johnson, M., Chang, P., Jeffers, R., Bradshaw, J., Breedy, M., Bunch, L., Kulkarni, S., Lott, J., Suri, N., Uszok, A., and Soo, V.-W. 2003. Kaos semantic policy and domain services: An application of DAML to Web services-based grid architectures. In Proceedings of the AAMAS Workshop on Web-Services and Agent-Based Engineering (Merlbourne, Australia).]]
[17]
JSR-121. 2003. Application isolation api specification. Web site: http://www.jcp.org/en/jsr/detail?id=121.]]
[18]
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Videira Lopes, C., Loingtier, J.-M., and Irwin, J. 1997. Aspect-oriented programming. In Proceedings European Conference on Object-Oriented Programming (ECOOP'97). Lecture Notes in Computer Science, vol. 1241. Springer-Verlag, Berlin, Germany, 220--242.]]
[19]
Kornfeld, W. A. and Hewitt, C. E. 1981. The Scientific Community Metaphor. IEEE Trans. Syst., Man, Cybernet. 11, 1 (Jan.), 24--33.]]
[20]
Ludwig, H., Keller, A., Dan, A., King, R. P., and Franck, R. 2003. Web service level agreement (WSLA), language specification. Tech. rep. IBM Corporation, York town Heights, NY.]]
[21]
Moreau, L. 2001a. Distributed Directory Service and Message Router for Mobile Agents. Sci. Comput. Programm. 39, 2--3, 249--272.]]
[22]
Moreau, L. 2001b. Tree Rerooting in Distributed Garbage Collection: Implementation and Performance Evaluation. Higher-Order Symboli. Computat. 14, 4 (Dec.), 357--386. (Colored figures can be found online at http://www.ecs.soton.ac.uk/lavm/papers/hosc01-colour.tar.gz).]]
[23]
Moreau, L. and Queinnec, C. 1997a. Design and Semantics of Quantum: A Language to Control Resource Consumption in Distributed Computing. In Proceedings of theUsenix Conference on Domain-Specific Languages (DSL'97, Santa-Barbara, CA). Usenix Association, Berkely, CA, 183--197.]]
[24]
Moreau, L. and Queinnec, C. 1997b. On the Finiteness of Resources in Distributed Computing. Research rep. RR-3147. INRIA, Rocquen Count, France.]]
[25]
Moreau, L. and Queinnec, C. 1998. Distributed Computations Driven by Resource Consumption. In IEEE International Conference on Computer Languages (ICCL'98, Chicago, IL). IEEE Computer Press, Los Alamitos, CA, 68--77.]]
[26]
Moreau, L. and Queinnec, C. 2002a. Distributed and multi-type resource management. In Proceedings of the ECOOP'02 Workshop on Resource Management for Safe Languages (Malaga, Spain). 15. Short version appears in G. Czajkowski and J. Vitek, Resource management for safe languages, in ECOOP'2002 Workshop Reader, J. Hernandeg and A. Moreira, Eds. Lecture Notes in Computer Science. 1--14.]]
[27]
Moreau, L. and Queinnec, C. 2002b. Resource aware programming package. Available online at www.ecs.soton.ac.uk/~lavm/rap.]]
[28]
Osborne, R. B. 1990. Speculative Computation in Multilisp. An overview. In Proceedings of the 1990 ACM Conference on Lisp and Functional Programming (Nice, France). ACM Press, New York, NY, 198--208.]]
[29]
Roure, D. D., Jennings, N., and Shadbolt, N. 2001. The semantic grid. Tech. rep. University of Southampton, Southampton, U.K. Available online at www.semanticgrid.org.]]
[30]
Sun MicroSystems. 1996. Java Remote Method Invocation Specification. Sun MicroSystems, Santa Clara, CA.]]
[31]
Suri, N., Bradshaw, J. M., Breedy, M. R., Groth, P. T., Hill, G. A., Jeffers, R., Mitrovich, T. S., Pouliot, B. R., and Smith, D. S. 2000. NOMADS: Toward a Strong and Safe Mobile Agent System. In Proceedings of the Fourth International Conference on Autonomous Agents (Barcelona, Catalonia, Spain). ACM Press, New York, NY, 163--164.]]
[32]
Suri, N., University, L., Carvalho, M., Bradshaw, J. M., Breedy, M. R., Cowin, T. B., Groth, P. T., Saavedra, R., and Uszok, A. 2003. Enforcement of communications policies in software agent systems through mobile code. In Proceedings of the IEEE 4th International Workshop on Policies for Distributed Systems and Networks (Lake Como, Italy). IEEE Computer Society, Press, Los Alamitos, CA, 247--250.]]
[33]
Villazón, A. and Binder, W. 2001. Portable resource reification in java-based mobile agent systems. In The Fifth IEEE International Conference on Mobile Agents (MA'2001; Atlanta, GA). Springer-Verlag, Berlin, Germany.]]
[34]
White, J. E. 1996. Telescript technology: Mobile agents. In Software Agents, J. Bradshaw, Ed. AAAI Press, Menlo Park, CA/MIT Press, Cambridge, MA.]]
[35]
Yao, W., Moody, K., and Bacon, J. 2001. A model of oasis role-based access control and its support for active security. In Proceedings of Sixth ACM Symposium on Access Control Models and Technologies (SACMAT'2001, Chantilly, VA). ACM Press, New York, NY, 171--181.]]

Cited By

View all
  • (2017)Compositional schedulability analysis of real-time actor-based systemsActa Informatica10.1007/s00236-015-0254-x54:4(343-378)Online publication date: 1-Jun-2017
  • (2016)SquirrelProceedings of the 31st Annual ACM Symposium on Applied Computing10.1145/2851613.2851768(1329-1336)Online publication date: 4-Apr-2016
  • (2016)Scalable Power Management for On-Chip Systems with Malleable ApplicationsIEEE Transactions on Computers10.1109/TC.2016.254063165:11(3398-3412)Online publication date: 1-Nov-2016
  • Show More Cited By

Recommendations

Reviews

Michael G. Murphy

A framework for resource aware programming (RAP) is introduced in this paper. RAP allows the user to monitor resources used by programs, and to express policies for managing resources programmatically. The framework is based on hierarchical groups, which serve as resource containers for related computations. Resource exhaustion and termination are handled by user code, which is executed under the control of the hierarchical group structure to provide asynchronous notification. The programmer manipulates resources using resource descriptors that are specified by a resource algebra. The section topics include: an introduction, the notion of a resource, the primitives of the RAP framework, examples that show how providers and consumers can program usage policies, the model framework as a combination of a resource algebra and a message-passing abstract machine, implementation issues in Java, related work, and a conclusion that points to future work. There is also an appendix with the transitions performed on a simple program that serves as an execution trace. Many figures provided throughout the paper give a visual feel for the concepts and their application. The paper is well and carefully written. It is recommended for anyone with an interest in resource management issues in programming.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Programming Languages and Systems
ACM Transactions on Programming Languages and Systems  Volume 27, Issue 3
May 2005
200 pages
ISSN:0164-0925
EISSN:1558-4593
DOI:10.1145/1065887
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 May 2005
Published in TOPLAS Volume 27, Issue 3

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Resource management
  2. abstract machine
  3. resource algebra
  4. semantics

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)50
  • Downloads (Last 6 weeks)13
Reflects downloads up to 03 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2017)Compositional schedulability analysis of real-time actor-based systemsActa Informatica10.1007/s00236-015-0254-x54:4(343-378)Online publication date: 1-Jun-2017
  • (2016)SquirrelProceedings of the 31st Annual ACM Symposium on Applied Computing10.1145/2851613.2851768(1329-1336)Online publication date: 4-Apr-2016
  • (2016)Scalable Power Management for On-Chip Systems with Malleable ApplicationsIEEE Transactions on Computers10.1109/TC.2016.254063165:11(3398-3412)Online publication date: 1-Nov-2016
  • (2016)Towards connectivity-guaranteed power-gating large-scale on-chip networks2016 Seventh International Green and Sustainable Computing Conference (IGSC)10.1109/IGCC.2016.7892613(1-6)Online publication date: 2016
  • (2014)Formal modeling and analysis of resource management for cloud architecturesService Oriented Computing and Applications10.1007/s11761-013-0148-08:4(323-339)Online publication date: 1-Dec-2014
  • (2014)Towards the Typing of Resource DeploymentLeveraging Applications of Formal Methods, Verification and Validation. Specialized Techniques and Applications10.1007/978-3-662-45231-8_7(88-103)Online publication date: 2014
  • (2013)Agent-based distributed power management for kilo-core processorsProceedings of the International Conference on Computer-Aided Design10.5555/2561828.2561860(153-160)Online publication date: 18-Nov-2013
  • (2013)Self-adaptive hybrid dynamic power management for many-core systemsProceedings of the Conference on Design, Automation and Test in Europe10.5555/2485288.2485303(51-56)Online publication date: 18-Mar-2013
  • (2013)Agent-based distributed power management for Kilo-core processors: Special Session: “Keeping Kilo-core chips cool: New directions and emerging solutions”2013 IEEE/ACM International Conference on Computer-Aided Design (ICCAD)10.1109/ICCAD.2013.6691112(153-160)Online publication date: Nov-2013
  • (2012)Formal modeling of resource management for cloud architecturesProceedings of the First European conference on Service-Oriented and Cloud Computing10.1007/978-3-642-33427-6_7(91-106)Online publication date: 19-Sep-2012
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media