The Mill is a new general-purpose CPU architectural family, with novel resource allocation and control facilities that are orders of magnitude less expensive than the equivalents on other CPUs. Critical to this gain is the direct Mill hardware support for threading.

Thread and process creation, preemption, and dispatch are heavy-weight operations on conventional operating systems on conventional hardware. As a result, software systems and languages such as Go have been devised with lightweight cooperative threading. Unfortunately, all lightweight systems to date require mutual trust among the participants, and can suffer uncontrolled stalling when encountering kernel-level events such as page traps.

Spawning a thread, dispatching one for execution, idling it, killing it, and even such apparently unrelated facilities as setjmp/longjmp are all user-mode hardware operations on a Mill, with costs comparable to that of a normal function call. The talk will describe in detail how this works, with suggested uses from micro-kernel operating systems and parallel languages like Go.