План лекции.

1. Вычислительная модель потоковой обработки.

2. Архитектура потоковых вычислительных систем.

3. Статические потоковые вычислительные системы.

4. Динамические потоковые вычислительные системы.

5. Архитектура потоковых систем с помеченными токенами.

6. Архитектура потоковых систем с явно адресуемыми токенами.

7. Макропотоковые вычислительные системы.

8. Гиперпотоковая обработка.

9. Вычислительные системы с управлением вычислениями по запросу.

 

В традиционных многопроцессорных системах одновременно могут выпол-няться несколько командных последовательностей в естественном порядке, то есть в порядке размещения каждой из них в памяти. Это обеспечивается нали- чием в каждом процессоре счетчика команд. Выполнение команд в каждом про-цессоре – поочередное и потому достаточно медленное. Для получения выигры-ша программист или компилятор должны определить независимые команды, которые могут быть поданы на отдельные процессоры, причем так, чтобы ком-муникационные издержки были не слишком велики.

Традиционные фон-неймановские ВС, управляемые с помощью программ-ного счетчика, называются вычислительными системами, управляемыми после-довательностью команд (control flow computer). Если программа, состоящая из команд, хранится в памяти, то возможны следующие альтернативные механиз- мы ее исполнения:

§ команда выполняется после того, как выполнена предшествующая ей ко-манда последовательности;

§ команда выполняется, когда становятся доступны ее операнды;

§ команда выполняется, когда другим командам требуется результат ее вы-полнения.

Первый метод соответствует традиционному механизму с управлением по-следовательностью команд; второй механизм известен как управляемый данными (data driven) или потоковый (dataflow); третий метод называется механизмом управления по запросу (demand driven).

 

Рис. 14.1. Возможные вычислительные модели: а – фон-неймановская; б – потоковая; в – макропотоковая; г – редукционная

Общие идеи нетрадиционных подходов к организации вычислительного процесса показаны на рис. 14.1.