@Jonathan Lamothe it doesn't matter if the execution is out of order - the problem is that when you've got a CPU pegged, the second idle CPU doesn't help.
out of order operation isn't just about changing the order of the operations. It lets you (sometimes) pre-compute the result of future instructions as long as they're not based on the output of the previous ones enabling you to parallelize what would otherwise be a single execution thread. I imagine there's a point of diminishing returns though. youtube.com/watch?v=jNC9LPc3BI…
@Jonathan Lamothe Yes, it's theoretically possible for there to be value. But it's not going to affect on the scale of "our system is constantly pegged"
all the out-of-order execution occurs inside a single CPU adding more CPUs won't help speed up a single-threaded program
picture a call center an attendant is like a CPU the attendant can pay attention to one customer at a time. the customer may issue multiple requests/instructions, and an attendant with out-of-order operation may be able to look into and satisfy some of the requests before other earlier ones however, adding more attendants wouldn't help this one customer get faster service, unless the customer started multiple calls (threads or processes), or the attendants could pass customer requests and context on to each other (that's not permitted by the call center design; they can only transfer entire calls)
Jonathan Lamothe
in reply to silverwizard • • •silverwizard likes this.
silverwizard
in reply to Jonathan Lamothe • •meek cynics likes this.
Jonathan Lamothe
in reply to silverwizard • • •out of order operation isn't just about changing the order of the operations. It lets you (sometimes) pre-compute the result of future instructions as long as they're not based on the output of the previous ones enabling you to parallelize what would otherwise be a single execution thread. I imagine there's a point of diminishing returns though.
youtube.com/watch?v=jNC9LPc3BI…
Perhaps I'm misunderstanding what you're saying?
- YouTube
www.youtube.comsilverwizard
in reply to Jonathan Lamothe • •Alexandre Oliva (moved to @lxo@gnusocial.jp)
in reply to Jonathan Lamothe • • •all the out-of-order execution occurs inside a single CPU
adding more CPUs won't help speed up a single-threaded program
picture a call center
an attendant is like a CPU
the attendant can pay attention to one customer at a time. the customer may issue multiple requests/instructions, and an attendant with out-of-order operation may be able to look into and satisfy some of the requests before other earlier ones
however, adding more attendants wouldn't help this one customer get faster service, unless the customer started multiple calls (threads or processes), or the attendants could pass customer requests and context on to each other (that's not permitted by the call center design; they can only transfer entire calls)