Slashdot Mirror


ULE Now The Default Scheduler On FreeBSD

Dan writes "FreeBSD's Jeff Roberson says that the ULE scheduler has entered into its probationary period as the default scheduler on FreeBSD. He says that if all goes well, it will remain the default through the rest of FreeBSD 5.* releases. He is requesting you to switch over and test it. The ULE scheduler was designed to address the growing needs of FreeBSD on SMP/SMT platforms and under heavy workloads. It supports CPU affinity and has constant execution time regardless of the number of threads."

12 of 134 comments (clear)

  1. "a pathological case" by bersl2 · · Score: 4, Interesting
    Quoted from the ULE paper (p.11):
    Figure 6 illustrates a pathological case for the Linux
    scheduler which early versions of ULE fell victim to.
    The setup is 5 nice -5 processes each attempting to use
    25% of the CPU. This over-commits the CPU by 25%,
    which should not be a problem. However, since Linux
    gradually reduces the priority until it hits the minimum,
    the nice value is enough to prevent even normal
    interactive tasks from running with reasonable latency.
    This was solved in ULE by using the interactivity
    scoring algorithm presented above.
    I didn't follow the development of the O(1) scheduler very closely. Has this been looked at since 2.5.56 (the version of Linux they cite)? Is this even true?
  2. Does everyone know about GNU/KFreeBSD? by ciaran_o_riordan · · Score: 4, Interesting

    GNU/KFreeBSD is a project that doesn't get enough press.

    Most GNU systems use Linux as their kernel, but this doesn't have to be the case. The porting of GNU to the FreeBSD kernel is almost complete. (the project name changed from GNU/FreeBSD to GNU/KFreeBSD after a trademark discussion with some FreeBSD folks.)

    FreeBSD people say that their kernel is rock solid, has the best uptimes, most robust networking, and now it's getting an improved scheduler. So it would make sense for GNU users to considering using the FreeBSD kernel instead of Linux.

    Having everyone using the same kernel just makes life easier for worm writers, and corporate attacks such as the SCO fiasco.

    Of course, adoption will be hampered by the marketing mistake of calling the whole OS "Linux", but I hope that choice of kernels will become more normal in the future. It would also help if they came up with a friendlier name than "GNU/KFreeBSD" (8 sylabyls!).

    Anyway, I hope to start using the FreeBSD kernel soon.

    1. Re:Does everyone know about GNU/KFreeBSD? by scrytch · · Score: 4, Interesting

      Besides, with the GNU toolset on the FreeBSD kernel, you can set up a jail on the FreeBSD side, and then if you want both you can have both. There are differences, it's annoying sometimes, I'm sure some people want both.

      Are you aware that /compat/linux will work just fine in a jail, and that the Linux distribution in there (you get your choice of redhat or debian) runs a rull suite of GNU utilities? And it's all at native speed, not emulated, it's going through the same syscall mapping layer that BSD itself uses.

      I'm all for porting the GNU toolchain to BSD, and so are a lot of other people, which is why it's already been done and is available in ports. Are you seriously talking about porting bloatsome abominations like glibc or something? (Oh wait, /compat/linux again, been done)

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
    2. Re:Does everyone know about GNU/KFreeBSD? by eldacan · · Score: 3, Interesting

      There is one big difference: here you have a Debian operating system running FreeBSD.

      Some people just love Debian, yet may be interested in running a FreeBSD kernel.

    3. Re:Does everyone know about GNU/KFreeBSD? by anthonyrcalgary · · Score: 3, Interesting
      Are you aware that /compat/linux will work just fine in a jail, and that the Linux distribution in there (you get your choice of redhat or debian) runs a rull suite of GNU utilities? And it's all at native speed, not emulated, it's going through the same syscall mapping layer that BSD itself uses.
      a) Going through the compatability layer won't do anything to keep GNU more portable. We're probably headed in the direction of every major OS having a Linux compatability layer... but that's just because Linux programmers don't think portable. That should be discouraged.

      b) Keeping the code portable means no porting is necessary, the makefiles will take care of it. Except for making it fit properly into the ports tree that is, but that's relatively trivial.

      c) Linux code can't use BSD specific stuff like kqueue. Portable code would handle that with ifdef's and so forth.
      --
      When someone might yell at me, it has to be OpenBSD.
    4. Re:Does everyone know about GNU/KFreeBSD? by Brandybuck · · Score: 2, Interesting

      I'm saying that the kernel of FreeBSD might be superior to Linux.

      Did you ever stop to think that perhaps the FreeBSD userland might be superior to GNU's? I'm not talking about comparing individual pieces, but the wholes. Some pieces of GNU are better than BSD, and vice versa.But the *overall* FreeBSD userland might be better than the *overall* GNU userland.

      --
      Don't blame me, I didn't vote for either of them!
  3. Re:Good news by Bobas · · Score: 5, Interesting

    I'm testing this scheduller now (option SCHED_ULE in kernel config) on GNOME desktop. You can really tell the difference, feels much "smoother" and "faster".

    Just my 2c.

  4. Why? by bluGill · · Score: 4, Interesting

    I uise freeBSD everyday, and I have to ask why you would care about GNU/freeBSD. The utilities are essentially equivelent. There is a little more bloat (read features) in some of the GNU stuff. Nothing really significant though.

    Sure it is neat that they can do it. However to say everyone should want to run it? I don't get it.

    1. Re:Why? by Anonymous Coward · · Score: 1, Interesting

      I think the original point was, FreeBSD already has a stable, well integrated series of utilities that work just peachy keen with the kernel and each other. What would the purpose be of making a FreeBSD distribution with a new set of utilities? All the functionality in GNU is already present in FreeBSD, so what does the port buy you? It's not more stability, not greater clarity and flexibility of licensing, not greater simplicity of maintenance, and not any fresh new behavior; so what is it?

    2. Re:Why? by CentrX · · Score: 3, Interesting

      Aside from being an experimental exercise, this is a part of the universal notion of Debian. In the future, one will be able to use a Debian system with the Linux and Free-, Net-, or OpenBSD kernels. Thus, Debian will offer a more universal set of options, and by the same processes that produce Linux-based Debian and its quality, stability, and security.

      --

      "The price of freedom is eternal vigilance." - Thomas Jefferson
  5. Re:Sounds like a big improvement by sirket · · Score: 4, Interesting

    1. is the most SMP scalable (parallel)

    Long term or short term? Linux is faster now but the BSD folks always seem to spend a lot more time actually researching the issue.

    2. is the most algorithmically scalable

    I don't even know what this means. Are you referring to the scheduler and other system processes? Linux has an O(1) scheduler - only it ran head first into a brick wall in certain instances. FreeBSD spent a _lot_ of time implenting a robust and stable scheduler and it shows. NetBSD looked at the Linux algorithmns and tied or beat them in every case.

    3. has fastest single threaded performance

    How about which OS is more stable? How about which OS didn't have an idiotic 2TB block device limit for years longer than the BSD's? How about which OS didn't have a 2GB file size limit?

    4. runs on more architectures

    Can you say NetBSD? Besides which, the only computers I own are DEC Alphas and x86 boxes. I could cares less which OS runs on the DreamCast.

    5. supports the most hardware

    How about which one supports the hardware you actually want to run on, and not the toaster in your basement.

    6. has the fastest TCP/IP stack

    For what application? You ask this question as if there is one TCP stack that is fastest in all applications. You also probably prefer a fast stack to a stable one.

    Answers won't be accepted without evidence.

    Questions won't be accepted from AC's. Besides, if you want answers, go look them up yourself.

    -sirket

  6. Re:Sounds like a big improvement by Anonymous Coward · · Score: 2, Interesting

    OK you got 1 of 6 correct. You fail.

    Linux and FreeBSD kernels, which
    1. is the most SMP scalable (parallel)

    Linux. (Linux and FreeBSD both started with a BKL about 5 years ago. Linux is now being used on 512 processor machines, FreeBSD doesn't scale past 4 CPUs for all their research).

    2. is the most algorithmically scalable
    Linux

    3. has fastest single threaded performance
    Linux (from the horse's proverbial mouth).

    4. runs on more architectures
    Linux. See here and here (The Linux Kernel supports more architectures than the NetBSD kernel, idiot).

    5. supports the most hardware
    Linux. See here and here (NetBSD is actually the one that prides themselves as running on toasters. And nobody cares about your shitty DEC Alphas. IA64, POWER are where its at now).

    6. has the fastest TCP/IP stack
    Linux

    See you again next year.