Projects: Linux scalability: Current Efforts
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.
Project list
What follows is a list of current projects being pursued by staff and students working
with the Linux Scalability Project.
- Thread scheduling scalability
- Concerns about the scalability of multithreaded network servers written
in Java and running on Linux have prompted us to investigate improvements to
the Linux kernel scheduler. Our work focuses on incrementally improving the
existing scheduling architecture in the Linux kernel rather than fundamentally
redesigning it.
- Sponsored by IBM and Intel.
- Linux implementation of NFSv4
- Sun Microsystem's latest approach to NFS is version 4. We are implementing
NFSv4 in Linux based on the emerging NFSv4 standards and the older Linux NFS
implementations. Our implementation will include an unencumbered port to Linux
of the secure GSSAPI RPC layer.
- Sponsored by Sun Microsystems and Network Appliance.
- Posix Real Time signals
- Netscape engineers developing server products have been interested in a
scalable high-performance mechanism for asynchronously managing tens of thousands
of network connections within a single server invocation. The new Posix Real
Time signal capabilities built into the latest versions of Linux and other operating
systems offers promise for scalably managing large numbers of network connections.
- Sponsored by the Sun-Netscape Alliance and Intel.
- Application directed cache management
- Multithreaded network servers require sophisticated mechanisms to optimize
the flow of data from server disks to the network and vice versa. Specific OS
interfaces such as madvise() and malloc(), when used properly, can provide useful
scalability and performance benefits, especially in combination with threads.
As well, improvements in sendfile() will boost scalability of any network server
that uses it.
- Sponsored by the Sun-Netscape Alliance and Dell.
- Memory management
- SMP scalability of user-level and kernel memory managers is just beginning
to become important. Our work focuses on making memory managers suitable for
use in multithreaded SMP environments.
- Sponsored by the Sun-Netscape Alliance and Dell.
- Miscellaneous system call improvements
- Miscellaneous improvements include removing SMP locking constraints from
sbrk(), analyzing and reporting on thundering herd problems in accept(), improving
the scalability of poll(), and improving the scalability of critical kernel
data structures. Our analysis also uncovered unnecessary lock contention in
the Linux kernel's page fault handling logic, and a significant leak in the
kernel's buffer cache.
- Sponsored by the Sun-Netscape Alliance and Dell.
If you have comments or suggestions about the LSP, email linux-scalability@citi.umich.edu
Revision: $Id: projects.html,v 1.3 2000/05/02 19:33:40 cel Exp $
Copyright 2000