Con Kolivas

Last updated

Con Kolivas
Born
Occupation Anesthesiologist
Known for Linux kernel development

Con Kolivas is an Australian anaesthetist. [1] He has worked as a computer programmer on the Linux kernel and on the development of the cryptographic currency mining software CGMiner. [2] His Linux contributions include patches for the kernel to improve its desktop performance, particularly reducing I/O impact.

Contents

Linux

Kolivas is most notable for his work with CPU scheduling, most significantly his implementation of "fair scheduling", which inspired Ingo Molnár to develop his Completely Fair Scheduler, as a replacement for the earlier O(1) scheduler, crediting Kolivas in his announcement. [3] Kolivas developed several CPU schedulers such as the Staircase in 2004, [4] then Rotating Staircase Deadline (RSDL), [5] and subsequently Staircase Deadline (SD) [6] schedulers to address interactivity concerns of the Linux kernel with respect to desktop computing. Additionally, he has written a "swap prefetch" patch, which allows processes to respond quickly after the operating system has been idle for some time and their working sets have been swapped out. [7] Many of his experimental "-CK" patches, such as his prefetching and scheduling code, did not get merged with the official Linux kernel.

In 2007, Kolivas announced in an email that he would cease developing for the Linux kernel. Discussing his reasons in an interview, he expressed frustration with aspects of the mainline kernel development process, which he felt did not give sufficient priority to desktop interactivity, in addition to hacking taking a toll on his health, work and family. [8] [9]

He has also written a benchmarking tool called ConTest [10] that can be used to compare the performance of different kernel versions. [11]

On 31 August 2009, Kolivas posted a new scheduler called BFS (Brain Fuck Scheduler). [12] It is designed for desktop use and to be very simple (hence it may not scale well to machines with many CPU cores). Con Kolivas did not intend to get it merged into the mainline kernel. [13] He has since retired BFS in favour of MuQSS, a rewritten implementation of the same concept.

CGMiner

On 13 July 2011, Kolivas introduced a new piece of software for "windows, linux, OSX and other" called CGMiner, which is used for mining cryptocurrencies such as bitcoin and Litecoin.

Related Research Articles

In computing, scheduling is the action of assigning resources to perform tasks. The resources may be processors, network links or expansion cards. The tasks may be threads, processes or data flows.

μClinux

μClinux is a variation of the Linux kernel, previously maintained as a fork, that targets microcontrollers without a memory management unit (MMU). It was integrated into the mainline kernel as of 2.5.46; the project continues to develop patches and tools for microcontrollers. The homepage lists Linux kernel releases for 2.0, 2.4 and 2.6.

Ingo Molnár Linux kernel programmer

Ingo Molnár, employed by Red Hat as of May 2013, is a Hungarian Linux hacker. He is known for his contributions to the operating system in terms of security and performance.

Crypto API is a cryptography framework in the Linux kernel, for various parts of the kernel that deal with cryptography, such as IPsec and dm-crypt. It was introduced in kernel version 2.5.45 and has since expanded to include essentially all popular block ciphers and hash functions.

inotify is a Linux kernel subsystem created by John McCutchan, which monitors changes to the filesystem, and reports those changes to applications. It can be used to automatically update directory views, reload configuration files, log changes, backup, synchronize, and upload. The inotifywait and inotifywatch commands allow using the inotify subsystem from the command line. One major use is in desktop search utilities like Beagle, where its functionality permits reindexing of changed files without scanning the filesystem for changes every few minutes, which would be very inefficient.

Kernel-based Virtual Machine Virtualization module in the Linux kernel

Kernel-based Virtual Machine (KVM) is a virtualization module in the Linux kernel that allows the kernel to function as a hypervisor. It was merged into the mainline Linux kernel in version 2.6.20, which was released on February 5, 2007. KVM requires a processor with hardware virtualization extensions, such as Intel VT or AMD-V. KVM has also been ported to other operating systems such as FreeBSD and illumos in the form of loadable kernel modules.

Criticism of Linux Issues concerning use of operating systems which use the Linux kernel

The criticism of Linux focuses on issues concerning use of operating systems which use the Linux kernel.

Completely Fair Scheduler

The Completely Fair Scheduler (CFS) is a process scheduler that was merged into the 2.6.23 release of the Linux kernel and is the default scheduler of the tasks of the SCHED_NORMAL class. It handles CPU resource allocation for executing processes, and aims to maximize overall CPU utilization while also maximizing interactive performance.

Linux kernel Free and open-source Unix-like operating system kernel

The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally authored in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU operating system, which was written to be a free (libre) replacement for UNIX.

Tomoyo Linux Linux kernel security module

Tomoyo Linux is a Linux kernel security module which implements mandatory access control (MAC).

Brain Fuck Scheduler Process scheduler in Linux

The Brain Fuck Scheduler (BFS) is a process scheduler designed for the Linux kernel in August 2009 as an alternative to the Completely Fair Scheduler (CFS) and the O(1) scheduler. BFS was created by an experienced kernel programmer Con Kolivas.

cgroups is a Linux kernel feature that limits, accounts for, and isolates the resource usage of a collection of processes.

SCHED_DEADLINE

SCHED_DEADLINE is a CPU scheduler available in the Linux kernel since version 3.14, based on the Earliest Deadline First (EDF) and Constant Bandwidth Server (CBS) algorithms, supporting resource reservations: each task scheduled under such policy is associated with a budget Q, and a period P, corresponding to a declaration to the kernel that Q time units are required by that task every P time units, on any processor. This makes SCHED_DEADLINE particularly suitable for real-time applications, like multimedia or industrial control, where P corresponds to the minimum time elapsing between subsequent activations of the task, and Q corresponds to the worst-case execution time needed by each activation of the task.

perf is a performance analyzing tool in Linux, available from Linux kernel version 2.6.31 in 2009. Userspace controlling utility, named perf, is accessed from the command line and provides a number of subcommands; it is capable of statistical profiling of the entire system.

ARM big.LITTLE Heterogeneous computing architecture

ARM big.LITTLE is a heterogeneous computing architecture developed by ARM Holdings, coupling relatively battery-saving and slower processor cores (LITTLE) with relatively more powerful and power-hungry ones (big). Typically, only one "side" or the other will be active at once, but all cores have access to the same memory regions, so workloads can be swapped between Big and Little cores on the fly. The intention is to create a multi-core processor that can adjust better to dynamic computing needs and use less power than clock scaling alone. ARM's marketing material promises up to a 75% savings in power usage for some activities. Most commonly, ARM big.LITTLE architectures are used to create a multi-processor system-on-chip (MPSoC).

zswap is a Linux kernel feature that provides a compressed write-back cache for swapped pages, as a form of virtual memory compression. Instead of moving memory pages to a swap device when they are to be swapped out, zswap performs their compression and then stores them into a memory pool dynamically allocated in the system RAM. Later, writeback to the actual swap device is deferred or even completely avoided, resulting in a significantly reduced I/O for Linux systems that require swapping; the tradeoff is the need for additional CPU cycles to perform the compression.

kGraft is a feature of the Linux kernel that implements live patching of a running kernel, which allows kernel patches to be applied while the kernel is still running. By avoiding the need for rebooting the system with a new kernel that contains the desired patches, kGraft aims to maximize the system uptime and availability. At the same time, kGraft allows kernel-related security updates to be applied without deferring them to scheduled downtimes. Internally, kGraft allows entire functions in a running kernel to be replaced with their patched versions, doing that safely by selectively using original versions of functions to ensure per-process consistency while the live patching is performed.

kpatch is a feature of the Linux kernel that implements live patching of a running kernel, which allows kernel patches to be applied while the kernel is still running. By avoiding the need for rebooting the system with a new kernel that contains the desired patches, kpatch aims to maximize the system uptime and availability. At the same time, kpatch allows kernel-related security updates to be applied without deferring them to scheduled downtimes. Internally, kpatch allows entire functions in a running kernel to be replaced with their patched versions, doing that safely by stopping all running processes while the live patching is performed.

ftrace is a tracing framework for the Linux kernel. Although its original name, Function Tracer, came from ftrace's ability to record information related to various function calls performed while the kernel is running, ftrace's tracing capabilities cover a much broader range of kernel's internal operations.

Kernel page-table isolation

Kernel page-table isolation is a Linux kernel feature that mitigates the Meltdown security vulnerability and improves kernel hardening against attempts to bypass kernel address space layout randomization (KASLR). It works by better isolating user space and kernel space memory. KPTI was merged into Linux kernel version 4.15, and backported to Linux kernels 4.14.11, 4.9.75, and 4.4.110. Windows and macOS released similar updates. KPTI does not address the related Spectre vulnerability.

References

  1. Anaesthesia Information Page by Kolivas, Jan 2001
  2. CGMiner GitHub repository, "ASIC and FPGA miner in c for bitcoin"
  3. "Linux: The Completely Fair Scheduler". Archived from the original on 19 April 2007. Retrieved 30 September 2010., 18 April 2007, KernelTrap.org
  4. The staircase scheduler [LWN.net]
  5. The Rotating Staircase Deadline Scheduler [LWN.net]
  6. LKML: Con Kolivas: [PATCH]Staircase scheduler - experimental
  7. Swap prefetching [LWN.net]
  8. "Why I quit: kernel developer Con Kolivas". APC Magazine. 24 July 2007. Archived from the original on 7 July 2011. Retrieved 15 August 2011.
  9. corbet (25 July 2007). "Re: -mm merge plans for 2.6.23". lwn.net/Articles. Retrieved 13 July 2010.
  10. The homepage of contest
  11. "Interview: Con Kolivas". Archived from the original on 17 November 2002. Retrieved 1 October 2013.{{cite web}}: CS1 maint: bot: original URL status unknown (link), 16 October 2002, KernelTrap.org
  12. Con Kolivas returns with a new scheduler [LWN.net]
  13. BFS FAQ