Premium
Mirage+: A kernel implementation of distributed shared memory on a network of personal computers
Author(s) -
Fleisch Brett D.,
Hyde Randall L.,
Juul Niels Christian
Publication year - 1994
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/spe.4380241003
Subject(s) - computer science , unix , page fault , operating system , network packet , interrupt , network interface , page , virtual memory , embedded system , parallel computing , memory management , computer network , ethernet , software , overlay , microcontroller
We describe the evolution of a distributed shared memory (DSM) system, Mirage, and the difficulties encountered when moving the system from a Unix‐based* kernel on the VAX to a Unix‐based kernel on personal computers. Mirage provides a network transparent form of shared memory for a loosely coupled environment. The system hides network boundaries for processes that are accessing shared memory and is upward compatible with the Unix System V Interface Definition. This paper addresses the architectural dependencies in the design of the system and evaluates performance of the implementation. The new version, M IRAGE +, performs well compared to Mirage even though eight times the amount of data is sent on each page fault because of the larger page size used in the implementation. We show that performance of systems with a large page size to network packet size can be dramatically improved on conventional hardware by applying three well‐known techniques: packet blasting, compression, and running at interrupt level. The measured time for a page fault in M IRAGE + has been reduced 37 per cent by sending a page using packet blasting instead of using a handshake for each portion of the page. When compression was added to M IRAGE +, the time to fault a page across the network was further improved by 47 per cent when the page was compressed into one network packet. Our measured performance compares favorably with the amount of time it takes to fault a page from disk. Lastly, running at interrupt level may improve performance 16 per cent when faulting pages without compression.