4 ms·
Parallelization is the nuclear energy of comp science. Loads of potential, high risk reward and they would have gotten away with it, if it were not for those me
by PicassoCTs 6y ago
Parallelization is the nuclear energy of comp science.
Loads of potential, high risk reward and they would have gotten away with it, if it were not for those meddling humans. Its non-trivial and can only be handled by accomplished engineers.
Thus it is not used - or is encapsulated, out of sight, out of reach of meddling hands. (CPU Microcode shovelling non-connected work to pipelines comes to mind / NN-Net training frameworks, etc.)
- eru 6y ago> [...] or is encapsulated, out of sight, out of reach of meddling hands. That's the real issue here! Most language have poor abstractions for parallelism and concurrency. (Many languages don't even differentiate between the two.) Encapsulating and abstracting is how we make things usable. Eg letting people roll hash tables by themselves every time they want to use one, would lead to people shooting themselves in the foot more often than not. Compared to that, Python's dicts are dead simple to use. Exactly because they move all the fiddly bits out of the reach of meddling hands.
- rbanffy 6y ago> Exactly because they move all the fiddly bits out of the reach of meddling hands. You don't even need to hide those out of reach. You just need to make it dead simple to use and pretty much nobody will want to touch the fiddly bits. And those who do know they had it coming.
- eru 6y agoOh, definitely. You just need to make it so that people don't have to fiddle with it and don't fiddle with it by accident. You seldom have to protect against malicious attempts. (But when you do, it's a much harder task.)