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