Slashdot Mirror


KSE Progress On FreeBSD SMP Environment

Dan writes "This is a significant milestone to be shared with everyone! Khairil Yusof reports that libkse is now running quite well on his FreeBSD 5.1+ current based SMP system. He has tested a bunch of apps on his system, taking the approach of enabling kse one app at a time. He reports a current uptime of 23hrs with these apps running with libkse.so.1, and basically a usable Gnome 2.2 desktop environment. He says that with recent updates, you can now see the threads with top(8). Kernel Scheduler Entities (KSE), is a kernel-supported threading system similar in design to Scheduler Activations [Anderson, et. al.]. It strikes a balance between user-level (1:N) and kernel-level (1:1) threading models, giving most of the advantages of both, and few of the disadvantages of either."

4 of 60 comments (clear)

  1. Testsuit and benchmark by rapiere · · Score: 5, Interesting

    KSE seems really an interesting implementation in FreeBSD as well as the process to integrate it in the kernel/userland.

    LIBMAP permits to cleanly test it on your system (5.1-RELEASE or -CURRENT) one application at a time (you redefine libraries linking per application). I've tried it with mozilla 1.4b for more than a week now without any trouble.

    However I wonder about developper's testsuit and benchmarks in order to give some clues to others about how great KSE is.

  2. Comparison by bobbozzo · · Score: 2, Interesting

    Would someone care to explain the differences/similarities between this and the new Linux (2.5) threads implementation?

    TIA

    --
    Nothing to see here; Move along.
  3. Re:Well.... by Anonymous Coward · · Score: 1, Interesting

    That said, I've not had much luck with the new posix threading libraries. I was trying to build an old revision of the Wolfenstein 3D source tree at Icculus.org. It worked pretty well for a while with libc_r. The sound mixer portion was a separate thread, poorly implemented with a couple of pthread_* calls. From what I could tell, nothing was done to keep the mixer in sync with the rest of the program. Odd, it just worked, and it worked better on FreeBSD than Linux 2.4.x with just a few tweaks to the code (no flies on Linux, that's just what I happened to notice). While KSE was being implemented/debugged, I noticed that my attempts at linking wolf3d with KSE would result in the sound from the mixer thread being totally scrambled and sped up, but that the cpu usage of the entire program dropped dramatically. Linking with libthr instead is less interesting as the program just starts and exits without emitting an error. Funny, anyway.

  4. KSE + SCHED_ULE by ByTor-2112 · · Score: 2, Interesting

    Unfortunately, the new smp-aware/optimized scheduler does not play well with KSE yet. It seems to work just fine with libthr but there are signal delivery problems with KSE that result in unkillable processes spinning endlessly. That said, it works fantastic with the old scheduler.

    FreeBSD has a number of projects that are nearing production-ready that will greatly enhance an already incredible OS!