Крэй МТА


Cray MTA , ранее известный как Tera MTA , представляет собой архитектуру суперкомпьютера , основанную на тысячах независимых потоков, мелкозернистой связи и синхронизации между потоками, а также допуске на задержку для нерегулярных вычислений.

Каждый процессор MTA ( CPU ) имеет высокопроизводительное ALU с множеством независимых наборов регистров, каждый из которых выполняет независимый поток. Например, Cray MTA-2 использует 128 наборов регистров и, следовательно, 128 потоков на ЦП/АЛУ. На сегодняшний день все MTA используют схему цилиндрического процессора с переключением потока в каждом цикле, при этом заблокированные (застрявшие) потоки пропускаются, чтобы не тратить циклы ALU. Когда поток выполняет чтение памяти, выполнение блокируется до возврата данных; тем временем другие потоки продолжают выполняться. При достаточном количестве потоков (параллельность) почти всегда есть исполняемые потоки, чтобы «прикрыть» заблокированные потоки, а ALU остаются занятыми. Система памяти использует полные/пустые биты для обеспечения правильного порядка. Например, массивПервоначально A записывается с «пустыми» битами, и любой поток, читающий значение из A , блокируется до тех пор, пока другой поток не запишет значение. Это обеспечивает правильное упорядочение, но допускает тонкое чередование и обеспечивает простую модель программирования. Система памяти также «рандомизирована», при этом соседние физические адреса отправляются в разные банки памяти. Таким образом, когда два потока одновременно обращаются к памяти, они редко конфликтуют, если только они не обращаются к одному и тому же месту.

Цель MTA состоит в том, чтобы перенос кодов с других машин был простым, но при этом обеспечивал хорошую производительность. Распараллеливающий компилятор FORTRAN может обеспечить высокую производительность для некоторых кодов при минимальном ручном вмешательстве. Там, где требуется перенос вручную, простая и детализированная модель синхронизации часто позволяет программистам писать код «очевидным» способом, но при этом достигать хорошей производительности. Еще одна цель состоит в том, чтобы программы для MTA были масштабируемыми  , то есть при запуске на MTA с удвоенным числом процессоров одна и та же программа будет иметь почти вдвое большую производительность. И то, и другое является проблемой для многих других высокопроизводительных компьютерных систем.

Необычной особенностью MTA является возможность чередования нескольких рабочих нагрузок с хорошей производительностью. Как правило, суперкомпьютеры предназначены для решения одной задачи за раз. MTA позволяет выделять незанятые потоки для других задач, практически не влияя на основные вычисления.

Было реализовано три реализации MTA, а в 2009 году планируется четвертая. Реализации:

Было развернуто всего несколько систем, и широко сообщалось только о тестах MTA-2, что затрудняет сравнение производительности.