The NanOS Microkernel: A Basis for a Multicomputer Cluster Operating System