Philipp Hoschka, INRIA - RODEO , Sophia Antipolis , French Riviera.
The importance of improving the performance of the marshalling function has been widely recognized:
For my Ph.D. thesis, I investigated compiler optimization algorithms for the marshalling or presentation conversion code in communication software. Marshalling or data representation conversion is a key component in many distributed applications (e.g. applications using RPC-based systems such as Sun's ONC, CORBA , OSF/DCE or Microsoft's Distributed OLE).
The marshalling code in today's distributed applications is usually generated automatically by a stub compiler. These compilers often generate inefficient code which leads to performance problems. Marshalling may require executing several thousands of CPU instructions per message transfer. In contrast, recent optimized transport protocol implementations execute only a few hundered CPU instructions per message. For example, Van Jacobson showed that TCP receive packet processing requires only about 33 Sparc CPU instructions. (Jacobson explains this also in an Mbone talk (on the Media on Demand server )).
Analysis of the code generated by stub compilers reveals that the code is often overly general. Consequently, the overhead of marshalling can often be reduced by a factor of 10 when specialized "fast path" marshalling code is added by hand. I investigated algorithms that can replace this manual optimisation of marshalling routines by an automatic optimisation stage in the stub generator.
Automatic generation of fast path marshalling code by a stub compiler requires solving two problems:
Practical experiments and implementation are undertaken using the ASN.1 compiler MAVROS developed at INRIA-Rodeo by Christian Huitema . According to performance measurements for Mavros , the generated marshalling code is much faster than code generated by many other ASN.1 compilers. Mavros is available free of charge to research institutions.
USC is a tool for a restricted subset of C which was developed at the University of Arizona under the direction of Sean O'Malley . USC is available via ftp .
Work on implementing efficient decoders for the ASN.1's Basic Encoding Rules is also ongoing at Harvard University. They developed a prototype which uses run time code generation and optmization.
Proceedings "Third IEEE Workshop on the Architecture and
Implementation of High Performance Communication Subsystems", Mystic,
Conneticut, Aug. 23-25 1995, (with
Claude Castelluccia )
Postscript Version
In: Manuel Medina, Nathaniel Borenstein (Ed.), IFIP TC6/WG6.5
International Working Conference on Upper Layer Protocols,
Architectures and Applications, Barcelona. Amsterdam: North-Holland,
1994, 131-146, (with
Christian Huitema )
Abstract+Bibtex
Slides
Proceedings "Second IEEE Workshop on the Architecture and
Implementation of High Performance Communication Subsystems",
Williamsburg, Virginia, Sep. 1-3 1993, (with
Christian Huitema ).
Abstract+Bibtex
Slides
Internal report, September 1993.
Abstract+Bibtex
Infocom 93 Proceedings, Volume 2. Los Alamitos: IEEE Computer
Society Press, 1993, 647-653.
Abstract+Bibtex
Slides
Thesis proposal, Sophia Antipolis, 1992.
Postscript
Interop Europe, Paris, October 1993.
Copyright © 1994, 1995, 1996 Philipp Hoschka