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

Using registers to optimize cross-domain call performance

Published: 01 April 1989 Publication History
  • Get Citation Alerts
  • Abstract

    This paper describes a new technique to improve the performance of cross-domain calls and returns in a capability-based computer system. Using register optimization information obtained from the compiler, a trusted linker can minimize the number of registers that must be saved, restored, or cleared when changing from one protection domain to another. The size of the performance gain depends on the level of trust between the calling and called protection domains. The paper presents alternate implementations for an extended VAX architecture and for a RISC architecture and reports performance measurements done on a re-microprogrammed VAX-11/730 processor.

    References

    [1]
    David E. Bell and Leonard J. LaPadula. Computer Security Model: Unified Ezposition and Multics Interpretation. Technical Report ESD-TR-75-306, The MITRE Corporation, Bedford, MA, USA, HQ EIectronic Systems Division, Hanscom AFB, MA, USA, June 1975.
    [2]
    Kenneth j. Biba. Integrity Considerations for Secure Computer Systems. Technical Report ESD-TR-76- 372, The MITRE Corporations Bedfords MA, USA, HQ Electronic Systems Division, Hanscom AFB, MA, USA, April 1977.
    [3]
    G. J. Chaitin. Register allocation & spilling via graph coloring. SIGPLAN Notices, 17(6):98-105, june 1982. Proceedings of the SIGPLANS82 Symposium on Compiler Construction, Boston, MAs USA, 23-25 June 1982.
    [4]
    Frederick Chow and John Hennessy. Register allocation by priority-based coloring. SIGPLAN Notices, 19(6):222-232, June 1984. Proceedings of the ACM SIGPLAN'84 Symposium on Compiler Construction, Montreal, Quebec, Canada, 17-22 June 1984.
    [5]
    Robert P. Colwell. The Performance Effects of Functional Migration and Architectural Complea:ity in Object-Oriented Systems. Ph.D. thesis, Department of Computer Science, CMU-CS-85-159, Carnegie- Mellon University, Pittsburgh~ PA, USA, August 1985.
    [6]
    Douglas John Cook. The Evaluation of a Protection System. Ph.D. dissertation, Computer Laboratory Technical Report No. 9, University of Cambridge, Cambridge, England, April 1978.
    [7]
    John Fu, james B. Keller, and Kenneth J. Haduch. Aspects of the VAX 8800 C box design. Digital Technical Journal, (4):41-51, February 1987.
    [8]
    Edward F. Gehringer and Robert P. Colwell. Fast object-oriented procedure calls' lessons from the intel 432. Computer Architecture News, 14(2):92-101, June 1986. The 13th Annual International Symposium on Computer Architecture Conference Proceedings, Tokyo, Japan, 2-5 June 1986.
    [9]
    Andrew J. iterbert, editor. CAP System Programmers' Manual. University of Cambridge Computer Laboratory, Cambridge, England, 13 January 1978.
    [10]
    Andrew J. Herbert. Microcode Kernel Specification. CAP-III Technical Memorandum, Computer Laboratory, University of Cambridge, Cambridge, England, 6 September 1982.
    [11]
    Philippe A. Janson. Removing the Dynamic Linker from the Security Kernel of a Computing Utility. S.M. and E.E. thesis, Department of Electrical Engineering, MAC TK-132, Project MAC, Massachusetts Institute of Technology, Cambridge, MA, USA, June 1974.
    [12]
    Philippe A. Janson. Using Type Ea:tension to Organize Virtual Memory Mechanisms. Ph.D. thesis, Department of Electrical Engineering and Computer Science, MIT/LCS/TR-167, Laboratory for Computer Science, Massachusetts Institute of Technology, Cambridge, MA, USA, September 1976.
    [13]
    Martyn A. Johnson. Computer Laboratory, University of Cambridge, Cambridge, England. Private Communication, January 1988.
    [14]
    Paul A. Karger. Improving Security and Performance for Capability Systems. Ph.D. dissertation, Technical Report No. 149, Computer Laboratory, University of Cambridge, Cambridge, England, October 1988.
    [15]
    Paul A. Karger and Andrew J. Iterbert. An augmented capability architecture to support lattice security and traceability of access. In Proceedings of the 1984 Symposium on Security and Privacy, pages 2-12, IEEE Computer Society, Oakland, CA, USA, 29 April - 2 May 1984.
    [16]
    Timothy E. Leonard. Digital Equipment Corporation, Boxborough, MA, USA. Private Communication, 3 September 1987.
    [17]
    Timothy E. Leonard, editor. VAX Architecture Reference Manual. Digital Press, Bedford, MA, USA, 1987.
    [18]
    Steven B. Lipner. Secure system development at Digital Equipment: Targetting the needs of a commercial and government customer base. In Proceedings of the 8th National Computer Security Conference, pages 120-123, DoD Computer Security Center and National Bureau of Standards, Gaithersburg, MD, USA, 30 September- 3 October 1985.
    [19]
    N. Lourle, H. Schrimpf, R. Reach, and W. Kahn. Arithmetic and control techniques in a multiprogram computer. In Proceedings of the Eastern Joint Computer Conference, pages 75-81, Boston, MA, USA, 1-3 December 1959.
    [20]
    David A. Patterson. Reduced instruction set computers. Communications o/ the A CM, 28(1):8-21, January 1985.
    [21]
    Michael D. Schroeder. Cooperation o/Mutually Suspicious Subsystems in a Computer Utility. Ph.D. thesis, Department of Electrical Engineering, Project MAC TR-104, Massachusetts Institute of Technology, Cambridge, MA, USA, September 1972.
    [22]
    R. L. Sites. An analysis of the GRAY-1 computer. Computer Architecture News, 6(7):101-106, April 1978. The 5th Annual Symposium on Computer Architecture Conference Proceedings.
    [23]
    VAX-11/730 Central Processing Unit Technical Description. EK-KA730-TD-001, Digital Equipment Corporation, Maynard, MA, USA, May 1982.
    [24]
    VAX 11/780 Data Path Description. AA-H307A-TE, Digital Equipment Corporation, Maynard, MA, USA, February 1979.
    [25]
    David W. Wall. Global register allocation at link time. SIGPLAN Notices, 21(7):264-275, July 1986. Proceedings of the SIGPLAN '86 Symposium on Compiler Construction, Palo Alto, CA, 25-27 June 1986.
    [26]
    Maurice V. Wilkes. Unpublished lectures on reduced instruction set computer (RISC) design. Computer Laboratory, University of Cambridge, Cambridge, England., 1985-1987.
    [27]
    Maurice V. Wilkes and Roger M. Needham. The Cambridge CAP Computer and Its Operating System. Elsevier North Holland, Inc., New York, NY, USA, 1979.

    Cited By

    View all
    • (2012)An empirical comparison of Java remote communication primitives for intra-node data transmissionACM SIGMETRICS Performance Evaluation Review10.1145/2185395.218539739:4(2-11)Online publication date: 9-Apr-2012
    • (2003)Vulnerabilities in Synchronous IPC DesignsProceedings of the 2003 IEEE Symposium on Security and Privacy10.5555/829515.830547Online publication date: 11-May-2003
    • (2003)Vulnerabilities in synchronous IPC designsProceedings 19th International Conference on Data Engineering (Cat. No.03CH37405)10.1109/SECPRI.2003.1199341(251-262)Online publication date: 2003
    • Show More Cited By

    Recommendations

    Reviews

    Earl C. Van Horn

    Some methods for discretionary access control in secure computer systems are based on sealed pointers called capabilities [1]. This paper addresses the performance of calls between domains in capability-based systems, where a domain is a computation holding a fixed set of capabilities in addition to any passed to it by a calling domain. The optimization techniques discussed are not strongly tied to the capability paradigm, however, and so could be adapted for other kinds of systems. The approach to optimization is based on analysis of actual usage patterns both in capability systems and in conventional systems organized according to domain-like layers. For example, a typical cross-domain call might pass or obtain several relatively small values and a single capability. Passing the values in registers is clearly faster than constructing capabilities for each, as is done in some systems. The use of registers, however, may require that sensitive information be cleared from registers not involved in the call. Karger describes several approaches for speeding up cross-domain calls, all of which are based on trusted compilers and linkers generating the information needed to automatically save, restore, and clear specific registers for each call. The author's analysis of saving, restoring, and clearing in terms of the kind of trust between domains is itself a valuable reference for system designers. In this analysis, the term “security” is used for what is often called “secrecy” [2]. The information generated by the trusted linker can be used by trusted call mechanisms to do just what is needed and no more. One approach involves the generation of protected linkage tables to be used by microcode. Another involves the generation of kernol-mode instructions to perform the saves, restores, clears needed by each call. The latter approach is consistent with the RISC design philosophy. Other performance enhancements are discussed, such as the use of address space numbers to avoid flushing the address translation buffer. Many performance experiments were run to indicate the gains to be expected in various circumstances. The most optimized cross-domain call is still somewhat slower than a conventional complex call such as the VAX CALLS, but is estimated to be significantly faster than other cross-domain call designs. The paper is a condensation of the author's Ph.D. thesis. It describes previous work thoroughly and provides an extensive reference list. Experimental results are used well to motivate the design and evaluate its effectiveness. The treatment of such a wide range of issues in a paper of limited size can frustrate the reader, however; for example, the description of the data structures used by the microcode is very terse. I encourage the reader to refer to the Ph.D. thesis, cited in the paper, for a fuller description of all aspects of this work.

    Access critical reviews of Computing literature here

    Become a reviewer for Computing Reviews.

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM SIGARCH Computer Architecture News
    ACM SIGARCH Computer Architecture News  Volume 17, Issue 2
    Special issue: Proceedings of ASPLOS-III: the third international conference on architecture support for programming languages and operating systems
    April 1989
    291 pages
    ISSN:0163-5964
    DOI:10.1145/68182
    Issue’s Table of Contents
    • cover image ACM Conferences
      ASPLOS III: Proceedings of the third international conference on Architectural support for programming languages and operating systems
      April 1989
      303 pages
      ISBN:0897913000
      DOI:10.1145/70082
    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: 01 April 1989
    Published in SIGARCH Volume 17, Issue 2

    Check for updates

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)78
    • Downloads (Last 6 weeks)16
    Reflects downloads up to 11 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2012)An empirical comparison of Java remote communication primitives for intra-node data transmissionACM SIGMETRICS Performance Evaluation Review10.1145/2185395.218539739:4(2-11)Online publication date: 9-Apr-2012
    • (2003)Vulnerabilities in Synchronous IPC DesignsProceedings of the 2003 IEEE Symposium on Security and Privacy10.5555/829515.830547Online publication date: 11-May-2003
    • (2003)Vulnerabilities in synchronous IPC designsProceedings 19th International Conference on Data Engineering (Cat. No.03CH37405)10.1109/SECPRI.2003.1199341(251-262)Online publication date: 2003
    • (2022)Isolation without taxation: near-zero-cost transitions for WebAssembly and SFIProceedings of the ACM on Programming Languages10.1145/34986886:POPL(1-30)Online publication date: 12-Jan-2022
    • (2005)Multi-Level Security Requirements for HypervisorsProceedings of the 21st Annual Computer Security Applications Conference10.1109/CSAC.2005.41(267-275)Online publication date: 5-Dec-2005
    • (2005)e-NeXShProceedings of the 21st Annual Computer Security Applications Conference10.1109/CSAC.2005.22(286-302)Online publication date: 5-Dec-2005
    • (1995)A fast capability extension to a RISC architectureProceedings of EUROMICRO 96. 22nd Euromicro Conference. Beyond 2000: Hardware and Software Design Strategies10.1109/EURMIC.1996.546488(606-613)Online publication date: 1995
    • (1994)Efficient software-based fault isolationProceedings of the fourteenth ACM symposium on Operating systems principles10.1145/168619.168635(203-216)Online publication date: 3-Jan-1994
    • (1994)Improving IPC by kernel designProceedings of the fourteenth ACM symposium on Operating systems principles10.1145/168619.168633(175-188)Online publication date: 3-Jan-1994
    • (1993)Efficient software-based fault isolationACM SIGOPS Operating Systems Review10.1145/173668.16863527:5(203-216)Online publication date: 1-Dec-1993
    • 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

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media