CS431 Chapter Notes - Chapter 1: Abstract Data Type, Deadlock, Mapreduce
Document Summary
How do we know when a worker has finished? (or is simply waiting?) We don"t know the order in which workers run . We don"t know when workers interrupt each other . We don"t know when workers need to communicate partial results . We don"t know the order in which workers access shared resources . Semaphores (lock, unlock) a variable or abstract data type used to control access to a common resource by multiple processes in a concurrent system such as a multitasking operating system. In reality, the implementation of concurrency is hard because. The presence of hardware failures and software bugs. Write you own dedicated library, then program with it. Burden on the programmer to explicitly manage everything. No need to explicitly worry about reliability, fault tolerance, etc. Developer specifies the computation that needs to be performed. Physical deals with how those abstractions are realized.