Actor model The actor model in computer science is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent digital computation: in response to a message...
Cache coherence In computing, cache coherence refers to the consistency of data stored in local caches of a shared resource.
Cluster-aware application A cluster-aware application is a software application designed to call cluster APIs in order to determine its running state, in case a manual failover is triggered between cluster nodes for plan...
Communicating sequential processes In computer science, Communicating Sequential Processes (CSP) is a formal language for describing patterns of interaction in concurrent systems.
Computer cluster A computer cluster consists of a set of loosely connected or tightly connected computers that work together so that in many respects they can be viewed as a single system.
Computer multitasking In computing, multitasking is a method where multiple tasks (also known as processes) are performed during the same period of time they are executed concurrently (in overlapping time periods...
Concurrency pattern In software engineering, concurrency patterns are those types of design patterns that deal with the multi-threaded programming paradigm.
Concurrent computing Concurrent computing is a form of computing in which several computations are executing during overlapping time periods – concurrently – instead of sequentially (one completing before the next starts).
Concurrent constraint logic programming Concurrent constraint logic programming is a version of constraint logic programming aimed primarily at programming concurrent processes rather than solving constraint satisfaction problems.
Concurrent data structure In computer science, a concurrent data structure is a particular way of storing and organizing data for access by multiple computing threads (or processes) on a computer.
History of computer clusters The history of computer clusters is best captured by a footnote in Greg Pfister's In Search of Clusters: “Virtually every press release from DEC mentioning clusters says ‘DEC, who invented c...
Interceptor pattern In the field of software development, an interceptor pattern is a software design pattern that is used when software systems or frameworks want to offer a way to change, or augment, their usual ...
Interleaved execution In computing, multitasking is a method where multiple tasks, also known as processes, are performed during the same period of time.
JCSP JCSP is an implementation of Communicating Sequential Processes (CSP) for the Java programming language.
JCSP re JCSP re, which stands for "Communicating Sequential Processes for Java, Robot Edition", is a reduced version of the original JCSP packages and work done at the University of Kent.
Microsoft Cluster Server Microsoft Cluster Server (MSCS) is software designed to allow servers to work together as a computer cluster, to provide failover and increased availability of applications, or parallel calculat...
Nano-threads In computer science nano-threads are highly optimized lightweight threads designed for use on shared memory multiprocessors (such as SMPs).
Nonpreemptive multitasking Nonpreemptive multitasking is a style of computer multitasking in which the operating system never initiates a context switch from a running process to another process.
Parallax Propeller The Parallax P8X32A Propeller chip, introduced in 2006, is a multi-core architecture parallel microcontroller with eight 32-bit RISC CPU cores.
PCLSRing PCLSRing (also known as PC Lusering) is the term used in the ITS operating system for a consistency principle in the way one process accesses the state of another process.
Preemption (computing) In computing, preemption is the act of temporarily interrupting a task being carried out by a computer system, without requiring its cooperation, and with the intention of resuming the task at a...
Prescient store A prescient store is an operation to allow store operations to occur earlier than would otherwise be permitted in the context of threads and locks.
Proactor pattern Proactor is a software design pattern for event handling in which long running activities are running in an asynchronous part.
Process (computing) In computing, a process is an instance of a computer program that is being executed.
Processor array A processor array is like a storage array but contains and manages processing elements instead of storage elements.
Protected procedure In computer science, the concept of protected procedure, first introduced as protected service routine in 1965, is necessary when two computations A and B use the same routine S'...
Protothreads A protothread is a low-overhead mechanism for concurrent programming.
Reactor pattern The reactor pattern completely separates application specific code from the reactor implementation, which means that application components can be divided into modular, reusable parts.
Relativistic programming Relativistic programming (RP) is a style of concurrent programming where instead of trying to avoid conflicts between readers and writers (or writers and writers in some cases) the algorit...
SequenceL SequenceL is a general purpose functional programming language, whose primary design objectives are performance on multicore hardware, ease of programming, and code clarity/readability.
Shared memory In computing, shared memory is memory that may be simultaneously accessed by multiple programs with an intent to provide communication among them or avoid redundant copies.
Sideband computing Sideband computing is a general term for an area of computer science that is related to the distributed computing and multiple communication channels.
Sieve C++ Parallel Programming System The Sieve C++ Parallel Programming System is a C++ compiler and parallel runtime designed and released by Codeplay that aims to simplify the parallelization of code so that it may run efficient...
Stackless Python Stackless Python, or Stackless, is a Python programming language interpreter, so named because it avoids depending on the C call stack for its own stack.
Supercomputer A supercomputer is a computer at the frontline of contemporary processing capacity – particularly speed of calculation which can happen at speeds of nanoseconds.
Supercomputer architecture Approaches to supercomputer architecture have taken dramatic turns since the earliest systems were introduced in the 1960s.
Thread (computer science) On a single processor, multithreading generally occurs by time-division multiplexing: the processor switches between different threads.
Thread (computing) In computer science, a thread of execution is the smallest unit of processing that can be scheduled by an operating system.
Trace theory In mathematics and computer science, trace theory aims to provide a concrete mathematical underpinning for the study of concurrent computation and process calculi.
Transparallel processing Transparallel processing is a form of processing, in computing or otherwise, in which items are processed simultaneously by one processor.
Transputer The transputer was a pioneering microprocessor architecture of the 1980s, featuring integrated memory and serial communication links, intended for parallel computing.
Yield method The Yield method is used in java multi-threading to force the processor to skip the current running thread and send it to end of running queue of the same priority.