Новосибирский государственный университет

Факультет информационных технологий

ICT SBRAS

Словарь терминов в коллекции "Вычислительные системы"

Мультипотоковые вычислительные системы

Синонимы: мультипотоковые вычислительные системы; multithreading; мультипотоковый процессор; макропотоковая модель; мультипотоковая модель; макропотоковая обработка; мультипотоковая обработка;

Мультипотоковая модель - модель обработки, в которой вершина графа представляет собой не одну команду, а последовательность из нескольких команд, называемых нитью. Мультипотоковая обработка сводится к потоковому выполнению нитей, в то время как внутри отдельной нити характер выполнения фон-неймановский.

Механизм обработки с управлением от потока данных функционирует на уровне команд и его относят к потоковой обработке низкого уровня (fine-grain dataflow). Данному подходу сопутствуют большие издержки при пересылке операндов, но, главное, не сохраняется принцип локальности (порядок использования команд и данных - произвольный), из-за чего теряются преимущества использования кэш-памяти. Справиться с этими проблемами помогает потоковая обработка на процедурном уровне, так называемая укрупненная потоковая или мультипотоковая обработка (multithreading). Буквальный перевод английского термина означает потоковую обработку множества нитей.

Мультипотоковая модель совмещает локальность программы, характерную для фон-неймановской модели, с толерантностью к задержкам на переключение задач, характерным для потоковой архитектуры. Данная возможность обеспечивается тем, что вершина графа представляет собой не одну команду, а последовательность из нескольких команд, называемую нитью (thread). Именно поэтому мультипотоковую организацию часто называют крупнозернистой потоковой обработкой (coarse-grained dataflow). Мультипотоковая обработка сводится к потоковому выполнению нитей, в то время как внутри отдельной нити характер выполнения фон-неймановский. Порядок обработки нитей меняется динамически в процессе вычислений, а последовательность команд в пределах нити определена при компиляции статически.

Существенное отличие мультипотоковой системы от обычной потоковой состоит в организации внутреннего управляющего конвейера, где последовательность выполнения команд задается счетчиком команд, как в фон-неймановских машинах. Иными словами, этот конвейер идентичен обычному конвейеру команд.

В мультипотоковой архитектуре в вершине графа находится последовательность команд - нить. Если команда приостанавливается, останавливается и соответствующая нить, в то время как выполнение других нитей может продолжаться.

Существует две формы мультипотоковой обработки: без блокирования и с блокированием. В модели без блокирования выполнение нити не может быть начато, пока не получены все необходимые данные. Будучи запущенной, нить выполняется до конца без приостановки. В варианте с блокированием запуск нити может быть произведен до получения всех операндов. Когда требуется отсутствующий операнд, нить приостанавливается (блокируется), а возобновление выполнения откладывается на некоторое время. Процессор запоминает всю необходимую информацию о состоянии и загружает на выполнение другую готовую нить. Модель с блокированием обеспечивает более мягкий подход к формированию нитей (часто это выражается в возможности использования более длинных нитей) за счет дополнительной аппаратуры для хранения блокированных нитей.

Возможна также и потоковая обработка переменного уровня, когда вершины соответствуют как простым операциям, так и сложным последовательным процедурам. Последний случай иногда называют комбинированной обработкой с потоками данных и потоками управления (combined dataflow/control flow).

Ключевые термины, связанные с термином "мультипотоковые вычислительные системы":

  1. Гиперпотоковая обработка
  2. Потоковые вычислительные системы

Ключевые термины:  управление от потока данных;   потоковые вычислительные системы;


Контекстный поиск: Задайте образец для поиска:
    

|Список основных тем курса|
   
Федотова Ольга
[SBRAS]

НГУ
ФИТ НГУ
ИВТ СО РАН
© 2012-2024, Новосибирский государственный университет, Новосибирск
© 2004-2024, Институт вычислительных технологий СО РАН, Новосибирск
© 2004-2024, Федотов А.М.
    Дата последней модификации: 15.08.2013