This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Microthread" – news ·newspapers ·books ·scholar ·JSTOR(December 2017) (Learn how and when to remove this message) |
Microthreads are functions that may run inparallel[1] to gain increased performance inmicroprocessors. They provide an execution model that uses a few additionalinstructions in a conventional processor to break code down into fragments that execute simultaneously. Dependencies are managed by makingregisters in the microprocessors executing the code synchronising, so one microthread will wait for another to produce data.
This is a form ofdataflow. This model can be applied to an existinginstruction set architecture incrementally by providing just five new instructions to implement concurrency controls. Aset of microthreads is a static partition of a basic block intoconcurrently executing fragments, which execute on a single processor and share a microcontext. Aniterator over a set provides a dynamic andparametric 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.