Scalability Issues in Linux Kernel

This proposal has been accepted as a session.

Accepted Session
Microconference Session

One Line Summary

Scalability Issues in Linux Kernel


We will like to discuss a list of issues we have encountered in the Linux Kernel. Some relate to the bottlenecks we have encountered. Examples include

1. LOCKSTAT scales poorly for system with large cpus.
2. Threads sharing a mm don’t scale well for futexes, memory management, and signal handling
3. Contention on directory entry and node when we are opening or unlinking large number of files within a directory.
4. Page reclaim don’t scale well as we have lots of cross cpu IPI for TLB flushing on a per page basis. Page faults are bottlenecked in page clearing.

Others relate to the need of better framework, for example:

1. Framework for magic number tuning (e.g. batch size, hash table size, pool size) suitable for manual and auto tuning.
2. A better locality strategy. In many cases, we either have a global structure or a per cpu structure.
3. Need for a generalized tunable load balancing strategy/framework. Right now many subsystems have their own and cannot be tuned easily. For example, we were recently working on balancing requests for machines with slow but large number of cpus. We need the balancing strategy to be more aggressive across cpus.

Presentation Materials



Leave a private comment to organizers about this proposal