Главная » Просмотр файлов » Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013)

Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (1162189), страница 181

Файл №1162189 Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013)) 181 страницаТ. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (1162189) страница 1812019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 181)

Каждая группа фрагментов, прнналлежашнх одной н той же процедуре, ограничена скругленным прямоугольннком, слабо заштрнхоаанным для запускаемых процедур н сильно — для вызываемых. Ребра запуска н вызова напраалены вниз, продолжения выполнения — по горизонтали апраао, а ребра аозарата — вверх. Полыая, что каждый фрагмент требует единицы времени, ася работа составляет 17 единиц, поскольку нмеется 17 фрагментов, а интервал раасн 8 единицам, поаашьку критический путь (указанный выделенными штриховкой ребрами) содержит 8 фрагментоа. параллельными вычислениями в фрагменты не входят, но представлены в структуре ориентированного ациклического графа.

Например, если фрагмент имеет два преемника, один из них должен быть запушен параллельно, а для предшественника указывают, что этн предшественники обьединяются инструкцией луис. Таким образом, в общем случае множество )г образует множество фрагментов, а множество ориентированных ребер Е представляет зависимости между фрагментами, порожденными управлением параллельными вычислениями. Если в С имеется ориентированный путь от фрагмента и к фрагменту е, мы говорим, что эти два фрагмента ~логически) ппследпаагппчаиы.

В противном случае фрагменты и и и (лпгически7 параллельны, Многопоточное вычисление можно изобразить как ориентированный ациклический граф фрагментов, встроенный в дерево экземпляров процедур. Например, на рис. 27.1 показано дерево экземпляров процедур для вычисления Р-Рги(6) (без детализированной структуры показанных фрагментов). На рис. 27.2 показана в увеличенном виде одна из частей этого дерева, с демонстрацией фрагментов, составляющих каждую процедуру. Все ориентированные ребра, соединяюшие фрагменты, проходят либо в пределах процедуры, либо вдоль неориентированных ребер дерева процедуры.

Часть УП. Избраниые теми Чтобы иметь возможность указывать различные зависимости между фрагментами, ребра ориентированного ациклического графа вычислений можно классифицировать. Ребро нродвлження (сопбпиабоп едйе) (и,и'), на рис. 27.2 направленное горизонтально, соединяет фрагмент и с его преемником и' в пределах одного и того же экземпляра процедуры. Когда фрагмент и запускает фрагмент и, ориентированный ациклический граф содержит ребро запуска (араььп едяе) (и, и), которое на рисунке направлено вниз. Ребра вызовов (са11 едяеа), представляя обычные вызовы процедур, также направлены вниз. Фрагмент и, запускающий фрагмент и, отличается от фрагмента и, вызывающего фрагмент и тем, что запуск приводит к наличию горизонтального ребра продолжения от фрагмента и к фрагменту и', следующему в процедуре за и и указывающему, что и' можно выполнять одновременно с о, в то время как выюв не приводит к появлению такого ребра.

Когда фрагмент и выполняет возврат в вызвавшую процедуру, а г представляет собой фрагмент, непосредственно следующий за следующим аупс в вызывающей процедуре, ориентированный ациклический граф вычислений содержит ребро возврата (генно едйе) (и, г), направленное вверх. Вычисление начинается с одного начального фрагмента ()ш6а! азгапб) — черной вершины в процедуре, помеченной как Р-Г1в(4) на рис.

27.2 — и заканчивается единственным конечным фрагменнюм (Йпа! а!гапб) — белой вершиной в процедуре, помеченной как Р-г1В(4). Мы будем изучать выполнение многопоточных алгоритмов на идеальном нараллельнан комньююере (16еа! рагайе! сошризег), состоящем из множества процессоров и носледовазнельно согласованной (аейиепба11у сопгйа1еп!) совместно используемой памяти.

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

В зависимости от планировщика упорядочение может отличаться при разных запусках одной и той же программы, но поведение любого выполнения программы может быть понято в предположении, что команды выполняются в некотором линейном порядке, согласованном с ориентированным ациклическим графом вычислений.

В дополнение к сделанным семантическим предположениям модель идеального параллельного компьютера делает также некоторые предположения, связанные с производительностью. В частности, предполагается, что каждый процессор машины обладает одной и той же вычислительной мощностью, а стоимость планирования игнорируется.

Хотя зто последнее предположение может казаться слишком оптимистичным, оказывается, что для алгоритмов с достаточной степе- я!9 Глава 2Х Маогоаоточные тгооааемы нью "параллелизма" (термин, который вскоре будет точно определен) на практике накладные расходы планирования обычно минимальны. Меры производительности Измерять теоретическую эффективность многопоточного алгоритма можно с использованием двух метрик; "работы" (звог)г) и "интервала" (зрап).

Работа многопоточного вычисления представляет собой общее время выполнения всего вычисления на одном процессоре. Другими словами, работа представляет собой сумму времен, взятую по всем фрагментам. В ориентированном ациклическом графе вычислений, в котором каждый фрагмент требует единичного времени, работа равна просто количеству вершин ориентированного ациклического графа. Интервал представляет собой наибольшее время выполнения фрагментов вдоль произвольного пути в ориентированном ациклическом графе, Опять же, в случае ориентированного ациклического графа, в котором каждый фрагмент требует единичного времени, интервал равен количеству вершин на наидлиннейшем, или критинескаи, пути (спбса! ра1п) в ориентированном ациклическом графе.

(Вспомним из раздела 24.2, что критический путь в ориентированном ациклическом графе С = ()г, Е) можно найти за время ев()г + Е).) Например, ориентированный ациклический граф вычислений на рис.27.2 всею имеет 17 вершин, а в критическом пути у него 8 вершин, так что если каждый фрагмент требует единичного времени, то работа равна 17 единицам времени, а интервал— 8 единицам. Фактическое время выполнения многопоточного вычисления зависит не только от его работы и интервала, но и от количества доступных процессоров и от того, как планировщик распределяет фрагменты по процессорам. Обозначая время выполнения многопоточного вычисления на Р процессорах, мы будем использовать Р в качестве нижнего индекса.

Например, время выполнения алгоритма на Р процессорах может быть обозначено как То. Работа представляет собой время выполнения алгоритма на одном процессоре, т.е. Ть Интервал является временем работы при выполнении каждого фрагмента на своем собственном процессоре— другими словами, если у нас имеется неограниченное количество процессоров,— так что интервал мы обозначаем как Т„. Работа и интервал предоставляют нам нижнюю границу времени выполнения Тр многопоточного вычисления на Р процессорах.

За один шаг идеальный параллельный компьютер с Р процессорами может выполнить не более Р единиц работы; таким образом, за время Тр он может выполнить работу, не превышающую РТр. Поскольку общая работа составляет Ть имеем РТр ) Ть Деление на Р дает правило работы: Та > Т1(Р . (27.2) Идеальный параллельный компьютер с Р процессорами не может работать быстрее машины с неограниченным количеством процессоров. Так что машина с неограниченным количеством процессоров может эмулировать Р-процессорную машину, используя только Р из своих процессоров. Таким образом, Часть е71. Избранные тены В7О можно сформулировать следующее правило интервалов: Тр>Т (27.3) Определим ускорение (зреес)цр) вычислений иа Р процессорах как отношение Тз(Тр, говорящее о том, во сколько раз вычисления на Р процессорах быстрее, чем на 1 процессоре. Согласно правилу работы имеем Тр > Т1 (Р, откуда вытекает, что Тз7Тр < Р.

Таким образом, ускорение на Р процессорах не может превышать Р. Когда ускорение линейно зависит от количества процессоров, т.е. когда Тз )Тр = 'ез(Р), вычисления демонстрируют линейное ускорение, а когда Т1 (Т> = Р, мы имеем идеальное линейное ускорение. Отношение Тз(Т работы к интервалу дает параллелизм (рата!!е!Вш) многопоточного вычисления. Параллелизм можно рассматривать с трех точек зрения.

Как отношение параллелизм определяет среднее количество работы, которая может быть выполнена параллельно на каждом шаге вдоль критического пути. Как верхняя граница параллелизм дает максимально возможное ускорение, которое может быть достигнуто с помощью произвольного количества процессоров. Наконец, что, вероятно, наиболее важно, параллелизм указывает предел возможности достичь идеального линейного ускорения. В частности, когда количество процессоров превышает уровень параллелизма, вычисления не могут достичь идеального линейного ускорения.

Чтобы понять это утверждение, предположим, что Р > Тз7Т, и в этом случае из правила интервалов вытекает, что ускорение удовлетворяет условию Т1)Тр < Т1)Т < Р. Кроме того, если число процессоров Р в идеальном параллельном компьютере существенно превышает параллелизм — т.е. если Р » Т1 )Т, — то Тз )Тр « Р, так что ускорение гораздо меньше, чем количество процессоров. Другими словами, чем больше процессоров мы используем сверх параллелизма, тем менее идеальным становится ускорение. В качестве примера рассмотрим вычисление Р-Е!в(4) на рис.27.2 и будем считать, что каждый фрагмент требует единичного времени. Поскольку работа Т1 — — 17, а интервал Т = 8, параллелизм равен Т17Т = 17/8 = 2.125. Следовательно, достигнуть более чем удвоенного ускорения невозможно, сколько бы процессоров не использовалось для проведения вычислений.

Мы увидим, что в случае ббльших входных размеров Р-Гпз(ц) демонстрирует существенную степень параллелизма. Определим зазор параллельноспзи (раийе! з!ас)пзезз) многопоточного вычисления на идеальном параллельном компьютере с Р процессорами как отношение (Т1)Т )!Р = Т1 ((РТ ), которое представляет собой множитель, на который параллелизм вычисления превосходит количество процессоров в машине. Таким образом, если зазор меньше 1, мы не можем надеяться достичь идеального линейного ускорения, поскольку Т17(РТ ) < 1 и из правила интервалов вытекает, что ускорение на Р процессорах удовлетворяет условию Тз~Тр < Тз)Т < Р.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6551
Авторов
на СтудИзбе
299
Средний доход
с одного платного файла
Обучение Подробнее