PDC 2009 Pre-Conference: Windows 7 Memory Management
At his lecture at the PDC’s “Windows 7 Developer Boot Camp”, Landy Wang showcased many of the memory management changes done in Windows 7 and Windows Server 2008 R2 kernel, one of which is highlighted below. These changes, on average, lead to performance increase of up to two times in memory constrained systems – for free. All you have to do is move to the new operating system.
Removing the PFN Lock
The Page Frame Number (PFN) lock, up to Windows Vista (including), is a single lock in charge of almost all operations regarding page allocations in Windows memory, and as such it is a huge bottleneck when it comes to memory intensive applications and systems. For example, on a machine with 128 cores, SQL server reaches 88% contention over this lock, meaning that almost every second operation is stalled and takes precious time.
This lock has been removed and replaced with finer-grained locks on an individual memory page basis, achieving an up to x15 performance increase on a 32 processor machine. Note that this improvement comes for free to the developer who only needs to swap to the new OS.
Enjoy!