Применение параллельных вычислительных систем (ПВС) является
стратегическим направлением развития вычислительной техники. Это
обстоятельство вызвано не только принципиальным ограничением
максимально возможного быстродействия обычных последовательных
ЭВМ, но и практически постоянным наличием вычислительных задач,
для решения которых возможностей существующих средств
вычислительной техники всегда оказывается недостаточно. Так,
проблемы "большого вызова" [54] возможностям
современной науки и техники: моделирование климата, генная
инженерия, проектирование интегральных схем, анализ загрязнения
окружающей среды, создание лекарственных препаратов и др. -
требуют для своего анализа ЭВМ с производительностью более 1000
миллиардов операций с плавающей запятой в секунду (1
Проблема создания высокопроизводительных вычислительных систем
относится к числу наиболее сложных научно-технических задач
современности. Ее разрешение возможно только при всемерной
концентрации усилий многих талантливых ученых и конструкторов,
предполагает использование всех последних достижений науки и
техники и требует значительных финансовых инвестиций. Тем не менее
достигнутые в последнее время успехи в этой области впечатляют.
Так, в рамках принятой в США в 1995 г. программы "Ускоренной
стратегической компьютерной инициативы" (Accelerated Strategic
Computing Initiative –
Организация параллельности вычислений, когда в один и тот же момент выполняется одновременно несколько операций обработки данных, осуществляется, в основном, за счет введения избыточности функциональных устройств ( многопроцессорности ). В этом случае можно достичь ускорения процесса решения вычислительной задачи, если осуществить разделение применяемого алгоритма на информационно независимые части и организовать выполнение каждой части вычислений на разных процессорах. Подобный подход позволяет выполнять необходимые вычисления с меньшими затратами времени, и возможность получения максимально-возможного ускорения ограничивается только числом имеющихся процессоров и количеством "независимых" частей в выполняемых вычислениях.
Однако следует отметить, что до сих пор применение параллелизма не получило столь широкого распространения, как это ожидалось многими исследователями. Одной из возможных причин подобной ситуации являлась до недавнего времени высокая стоимость высокопроизводительных систем (приобрести суперЭВМ могли себе позволить только крупные компании и организации). Современная тенденция построения параллельных вычислительных комплексов из типовых конструктивных элементов (микропроцессоров, микросхем памяти, коммуникационных устройств), массовый выпуск которых освоен промышленностью, снизила влияние этого фактора, и в настоящий момент практически каждый потребитель может иметь в своем распоряжении многопроцессорные вычислительные системы (МВС) достаточно высокой производительности. Наиболее кардинально ситуация изменилась в сторону параллельных вычислений с появлением многоядерных процессоров, которые, уже в 2006 г. использовались более чем в 70% компьютерных систем.
Другая и, пожалуй, теперь основная причина сдерживания массового распространения параллелизма состоит в том, что для проведения параллельных вычислений необходимо "параллельное" обобщение традиционной - последовательной - технологии решения задач на ЭВМ. Так, численные методы в случае многопроцессорных систем должны проектироваться как системы параллельных и взаимодействующих между собой процессов, допускающих исполнение на независимых процессорах. Применяемые алгоритмические языки и системное программное обеспечение должны обеспечивать создание параллельных программ, организовывать синхронизацию и взаимоисключение асинхронных процессов и т.п.
Среди прочих можно выделить следующий ряд общих проблем, возникающих при использовании параллельных вычислительных систем [22]:
Комментируя данное высказывание, можно отметить, что, безусловно, подобная оценка ускорения справедлива при распараллеливании определенных алгоритмов. Вместе с тем существует большое количество задач, при параллельном решении которых достигается практически 100%-е использование всех имеющихся процессоров параллельной вычислительной системы.
p
процессоров ограничивается величиной$$S \le \frac{1}{f+(1-f)/p},$$
где f есть доля последовательных вычислений в
применяемом алгоритме обработки данных (т.е., например, при
наличии всего 10% последовательных команд в выполняемых
вычислениях эффект использования параллелизма не может превышать
10-кратного ускорения обработки данных).Данное замечание характеризует одну из самых серьезных проблем в области параллельного программирования (алгоритмов без определенной доли последовательных команд практически не существует). Однако часто доля последовательных действий характеризует не возможность параллельного решения задач, а последовательные свойства применяемых алгоритмов. Как результат, доля последовательных вычислений может быть существенно снижена при выборе более подходящих для распараллеливания алгоритмов.
Для ответа на данное замечание следует отметить, что "однородность"
последовательных ЭВМ также является кажущейся и эффективное использование
однопроцессорных компьютеров тоже требует учета свойств аппаратуры.
С другой стороны, при всем разнообразии архитектур параллельных систем,
тем не менее, существуют и определенные "устоявшиеся" способы
обеспечения параллелизма (
Ответ на данное высказывание сравнительно прост: если существующие программы обеспечивают решение поставленных задач, то, конечно, переработка этих программ не является необходимой. Однако если последовательные программы не позволяют получать решения задач за приемлемое время или же возникает необходимость решения новых задач, то насущной становится разработка нового программного обеспечения и эти программы могут реализовываться для параллельного выполнения.
Подводя итог всем перечисленным проблемам и замечаниям, можно заключить, что параллельные вычисления являются перспективной (и очень привлекательной) областью применения вычислительной техники и представляют собой сложную научно-техническую область деятельности. Тем самым, знание современных тенденций развития ЭВМ и аппаратных средств для достижения параллелизма, умение разрабатывать модели, методы и программы параллельного решения задач обработки данных следует отнести к числу важных квалификационных характеристик современного специалиста по прикладной математике, информатике и вычислительной технике.
Проблематика параллельных вычислений является чрезвычайно широкой областью теоретических исследований и практически выполняемых работ и обычно подразделяется на следующие направления деятельности:
В завершение учебного материала в лекции 12 проводится рассмотрение учебно-исследовательской программной системы Параллельная Лаборатория ( ПараЛаб ), которая может быть использована для организации лабораторного практикума по данному курсу для изучения и исследования эффективности параллельных алгоритмов.
Помимо использования системы ПараЛаб, лабораторный практикум включает также выполнение лабораторных работ, направленных на практическое освоение параллельного программирования; каждая лабораторная работа курса имеет детальное описание полного цикла программной реализации рассматриваемого в рамках работы одного из параллельных алгоритмов.
В основе настоящего учебника лежит лекционный материал учебного курса "Многопроцессорные вычислительные системы и параллельное программирование", который читается с 1996 г. в Нижегородском государственном университете на факультете вычислительной математики и кибернетики для студентов, обучаемых по специальности "Прикладная математика и информатика" и новому направлению подготовки "Информационные системы".
Часть необходимого теоретического материала была подготовлена во время научных стажировок в университете г.Трир (Германия, декабрь 1996 г. - январь 1997 г.), университете г.Роскильде и Датском техническом университете (Дания, май 2000 г.), университете г.Делфт (октябрь 2005 г.), университете штата Северная Каролина (США, октябрь – декабрь 2006 г.). Вычислительные эксперименты, необходимость которых возникала при подготовке пособия, были выполнены на высокопроизводительном вычислительном кластере Нижегородского университета (оборудование кластера поставлено в ННГУ в рамках Академической программы компании Intel в 2001 г., описание состава и показатели производительности кластера приводятся в лекции 1 учебного курса).
Значительная часть работ по развитию учебно-методического и программного обеспечения данного курса была проведена в 2002 – 2005 гг. в учебно-исследовательской лаборатории "Информационные технологии" (ИТЛаб), созданной в Нижегородском университете при поддержке компании Интел.
Подготовка публикуемого варианта учебных материалов была выполнена
в 2005 – 2006 гг. в рамках учебно-исследовательского проекта, который
был поддержан компанией Майкрософт, по созданию учебно-методического
обеспечения высокопроизводительных кластеров, функционирующих под
управлением недавно разработанной системы Microsoft
Для проведения занятий по курсу "Многопроцессорные вычислительные системы и параллельное программирование" были подготовлены электронные презентации, содержание которых представлено на сайте (http://www.software.unn.ac.ru/ccam/?doc=98).
Данный вариант учебного курса является расширенной и переработанной версией учебного пособия, опубликованного в Нижегородском университете в 2001 г. (второе издание пособия было опубликовано в 2003 г.). За прошедший период учебный курс активно использовался в разных формах подготовки и переподготовки кадров в области современных компьютерных технологий более чем в 20 вузах страны. Материалы учебного курса применялись в проводимых в Нижегородском университете при поддержке компании Интел в 2004 – 2006 гг. Зимних школах по параллельному программированию.
Разработанные учебные материалы послужили для компании Майкрософт одной из важных причин выделения Нижегородского госуниверситета в числе 10 лучших университетов мира в области высокопроизводительных вычислений.
Автор данного курса лекций считает своим приятным долгом выразить благодарность за совместную успешную работу и дружескую поддержку своим коллегам – преподавателям кафедры математического обеспечения ЭВМ факультета вычислительной математики и кибернетики Нижегородского госуниверситета. Автор глубоко признателен Л.В.Нестеренко (Интел), ценные замечания которой значительно способствовали улучшению разрабатываемых учебных материалов. И, безусловно, настоящее издание было подготовлено только благодаря неизменной дружеской поддержке К.Фаенова (Майкрософт) и И.Р.Агамирзяна (Майкрософт).
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.