The key principle of Akaros is to give applications more understanding and control of underlying hardware for optimal performance. This may seem similar to the Corey many-core operating system from MIT, but Akaros takes much less radical way than Corey's exokernel architecture.
I summarize my comments and concerns:
- Many features of MCP, such as process-core affinity and core isolation, are already available in current Linux kernels. Many applications do not adopt them because of portability issues or low understanding of them.
- Giving applications more control with MCP abstraction would lead to suboptimal performance, as each application has an isolated view. I think the operating system should be in charge of the control for system-wide optimal performance.
- Linux 2.6 kernel already has the unified asynchronous interface for I/O internally.
- Zero copy I/O is now commonly considered unnecessary, as the evolution of CPU micro-architecture and new technologies such as memory-to-memory DMA have made it efficient enough. In most cases, bookkeeping overhead of zero-copy I/O (e.g., page management) exceeds the cost of copy itself.
This comment has been removed by a blog administrator.
ReplyDelete