Note that there are some explanatory texts on larger screens.

plurals
  1. POWhy Not Hybrid Out-Of-Order, Massively Parallel?
    primarykey
    data
    text
    <p>It seems in vogue to predict that superscalar out-of-order CPUs are going the way of the dodo and will be replaced by huge amounts of simple, scalar, in-order cores. This doesn't seem to be happening in practice because, even if the problem of parallelizing software were solved tomorrow, there's still tons of legacy software out there. Besides, parallelizing software is not a trivial problem.</p> <p>I understand that GPGPU is a hybrid model, where the CPU is designed for single-thread performance and the graphics card for parallelism, but it's an ugly one. The programmer needs to explicitly rewrite code to run on the graphics card, and to the best of my understanding expressing parallelism efficiently for a graphics card is much harder than expressing it efficiently for a multicore general-purpose CPU.</p> <p>What's wrong with a hybrid model where every PC comes with one or two "expensive" superscalar out-of-order cores and 32 or 64 "cheap" cores, but with the same instruction set as the expensive cores and possibly on the same piece of silicon? The operating system would be aware of this asymmetry and would schedule the out-of-order cores first and with the highest priority threads. This prioritization might even be explicitly exposed to the programmer via the OS API, but the programmer wouldn't be forced to care about the distinction unless he/she wanted to control the details of the scheduling.</p> <p>Edit: If the vote to close is because this supposedly isn't programming related, here's a rebuttal: I think it is programming-related because I want to hear programmers' perspective on why such a model is a good or bad idea and whether they would want to program to it.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload