Room synchronization
   HOME

TheInfoList



OR:

The room synchronization technique is a form of
concurrency control In information technology and computer science, especially in the fields of computer programming, operating systems, multiprocessors, and databases, concurrency control ensures that correct results for concurrent operations are generated, whil ...
in
computer science Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
. The room synchronization problem involves supporting a set of ''m'' mutually exclusive "rooms" where any number of users can execute code simultaneously in a shared room (any one of them), but no two users can simultaneously execute code in separate rooms. Room synchronization can be used to implement asynchronous parallel queues and stacks with constant time access (assuming a
fetch-and-add In computer science, the fetch-and-add (FAA) CPU instruction atomically increments the contents of a memory location by a specified value. That is, fetch-and-add performs the following operation: increment the value at address by , where is ...
operation).


References

* G.E. Blelloch, P. Cheng, P.B. Gibbons, Room synchronizations, Annual ACM
Symposium on Parallel Algorithms and Architectures In Ancient Greece, the symposium (, ''sympósion'', from συμπίνειν, ''sympínein'', 'to drink together') was the part of a banquet that took place after the meal, when drinking for pleasure was accompanied by music, dancing, recitals, o ...
2001, 122–13


See also

*
Monitor (synchronization) In concurrent programming, a monitor is a synchronization construct that prevents threads from concurrently accessing a shared object's state and allows them to wait for the state to change. They provide a mechanism for threads to temporarily gi ...
. * The Single Threaded Apartment Model in Microsoft's Component Object Model#Threading, as used by Visual Basic. {{Comp-sci-stub Concurrency control