ULE scheduler

ULE scheduler
Original author(s) Jeff Roberson[1]
Initial release 26 January 2003[2]
Stable release 3.0 (27 February 2008) [±]
Written in C
Operating system FreeBSD
License BSD 2-clause

ULE is the default scheduler for the FreeBSD operating system (versions 7.1 and forward) for the i386 and AMD64 architectures.[3] It was introduced in FreeBSD version 5,[4] but it was disabled by default for a time in favor of the traditional BSD scheduler until it reached maturity. The BSD scheduler does not make full use of SMP or SMT,[5] which is important in modern computing environments. The primary goal of the ULE project is to make better use of SMP and SMT environments. ULE should improve performance in both uniprocessor and multiprocessor environments,[6] as well as interactive response under heavy load.[7] The user may switch between the BSD scheduler and ULE using a kernel compile-time tunable.[8]

References

  1. "SCHED_ULE(4) man page". Retrieved 2008-09-02.
  2. "FreeBSD CVS log". Retrieved 27 August 2008.
  3. "FreeBSD 7.1-RELEASE Release Announcement". retrieved on 5 January 2009
  4. "ULE: A Modern Scheduler for FreeBSD" (PDF). Retrieved 23 June 2008.
  5. Kirk McKusick & Neville-Neil 2004, 4.4. Thread Scheduling.
  6. "FreeBSD 7.0-RELEASE Release Notes". Retrieved 23 June 2008.
  7. Jeff Roberson. "ULE 2.0". Retrieved 2008-09-02.
  8. "FreeBSD Handbook". Chapter 8 Configuring the FreeBSD Kernel. Retrieved 2009-03-18.