3 ms·
"If the fastest chips have N cores, a mostly-single-threaded program can only harness (1/N)th of the available resources. As N grows (and it is growing), parall
by chasil 4y ago
"If the fastest chips have N cores, a mostly-single-threaded program can only harness (1/N)th of the available resources. As N grows (and it is growing), parallel programs will win."
This win will be constrained by Amdahl's law. A single program/process that is multithreaded can effectively use only a finite number of cores.
To use more resources, the task must be broken into multiple processes.
It can be faster to run $(nproc) number of gzip processes in parallel than to use pigz, for example.
https://en.wikipedia.org/wiki/Amdahl's_law https://en.wikipedia.org/wiki/Amdahl's_law
- cortesoft 4y agoAlso, the major change with having so many cores is the ability to do lots of different things at once on a single machine. You don’t need any single process to utilize all the cores on a machine, you take advantage of all those cores by having a single machine do a lot do things.
- ajuc 4y agoDoesn't help you at all if you want the game to run at 60 fps and instead you can run it 8 times in parallel at 30 fps each.
- chasil 4y agoIt remains important not to buy cores that you cannot use, especially if there are other constrained components that would have a larger performance impact. Sophie Wilson (creator of the ARM instruction set) spends some time on these issues, also stressing core throttling and shutdown due to heat. https://www.youtube.com/watch?v=zX4ZNfvw1cw https://www.youtube.com/watch?v=zX4ZNfvw1cw
- spacechild1 4y ago> This win will be constrained by Amdahl's law. A single program/process that is multithreaded can effectively use only a finite number of cores. This assumes that the workload is fixed. A classical example would be compiling source code: you have a fixed number of source files and the compiler is only able to parallelize so much. On the other hand, there are applications where more threads allow you to increase the workload itself. For example, a modern DAW (digital audio workstation) is able to render tracks in parallel; if you have more threads, you can use more tracks with more plugins. In a computer game, more threads might mean more complex simulations, more objects, better graphics, etc.