Indeed, combining 100 processors together would in practice mostly just allow you to run 100 programs simultaneously without adding further slowdown. Multi-threaded programs that can actually take advantage of multiple processing cores do exist, of course, but it's a difficult job to do and typically reserved for programs that really need it. Even then, it's usually only a small number of threads, nowhere near 100; there's only so much you can do concurrently, after all.

Some jobs can of course be easily split up, like brute-force password cracking, but most of the time there is a certain order you need to do some essential things in. If you have to do 10 jobs before moving onto the next set of jobs, and one of them is guaranteed to take 10 milliseconds while the rest of them take only 1 millisecond, it's no help at all to give an individual thread to the rest of them; you might as well just split those jobs into two threads, one for the job that's going to take 10 milliseconds and one for the 9 jobs that are going to take 1 millisecond each.

Reply via email to