Re: I like SCHED_4BSD

From: Kenneth Culver (culverk_at_sweetdreamsracing.biz)
Date: 03/11/04

  • Next message: Johan Pettersson: "Re: still spurious interrupts with ICH5 SATA"
    Date: Thu, 11 Mar 2004 10:37:09 -0500
    To: Ian FREISLICH <if@hetzner.co.za>
    
    

    Quoting Ian FREISLICH <if@hetzner.co.za>:

    >> > o Better interactivity -- No mouse jerkiness, no sluggish screen updates =
    >> when
    >> > switching between virtual desktops, etc.
    >> >=20
    >> > o Better scheduling! I'm serious here. Watching top under SCHED_ULE, I'm
    >> > seeing 10, 15, 20 seconds go by where ALL processes are sleeping.=20
    >> > Processes seem to be spending inordinate amounts of time in the "kserel"
    >> > state. This, of course, doesn't happen with SCHED_4BSD.
    >>
    >> That this observation may well be bogus, because you're trying to
    >> measure the scheduler using a tool that is itself run by the
    >> scheduler, so the process stats you see may not be representative of
    >> what is really happening on your system.
    >
    > That point is taken, however, on my old SMP box _ULE adds an extra
    > ~5000 seconds of wall clock time to a 'make buildworld -j8' compared
    > to _BSD 'make world -j8'.
    >
    > I did some tests about 3 weeks ago using bind-dlz and postgresql-7.4.1
    > on this same machine trying libc_r and libkse using both schedulers.
    > ULE results with either thread library were dismal ~.33 that of
    > BSD: ULE gave about 17 authoritive lookups a second with BSD giving
    > about 50. The KSE library only dropped the rate by about 2 lookups
    > per second on both schedulers which is essentially noise, but I had
    > expected an improvement.
    >
    > Then there is the question about ULE and processor affinity which
    > I posed about a week ago which nobody has answered. I'll pose it
    > here again:
    >
    > ------------------------
    > I thought I'd give ULE a spin again since according to Robert Watson
    > and David O'Brien's recents posts it appears that it might not to
    > slow down my system.
    >
    > I noticed this oddity:
    >
    > dnetc in order to utilize both CPUs forks a child which also
    > processes. SCHED_4BSD seems to be aware that the second CPU is
    > idle and the child or parent (don't really care which) migrates to
    > the second CPU so that all CPU time is occupied on both CPUs.
    >
    > SCHED_ULE doesn't seem to migrate processes to an idle CPU and as
    > a result one CPU in my system is 100% idle.
    >
    > last pid: 677; load averages: 2.06, 1.69, 0.89 up 0+00:09:57
    > 09:22:29
    > 40 processes: 3 running, 37 sleeping
    > CPU states: 0.0% user, 50.0% nice, 0.4% system, 0.4% interrupt, 49.2% idle
    > Mem: 25M Active, 25M Inact, 22M Wired, 56K Cache, 28M Buf, 111M Free
    > Swap: 512M Total, 512M Free
    >
    > PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU CPU COMMAND
    > 624 ianf 139 20 1072K 884K RUN 0 4:00 48.44% 48.44% dnetc
    > 636 ianf 139 20 1072K 884K CPU0 0 3:26 48.44% 48.44% dnetc
    >
    > Do processes have CPU afinity and is that afinity inherited by their
    > children? Is this a wise thing to do since as demonstrated here
    > it is possible that all the CPU hogs may land up on 1 processor
    > thereby pessimising runtime?
    > ------------------------
    >
    > In my opinion ULE is not yet ready for prime-time. Perhaps it
    > doesn't affect UP or is even more efficient with UP, but I thought
    > it was originally tabled as the new scheduler to make the SMP case
    > more efficient, which it certainly does not.
    >
    > Ian
    >
    Even on UP, in my totally subjective tests, under a load, 4BSD seems a lot
    faster. I haven't taken any real measurements of various times for buildworld
    and all that, but things just "feel" faster with BSD.

    Ken
    _______________________________________________
    freebsd-current@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-current
    To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"


  • Next message: Johan Pettersson: "Re: still spurious interrupts with ICH5 SATA"

    Relevant Pages

    • Re: I like SCHED_4BSD
      ... > measure the scheduler using a tool that is itself run by the ... That point is taken, however, on my old SMP box _ULE adds an extra ... the second CPU so that all CPU time is occupied on both CPUs. ...
      (freebsd-current)
    • One minute delay when booting 2.6.24.1
      ... Switched to high resolution mode on CPU 1 ... io scheduler anticipatory registered ... # Infrared-port device drivers ...
      (Linux-Kernel)
    • [RFC][PATCH] O(1) Entitlement Based Scheduler
      ... This patch is a modification of the Oscheduler that introduces ... _entitlement_ to CPU resources that is determined by the number of _shares_ ... This patch provides both soft and hard CPU usage rate caps per ... one getting the most can be given a better priority, ...
      (Linux-Kernel)
    • Scheduler Economy prototype patch for CFS
      ... X should get more CPU time simply ... the clients, not relative to any client individually. ... today i've implemented a quick prototype of this "Scheduler Economy" ... * Scheduler work account object: it consists of the price, ...
      (Linux-Kernel)
    • Re: ULE Scheduler available in 5.3-RELEASE?
      ... > "The ULE scheduler has been added as an additional scheduler. ... > This will not prevent problems due to overloaded disk subsystems, ... > queues which allow for CPU affinity, CPU binding, and advanced ...
      (freebsd-stable)