Book review: Is parallel programming hard, and, if so, what can you do about it? (ahelwer.ca)
cbm-vic-20 3 hours ago
ozarkerD 2 hours ago
igsomething 2 hours ago
not not
crooked-v an hour ago
bolangi an hour ago
Jonathan Worthington, the author of the VM and these features, has given an excellent presentation on the concepts and their implementation.
anonymousDan 2 hours ago
criddell 3 hours ago
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 2 hours ago
ahelwer 2 hours ago
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 (that's how deterministic simulation testing implementations like Antithesis and record & replay implementations like Mozilla's rr operate). But there isn't some deep conceptual unlock you get by having a strict conceptual boundary between concurrency and parallelism.
Athas 2 hours ago
I agree that this distinction is hardly universal, but it seems to be growing increasingly established, and I think it is worth fighting for it.
jerf 2 hours ago
mkehrt 8 minutes ago
When I was a grad student studying this stuff (~20 years ago), we used "parallelism" to mean running on different cores at the same time and "concurrency" to mean preemptive multithreading on a single processor.
raheemm an hour ago
thomasahle 3 hours ago
You can't unit test your way out, but if you care about the code's correctness, today there's a way.
tintor 3 hours ago
Best examples are SQLite and Jepsen test suites for dbms engines.
6gvONxR4sf7o an hour ago
kazinator 3 hours ago
Then comes the parallel debugging.
Pretty soon it's 15 years later, different person, yahoo-wee bro having long moved on.
drnick1 an hour ago
Ask Claude, which has read all the existing literature on parallel programming, to make the program faster.