Relaxed sequential

Relaxed sequential

In computer science, a relaxed sequential execution model describes the ability for a parallel program to run sequentially. If a parallel program has a valid sequential execution it is said to follow a relaxed sequential execution model. It does not need to be efficient.

The word relaxed refers to the notion that serial programs are actually overly constrained by implicit serial dependencies (such as the program counter) and that one can introduce as much parallelism as possible without removing the ability to run sequentially. You can think of this model as being as relaxed as possible and still being able to run correctly in a single thread. That is the goal.

Most parallel programs can run sequentially but will benefit from parallelism when it is present. It is possible to design programs that require parallelism for correct behavior. Algorithms such as producer-consumer that are implemented so as to require two or more threads are one example of requiring concurrency to work properly. For instance, consider a bounded container with a capacity for only three items and a program which has one thread doing “PUT PUT PUT PUT,” and another thread doing “GET GET GET GET,” each doing their actions only four at a time. Such a program requires interleaving (concurrency). A program that requires concurrency is more difficult to debug. It is easier to debug a program that has a valid sequential execution.

Programs designed to require concurrency are more difficult to debug. Programs designed to require concurrency will have performance issues when the number of required threads exceeds the number of hardware threads because time slicing artifacts can hit hard.

ee also

*Deadlock
*Parallel computing
*Race Conditions

References

* Reinders, James, "Intel Threading Building Blocks: Outfitting C++ for Multi-core Processor Parallelism", First Edition. O'Reilly Media, 2007, SBN 978-0-596-51480-8. Pages 169-170.


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Allosteric regulation — In biochemistry, allosteric regulation is the regulation of an enzyme or other protein by binding an effector molecule at the protein s allosteric site (that is, a site other than the protein s active site). Effectors that enhance the protein s… …   Wikipedia

  • Dressage — An upper level dressage competitor performing an extended trot. Dressage (pronounced /ˈdrɛsɑːʒ/ or /drɨˈsɑːʒ/) (a French term, most commonly translated to mean training ) is a competitive equestrian sport, defined by the International E …   Wikipedia

  • Manual transmission — Transmission types Manual Sequential manual Non synchronous Preselector Automatic Manumatic Semi automatic Electrohydraulic …   Wikipedia

  • Relay — This article is about the electrical component. For other uses, see Relay (disambiguation). Automotive style miniature relay, dust cover is taken off A relay is an electrically operated switch. Many relays use an electromagnet to operate a… …   Wikipedia

  • List of terms relating to algorithms and data structures — The [http://www.nist.gov/dads/ NIST Dictionary of Algorithms and Data Structures] is a reference work maintained by the U.S. National Institute of Standards and Technology. It defines a large number of terms relating to algorithms and data… …   Wikipedia

  • Limit of a function — x 1 0.841471 0.1 0.998334 0.01 0.999983 Although the function (sin x)/x is not defined at zero, as x becomes closer and closer to zero, (sin x)/x becomes arbitrarily close to 1. It is said that the limit of (sin x)/x as x approache …   Wikipedia

  • Register machine — In mathematical logic and theoretical computer science a register machine is a generic class of abstract machines used in a manner similar to a Turing machine. All the models are Turing equivalent. Contents 1 Overview 2 Formal definition 3 …   Wikipedia

  • Список терминов, относящихся к алгоритмам и структурам данных —   Это служебный список статей, созданный для координации работ по развитию темы.   Данное предупреждение не устанавливается на информационные списки и глоссарии …   Википедия

  • Список терминов — Список терминов, относящихся к алгоритмам и структурам данных   Это сл …   Википедия

  • DMX512 — A DMX splitter/buffer. It allows many devices that are controlled by DMX to be plugged into one controller, like a lighting console DMX512 (For Digital Multiplex with 512 pieces of information ) is a standard for digital communication networks… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”