Voevodin (1034422)

Файл №1034422 Voevodin (Аппаратные средства параллельных вычислительных сред)Voevodin (1034422)2017-12-22СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

В.В.Воеводин

Супервычисления и структура алгоритмов

Есть одна глобальная, трудно решаемая проблема, которая связывает пути развития вычислительной техники и интересы пользователей такой техники. Это – разработка принципов создания языков программирования, компиляторов и всего того системного программного обеспечения, которое реально оказывает влияние на эффективность решения пользовательских задач.

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

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

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

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

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

Полезно более внимательно посмотреть на причины возникновения трудностей переделки программ при переходе от последовательных машин к параллельным. Несмотря на длительный период развития вычислительной математики вообще и численных методов и алгоритмов в частности, математики очень мало знают о том, как в действительности устроены разрабатываемые и используемые ими методы и алгоритмы. Господствовавшая в течение нескольких десятилетий концепция однопроцессорных ЭВМ обращала внимание разработчиков на две характеристики, связанные с вычислительной техникой, - это общее число операций о объем требуемой памяти. Что же касается структурных свойств алгоритмов, например, таких как модульность, то их изучение так и не вышло из зачаточного состояния. Все это в конечном счете привело к тому, что к моменту широкого внедрения параллельных вычислительных систем в практику решения больших задач вычислительная математика оказалась без нужного багажа знаний, касающихся структуры алгоритмов. Без нужного багажа знаний оказались и смежные науки, в частности, связанные с разработкой алгоритмических языков, компиляторов и архитектуры вычислительных систем.

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

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

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

Общепризнанно приписывать координаты операциям через введение так называемого пространства итераций [1]. Общепризнанно также для установления зависимостей использовать понятие зависимых операций [1]. Напомним, что две операции называются зависимыми, если при их выполнении происходит обращение к одной и той же переменной. В зависимости от того, происходит при выполнении отдельной операции использование значения переменной или ее пересчет, различают четыре типа зависимостей. Традиционно используют графы зависимостей, в которых связаны дугой любые две зависимые операции. Традиционные графы зависимостей устроены очень сложно. В каждую вершину входит очень большое число дуг, зависящее, к тому же, от значений внешних переменных программы. Поэтому для таких графов трудно получить приемлемое аналитическое представление и, следовательно, с ними трудно решать сложные содержательные задачи. Несмотря на длительный период использования традиционных графов зависимостей, их применение не вышло, в основном, за рамки разработки различных достаточных критериев независимости операций. Достаточные критерии грубы и не дают возможность решать нужные задачи.

Более 10 лет назад мы ввели и до сих пор успешно используем для изучения структуры алгоритмов на уровне отдельных операций другие графы. Это так называемые минимальные графы зависимостей [1]. Они являются подграфами традиционных графов зависимостей, но отличаются от них принципиально. Именно, в каждую вершину любого из таких графов входит лишь конечное число дуг и это число не зависит от значений внешних переменных программы. Для минимальных графов зависимостей получено их представление в виде конечного набора простейших функций. В свою очередь, это представление позволило решить широкий спектр задач, связанный со знанием структуры алгоритмов.

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

  • определение параллельной структуры алгоритмов и программ на уровне отдельных операций;

  • расчленение алгоритмов на крупные, параллельно исполняемые фрагменты;

  • восстановление по программе исходных математических формул;

  • оптимизация использования внешней памяти;

  • оценивание параллельной сложности алгоритмов и программ;

  • быстрое вычисление градиента сложных функций;

  • исследование влияния ошибок округления;

  • построение математических моделей систолических массивов;

  • разработка портабельных библиотек программ;

  • и многое другое

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

Для широкого класса алгоритмов и программ получение описания структуры и ее использование можно автоматизировать. Успешный опыт в этом направлении демонстрирует использование V-Ray system, разработанной в Научно-исследовательском вычислительном центре МГУ (http://parallel.srcc.msu.su/v-ray/). Но данный опыт говорит и о том, что необходима жесткая дисциплина программирования. Альтернативы наведению порядка в написании программ нет.

1. В.В.Воеводин. Информационная структура алгоритмов. М., Изд-во МГУ, 1997 г.

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

Тип файла
Документ
Размер
37 Kb
Тип материала
Высшее учебное заведение

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.

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

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

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