skip to main content
10.1145/258915.258921acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
Article
Free Access

Flick: a flexible, optimizing IDL compiler

Authors Info & Claims
Published:01 May 1997Publication History

ABSTRACT

An interface definition language (IDL) is a nontraditional language for describing interfaces between software components. IDL compilers generate "stubs" that provide separate communicating processes with the abstraction of local object invocation or procedure call. High-quality stub generation is essential for applications to benefit from component-based designs, whether the components reside on a single computer or on multiple networked hosts. Typical IDL compilers, however, do little code optimization, incorrectly assuming that interprocess communication is always the primary bottleneck. More generally, typical IDL compilers are "rigid" and limited to supporting only a single IDL, a fixed mapping onto a target language, and a narrow range of data encodings and transport mechanisms.Flick, our new IDL compiler, is based on the insight that IDLs are true languages amenable to modern compilation techniques. Flick exploits concepts from traditional programming language compilers to bring both flexibility and optimization to the domain of IDL compilation. Through the use of carefully chosen intermediate representations, Flick supports multiple IDLs, diverse data encodings, multiple transport mechanisms, and applies numerous optimizations to all of the code it generates. Our experiments show that Flick-generated stubs marshal data between 2 and 17 times faster than stubs produced by traditional IDL compilers, and on today's generic operating systems, increase end-to-end throughput by factors between 1.2 and 3.7.

References

  1. 1.ACCETTA, M., BARON, R., BOLOSKY, W., GOLUB, D., RASHID, R., TEVANIAN, A., AND YOUNG, M. Mach: A new kernel foundation for UNIX development. In Proc. of the Summer 1986 USENIX Conf. (June 1986), pp. 93-112.Google ScholarGoogle Scholar
  2. 2.AUERBACH, J. S., AND RUSSELL, J. R. The Concert signature representation: IDL as an intermediate language, in Proc. of the Workshop on Interface Definition Languages (Jan. 1994), pp. 1-12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.BiRRELL, A. D., AND NELSON, B. J. Implementing remote procedure calls. A CM Transactions on Computer Systems 2, 1 (Feb. 1984). Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.BODEN, N., COHEN, D., FELDERMAN, R., KU- LAWIK, A., SEITZ, C., SEIZOVIC, J., AND SU, W.- K. Myrinet- A gigabit-per-second local-area network. IEEE MICRO 15, 1 (February 1995), 29-36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5.CLARK, D. D., AND TENNENHOUSE, D. L. Architectural considerations for a new generation of protocols. In Proc. of the SIGCOMM '90 Symp. (1990), pp. 200- 208. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.DRUSCHEL, P., DAVIE, B. S., AND PETERSON, L. L. Experiences with a high-speed network adapter: A software perspective. In Proc. of the SIGCOMM '94 Syrnp. (1994), pp. 2-13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.EICKEN, T. v., CULLER, D. E., GOLDSTEIN, S. C., AND SCHAUSER, K.E. Active messages: A mechanism for integrated communication and computation. In Proc. of the 19th International Symp. on Computer Architecture (May 1992), pp. 256--266. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8.FORD, B., HIBLER, M., AND LEPREAU, J. Using annotated interface definitions to optimize RPC. In Proc. of the 15th A CM Symp. on Operating Systems Principles (1995), p. 232. Poster. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9.FORD, B., HIBLER, M., AND LEPREAU, J. Using annotated interface definitions to optimize RPC. Tech. Rep. UUCS-95-014, University of Utah, Mar. 1995.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10.FORD, B., HIBLER, M., LEPREAU, J., TULLMANN, P., BACK, G., AND CLAWSON, S. Microkernels meet recursive virtual machines. In Proc. of the Second Syrup. on Operating Systems Design and Implementation (Seattle, WA, Oct. 1996), USENIX Assoc., pp. 137-151. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11.GOKHALE, A. Personal communication, Mar. 1997.Google ScholarGoogle Scholar
  12. 12.GOKHALE, A., AND SCHMiDT, D. C. Measuring the performance of communication middleware on highspeed networks. Computer Communication Review 26, 4 (Oct. 1996). Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13.GOKHALE, A., AND SCHMiDT, D. C. Optimizing the performance of the CORBA Internet Inter-ORB Protocol over ATM. Tech. Pep. WUCS-97-09, Washington University Department of Computer Science, St. Louis, MO, 1997.Google ScholarGoogle Scholar
  14. 14.HOSCHKA, P., AND HUITEMA, C. Automatic generation of optimized code for marshalling routines. In International Working Conference on Upper Layer Protocols, Architectures and Applications (Barcelona, Spain, 1994), M. Medina and N. Borenstein, Eds., IFIP TC6/WG6.5, North-Holland, pp. 131-146. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15.JANSSEN, B., AND SPREITZER, M. ILU 2.0alpha8 Reference Manual. Xerox Corporation, May 1996. ftp://ftp, parc. xerox, com/pub/ilu/ilu, html.Google ScholarGoogle Scholar
  16. 16.McVoY, L., AND STAELIN, C. Imbench: Portable tools for performance analysis. In Proc. of 1996 USENIX Conf. (Jan. 1996). Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17.NETBULA, LLC. PowerRPC, Version 1.0, 1996. http: //www. netbula, com/product a/powerrpc/.Google ScholarGoogle Scholar
  18. 18.OBJECT MANAGEMENT GROUP. The Common Object Request Broker: Architecture and Specification, 2.0 ed., July 1995.Google ScholarGoogle Scholar
  19. 19.O'MALLEY, S., PROEBSTING, T. A., AND MONTZ, A.B. USC: A universal stub compiler. In Proceedings of the Conference on Communications Architectures, Protocols a~wl Applications (SIGCOMM) (London, UK, Aug. 1994), pp. 295---306. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20.OPEN SOFTWARE FOUNDATION AND CARNEGIE MELLON UNIVERSITY. Mach 3 Server Writer~ Guide. Cambridge, MA, Jan. 1992.Google ScholarGoogle Scholar
  21. 21.SCHMIDT, D. C., HARRISON, T., AND AL-SHAER, E. Object-oriented components for high-speed network programming. In Proceedings of the First Conference on Object-Oriented Technologies and Systems (Monterey, CA, June 1995), USENIX. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 22.SHAO, Z., AND APPEL, A. A type-based compiler for standard ML. In Proc. ACM SIGPLAN Symp. on Programming Language Design and Implementation (June 1995), pp. 116-129. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 23.SRINIVASAN, R. RPC: Remote procedure call protocol specification version 2. Tech. Rep. RFC 1831, Sun Microsystems, Inc., Aug. 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 24.SRiNIVASAN, R. XDR: External data representation standard. Tech. Rep. RFC 1832, Sun Microsystems, Inc., Aug. 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 25.SuN MiCROSYSXEMS, INC. ONC+ Developer~ Guide, Nov. 1995.Google ScholarGoogle Scholar
  26. 26.SUNSOFT, INC. SunSoft Inter-ORB Engine, Release 1.1, June 1995. ftp://ftp.otag.org/pub/ interop/iiop, tar. Z.Google ScholarGoogle Scholar

Index Terms

  1. Flick: a flexible, optimizing IDL compiler

      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
      • Published in

        cover image ACM Conferences
        PLDI '97: Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
        May 1997
        365 pages
        ISBN:0897919076
        DOI:10.1145/258915

        Copyright © 1997 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 May 1997

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

        Acceptance Rates

        PLDI '97 Paper Acceptance Rate31of158submissions,20%Overall Acceptance Rate406of2,067submissions,20%

        Upcoming Conference

        PLDI '24

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader