6 ms·
Single core concurrency doesn't have to deal with hardware memory synchronization.
by vore 3y ago
Single core concurrency doesn't have to deal with hardware memory synchronization.
- CyberDildonics 3y agoWhat point are you trying to make now? You just said: Parallelism is a physical thing, concurrency is a logical thing. So by your own definition, wouldn't multi-core concurrency be parallelism?
- vore 3y agoYes? Parallelism is inherently concurrent but concurrency is not inherently parallel. But single core concurrency still exists as a form of non-parallel concurrency. The point I'm trying to make is down to brass tacks, single core concurrency is a lot simpler than multi core concurrency, because you don't need any hardware cooperation.
- CyberDildonics 3y agoBefore you were saying they are two different things, now you're saying they are the same when you have multiple cores and not the same when you have a single core. If they're the same when you have multiple cores, isn't there just single and multi-core concurrency by your own definitions? If so, why are you making a distinction of parallelism and concurrency?
- dkersten 3y agoParallelism is concurrent. Concurrency isn’t necessarily parallel. There are still plenty of single core systems out there running concurrent software, even today, for example embedded systems.
- Jtsummers 3y ago> Single core concurrency doesn't have to deal with hardware memory synchronization. Yes it does. If you have two threads which (for whatever reason) are sharing memory and they can be run in an arbitrary order, you have to deal with memory synchronization. If it's a single core machine, you still need to synchronize your memory access. Mutexes and semaphores predate systems with multiple processors.
- vore 3y agoYes, but those are not hardware memory synchronization mechanisms. You do not have to deal with memory fencing to coordinate reads/writes at the CPU level, because there is only one core that can read memory at a time.