Linux Scalability Project
Status report for March and April, 2000
Center for Information Technology Integration
School of Information at the University of Michigan
The primary goal of this research is to improve the scalability and robustness
of the Linux operating system to support greater network server workloads more reliably.
We are specifically interested in single-system scalability, performance, and reliability
of network server infrastructure products running on Linux, such as LDAP directory
servers, IMAP electronic mail servers, and web servers, among others.
Summary
We're continuing to work with vendors such as Sun and IBM on their Linux scalability
issues. We've provided several significant modifications to the Linux kernel. We've
written several papers, three of which have been accepted for publication through
the Usenix technical conference proceedings. We're continuing to reach out to potential
sponsors. Work continues on long-term projects.
Milestones
- IBM and Network Appliance have become official sponsors of the Linux Scalability
Project.
- The Linux Scalability Project welcomes students Inessa Goldring and Kendrick
Smith. Inessa will work on MM performance issues. Eric Kustarz has left the
NFSv4 project to work at Sun Microsystems. Kendrick replaces him on the NFSv4
effort.
- Chuck's madvise and mincore implementations now appear in the Linux 2.3
kernel series, added after kernel 2.3.51. Randy Appleton of Northern Michigan
University will join the Linux Scalability Project for the next few months to
further this effort with detailed benchmarks demonstrating areas where madvise
and fadvise can be most effective.
- The threads project has presented their semester-end report describing benchmarks
and improvements to the Linux scheduler. Here is a copy of the report. See the
threads/scheduler status report for more information on that project. Stephen
Molloy will intern with IBM in Austin, Texas, this summer to continue this work.
- The NFSv4 project team is approaching closure on compound NFS ops, except
for the NFS locking and delegation pieces. The server side now has a true pseudo
file system, as called for in the emerging NFSv4 spec. Dug has completed RPCSEC
authentication, integrity, and privacy in user land, and is integrating this
implementation into the kernel client and server RPC layers. OpenBSD implementation
soon to come. See the NFSv4 project site for more information.
- Niels completed work on enhancements to poll() which can significantly improve
scalability of poll-based network server applications. Chuck and Niels wrote
a FREENIX track paper that analyzes the performance and scalability trade-offs
between Niels' new poll() and POSIX RT signals. This paper is also available
as a CITI technical report.
- Chuck and Niels submitted a paper abstract with Stephen Tweedie to the ALS
conference coming up in October. The paper will discuss an implementation of
a system call that can return multiple POSIX RT events per call to network server
applications.
- Chuck continues analyzing and improving phhttpd, a POSIX RT signals-based
server written by Zach Brown. This work will provide a better picture of performance,
scalability, and usability issues surrounding network server applications that
build their event core using POSIX RT signals.
- Chuck reworked his malloc() performance report as a paper for the FREENIX
track of the Usenix Technical Conference and as a CITI technical report. The
paper includes new microbenchmarks designed to assess the suitability of malloc()
implementations for multithreaded network servers.
- Chuck submitted last year's kernel hash table paper to the ALS conference
coming up in October.
- Claire Hough has left AOL-Netscape to join a start-up company in Silicon
Valley. Her replacement, Stephen Borcich, and Chuck are working on finding new
ways for the Linux Scalability Project to connect with the evolving iPlanet
organization.
- CITI and LSP sponsors are assembling a one-day workshop on Linux network
server scalability issues of interest to researchers and industry. More news
to follow.
- We continue to pursue research relationships with Red Hat Software, Silicon
Graphics Incorporated, and the Stichting NLNet Foundation.
Challenges
Despite the popular successes of open-source software such as Linux, a focused effort
to improve the quality of such code, and its development process, has yet to emerge.
In fact, no formal analysis of Linux's quality has ever been done, so there is no
scientific basis for statements about the Linux kernel's higher quality or lower
defect rate. Here's a relevant Linux Journal article http://www2.linuxjournal.com/articles/currents/019.html]
that discusses the benefits of Capability Maturity Management, a mechanism that
guides software development teams into creating software of significantly higher
quality. CMM is an alternative to the current "bazaar" development style prevalent
in the Linux kernel development community.
If you have comments or suggestions, email linux-scalability @ citi.umich.edu