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
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