Welcome to the blog of Can Sar, a Stanford CS major. This blog is made up of my thoughts on Computer Science and the computer industry, as well as ever exciting tales from my life.
I think I will spend some time (either next quarter, or over summer), extending the VM assignment of Nachos. In addition to paging to Disk, I want it to be able to page to a different physical Machine on the Network. Though this is generally not too useful (less efficient than VM), unless both Nachos are on the same machine, when it becomes redundant, it would be an interesting design and programming exercise. This would of course be combined with caches and buffers that make sure that memory is not transferred needlessly, and turning off paging to Disk would make analyzing the performance of this quite simple.
Nachos would need to track down on what machine what page is on, and if we assume that machines might go down, than some form of duplication will have to be used.
Though the functionality provided by this is not entirely useful by itself, it can be used to test effective ways of process migration. Furthermore, Distributed memory is one of my biggest research interests, and Nachos is a great platform for testing things like this. My implementation of the networking would simply use the underlying Unix TCP/IP sockets.
I will first have to rewrite parts of our original VM assignment to make sure that the Memory Mapped files work correctly, if I want to have Memory Mapped files over the network as well, which would be great. The TLB part of the assignment worked well in my opinion, though we have not yet received any grade for this assignment.