1631124674-6a00ac47f208bd132d328527d69fe75d (848586), страница 4
Текст из файла (страница 4)
Сети делятся на разные топологии:
-
· общая шина –схема соединений компонентов в многопроцессорных системах, в которой все компоненты, включая процессоры и модули памяти, соединены одной шиной. В каждый момент времени от одного узла ко всем остальным узлам может быть отправлена только одна единица данных. Применяется для небольших систем.
-
· кольцо – данная топология получается из линейки узлов соединением первого и последнего узлов линейки;
-
· звезда – система, в которой все узлы имеют линии связи с некоторым управляющим.
-
· дерево – топология, в которой каждый узел более высокого уровня связан с узлами более низкого уровня.
-
· решетка – система, в которой узлы образует прямоугольную сетку (обычно двух- или трехмерную).
-
· гиперкуб –данная топология представляет собой частный случай структуры решетки, когда по каждой размерности сетки имеется только два узла (т.е. гиперкуб содержит 2^N узлов при размерности N).
9.Варианты организации параллельных вычислений (Меркулов)
http://lib.tssonline.ru/articles2/fix-corp/sposoby-realizatsii-parallelnyh-vychisleniy
Организацию параллельных вычислений можно разделить по способу передачи информации между выполняемыми параллельно потоками:
1. С помощью общей памяти. Потоки имеют общую область памяти, соответственно могут обращаться к ее содержимому.
2. С помощью отправки сообщений. Сообщения между потоками отправляются асинхронно, т.е. ожидание результата после отправки не блокирует поток и он занят чем-то другим, или с блокировкой.
3.Гибридный (см.вопрос 3)
(Неверов)
Многоядерный процессор (multi-core) – много ядер на одном кристалле;
Симметричный мультипроцессор (SMP) – много одинаковых процессоров с общей памятью, соединенных с ней общей шиной, из-за возможных конфликтов памяти P < 32;
Распределенные вычисления (concurrent, parallel ,distributed) – наиболее масштабируемые; подразумевают использование нескольких компьютеров, чаще всего объединённых в параллельную вычислительную систему. Не требует быстрой связи между компьютерами.
Кластеры, MPP (massively parallel processor, суперкомпьютер, обычно более 100 процессоров со сверхбыстрым интерконнектом) вычислительные сети (grid computing) – связь через Интернет с интеграцией ресурсов для больших задач;
Векторные процессоры (CPU), SIMD, AVX. Внедрение технологий прямо внутрь процессора, позволяющих одному ядру выполнять векторные вычисления.
10.Постпетафлопсные вычислительные системы (Кожевников)
FLOPS (также flops, flop/s, флопс или флоп/с; акроним от англ. FLoating-point Operations Per Second, произносится как флопс) — внесистемная единица, используемая для измерения производительности компьютеров, показывающая, сколько операций с плавающей запятой в секунду выполняет данная вычислительная система. Поскольку современные компьютеры обладают высоким уровнем производительности, более распространены производные величины от флопс, образуемые путём использования приставок СИ (..., гига-, тера-, пета-, экза-).
Как и большинство других показателей производительности, данная величина определяется путём запуска на испытуемом компьютере тестовой программы, которая решает задачу с известным количеством операций и подсчитывает время, за которое она была решена. Наиболее популярным тестом производительности на сегодняшний день являются тесты производительности LINPACK, в частности HPL, используемый при составлении рейтинга суперкомпьютеров TOP500.
Персональный компьютер находится на уровне гигафлопс.
1000 гигафлопс = 1 терафлопс. (Вычислительный центр в Академгородке имеет мощность порядка 100 терафлопс.)
1000 терафлопс = 1 петафлопс. (пета.. = 10^15)
Весь мир вступил в эру петафлопсных компьютеров в 2008г. Развитие суперкомпьютеров непрерывно продолжается по закону Мура -- за 11 лет мощность суперкомпьютеров увеличивается в 1000 раз. Этот закон справедлив до сих пор, но уже немного ослабевает.
Так, по закону Мура, в 2019 году должны были появиться суперкомпьютеры с мощностями, исчисляемыми экзафлопсами (экза.. = 10^18) (так называемые экзафлопсники).
В 2020 году в Японии построили суперкомпьютер мощностью 400 петафлопс.
Постпетафлопсных (экзафлопсных) вычислительных систем на данный момент нет по экономическим причинам, а конкретно - из-за дороговизны энергопотребления. По оценкам (десятилетней давности) для экзафлопса нужно 100 мегаватт (Новосибирская ГЭС - 400 мегаватт). На данный момент инженеры-микроэлектронщики пытаются решить эту проблему и снизить энергопотребление такого суперкомпьютера до 20 мегаватт.
(Всё выше, кроме определения FLOPS, взято со слов из лекции 08.02.21)
(Всё что ниже упоминается на слайде в лекциях, но никак не комментировалось лектором => не очень понятно, к чему это. Возможно, это технологии, которые помогают прийти к экзафлопсным системам. Хз)
GPGPU (general-purpose graphics processing units) - концепция использования для выполнения расчётов графического ускорителя вместо центрального процессора. В процессе эволюции видеокарт в определённый момент стало понятно, что они не только не уступают CPU в производительности, но на определённых задачах значительно превосходят за счёт существенно большего количества ядер.
Программи́руемая логи́ческая интегра́льная схе́ма (ПЛИС, англ. programmable logic device, PLD) — электронный компонент (интегральная микросхема), используемый для создания конфигурируемых цифровых электронных схем. В отличие от обычных цифровых микросхем, логика работы ПЛИС не определяется при изготовлении, а задаётся посредством программирования (проектирования). Для программирования используются программатор и IDE (отладочная среда).
Гетерогенные вычислительные системы — электронные системы, использующие различные типы вычислительных блоков. Вычислительными блоками такой системы могут быть процессор общего назначения (GPP), процессор специального назначения (например, цифровой сигнальный процессор (DSP) или графический процессор (GPU)), сопроцессор, логика ускорения (специализированная интегральная схема (ASIC) или программируемая пользователем вентильная матрица (FPGA)).
В общем, гетерогенная вычислительная платформа содержит процессоры с разными наборами команд (ISA). Добавление дополнительных, независимых вычислительных ресурсов неизбежно приводит к тому, что большинство гетерогенных систем рассматриваются как параллельные вычислительные системы или многоядерные системы.
11.Критерии эффективности распараллеливания алгоритмов (Гуськова)
(Комментарии из видео-лекции 7.02)
Как характеризовать эффективность распараллеливания алгоритмов?
Коэффициент ускорения (A) =
(A) /
(A). Пусть имеется абстрактный компьютер с Р процессорами. A - задача или алгоритм.
(A) - время выполнения данного алгоритма на Р процессорах.
(A) - … на одном процессоре. (Идеальное ускорение равно Р). Отсюда эффективность использования процессоров (эффективность распараллеливания)
(A) =
(A) / P. (max = 1 или 100%, но в реальных условиях такого почти не бывает по техническим условиям).
Линейное ускорение: (A) ≈ Р,
(A) ≈ 1.
Нормально: = 0.3 - 0.8. Если на практике вы добились эффективности 0.3, то это хорошо. Хотя иногда
> 1 (теоретически возможно на иерархической памяти).
Масштабированное ускорение (хорошее, близко к линейному) бывает сильное (с увеличением числа вычислительных устройств время решения фиксированной задачи обратно пропорционально убывает) и слабое (с одинаковым пропорциональным увеличением количества вычислительных устройств и рекурсируемости задачи (число степеней свободы) время решения остается постоянным).
Времена выполнения операций: Из чего складываются времена (A) и
(A) ?
Время решения задачи или выполнения алгоритма Т = +
. (а - арифметика, с - коммуникации).
=
*
, где
- среднее время выполнения одной операции,
- объем вычислений. Если хотим передать данные из одного вычислительного узла в другой:
=
*
+
*
, где
- время ожидания,
- количество передач данных,
- объем передаваемых данных,
- время передачи одного числа из одного устройства в другое. Реально
<<
<<
.