60 likes | 210 Views
Эффективность распараллеливания. Оценки качества вычислительного алгоритма, системного ПО и аппаратуры Цель – оптимизация счета Критерии качества: Производительность / стоимость. Предельные случаи: Минимизация астрономического времени счета задачи - ТА
E N D
Эффективность распараллеливания Оценки качества вычислительного алгоритма, системного ПО и аппаратуры Цель – оптимизация счета Критерии качества: Производительность / стоимость. Предельные случаи: Минимизация астрономического времени счета задачи - ТА Минимизация стоимости – суммарное платное процессорное время – ТР ТР = ТА * 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