ULE scheduler
Encyclopedia
ULE is the default scheduler
for the FreeBSD
operating system
(versions 7.1 and forward) for the i386 and AMD64 architectures. It was introduced in FreeBSD
version 5, 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
, 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, as well as interactive response under heavy load. The user may switch between the BSD scheduler and ULE using a kernel compile-time tunable.
Scheduling (computing)
In computer science, a scheduling is the method by which threads, processes or data flows are given access to system resources . This is usually done to load balance a system effectively or achieve a target quality of service...
for the FreeBSD
FreeBSD
FreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...
operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
(versions 7.1 and forward) for the i386 and AMD64 architectures. It was introduced in FreeBSD
FreeBSD
FreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...
version 5, 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
Symmetric multiprocessing
In computing, symmetric multiprocessing involves a multiprocessor computer hardware architecture where two or more identical processors are connected to a single shared main memory and are controlled by a single OS instance. Most common multiprocessor systems today use an SMP architecture...
or SMT
Simultaneous multithreading
Simultaneous multithreading, often abbreviated as SMT, is a technique for improving the overall efficiency of superscalar CPUs with hardware multithreading...
, which is important in modern computing environments. The primary goal of the ULE project is to make better use of SMP
Symmetric multiprocessing
In computing, symmetric multiprocessing involves a multiprocessor computer hardware architecture where two or more identical processors are connected to a single shared main memory and are controlled by a single OS instance. Most common multiprocessor systems today use an SMP architecture...
and SMT
Simultaneous multithreading
Simultaneous multithreading, often abbreviated as SMT, is a technique for improving the overall efficiency of superscalar CPUs with hardware multithreading...
environments. ULE should improve performance in both uniprocessor
Uniprocessor
A uniprocessor system is a computer system with a single central processing unit. As more and more computers employ multiprocessing architectures, such as SMP and MPP, the term is used to refer to systems that still have only one CPU. Most desktop computers are now shipped with multiprocessing...
and multiprocessor
Multiprocessor
Computer system having two or more processing units each sharing main memory and peripherals, in order to simultaneously process programs.Sometimes the term Multiprocessor is confused with the term Multiprocessing....
environments, as well as interactive response under heavy load. The user may switch between the BSD scheduler and ULE using a kernel compile-time tunable.