Path: utzoo!mnetor!uunet!lll-winken!lll-lcc!ames!amelia!orville.nas.nasa.gov!fouts From: fouts@orville.nas.nasa.gov (Marty Fouts) Newsgroups: comp.arch Subject: Task synchronization in multiprocessors? Message-ID: <317@amelia.nas.nasa.gov> Date: 2 Mar 88 18:41:37 GMT Sender: news@amelia.nas.nasa.gov Reply-To: fouts@orville.nas.nasa.gov (Marty Fouts) Lines: 20 I've just finished Stones recent book (High Performance Computer Architecture) which has left me wanting to know more about architectural support for task synchronization in multiprocessors. I'm particularly interested in production MIMD shared memory systems and alternatives to semaphore critical region or barrier synchronization. A large part of the problem with using a semaphore for synchronization is that it introduces a hot spot in the memory system and forces some potentially parallel activities to be serial. Stone mentions combining networks, "compare and swap", and "fetch and add" as alternatives to a simple semaphore. He doesn't talk about any of the other software organizations for synchronization, such as monitors and blocking sends, because he is discussing high granularity numeric processes. Does anyone care to comment on current implementations of these mechanisms, especially comparing them? Also, is anyone aware of any other mechanisms in use in commercially available MIMD machines? Marty