The Mutual Exclusion Problem Has Been Solved

Communications of the ACM | , Vol 34(1): pp. 110

In 1990, CACM published one of their self-assessment procedures, this time on concurrent programming. The “correct” answer to one of the questions implied that mutual exclusion can be implemented only using atomic operations that are themselves implemented with lower-level mutual exclusion. It seemed appropriate to point out that this was wrong, and that I had actually solved the mutual exclusion problem 16 years earlier in [12]–ironically, an article in CACM. So, I submitted this short note to that effect. The quotation from Samuel Johnson at the end is one that Bob Taylor likes very much and taught to everyone at SRC when he was lab director.

The original version, which I no longer have, quoted all the sources cited in support of the “correct” answer, showing how all those experts in the field had no idea that the mutual exclusion problem had been solved. However, the editor of CACM took it upon himself to handle my submission personally. He insisted that all this material be deleted, along with the accompanying sarcasm. Although I didn’t like this editorial bowdlerization, I didn’t feel like fighting.

I was appalled at how this note finally appeared. I have never seen a published article so effectively hidden from the reader. I defy anyone to take that issue of CACM and find the note without knowing the page number.