Skip to content
Category

Concurrent computing

page 1
supercomputer
thumb|upright=1.5|The IBM Blue Gene|Blue Gene/P supercomputer "Intrepid" at [[Argonne National Laboratory (pictured 2007) runs 164,000 processor cores using normal data center air conditioning, grouped in 40 racks/cabinets connected by a high-speed 3D torus network.]] A supercomputer is a type of computer with a high level of performance as compared to a general-purpose computer. Supercomputers play an important role in the field of computational science, and are used for a wide range of computationally intensive tasks in various fields including quantum mechanics, weather forecasting, climate
parallel computing
programming paradigm in which many calculations or the execution of processes are carried out simultaneously
process
particular execution of a computer program
multitasking
concurrent execution of multiple processes over a certain period of time
computer cluster
set of computers configured in a distributed computing system
thread
smallest sequence of programmed instructions that can be managed independently by a scheduler
concurrent computing
form of computing in which several computations logically execute during overlapping time periods
shared memory
memory that may be simultaneously accessed by multiple programs with an intent to provide communication among them or avoid redundant copies
cache coherence
special case of memory coherence
coroutine
Coroutines are computer program components that allow execution to be suspended and resumed, generalizing subroutines for cooperative multitasking. Coroutines are well-suited for implementing familiar program components such as cooperative tasks, exceptions, event loops, iterators, infinite lists and pipes.
preemption
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 later time
data transfer object
design pattern where an object carries aggregated data between processes to reduce number of calls needed
communicating sequential processes
formal language for concurrent systems
Stackless Python
alternative Python implementation
actor model
mathematical model of concurrent computation
thread pool
a method for efficient parallel processing in computer programs (pre-creating threads and reusing them as tasks occur, reducing overhead of thread creation and destruction, improving system performance, and optimizing resource management)
cooperative multitasking
style of computer multitasking that does not preempt processes
reactor pattern
event handling pattern for handling service requests delivered concurrently to a service handler by one or more inputs; the service handler then demultiplexes the incoming requests and dispatches them synchronously to the associated request handlers
ROCm
ROCm is an Advanced Micro Devices (AMD) software stack for graphics processing unit (GPU) programming. ROCm spans several domains, including general-purpose computing on graphics processing units (GPGPU), high performance computing (HPC), and heterogeneous computing. It offers several programming models: HIP (GPU-kernel-based programming), OpenMP (directive-based programming), and OpenCL.
concurrent object-oriented programming
programming paradigm that combines object-oriented programming (OOP) together with concurrency
Java concurrency
simultaneous processing in the Java language