Next: 5 Acknowledgments Up: Message Passing vs. DSM Previous: 3.12 Summary

4 Conclusions

This paper presents two contributions. First, our results show that, on a large variety of programs, the performance of a well optimized DSM system is comparable to that of a message passing system. Especially for problems of practical size, such as ILINK and the Water simulation of 1728 molecules, TreadMarks performs within 10%of PVM. In terms of programmability, our experience indicates that it is easier to program using TreadMarks than using PVM. Although there is little difference in programmability for simple programs, for programs with complicated communication patterns, such as ILINK and 3-D FFT, a lot of effort is required to determine what data to send and whom to send the data to.

Second, we observe four main causes for the lower performance of TreadMarks compared to PVM: the separation of synchronization and data transfer in TreadMarks, additional messages to send diff requests in the invalidate-based TreadMarks protocol, false sharing, and finally diff accumulation for migratory data.

We are currently integrating compiler analysis with the DSM runtime system to alleviate some of these problems. If the compiler can determine future data accesses, prefetching can reduce the cost of page faults and diff requests. Furthermore, in some cases data movement can be piggybacked on the synchronization messages, overcoming the separation of synchronization and data movement. In addition, the compiler can place data in such a way as to minimize false sharing overhead.


logoRice Systems Group