Сложная задача – это задача, которая не может быть эффективно решена на существующих массовых вычислительных средствах с помощью традиционных методов и алгоритмов решения. Ускорение Эффективность Цена параллельного решения Ценность Коэффициент загрузки процессора Коэффициент простоя процессора 𝜉 = 𝑇1 (𝑛)⁄𝑇𝑝 (𝑛) 𝜉 ∗ = 𝜉 ⁄𝑝 𝐶𝑝 = 𝑝 ∙ 𝑇𝑝 (𝑛) 𝐹𝑝 = 𝜉 ⁄𝐶𝑝 𝐾загр 𝑖 = 𝑇𝑖 ⁄𝑇вып 𝐾пр 𝑖 = 1 − 𝐾загр 𝑖 𝜉→𝑝 𝜉∗ → 1 𝑝 𝐾загр = Загруженность ∑𝑖=1 𝐾загр 𝑖 𝑝 Связь загруженности и эффективности ∑𝑝𝑖=1 𝐾загр 𝑖 ∑𝑝𝑖=1 𝑇𝑖 ⁄𝑇вып ∑𝑝𝑖=1 𝑇𝑖 𝑇1 (𝑛) 𝐾загр = = = = = 𝜉∗ 𝑝 𝑝 𝑝 ∙ 𝑇вып 𝑝 ∙ 𝑇𝑝 (𝑛) Лемма Брента. Если при неограниченном числе процессоров для вычисления арифметического выражения, содержащего 𝑤 операций, требуется время 𝑡, то при наличии ограниченного числа процессоров 𝑝 вычисление может быть выполнено не более чем за время 𝑡, определяемое по формуле: (𝑤 – 𝑡) 𝑡 = 𝑡 + 𝑝 Закон Амдаля. Используется для оценки параллельных алгоритмов, структура которых предполагает выполнение всех операций либо с максимальной, либо с минимальной степенью параллелизма, время на подготовку передачи данных отсутствует. Оценка ускорения, которое может быть получено на компьютере из 𝑝 процессоров при данном значении 𝛽 (доля операций, которые нужно выполнять последовательно, 0 ≤ 𝛽 ≤ 1): 𝑇1 (𝑛) 𝜉= 1−𝛽 [𝛽 + 𝑝 ] 𝑇1 (𝑛) + 𝑡доп 1) 𝛽 = 𝑡доп = 0 ⟹ 𝜉 = 𝑝 1 2) 𝛽 ≠ 0, 𝑡доп = 0 ⟹ 𝜉 = 1−𝛽 𝛽+ 3) 𝑡доп ≫ 0 ⟹ 𝜉 = 𝑇1 (𝑛) 𝑡доп 𝑝 Следствие из закона Амдаля. Для того чтобы ускорить выполнение программы в 𝑞 раз, необходимо ускорить не менее чем в (1 − 1/𝑞)-ую часть программы. 𝑡𝑝 – время выполнения узлов графа; 𝑡𝑛 – время передачи данных. 1) Слабосвязанные задачи 𝑡𝑝 ≫ 𝑡𝑛 2) Среднесвязанные задачи 𝑡𝑝 ≈ 𝑡𝑛 3) Сильносвязанные задачи 𝑡𝑝 ≪ 𝑡𝑛 Алгоритм определения критического пути: 1) При начальном проходе определяется минимально возможное время начала выполнения каждого узла по формуле: 𝑇min 𝑖 = max (𝑇min 𝑗 + 𝑡𝑗 + 𝑇𝑖𝑗 ) , 𝑇min 1 = 0, 𝑗=1..𝑆 где 𝑆 – число узлов-предшественников i-ого узла; 𝑇min 𝑖(𝑗) – минимально возможное время начала выполнения i-ого (j-ого) узла; 𝑡𝑗 – время выполнения j-ого узла; 𝑇𝑖𝑗 – время передачи данных между i и j узлами. 2) При повторном проходе (от конечной вершины к начальной) определяется максимально возможное время начала выполнения каждого узла по формуле: 𝑇max 𝑖 = min (𝑇max 𝑟 − 𝑡𝑖 − 𝑇𝑖𝑟 ) , 𝑇min 𝑁 = 𝑇max 𝑁 , 𝑟=1..𝑉 где 𝑉 – число узлов-последователей i-ого узла; 𝑁 – номер конечной вершины графа; 𝑇max 𝑖(𝑟) – максимально возможное время начала выполнения i-ого (r-ого) узла; 𝑡𝑖 – время выполнения -ого узла; 𝑇𝑖𝑟 – время передачи данных между i и r узлами. 3) Определяются критические пути графа в соответствии с правилом: -ый узел является критическим, если выполняется равенство 𝑇min 𝑖 = 𝑇max 𝑖 . Критическим путём графа является множество последовательных узлов, у которых 𝑇min 𝑖 = 𝑇max 𝑖 . В случае МВС с общей памятью времена передачи данных удваиваются. Задача назначения. Под решением задачи назначения понимается процесс распределения узлов графа задачи (набора задач), выполняемой в МВС, между ее процессорами, при котором определяется время начала выполнения узла, его длительность и назначение процессора, который обеспечит это выполнение. Известные стратегии назначения готовых к исполнению узлов: 1) равновероятный выбор; 2) выбор узла с минимальным временем выполнения; 3) выбор узла с максимальным временем выполнения; 4) выбор узла, принадлежащего критическому пути; 5) выбор узла, имеющего наибольшее число связей с последующими узлами; 6) выбор узла в порядке поступления в очередь на исполнение.