logoalt Hacker News

Lichtsolast Friday at 9:29 PM2 repliesview on HN

That is compatible with my statement: Not all concurrency is parallelism, but all parallelism is concurrency.


Replies

OkayPhysicistlast Friday at 9:58 PM

What people mean by "concurrency is not parallelism" is that they are different problems. The concurrency problem is defining an application such that it has parts that are not causally linked with some other parts of the program. The parallelism problem is the logistics of actually running multiple parts of your program at the same time. If I write a well-formed concurrent system, I shouldn't have to know or care if two specific parts of my system are actually being executed in parallel.

In ecosystems with good distributed system stories, what this looks like in practice is that concurrency is your (the application developers') problem, and parallelism is the scheduler designer's problem.

jlouisyesterday at 11:17 AM

SIMD is parallel execution with no concurrency.