The Good, the bad and the ugly: on threads, processes and coprocesses

Gilad Ben-Yossef October 19th, 2009

Developers of Linux applications seemingly face a two pronged dilemma when trying to design application to make good use of multi-core hardware: use threads and sacrifice the memory protections provided by processes use in favor of supposedly reduced overhead, or use process and supposedly sacrifice performance for memory protection.

This talk will explore some of the myths and facts regarding the use of threads and processes, present some real world measurements to the cost involved in using both taken using a modified subset of LMBench tool, discuss some very real but rarely mentioned reasons developers choose threads over processes and conclude by presenting CoProc (http://github.com/gby/coproc/), a proof of concept library which provides share-as-needed middle ground between threads and processes using Linux clone(2) and mmap(2) system calls.

The Good, the bad and the ugly: on threads, processes and coprocesses

One Response to “The Good, the bad and the ugly: on threads, processes and coprocesses”

  1. [...] added slides for a new lecture, entitled: “The Good, the bad and the ugly: on threads, processes and co-processes“. This presentation was originally delivered at CELF ELCE Europe 2009 conference about the [...]