Talk:Concurrent computing
![]() | Computer science Unassessed | ||||||||||||||||
|
Merged content from Concurrent programming language
See Talk:Concurrent programming language for earlier discussions on concurrent programming languages, as well as dicussion on the merge into Concurrent computing. --Allan McInnes 07:03, 27 January 2006 (UTC)
what is concurrency control
The concurrent computing article currently claims
- "However, since both processes perform their withdrawals, the total amount withdrawn will end up being more than the original balance. These sorts of problems with shared resources require the use of concurrency control, or non-blocking algorithms."
Currently, the concurrency control article seems to be talking *only* about databases.
What about all the algorithms listed in Category:Concurrency control that involve blocking, but do not involve databases? Algorithms such as serializing tokens and mutual exclusion and monitor (synchronization)? Aren't they also perfectly valid ways of dealing with this sort of problem?
We need to either
- Change this "concurrent computing" article to add another category of solutions, "These sorts of problems with shared resources require the use of concurrency control, ((new category here that includes monitors, etc.)), or non-blocking algorithms.". Or
- Change the concurrency control article to discuss all blocking algorithms (whether or not they require a database).
- change this "concurrent computing" article to *remove* a category of solutions, "These sorts of problems with shared resources require the use of concurrency control". And change the "concurrency control" article to discuss all the algorithms in Category:Concurrency control, blocking and non-blocking.
What is a good name for this "new category" (things like monitors, mutexes, serializing tokens, etc)?
Or is there a better 4th option?
Clearer definition
Can someone clean up the definition so someone can actually understand the difference between parallel and concurrent computing?
Parallel computing is the execution of the exact same algorithm at the same time. Concurrent computing is the excetuion of multiple, but not necessarilly the same, software at the same time.
That's the only difference. Parallel computing IS concurrent computing. But concurrent computing is not always parallel computing.