ACM Home Page
Please provide us with feedback. Feedback
Flick: a flexible, optimizing IDL compiler
Full text PdfPdf (1.75 MB)
Source Conference on Programming Language Design and Implementation archive
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation table of contents
Las Vegas, Nevada, United States
Pages: 44 - 56  
Year of Publication: 1997
ISBN:0-89791-907-6
Also published in ...
Authors
Eric Eide  University of Utah, Department of Computer Science, 3190 M.E.B., Salt Lake City, Utah
Kevin Frei  University of Utah, Department of Computer Science, 3190 M.E.B., Salt Lake City, Utah
Bryan Ford  University of Utah, Department of Computer Science, 3190 M.E.B., Salt Lake City, Utah
Jay Lepreau  University of Utah, Department of Computer Science, 3190 M.E.B., Salt Lake City, Utah
Gary Lindstrom  University of Utah, Department of Computer Science, 3190 M.E.B., Salt Lake City, Utah
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 22,   Citation Count: 32
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/258915.258921
What is a DOI?

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

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
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.
2
3
 
4
5
6
7
8
 
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.
10
 
11
GOKHALE, A. Personal communication, Mar. 1997.
12
 
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.
 
14
 
15
JANSSEN, B., AND SPREITZER, M. ILU 2.0alpha8 Reference Manual. Xerox Corporation, May 1996. ftp://ftp, parc. xerox, com/pub/ilu/ilu, html.
 
16
McVoY, L., AND STAELIN, C. Imbench: Portable tools for performance analysis. In Proc. of 1996 USENIX Conf. (Jan. 1996).
 
17
NETBULA, LLC. PowerRPC, Version 1.0, 1996. http: //www. netbula, com/product a/powerrpc/.
 
18
OBJECT MANAGEMENT GROUP. The Common Object Request Broker: Architecture and Specification, 2.0 ed., July 1995.
19
 
20
OPEN SOFTWARE FOUNDATION AND CARNEGIE MELLON UNIVERSITY. Mach 3 Server Writer~ Guide. Cambridge, MA, Jan. 1992.
 
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.
22
 
23
SRINIVASAN, R. RPC: Remote procedure call protocol specification version 2. Tech. Rep. RFC 1831, Sun Microsystems, Inc., Aug. 1995.
 
24
SRiNIVASAN, R. XDR: External data representation standard. Tech. Rep. RFC 1832, Sun Microsystems, Inc., Aug. 1995.
 
25
SuN MiCROSYSXEMS, INC. ONC+ Developer~ Guide, Nov. 1995.
 
26
SUNSOFT, INC. SunSoft Inter-ORB Engine, Release 1.1, June 1995. ftp://ftp.otag.org/pub/ interop/iiop, tar. Z.

CITED BY  32

Collaborative Colleagues:
Eric Eide: colleagues
Kevin Frei: colleagues
Bryan Ford: colleagues
Jay Lepreau: colleagues
Gary Lindstrom: colleagues