The Village at the Keystone Resort
Colorado Software Summit
Java and XML Programming Conference
November 3 – 8, 2002
Keystone Conference Center
 

 

Mark Reinhold – Sun Microsystems, Inc.

How to Write a Simple Server

This introductory talk will show how to build a simple Web server using the New I/O (NIO) APIs introduced in J2SE™ 1.4. We'll cover the basics of the HTTP protocol, the relevant parts of the NIO APIs, some of the other APIs introduced in the 1.4 release, and even a new API that's slated for the next major release. We'll take some basic measurements and see how to fix the most obvious performance problems. A more detailed investigation of performance and scalability will be presented in the companion talk, "How to Write a Scalable Server."

How to Write a Scalable Server

The New I/O (NIO) APIs introduced in J2SE™ 1.4 define a set of low-level abstractions for scalable I/O operations. There are many different ways to build server-type applications atop these abstractions; which is best depends upon the application, the underlying operating system, the available hardware, and the expected load. In this talk we'll explore a number of different server architectures, demonstrate how they can be implemented with the NIO APIs, measure their performance, and relate them to widely-deployed real-world servers such as Apache. We'll also see how to tune operating-system kernels, TCP stacks, and Java™ virtual machines for these types of applications.

This talk should be of interest not only to those relatively few people who write high-performance servers, but to anyone who uses them and would benefit from a better understanding of the performance characteristics of these complex systems. This advanced talk will build upon the introductory companion talk, "How to Write a Simple Server."

Picture of Mark Reinhold

Mark Reinhold is a Senior Staff Engineer in the Core Java Platform Group at Sun Microsystems. He currently leads the NIO project, which is defining a new set of high-performance I/O APIs for the Java platform. His previous contributions to the platform include shutdown hooks, reference objects, and character-stream readers and writers. He was the lead engineer for the 1.2 release and has been deeply involved in the development of the Java platform since the 1.1 release.

Like many in the Java community, Mark is actually an old Lisp hacker in disguise. He holds a Ph.D. in Computer Science from the Massachusetts Institute of Technology, where he worked on garbage collection, compilation techniques, type systems, semantics, and the visualization and analysis of program performance, and where he found enlightenment in the true essence of the lambda nature. Email: mr@sun.com

 
 

* Return to Top *

© 1997 – 2002  Kovsky Conference Productions Inc.  All rights reserved.