Snoopy cache test-and-test-and-set without execessive bus contention
Andy Glew, Wen‐mei Hwu · ACM SIGARCH Computer Architecture News · 1990
This paper analyzes the burst of bus traffic that occurs when a lock is released that is being waited for in a test-and-test-and-set spinloop. It is typically O ( N ) and can be O ( N 2 ), depending on assumptions about system behaviour, where N is the number of processors. Supporting a single feature in the bus interface, abandoning pending lock requests, reduces this to O (1). Such a feature is already possible on some systems and busses, but has not been applied to synchronization.