Should have been titled "Is Parallel Programming What Can You Hard, And, If So, Do About It?"
igsomething 2 minutes ago [-]
I do agree with your comment.
not not
ozarkerD 10 minutes ago [-]
world! hello
criddell 27 minutes ago [-]
This review seems to equate parallelism and concurrency as the same thing and they are not.
As I understand it, the parallelism is about task execution and concurrency is about task structure. Or, as Rob Pike said:
"Concurrency is about dealing with lots of things at once. Parallelism is about doing lots of things at once."
He said that in his *Concurrency is not Parallelism" talk.
Jtsummers 7 minutes ago [-]
That's a useful interpretation of the two terms, but it's far from universal and the two have often been used fairly interchangeably over the decades. It's been much more useful as a distinction when someone discussing it announces that that is how they're separating the two concepts, instead of trying to force other people to adopt that particular pair of definitions.
ahelwer 6 minutes ago [-]
That battle has unfortunately been lost and different sources give different definitions, often exactly swapped. This was discussed in one of the HN posts linked in the article: https://news.ycombinator.com/item?id=36318280
In the end I don't think it is too much of an issue. What confusion is really brought by conflating parallelism and concurrency? Sure, concurrent programs can be serialized onto a single core. But there isn't some deep conceptual unlock you get by having a strict conceptual boundary between concurrency and parallelism.
thomasahle 31 minutes ago [-]
Parallel programming is a great application for LLM correctness proofs in Lean.
You can't unit test your way out, but if you care about the code's correctness, today there's a way.
tintor 25 minutes ago [-]
Mix of different types of tests helps.
Best examples are SQLite and Jepsen test suites for dbms engines.
not not
As I understand it, the parallelism is about task execution and concurrency is about task structure. Or, as Rob Pike said:
"Concurrency is about dealing with lots of things at once. Parallelism is about doing lots of things at once."
He said that in his *Concurrency is not Parallelism" talk.
In the end I don't think it is too much of an issue. What confusion is really brought by conflating parallelism and concurrency? Sure, concurrent programs can be serialized onto a single core. But there isn't some deep conceptual unlock you get by having a strict conceptual boundary between concurrency and parallelism.
You can't unit test your way out, but if you care about the code's correctness, today there's a way.
Best examples are SQLite and Jepsen test suites for dbms engines.
https://jepsen.io/
Then comes the parallel debugging.
Pretty soon it's 15 years later, different person, yahoo-wee bro having long moved on.