A framework for customizing coherence protocols of distributed file caches - Uehara, K.; Inohara, S.; Miyazawa, H.; Yamamoto, K.; Masuda, T. (Proceedings of the 16th International Conference on Distributed Computing Systems, 2002)
In cooperative applications such as group CAD and group software development systems, multiple processes communicate with each other by sharing complex data structures consisting of nested structures and pointers. Although the sharing of complex data structures in the distributed environment is achieved through the technology of distributed shared memory, a single cache coherence protocol cannot efficiently serve various access patterns generated by cooperative applications. This paper describes a framework of protocol customization for the sharing of volatile and experiment data in cooperative applications. The major obstacle in user-level customization of protocols is that there are too many states and state transitions in an unabstracted protocol to enable average users to describe them. The protocol customization system (PCS) in this paper solves this problem by introducing a high-level model for protocol description that abstracts away non-determinism of messages, synchronization among hosts, and local paging actions. Consequently, users can define with brief descriptions cache coherence protocols adapted for particular applications. The ability of PCS to describe different kinds of protocols is examined in this paper and its run-time performance and memory usages are investigated.