Computer clusters are a relatively new platform for high performance computing, that is attractive, due to its flexibility and low cost. Of special interest seems the usage of the architecture of distributed shared memory in computer clusters, since it makes the work of the application programmer easier, by providing the illusion of shared memory. The software distributed shared memories, even though they are beneficial in terms of implementation cost, have until today not achieved very good performance compared to competitive platforms.
In order for a software distributed shared memory to be able to adapt to changing computing resources, as well as to the inherent computational and communicational needs of the several applications, the support of dynamic data migration between the hosts seems very useful. The latter helps in improving the locality in memory accesses and therefore the performance of the system.
This diploma dissertation focused on integrating a page forwarding mechanism in the JIAJIA software distributed shared memory. The conservative page migration mechanism of JIAJIA was replaced by a new one, according to which, the more intense modifier of a memory page gets the chance to become its new home. During the implementation special care was taken to keep the protocol simple, and to minimize the need for information exchange between the hosts. Special effort was also required to confront the synchronization needs that emerged when using the new page migration protocol.
The correct operation of the new page migration mechanism was verified by detailed observation of every step. Moreover, microbenchmarks were implemented, that trigger the procedure of page migration, to control the correct behavior of the mechanism. The measurements taken with real applications were encouraging. The available applications were not especially suitable for showing the advantages of the page migration mechanism, mainly because of the limited number of remote memory accesses, of the small amount of transferred information and of the small execution times. However, the comparison of the new mechanism with the old one and with the operation without a page migration mechanism confirms that with little extra processing cost for the more complicated protocol we are able to decrease substantially the amount of the transferred information. The decrease of the communication burden, together with the ability to adapt in the changing needs of the several applications are the main goals of the new page migration mechanism, as well as the main advantages of its use.