Friday, November 09, 2007
Developing Open Source for the Microsoft Windows Kernel
The Windows kernel today has several deficiencies that can be explored in order to increase performance. First, if you acknowledge the fact that the vast majority of CPU capacity within most enterprise data centers goes unused, then you may also acknowledge that the algorithms used for scheduling of resources is also flawed. Instead of schedulers attempting to keep CPUs busy, what would happen if they instead focused on keeping IO moving?
The Windows kernel also allocates threads on the stack, so if you were to assume that each thread took 2mb, 1000 threads would consume 2gb of RAM. If we can move away from stack-based threads to allocation on the heap, we could enable order of magnitude increase in concurrency while also freeing up memory for more important things like caching of data. Likewise, it would help increase security by eliminating the notion of a stack overflow.
These two changes would displace GNU Linux as the number one platform for software appliances and allow Microsoft to retain its lead. Does this make sense or am I full of it?
Links to this post: