Центра́льный проце́ссор — электронный блок либо интегральная схема, исполняющая машинные инструкции, главная часть аппаратного обеспечения компьютера или программируемого логического контроллера. Иногда этот компонент называют просто процессором.
Многопото́чность — свойство платформы или приложения, состоящее в том, что процесс, порождённый в операционной системе, может состоять из нескольких потоков, выполняющихся «параллельно», то есть без предписанного порядка во времени. При выполнении некоторых задач такое разделение может достичь более эффективного использования ресурсов вычислительной машины.
UML — язык графического описания для объектного моделирования в области разработки программного обеспечения, для моделирования бизнес-процессов, системного проектирования и отображения организационных структур.
Параллельные вычислительные системы — физические компьютерные, а также программные системы, реализующие тем или иным способом параллельную обработку данных на многих вычислительных узлах.
Плезиохронная цифровая иерархия — цифровой метод передачи данных, основанный на временном разделении канала и технологии представления сигнала с помощью импульсно-кодовой модуляции.
Параллельные вычисления — способ организации компьютерных вычислений, при котором программы разрабатываются как набор взаимодействующих вычислительных процессов, работающих параллельно (одновременно). Термин охватывает совокупность вопросов параллелизма в программировании, а также создание эффективно действующих аппаратных реализаций. Теория параллельных вычислений составляет раздел прикладной теории алгоритмов.
make — утилита, автоматизирующая процесс преобразования файлов из одной формы в другую. Чаще всего это компиляция исходного кода в объектные файлы и последующая компоновка в исполняемые файлы или библиотеки.
Блок-схема — распространённый тип схем, описывающих алгоритмы или процессы, в которых отдельные шаги изображаются в виде блоков различной формы, соединённых между собой линиями, указывающими направление последовательности.
POSIX Threads — стандарт POSIX-реализации потоков (нитей) выполнения. Стандарт POSIX.1c, Threads extensions определяет API для управления потоками, их синхронизации и планирования.
Оптимизирующий компилятор — компилятор, в котором используются различные методы получения более оптимального программного кода при сохранении его функциональных возможностей. Наиболее распространённые цели оптимизации: сокращение времени выполнения программы, повышение производительности, компактификация программного кода, экономия памяти, минимизация энергозатрат, уменьшение количества операций ввода-вывода.
Пото́к выполне́ния — наименьшая единица обработки, исполнение которой может быть назначено ядром операционной системы. Реализация потоков выполнения и процессов в разных операционных системах отличается друг от друга, но в большинстве случаев поток выполнения находится внутри процесса. Несколько потоков выполнения могут существовать в рамках одного и того же процесса и совместно использовать ресурсы, такие как память, тогда как процессы не разделяют этих ресурсов. В частности, потоки выполнения разделяют последовательность инструкций процесса и его контекст — значения переменных, которые они имеют в любой момент времени.
OpenMP — открытый стандарт для распараллеливания программ на языках Си, Си++ и Фортран. Даёт описание совокупности директив компилятора, библиотечных процедур и переменных окружения, которые предназначены для программирования многопоточных приложений на многопроцессорных системах с общей памятью.
MapReduce — модель распределённых вычислений, представленная компанией Google, используемая для параллельных вычислений над очень большими, вплоть до нескольких петабайт, наборами данных в компьютерных кластерах.
IRQL — букв. уровень запроса прерывания. Механизм программно-аппаратной приоритизации, применяемый для синхронизации в операционных системах семейства Windows NT.
ОС Эльбрус (OSL) — операционная система для процессоров архитектуры Эльбрус 2000 (E2K) и Эльбрус-90микро (SPARC), разработана в МЦСТ на основе ядра Linux. Оригинальная архитектура E2K требует оригинальных механизмов управления прерываниями, процессами, виртуальной памятью, сигналами, синхронизацией, тегированными вычислениями — практически всеми основными механизмами ОС, в связи с чем и был разработан этот продукт. Версия, предназначенная для работы в вычислительном комплексе Эльбрус-3М1, называется ОС Эльбрус OSL_3M1.
В программировании, SPMD является методом, используемым для достижения параллелизма; это подкатегория MIMD-класса вычислительных систем в классификации Флинна.
Зелёные потоки — потоки выполнения, управление которыми вместо операционной системы производит среда выполнения, эмулируя многопоточную среду вне зависимости от возможностей операционной системы по реализации встроенных или легковесных потоков. Управление зелёными потоками происходит в пользовательском пространстве, а не пространстве ядра, что позволяет им работать, в частности, в условиях отсутствия поддержки встроенных потоков.
Чрезвычайная параллельность — тип задач в системах параллельных вычислений, для которых не требуется прилагать больших усилий при разделении на несколько отдельных параллельных задач (распараллеливании). Чаще всего не существует зависимости между этими параллельными задачами, то есть их результаты не влияют друг на друга.
Язык программирования Java и JVM разработаны с поддержкой параллельных вычислений, и все вычисления выполняются в контексте потока. Несколько потоков могут совместно использовать объекты и ресурсы; каждый поток выполняет свои инструкции (код), но потенциально может получить доступ к любому объекту в программе. В обязанности программиста входит координация потоков во время операций чтения и записи разделяемых объектов. Синхронизация потоков нужна для того, чтобы гарантировать, что одновременно к объекту может обращаться только один поток, и чтобы предотвратить обращение потоков к неполностью обновленным объектам в то время, как с ними работает другой поток. В языке Java есть встроенные конструкции поддержки синхронизации потоков.
Семафо́р — примитив синхронизации работы процессов и потоков, в основе которого лежит счётчик, над которым можно производить две атомарные операции: увеличение и уменьшение значения на единицу, при этом операция уменьшения для нулевого значения счётчика является блокирующейся. Служит для построения более сложных механизмов синхронизации и используется для синхронизации параллельно работающих задач, для защиты передачи данных через разделяемую память, для защиты критических секций, а также для управления доступом к аппаратному обеспечению.