Jump to content

Явная многопоточность

Явная многопоточность ( XMT ) — это парадигма информатики для создания и программирования параллельных компьютеров, разработанных на основе параллельной вычислительной модели параллельной машины с произвольным доступом (PRAM). Более прямое объяснение XMT начинается с элементарной абстракции, которая сделала последовательные вычисления простыми: любая отдельная инструкция, доступная для выполнения в последовательной программе, выполняется немедленно. Следствием этой абстракции является пошаговое (индуктивное) объяснение команды, доступной следующей для выполнения. Элементарная параллельная абстракция, лежащая в основе XMT, получившая название «Немедленное одновременное выполнение» (ICE) у Вишкина (2011) , заключается в том, что неограниченное количество инструкций, доступных для одновременного выполнения, выполняются немедленно. Следствием ICE является пошаговое (индуктивное) объяснение инструкций, доступных следующим для одновременного выполнения. Выходя за рамки серийного компьютера фон Неймана (единственной успешной платформы общего назначения на сегодняшний день), XMT стремится к тому, чтобы информатика снова смогла дополнить математическую индукцию простой однострочной вычислительной абстракцией.

Машина с произвольным доступом (RAM) — это абстрактная модель машины, используемая в информатике для изучения алгоритмов и сложности стандартных последовательных вычислений. Вычислительная модель PRAM параллельных — это абстрактная модель параллельной машины, которая была введена для аналогичного изучения параллельных алгоритмов и сложности вычислений , когда они еще не были созданы. Исследователи накопили большой объем знаний о параллельных алгоритмах для модели PRAM. Эти параллельные алгоритмы также известны своей простотой по стандартам других подходов к параллельным алгоритмам.

Большой объем знаний о параллельных алгоритмах модели PRAM и их относительная простота побудили к созданию компьютеров, программирование которых может осуществляться с помощью этих параллельных алгоритмов. Поскольку производительность параллельных программистов уже давно считается решающим фактором успеха параллельного компьютера, простота алгоритмов имеет важное значение.

Многоядерные компьютеры построены на основе двух или более процессорных ядер, интегрированных в один кристалл интегральной схемы. Они широко используются во многих областях приложений, включая вычисления общего назначения.Явная многопоточность (XMT) — это вычислительная парадигма для создания и программирования многоядерных компьютеров с десятками, сотнями или тысячами процессорных ядер.

Экспериментальные работы, опубликованные в 2011 и 2012 годах, демонстрируют значительно большее ускорение передовых алгоритмов PRAM на прототипах XMT, чем при решении тех же задач на современных многоядерных компьютерах.

Работа, опубликованная в 2018 году, показывает, что параллельное программирование с фиксированным шагом (с использованием ICE) может достичь той же производительности, что и самый быстрый многопоточный код, настроенный вручную, в системах XMT. Такой подход с индуктивной синхронизацией отличается от подходов многопоточного программирования многих других базовых систем, которые известны требовательными программистами.

Парадигму XMT представил Узи Вишкин .

Основные уровни абстракции XMT

[ редактировать ]

Парадигма вычислений с явной многопоточностью (XMT) объединяет несколько уровней абстракции.

Концепция рабочего времени (WT) (иногда называемая глубиной работы), предложенная Шилоахом и Вишкиным (1982) , обеспечивает простой способ концептуализации и описания параллельных алгоритмов. В рамках WT параллельный алгоритм сначала описывается в терминах параллельных раундов. Для каждого раунда описываются операции, которые необходимо выполнить, но некоторые проблемы можно скрыть. Например, не обязательно указывать количество операций в каждом раунде, не нужно упоминать процессоры и не нужно учитывать любую информацию, которая может помочь в распределении процессоров по заданиям. Во-вторых, предоставляется скрытая информация. Фактически, включение скрытой информации основано на доказательстве теоремы планирования, предложенной Брентом (1974) . Структура WT полезна, поскольку, хотя она может значительно упростить первоначальное описание параллельного алгоритма, вставка деталей, скрытых в этом первоначальном описании, часто не очень сложна. Например, структура WT была принята в качестве базовой структуры представления в книгах по параллельным алгоритмам (для модели PRAM). JaJa (1992) и Keller, Kessler & Traeff (2001) , а также в классных заметках Вишкина (2009) . Вишкин (2011) объясняет простую связь между структурой WT и более элементарной абстракцией ICE, отмеченной выше.

Парадигма XMT может быть запрограммирована с использованием XMTC , параллельного многопоточного языка программирования, который является небольшим расширением языка программирования C. Парадигма XMT включает рабочий процесс программиста, который начинается с приведения алгоритма в структуру WT и переходит к его программированию в ХМТС.

Многоядерные компьютерные системы XMT обеспечивают балансировку нагрузки многопоточных программ во время выполнения, используя несколько патентов. Один из них [1] обобщает концепцию счетчика программ , которая является центральной в архитектуре фон Неймана, на многоядерное оборудование.

[ редактировать ]

В январе 2007 года 64-процессорный компьютер [2] по имени Паралип, [3] это демонстрирует, что общая концепция была завершена. Концепция XMT была представлена ​​Vishkin et al. (1998) и Найшлос и др. (2003) и 64-процессорный компьютер XMT в Wen & Vishkin (2008) . Поскольку упрощение параллельного программирования является одной из самых больших задач, стоящих сегодня перед информатикой, демонстрация также была направлена ​​на обучение основам алгоритмов PRAM и программирования XMTC учащихся начиная от старшеклассников Торберта и др. (2010 г.) в аспирантуру.

Об экспериментальной работе сообщается в Caragea & Vishkin (2011) по проблеме максимального потока и в двух статьях Эдвардса и Вишкина ( 2012a , 2012b ) по связности графов ( связность (теория графов) ), двусвязности графов ( двусвязный граф ) и трисвязности графов. Проблемы ( трехсвязного компонента ) продемонстрировали, что для некоторых из наиболее продвинутых алгоритмов в литературе по параллельным алгоритмам парадигма XMT может обеспечить ускорение от 8 до более чем 100 раз больше, чем для тех же задач на современных многоядерных компьютерах. . Каждое заявленное ускорение было получено путем сравнения тактовых циклов прототипа XMT с самым быстрым последовательным алгоритмом, работающим на самых быстрых последовательных машинах.

Кульминацией создания прототипа XMT стала работа Ганима, Вишкина и Баруа (2018) , установившая, что параллельное программирование с фиксированным шагом (с использованием ICE) может достичь той же производительности, что и самый быстрый многопоточный код, настроенный вручную, в системах XMT. Этот результат 2018 года обостряет контраст между программированием XMT и подходами к многопоточному программированию, используемыми почти во всех системах с другими ядрами, чьи условия гонки и другие требования имеют тенденцию бросать вызов, а иногда даже и подводить программистов Вишкин (2014) .

  • Брент, Ричард П. (1974), «Параллельная оценка общих арифметических выражений», Journal of the ACM , 21 (2): 201–208, CiteSeerX   10.1.1.100.9361 , doi : 10.1145/321812.321815 , S2CID   16416106 .
  • Шилоах, Иосия; Вишкин, Узи (1982), «Ан О ( н 2 log n ) параллельный алгоритм максимального потока», Journal of Algorithms , 3 (2): 128–146, doi : 10.1016/0196-6774(82)90013-X .
  • ДжаДжа, Джозеф (1992), Введение в параллельные алгоритмы , Аддисон-Уэсли, ISBN  978-0-201-54856-3
  • Келлер, Йорг; Кесслер, Кристоф В.; Траефф, Джеспер Л. (2001), Практическое программирование PRAM , Wiley-Interscience, ISBN  978-0-471-35351-5
  • Найшлос, Дорит; Нузман, Джозеф; Ценг, Чау-Вэнь; Вишкин, Узи (2003), «К первому вертикальному прототипированию подхода к чрезвычайно детальному параллельному программированию» (PDF) , Теория вычислительных систем , 36 (5): 551–552, doi : 10.1007/s00224-003-1086 -6 , S2CID   1929495 .

Примечания

[ редактировать ]
  1. ^ Вишкин, Узи. Архитектура набора команд Spawn-join для обеспечения явной многопоточности. Патент США 6463527. См. также Вишкин и др. (1998) .
  2. ^ Университет Мэриленда, пресс-релиз, 26 июня 2007 г.: «Профессор из Мэриленда создает настольный суперкомпьютер». Архивировано 14 декабря 2009 г. в Wayback Machine .
  3. ^ Университет Мэриленда, Инженерная школа А. Джеймса Кларка, пресс-релиз, 28 ноября 2007 г.: «Следующий большой «скачок» в вычислительных технологиях получает имя» .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 0a390568a3a0b79b453fb062932f6e43__1704330900
URL1:https://arc.ask3.ru/arc/aa/0a/43/0a390568a3a0b79b453fb062932f6e43.html
Заголовок, (Title) документа по адресу, URL1:
Explicit multi-threading - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)