skip to main content
article
Free Access

Hardware and software support for efficient exception handling

Authors Info & Claims
Published:01 November 1994Publication History
Skip Abstract Section

Abstract

Program-synchronous exceptions, for example, breakpoints, watchpoints, illegal opcodes, and memory access violations, provide information about exceptional conditions, interrupting the program and vectoring to an operating system handler. Over the last decade, however, programs and run-time systems have increasingly employed these mechanisms as a performance optimization to detect normal and expected conditions. Unfortunately, current architecture and operating system structures are designed for exceptional or erroneous conditions, where performance is of secondary importance, rather than normal conditions. Consequently, this has limited the practicality of such hardware-based detection mechanisms.

We propose both hardware and software structures that permit efficient handling of synchronous exceptions by user-level code. We demonstrate a software implementation that reduces exception-delivery cost by an order-of-magnitude on current RISC processors, and show the performance benefits of that mechanism for several example applications.

References

  1. Agarwal et al. 90 A. Agarwal, B.-H. Lim, D. Kranz, and j. Kubiatowicz. APRIL: A processor architecture for multiprocessing, in Proceedings of the 17th International Symposium on Computer Architecture, pages 104- I 14, May 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Alverson et al. 90 R. Alverson, D. Callahan, D. Cummings, B. Koblenz, A. Porterfield, and B. Smith. The Tera computer system. International Conference on Supercomputing, pages 1-6, June 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Anderson et al. 91 T E. Anderson, H. M. Levy, B. N. Bershad, and E. D. Lazowska. The interaction of architecture and operating system design. In Proceedings of the 4th International Conference on Architectural Support for Programming Languages and Operating Systems, pages 108-120, April 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Appel & Li 91 A. W. Appel and K. Li. Virtual memory primitives for user programs. In Proceedings of the 4th International Conference on Architecture Support for Programming Languages and Operating Systems, pages 96-107, April 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Appel et al. 88 A. W. Appel, J. R. Ellis, and K. Li. Real-time concurrent collection on stock multiprocessors. In Proceedings of the ACM SIGPLAN '88 Conference on Programming Language Design and Implementation, pages 11-20, June 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Boehm & Weiser 88 H.-J. Boehm and M. Weiser. Garbage collection in an uncooperative environment. Software-- Practice and Experience, 18(9):807-820, September 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Chang & Mergen 88 A. Chang and M. F. Mergen. 801 storage: Architecture and programming. A CM Transactions on Computer Systems, 6(1):28-50, Febmary 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Cockshot et al. 84 W. Cockshot, M. Atkinson, K. Chisholm, P. Bailey, and R. Morrison. Persistent object management system. Software--Practice and Experience, 14(1 ):251-272, January 1984.Google ScholarGoogle Scholar
  9. Hosking & Moss 93 A. L. Hosking and J. E. B. Moss. Protection traps and alternatives for memory management of an object-oriented language. In Proceedings of the Fourteenth ACM Symposium on Operating, pages 106-119, December 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Kane & Heinrich 92 G. Kane and J. Heinrich. MIPS RISCArchitecture. Prentice Hall, Englewood Cliffs, New Jersey 07632, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Kranz et al. 89 D.A. Kranz, R. H. Halstead, and E. Mohr. Mul- T: A high-performance parallel Lisp. In Proceedings of SIGPLAN '89 Symposium on Progamming Languages Design and Implementation, pages 81- 90, June 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Li & Hudak 89 K. Li and P. Hudak. Memory coherence in shared virtual memory systems. ACM Transactions on Computer Systems, 7(4):321-359, November 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Lieberman & Hewitt 83 H. Lieberman and C. Hewitt. A realtime garbage collector based on the lifetimes of objects. Communications of the ACM, 26(6):419-429, June 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Massalin & Pu 89 H. Massalin and C. Pu. Threads and input/output in the Synthesis kernel. In Proceedings of the 12th ACM Symposium on Operating Systems Principles, pages 191-201, December 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Ousterhout 90 J. K. Ousterhout. Why aren't operating systems getting faster as fast as hardware? In Proceedings of the Summer 1990 USENIX Conference, pages 247- 256, June 1990.Google ScholarGoogle Scholar
  16. Patience 93 S. Patience. Redirecting system calls in Mach 3.0, an alternative to the emulator. In Proceedings of the USENIX Mach III Symposium, pages 57-74, April 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Ungar 84 D. M. Ungar. Generation scavenging: A nondisruptive high-performance storage reclamation algorithm. In A CM SiGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, pages 157-167, April 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Wahbe 92 R. Wahbe. Efficient data breakpoints. In Proceedings of the 5th International Conference on Architectural Support for Programming Languages and Operating Systems, pages 200-212, October 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. White & DeWitt 92 S.J. White and D. J. DeWitt. A performance study of alternative object faulting and pointer swizzling strategies. In Proceedings of the 18th VLDB Conference, pages 419-431, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Wilson & Kakkad 92 P. R. Wilson and S. V. Kakkad. Pointer swizzling at page fault time: Efficiently and compatibly supporting huge address spaces on standard hardware. In Proceedings of the 1992 international Workshop on Object Orientation in Operating Systems, pages 364-377, September 1992.Google ScholarGoogle Scholar
  21. Young 89 M.W. Young. Exporting a User Interface to Memory Management from a Communication-Oriented Operating System. Ph.D. dissertation, Camegie Mellon University, November 1989. Technical Report CMU- CS-89-202. Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

  • Published in

    cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 29, Issue 11
    Nov. 1994
    323 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/195470
    Issue’s Table of Contents
    • cover image ACM Conferences
      ASPLOS VI: Proceedings of the sixth international conference on Architectural support for programming languages and operating systems
      November 1994
      341 pages
      ISBN:0897916603
      DOI:10.1145/195473

    Copyright © 1994 ACM

    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]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 1 November 1994

    Check for updates

    Qualifiers

    • article

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader