Skip to content
Category

Parallel 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
MATLAB
MATLAB (Matrix Laboratory) is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages.
parallel computing
programming paradigm in which many calculations or the execution of processes are carried out simultaneously
computer cluster
set of computers configured in a distributed computing system
semaphore
variable that is changed (e.g., incremented, decremented, toggled) depending on programmer-defined conditions, used to control access to a common resource by multiple processes in a concurrent system
CUDA
CUDA (Compute Unified Device Architecture) is a proprietary parallel computing platform and application programming interface (API) that allows software to use certain types of graphics processing units (GPUs) for accelerated general-purpose processing, significantly broadening their utility in scientific and high-performance computing. CUDA was created by Nvidia starting in 2004 and was officially released in 2007. When it was first introduced, the name was an acronym for Compute Unified Device Architecture, but Nvidia later dropped the common use of the acronym and now rarely expands it.
Julia
high-performance dynamic programming language
Maple
computer algebra system
OpenVMS
OpenVMS, often referred to as just VMS, is a multi-user, multiprocessing and virtual memory-based operating system. It is designed to support time-sharing, batch processing, transaction processing and workstation applications. Customers using OpenVMS include banks and financial services, hospitals and healthcare, telecommunications operators, network information services, and industrial manufacturers. During the 1990s and 2000s, there were approximately half a million VMS systems in operation worldwide.
multi-core processor
microprocessor with more than one processing unit
Blue Gene
series of supercomputers by IBM
OpenCL
OpenCL (Open Computing Language) is a framework for writing programs that execute across heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), field-programmable gate arrays (FPGAs) and other processors or hardware accelerators. OpenCL specifies a programming language (based on C99) for programming these devices and application programming interfaces (APIs) to control the platform and execute programs on the compute devices. OpenCL provides a standard interface for parallel computing using task- and data-based
SIMD
class of parallel computers in Flynn's taxonomy, with multiple processing elements that perform the same operation on multiple data points simultaneously
vector processor
computer processor which works on arrays of several numbers at once
superscalar processor
CPU that implements instruction-level parallelism within a single processor
OpenMP
OpenMP is an application programming interface (API) that supports multi-platform shared-memory multiprocessing programming in C, C++, and Fortran, on many platforms, instruction-set architectures and operating systems, including Solaris, AIX, FreeBSD, HP-UX, Linux, macOS, Windows and OpenHarmony. It consists of a set of compiler directives, library routines, and environment variables that influence run-time behavior.
Message Passing Interface
message-passing system for parallel computers
very long instruction word
type of instruction set architecture
general-purpose computing on graphics processing units
use of a graphics processing unit to perform computation in applications traditionally handled by the central processing unit
high-performance computing
includes all computing tasks whose processing requires high computing power or storage capacity
MapReduce
MapReduce is a programming model and an associated implementation for processing and generating big data sets with a parallel and distributed algorithm on a cluster.
multiprocessing
Multiprocessing (MP) is the use of two or more central processing units (CPUs) within a single computer system. The term also refers to the ability of a system to support more than one processor or the ability to allocate tasks between them. There are many variations on this basic theme, and the definition of multiprocessing can vary with context, mostly as a function of how CPUs are defined (multiple cores on one die, multiple dies in one package, multiple packages in one system unit, etc.).
non-uniform memory access
computer memory design used in multiprocessing
hardware multithreading
ability of a central processing unit (CPU) or a single core in a multi-core processor to execute multiple processes or threads concurrently
symmetric multiprocessing
multiprocessor architecture where two or more identical processors are connected to a single, shared main memory, have full access to all input and output devices, and are controlled by a single OS that treats all processors equally
Beowulf cluster
parallel computing cluster of networked commodity computers
shared memory
memory that may be simultaneously accessed by multiple programs with an intent to provide communication among them or avoid redundant copies
MIMD
class of parallel computer architecture in Flynn's taxonomy, in which multiple operations are performed on multiple data points simultaneously
cache coherence
special case of memory coherence
Google File System
proprietary distributed file system developed by Google
Nvidia Tesla
Nvidia's brand name for their products targeting stream processing and/or general purpose GPU
MISD
class of computer architecture in Flynn's taxonomy, in which multiple operations are performed on the same data simultaneously
POSIX Threads
In computing, POSIX Threads, commonly known as pthreads (after its header ''''), is an execution model that exists independently from a programming language, as well as a parallel execution model. It allows a program to control multiple different flows of work that overlap in time. Each flow of work is referred to as a thread, and creation and control over these flows is achieved by making calls to the POSIX Threads API. POSIX Threads is an API defined by the Institute of Electrical and Electronics Engineers (IEEE) standard POSIX.1c, Threads extensions (IEEE Std 1003.1c-1995)''.
Parallel Virtual Machine
software tool for parallel networking of computers
Instruction level parallelism
ability of computer instructions to be executed simultaneously with correct results
parallel algorithm
algorithm which can do multiple operations in the same time
Fifth Generation Computer Systems
initiative by Japan to create computers using massively parallel computing and logic programming
Xeon Phi
series of x86 manycore processors from Intel
transputer
thumb|T414 transputer chip thumb|IMSB008 base platform with IMSB419 and IMSB404 modules mounted The transputer is a series of microprocessors from the 1980s, intended for parallel computing. To support this, each transputer had its own integrated memory and serial communication links to exchange data with other transputers. They were designed and produced by Inmos, a semiconductor company based in Bristol, United Kingdom.
massively parallel
parallel processing using a large number of processes
loop unrolling
loop transformation technique
Linux Virtual Server
load balancing software
openMosix
thumb|right|300px|Transfers in an openMosix cluster.
Thinking Machines Corporation
defunct supercomputer company
systolic array
homogeneous network of tightly coupled data processing units
data parallelism
parallelization across multiple processors in parallel computing environments
Graphics Core Next
codename for a series of microarchitectures and an instruction set
barrier
computer synchronization mechanism that enforces an ordering on operations before and after the barrier
task parallelism
form of parallelization of computer code
uniform memory access
shared memory architecture used in parallel computers, where all processors share the physical memory uniformly
Unified Parallel C
extension of the C programming language designed for high-performance computing on large-scale parallel machines
Asymmetric multiprocessing
in computer architecture
ILLIAC IV
first massively parallel computer
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)
Grand Central Dispatch
concurrency system created by Apple Inc.
SPMD
computing technique used to achieve parallelism
Rocks Cluster Distribution
Linux-distro for high-performance computing clusters
Connection Machine
supercomputer
POWER9
POWER9 is a family of superscalar, multithreading, multi-core microprocessors produced by IBM, based on the Power ISA. It was announced in August 2016. The POWER9-based processors are being manufactured using a 14 nm FinFET process, in 12- and 24-core versions, for scale out and scale up applications, and possibly other variations, since the POWER9 architecture is open for licensing and modification by the OpenPOWER Foundation members.
AMD Instinct
brand name by AMD; family of deep learning oriented GPUs