Scheduling and Responsiveness

In a single processor system (without Hyper Threading), the OS can only send one instruction thread to the CPU for execution at a time.  But, you can run two applications at the same time and they can both be using up CPU time.  In order to understand how this is possible, you have to understand a bit about how scheduling works.

As its name implies, the OS' scheduler schedules tasks.  It takes the unlimited number of tasks that are requested of the OS, and schedules them to get done in the quickest way possible (in theory) on limited hardware resources. 

When running a single application, the job of the scheduler is simple - the single active application gets all of the CPU's time for as long as it needs it.  But what happens when you switch away from that active application and try to click on the Start Menu?  Your usage experience would be pretty poor if you had to wait until your active application was done with its tasks before the scheduler would take the time to handle your Start Menu request.  Imagine that your active application was 3ds max and you were rendering a scene that was going to take hours to complete. Would you be willing to wait hours for your Start Menu to appear?

Modern day OSes understand that this linear approach to scheduling isn't very practical, so they support pre-emptive multitasking, meaning that one task can pre-empt another before it is finished executing, and steal CPU time so that it may get some work done as well.  In the previous example, the Start Menu request would pre-empt the 3D rendering process and your menu would pop up and the 3D rendering would resume immediately following that.  Given that microprocessors these days are so fast, this rotation through tasks sent to the CPU occurs seamlessly to the end user, or at least it does most of the time. 

There are times when the scheduler's work is not as transparent as it should be.  In some cases, especially in Windows, processes will not always be able to pre-empt one another.  If you're running two time-consuming, CPU intensive tasks, you may not notice, but if you're running one and trying to open a file or just click on a menu at the same time, then the hiccup is far more noticeable.  The end result is usually a significantly delayed reaction to your input, such as a menu taking multiple seconds to appear instead of being an instantaneous response to your clicking.  Anyone who runs more than one application at a time has undoubtedly encountered this type of a situation. Luckily, there are solutions.

Intel's Hyper Threading was one way around the problem. By fooling the scheduler into thinking that it can dispatch two threads simultaneously, situations like the one above were usually avoided assuming that the CPU had the appropriate resources free.  Dual core is another solution to the problem, a far more robust one, since you literally have twice the processor resources.

The result of using a HT enabled or dual core system is better responsiveness when multitasking, but how do you quantify that?  Unfortunately, it is extremely difficult to quantify response time in these situations.  Even if we could easily quantify the response time improvements, is a snappier system when multitasking worth more than another 15% more performance in single threaded applications?  How about 25%?  It's a very different way of looking at the impact of a CPU to overall system performance, but it is an issue that we will have to tackle a lot more moving forward. 

The Intangible Dual Core Characterizing Dual Core Performance
Comments Locked

141 Comments

View All Comments

  • nserra - Tuesday, April 5, 2005 - link

    Amd dualcore platform is right here today, the processor is not. And i dont see that a bad thing, upgradable as always been a good thing.

    #65 "Yes, same will also apply to the AMD's solution. Both CPU cores in dual core Opteron will share same bus and memory controller."

    I am not really sure about that, amd always said the processor was being done dualcore since day one that must mean something. Dont forget that socket 939 is dual channel it could be possible to give one memory channel for one processor and the other channel for the other.
  • matthewfoley - Tuesday, April 5, 2005 - link

    You people screaming for the gaming benchmarks, RTFA. Gaming or any other single threaded application will have identical results to a similarly clocked single core proc.
  • ceefka - Tuesday, April 5, 2005 - link

    #62 I read the article and think it's a rant, just a rant, no facts, just implications. I can sympathise with the feeling that Intel is let off the hook, for now.

    I do hope that games will be a substantial part of the benchies once the traditional AMD vs Intel dual core tournament takes place. Remember the pre-release benchies of the Opteron (that Italian thing)?

    I also think that shrinking DVD's while typing in MS Word and listening to mp3 is about the maximum of things to do simultaneously. I have to get my head around it as well, you know ;-). It does however open a way to have someting like a home server or HTPC for everything but the most extreme stuff. It could record a TV-show, while watching a DVD and the wife chatting away on another screen.

    Some say that dual core will have more benefit in servers because of the typical threaded applications. That's a good point. Can we look forward to a comparison of a 2 and 4-way dual core Opteron vs Xeon on typical server applications, workstation apps and maybe a few games just for fun.
  • smn198 - Tuesday, April 5, 2005 - link

    lol @ #11 "now Intel is going to start eating AMD's lunch"

    Do you mean eating AMD for lunch? I think I prefer it your way.
  • RLandon - Tuesday, April 5, 2005 - link

    The multitasking benchmarks clearly shows that Windows doesn't deserve to be refered to as an operating system.
  • ceefka - Tuesday, April 5, 2005 - link

    The price-difference between a dual and single core might not be too big on an Intel CPU, but you MUST get a new board. So the actual price difference when upgrading is $80 + brand new 955x motherboard. Nice one, Intel. A new board will cost you around $ 100 at least: actual difference $ 180. If AMD can stay under that difference they're at least competitive in pricing.

    Benchies are promising/impressive though. Wonder what the 64-bit benchies would be. Too bad that the introduction of dual-cores is in different segments (desktop vs server). Can't wait for some traditional Intel vs AMD benching ;)

    #2
    Read this article
    http://www.anandtech.com/cpuchipsets/showdoc.aspx?... page 3, last paragraph.
    AMD's Fred Weber finds Hyperthreading a "misuse of resources". AMD have always said two cores are better than a single core acting like one.
  • defter - Tuesday, April 5, 2005 - link

    "INTEL's dual core isn't really dual-core, it's just two CPUs stick together"

    dual consisting of or involving two parts or components usually in pairs; "an egg with a double yolk"; "a double (binary) star"; "double doors"; "dual controls for pilot and copilot"; "duple (or double) time consists of two (or a multiple of two) beats to a measure": http://dict.die.net/dual/

    Yes, two CPU stuck together can be called "dual core".


    "the two cpus share the same bus, without any logic in between."

    Yes, same will also apply to the AMD's solution. Both CPU cores in dual core Opteron will share same bus and memory controller.
  • IntelUser2000 - Tuesday, April 5, 2005 - link

    130W isn't actually bad. The Xeon MP Potomac had TDP of 125W and max power of 136W, saying probably due to EIST, the difference is much less now. Plus, you aren't running two cores all the time, so if you are playing games only, then you would have 65W power consumption.

    Hmm... I wonder if the reason 1066MHz is not supported by any of the dual core processors is to dedicate more bandwidth of the Dual-DDRII-667 to integrated graphics. Or maybe we would see Yonah with 1066MHz bus as desktop?
  • IntelUser2000 - Tuesday, April 5, 2005 - link

  • falcc - Tuesday, April 5, 2005 - link

    No games tested at all? Since when does this happen? Intel doesn't want dual core to look bad so Anandtech doesn't bench ANY games at all.

    Come on guys, judging by the article below on the Inquirer I'm not the only one who is suspicious.

    http://theinquirer.net/?article=22332

Log in

Don't have an account? Sign up now