Эффективность распараллеливания
-
Upload
anastasia-nunez -
Category
Documents
-
view
44 -
download
0
description
Transcript of Эффективность распараллеливания
Эффективность распараллеливания
Оценки качества вычислительного алгоритма, системного ПО и аппаратурыЦель – оптимизация счетаКритерии качества:Производительность / стоимость. Предельные случаи:Минимизация астрономического времени счета задачи - ТАМинимизация стоимости – суммарное платное процессорное время – ТРТР = ТА * P где Р – число процессоровТА не равно ТА1 / Р
Коэффициент ускорения при распараллеливании
KP = (TA1 / TAP) / P или ТАР = ТА1 / (KP * P)Где:ТА1 – астрономическое время счета на одном процессореТАР - астрономическое время счета на Р процессорахР - число процессоров
Пример. 10 процессоров вместо одногопри КР = 1 время счета уменьшится в 10 раз, при КР = 0.5 только в 5 раз.
КР(Р) – зависит от Р
КР = (ТАР1 / TAР2) / (P2 / P1) – случай сравнения счета для Р1 и Р2 процессоров
Результаты счета, оценка эффективности
Факторы, влияющие на КР
Предполагается, что КР не зависит от номера шага.ТАШ = ТП + ТО гдеТАШ – астрономическое время одного шагаТП – чисто процессорное время без учета простоев ЦПТО – время простоя ЦП из-за обменов, не совмещенных со счетом. Совмещение?
Тогда КР = ТА1 / (ТАР * Р) = (ТП * Р) / ((ТП + ТО) * Р) = 1 / (1 + ТО/ТП)
Если использовать отношение времени обменов к времени процессорного счета: КО = ТО / ТП то
КР = 1/(1+КО)
Вычисление зависимости КР от числа процессоровПодсчет ТП и ТО. Необходимо знать:Количество обрабатываемых чисел (размер сетки, размер матриц , …)Количество операций над одним числом в одном шаге.Эмпирические данные для типичной разностной схемы: 8-10 опер/шаг, не зависит от размера сеткиУмножения матриц. Предлагается самим посчитать для случая разбиения полностью заполненной матрицы на полосы и столбцы. Зависит от размера матрицы. Попытайтесь найти физическое объяснение разницы в числе операций и виде матриц для этих двух случаев.Скорость процессора.Скорость среды обмена (латентность, максимальную длину блока).
При фиксированном размере сетки уменьшая число процессоров, мы уменьшаем КО (влияние обменов), увеличиваем КР (эффективность использования процессоров – снижаем стоимость), увеличиваем общее астрономическое время счета (уменьшаем производительность). И наоборот.
Задача на дом
Параллельное умножение матриц (полосы строк и столбцов)Вывести зависимость КР(Р) для:
Матрица - 10**4 на 10**4Скорость процессор+программа – 10**9 опер/секСкорость обмена – 10**6 чисел/сек плюс задержка на запуск обмена 10**-3 сек.Счет и обмены не совмещены.Р в диапазоне от 1 до 10**5