| Flick: a flexible, optimizing IDL compiler |
| Full text |
Pdf
(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 |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 2, Downloads (12 Months): 22, Citation Count: 32
|
|
|
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
|
Nanette J. Boden , Danny Cohen , Robert E. Felderman , Alan E. Kulawik , Charles L. Seitz , Jakov N. Seizovic , Wen-King Su, Myrinet: A Gigabit-per-Second Local Area Network, IEEE Micro, v.15 n.1, p.29-36, February 1995
[doi> 10.1109/40.342015]
|
 |
5
|
|
 |
6
|
Peter Druschel , Larry L. Peterson , Bruce S. Davie, Experiences with a high-speed network adaptor: a software perspective, Proceedings of the conference on Communications architectures, protocols and applications, p.2-13, August 31-September 02, 1994, London, United Kingdom
|
 |
7
|
Thorsten von Eicken , David E. Culler , Seth Copen Goldstein , Klaus Erik Schauser, Active messages: a mechanism for integrated communication and computation, Proceedings of the 19th annual international symposium on Computer architecture, p.256-266, May 19-21, 1992, Queensland, Australia
|
 |
8
|
Bryan Ford , Mike Hibler , Jay Lepreau, Using annotated interface definitions to optimize RPC, Proceedings of the fifteenth ACM symposium on Operating systems principles, p.232, December 03-06, 1995, Copper Mountain, Colorado, United States
|
| |
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
|
Bryan Ford , Mike Hibler , Jay Lepreau , Patrick Tullmann , Godmar Back , Stephen Clawson, Microkernels meet recursive virtual machines, Proceedings of the second USENIX symposium on Operating systems design and implementation, p.137-151, October 29-November 01, 1996, Seattle, Washington, United States
|
| |
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
|
Sean O'Malley , Todd Proebsting , Allen Brady Montz, USC: a universal stub compiler, Proceedings of the conference on Communications architectures, protocols and applications, p.295-306, August 31-September 02, 1994, London, United Kingdom
|
| |
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
|
|
|
|
|
|
|
|
Alain Gefflaut , Trent Jaeger , Yoonho Park , Jochen Liedtke , Kevin J. Elphinstone , Volkmar Uhlig , Jonathon E. Tidswell , Luke Deller , Lars Reuther, The SawMill multiserver approach, Proceedings of the 9th workshop on ACM SIGOPS European workshop: beyond the PC: new challenges for the operating system, September 17-20, 2000, Kolding, Denmark
|
|
|
|
|
|
Eric Wohlstadter , Stoney Jackson , Premkumar Devanbu, Generating wrappers for command line programs: the Cal-Aggie Wrap-O-Matic project, Proceedings of the 23rd International Conference on Software Engineering, p.243-252, May 12-19, 2001, Toronto, Ontario, Canada
|
|
|
Alexander B. Arulanthu , Carlos O'Ryan , Douglas C. Schmidt , Michael Kircher , Jeff Parsons, The design and performance of a scable ORB architecture for COBRA asynchronous messaging, IFIP/ACM International Conference on Distributed systems platforms, p.208-230, April 03-07, 2000, New York, New York, United States
|
|
|
|
|
|
|
|
|
Irfan Pyarali , Carlos O'Ryan , Douglas Schmidt , Nanbor Wang , Aniruddha S. Gokhale , Vishal Kachroo, Using Principle Patterns to Optimize Real-Time ORBs, IEEE Concurrency, v.8 n.1, p.16-25, January 2000
|
|
|
Gilles Muller , Charles Consel , Renaud Marlet , Luciano Porto Barreto , Fabrice Mérillon , Laurent Réveillère, Towards robust OSes for appliances: a new approach based on domain-specific languages, Proceedings of the 9th workshop on ACM SIGOPS European workshop: beyond the PC: new challenges for the operating system, September 17-20, 2000, Kolding, Denmark
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Galen S. Swint , Calton Pu , Gueyoung Jung , Wenchang Yan , Younggyun Koh , Qinyi Wu , Charles Consel , Akhil Sahai , Koichi Moriyama, Clearwater: extensible, flexible, modular code generation, Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering, November 07-11, 2005, Long Beach, CA, USA
|
|
|
|
|
|
|
|
|
Nanbor Wang , Kirthika Parameswaran , Douglas Schmidt , Ossama Othman, The design and performance of meta-programming mechanisms for object request broker middleware, Proceedings of the 6th conference on USENIX Conference on Object-Oriented Technologies and Systems, p.8-8, January 29-February 02, 2001, San Antonia, Texas
|
|
|
S. Nimmagadda , C. Liyanaarachchi , A. Gopinath , D. Niehaus , A. Kaushal, Performance patterns: automated scenario based ORB performance evaluation, Proceedings of the 5th conference on USENIX Conference on Object-Oriented Technologies & Systems, p.2-2, May 03-07, 1999, San Diego, California
|
|
|
Miguel de Icaza , Elliot Lee , Federico Mena , Tom Tromey, The GNOME desktop environment, Proceedings of the Annual Technical Conference on USENIX Annual Technical Conference, 1998, p.38-38, June 15-19, 1998, New Orleans, Louisiana
|
|
|
David Atkins , Thomas Ball , Michael Benedikt , Glenn Bruns , Kenneth Cox , Peter Mataga , Kenneth Rehor, Experience with a domain specific language for form-based services, Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997, p.4-4, October 15-17, 1997, Santa Barbara, California
|
|
|
Satish Chandra , Michael Dahlin , Bradley Richards , Randolph Y. Wang , Thomas E. Anderson , James R. Larus, Experience with a language for writing coherence protocols, Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997, p.5-5, October 15-17, 1997, Santa Barbara, California
|
|
|
|
|
|
Andreas Haeberlen , Jochen Liedtke , Yoonho Park , Lars Reuther , Volkmar Uhlig, Stub-code performance is becoming important, Proceedings of the 1st conference on Industrial Experiences with Systems Software, p.4-4, October 22, 2000, San Diego, California
|
|
|
Fabrice Mérillon , Laurent Réveillère , Charles Consel , Renaud Marlet , Gilles Muller, Devil: an IDL for hardware programming, Proceedings of the 4th conference on Symposium on Operating System Design & Implementation, p.2-2, October 22-25, 2000, San Diego, California
|
|
|
Alessandro Forin , Galen Hunt , Li Li , Yi-Min Wang, High-performance distributed objects over system area networks, Proceedings of the 3rd conference on USENIX Windows NT Symposium, p.3-3, July 12-15, 1999, Seattle, Washington
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|