• ∗ This work was partially supported by the Ollendorff research fund. Abstract This paper introdu c e s t h e n o t i o n o f “Seance communication” in shared memory systems and presents an enhancement to existing cache coherent protocols that improve their performance by reducing the overhead caused by this phenomenon. Seance communication is an unnecessary coherent related activity which is caused when a processor invalidates or updates dead information in other caches. The main reason for this phenomenon is the inability of the system to flush cache information as soon as it is not needed ( dead information). We show that Seance communication can have a significant effect on the performance of multicache systems, and since it is not needed for the correctness of the application, it should be avoided. In this paper, we introduce the “TDragon” cache coherent protocol. The new protocol enhances the “Dragon” wi th new sta tes, termed “T" . Present information in these states has high probability to be dead. The new protocol suggests using update mechanism as long as data in other caches is live, but switches to invalidate based mechanism if the information in all other caches is marked as “T” (dead). The new protocol was found to be very ef f ic ient in e l iminat ing much of the Seance communication effects. We examine the impact of the Seance activity under two software environments: processes based (when no sharing is assumed among the different address spaces) and under threads based environment. We also look at the impact of the cache organization and the cache coherence protocol on the amount of Seance communication caused.
[1]
Dhiraj K. Pradhan,et al.
Modeling of Live Lines and True Sharing in Multi-Cache Memory Systems
,
1990,
ICPP.
[2]
Jeffrey C. Mogul,et al.
The effect of context switches on cache performance
,
1991,
ASPLOS IV.
[3]
James K. Archibald,et al.
Cache coherence protocols: evaluation using a multiprocessor simulation model
,
1986,
TOCS.
[4]
Anant Agarwal,et al.
Directory-based cache coherence in large-scale multiprocessors
,
1990,
Computer.
[5]
Randy H. Katz,et al.
The effect of sharing on the cache and bus performance of parallel programs
,
1989,
ASPLOS III.
[6]
Alan Jay Smith,et al.
A class of compatible cache consistency protocols and their support by the IEEE futurebus
,
1986,
ISCA '86.
[7]
Harold S. Stone,et al.
Footprints in the cache
,
1986,
SIGMETRICS '86/PERFORMANCE '86.
[8]
Thomas Roberts Puzak,et al.
Analysis of cache replacement-algorithms
,
1985
.
[9]
James Archibald,et al.
BACH: BYU Address Collection Hardware, The Collection of Complete Traces
,
1992
.
[10]
Dhiraj K. Pradhan,et al.
Modeling Live and Dead Lines in Cache Memory Systems
,
1993,
IEEE Trans. Computers.
[11]
Randy H. Katz,et al.
Evaluating The Performance Of Four Snooping Cache Coherency Protocols
,
1989,
The 16th Annual International Symposium on Computer Architecture.