📑 Table of Contents

Microthreads are functions that may run in parallel[1] to gain increased performance in microprocessors. They provide an execution model that uses a few additional instructions in a conventional processor to break code down into fragments that execute simultaneously. Dependencies are managed by making registers in the microprocessors executing the code synchronising, so one microthread will wait for another to produce data.

This is a form of dataflow. This model can be applied to an existing instruction set architecture incrementally by providing just five new instructions to implement concurrency controls. A set of microthreads is a static partition of a basic block into concurrently executing fragments, which execute on a single processor and share a microcontext. An iterator over a set provides a dynamic and parametric family of microthreads. Iterators capture loop concurrency and can be scheduled to different processors. An iterator over a set is created dynamically and is called a family of microthreads. This is the mechanism that allows the model to generate concurrency, which can be run on multiple processors or functional units.

See also

edit

References

edit
  1. ^ Helmut Grohne (2006). "libmuth tutorial: Microthreads". subdivi.de. Retrieved 2017-07-26.
edit

📚 Artikel Terkait di Wikipedia

Python (programming language)

projects. Stackless Python is a significant fork of CPython that implements microthreads. This implementation uses the call stack differently, thus allowing massively

Stackless Python

cleared between function calls. The most prominent feature of Stackless is microthreads, which avoid much of the overhead associated with usual operating system

Protothread

Schmidt, based on prior work by Simon Tatham and Tom Duff. Coroutine Microthread Virtual thread A. Dunkels, O. Schmidt, T. Voigt, and M. Ali, Protothreads:

Simultaneous multithreading

heavyweight virtual processing elements and lighter-weight hardware microthreads. RMI, a Cupertino-based startup, is the first MIPS vendor to provide

Control unit

the two lowest-priority microthreads. These performed calculations whenever I/O was not required. High priority microthreads provided (in decreasing priority)

Green thread

supports either preemptive multitasking or cooperative multitasking through microthreads (termed tasklets). Tcl has coroutines and an event loop The Erlang virtual

Joseph Katz (professor)

Turbulent Shearing of Crude Oil Mixed with Dispersants Generates Long Microthreads and Microdroplets, Physical Review Letters 104(5) (2010). I. Borazjani

Flow focusing

Gañán-Calvo, Alfonso M. (1998-01-12). "Generation of Steady Liquid Microthreads and Micron-Sized Monodisperse Sprays in Gas Streams". Physical Review