Download:
|
by Bobby Krupczak, Ken Calvert, Mostafa Ammar
In IEEE INFOCOM'98
http://www.tns.lcs.mit.edu/~djw/library/GIT-CC-97-21.ps.gz
Add To MetaCart
Abstract:
As the number and variety of Web- and network-based applications continues to increase, so does the need for flexible communication protocols and services to support them. Traditionally, a major impediment to deployment of new protocols is the need to upgrade millions of end-systems with compatible implementations. At the same time, Java--- a language explicitly designed to support development and distribution of new applications via the Web--- is emerging as a (potentially) ubiquitous system platform. It is therefore natural to consider whether Java might speed the introduction of protocols to better support new applications. In this paper, we investigate the tradeoffs involved in using Java for protocol implementation and deployment. Using insights from a Java-based protocol suite and supporting subsystem we have implemented, we describe the benefits of using the Java language and quantify the performance cost of implementing a protocol in Java for various combinations of interpretation and compilation. We find that the performance cost of using Java-based protocols is presently equivalent to four years of hardware performance gains, i.e., interpreted, Java-based protocol performance on current hardware is roughly equivalent to the performance of compiled C code on four-year-old hardware.
Citations
|
1452
|
The Java Language Specification
– Gosling, Joy, et al.
- 1996
|
|
594
|
The x-Kernel: An architecture for implementing network protocols
– Hutchinson, Peterson
- 1991
|
|
371
|
Congestion avoidance and control
– Jacobson
- 1988
|
|
271
|
The World-Wide Web
– Berners-Lee, Cailliau, et al.
- 1994
|
|
219
|
Efficient implementation of the Smalltalk-80 system
– Deutsch, Schiffman
- 1984
|
|
217
|
A Stream Input-Output System
– Ritchie
- 1984
|
|
143
|
Implementing network protocols at user level
– Thekkath, Nguyen, et al.
- 1993
|
|
93
|
An Object-Oriented Framework for Dynamically Configuring Extensible Distributed Communication Systems
– Schmidt, Suda
- 1994
|
|
61
|
Dynamic binding for an extensible system
– Pardyak, Bershad
- 1996
|
|
46
|
Transport System Architecture Services for High-Performance Communications Systems
– Schmidt, Suda
- 1993
|
|
37
|
A programmable interface language for heterogeneous systems
– Falcone
- 1987
|
|
37
|
Flexible Protocol Stacks
– Tschudin
- 1991
|
|
22
|
Dynamic Host Configuration Protocol,’’ Request for Comments 2131
– Droms
- 1997
|
|
18
|
Modules as building blocks for protocol configuration
– Plagemann, Plattner, et al.
- 1993
|
|
16
|
The Java Virtual Machine Specification
– Microsystems
- 1995
|
|
7
|
JavaOS: A Standalone Java Environment
– Madany
- 1996
|
|
6
|
Multi-subsystem protocol architectures: Motivation and experience with an adapter-based approach
– Krupczak, Ammar, et al.
- 1996
|
|
3
|
Increasing the portability and re-usability of protocol code
– Krupczak, Calvert, et al.
- 1997
|
|
3
|
Implementing communication protocols using object-oriented techniques
– Lavender, Kafura, et al.
- 1992
|
|
2
|
System V Network Programmer’s Guide
– UNIX
- 1987
|
|
2
|
DNS encoding of network names and other types. Request for Comments RFC
– Mockapetris
- 1989
|
|
1
|
Standardized protocol interfaces
– Holzmann
- 1993
|
|
1
|
Protocol Portability through Module Encapsulation
– Krupczak, Calvert, et al.
- 1996
|