Россия, Москва |
Введение
Предисловие
Развитие вычислительных технологий и средств сопровождалось пониманием того, что работы надо делить между многими исполнительными устройствами. Распараллеливание — естественный жизненный принцип, основанный на утверждении, что коллектив сильнее одиночки. Основной критерий эффективности распараллеливания заключается в минимизации времени выполнения работы. Однако действенен и другой критерий — выбор системы исполнителей, обладающей минимальной стоимостью и способной закончить работу не позже указанного срока.
Вычислительные системы с особой остротой на реальном техническом уровне вобрали в себя принцип распараллеливания, развив его в самом широком многообразии применения. Наступила пора разрушить монополию, систематизировать и обобщить методы и технологии распараллеливания, обеспечить их эффективное применение во всех областях хозяйственной деятельности человека.
Можно представить следующие направления развития параллельных технологий.
Параллельные структуры отображают организацию и взаимодействие исполнителей сложного комплекса взаимосвязанных работ. В вычислительной технике — это проблема параллельного выполнения отдельных программ и целых программных комплексов, отображенная выбором архитектуры процессоров и многопроцессорных вычислительных систем. Взаимодействие исполнительных устройств должно минимизировать "накладные расходы" на организацию их взаимодействия.
Параллельное программирование объединяет проблемы оптимального статического и динамического планирования выполнения комплексов взаимосвязанных работ при заданном составе и структуре взаимодействия исполнителей. В абстрактной постановке, где достаточно слова "вычислительная система" заменить словами "комплекс исполнителей", проблема статического планирования также изложена. Динамическое планирование параллельного процесса представлено схемами таких процессов и диспетчерами распараллеливания.
Параллельные алгоритмы являются естественным результатом оптимального решения задач распараллеливания. Применение многопроцессорных вычислительных систем, а, в особенности, бурно развивающиеся сетевые технологии для решения задач высокой сложности - оптимизационных, моделирования — стимулировали критический подход к тем методам вычислений, которые были разработаны для математика-вычислителя, крутящего ручку арифмометра. Изменился критерий оптимизации вычислительного процесса: не количество выполняемых операций стало определяющим, а "длина критического пути". Указанное направление также рассматривается в книге.
Книга рассчитана на студентов старших курсов технических и экономических вузов, аспирантов, инженеров-исследователей в области современных информационных технологий решения задач планирования и управления.
Необходимый объем предварительных знаний базируется на стандартах курсов по информатике и основам ЭВМ.
Введение
В соответствии с названием книги мы будем говорить как о принципах работы параллельного компьютера, так и о методах организации и управления параллельным вычислительным процессом, а также о параллельных вычислительных методах решения задач. Но в более значительной степени нас будут интересовать обобщения и расширение использования методов параллельного планирования за границы узкого применения в области вычислительных средств.
Теперь не секрет, что "холодная война" стимулировала развитие вычислительных средств сверхвысокой (по тому времени) производительности, призванных удовлетворить требования управления сложными объектами и системами в реальном масштабе времени. Отсутствие какой-либо внешней помощи вынуждало мобилизовать все внутренние научные и производственные ресурсы, производя работы в режиме экономии средств и времени.
Развитие элементно-конструкторской базы, основанное на физических принципах электроники, всегда (и это диалектически правильно) отстает от требований конкретно решаемых задач. Быстродействия одного компьютера недостаточно для, например, массового обслуживания группы перехватчиков, стартующих против налета баллистических целей. Своевременно пришло понимание того, что только структурными методами можно добиться необходимой производительности вычислительных средств. Таким основным структурным методом является распараллеливание вычислений.
Сначала стало ясно, что вместо одной ЭВМ в систему управления необходимо встраивать несколько, решающих единый набор функционально связанных задач. Такой коллектив ЭВМ получил название вычислительного комплекса (ВК). Информационная взаимосвязанность задач потребовала применения средств оперативного обмена данными внутри ВК и средств синхронизации. Однако временные затраты на организацию взаимодействия ЭВМ в ВК (накладные расходы) оказались весьма высоки. Возникла идея использования взамен разделенной оперативной памяти (ОП), реализованной в ВК, общей (разделяемой) ОП, которая связывает несколько центральных процессоров. Проблема затрат времени на обмен оказалась решенной. Так зародилось понятие параллельной вычислительной системы (ВС).
Впоследствии принципы распараллеливания стали применяться на всех уровнях разработки ВС: и отдельных устройств, и процессоров. Отметим, что такой способ распараллеливания, как конвейерный, использовался на раннем этапе создания ЭВМ и используется сейчас.
Приоритет в создании ВС на общей памяти принадлежит С. Крею, признанному "отцу супер-ЭВМ", главному конструктору системы CDC 6600, разработанной в 1963 году. Однако условия соперничества и сокрытия информации определили независимость отечественных разработок.
В нашей стране, в режиме строгой экономии средств, экспериментальная разработка альтернативных проектов была затруднительной. Крупные проекты осуществлялись для непосредственного внедрения. В этих условиях оказалось, что на малое число ученых-разработчиков приходилась армия ученых-исследователей, на теоретическом уровне обосновывающих как принимаемые решения, так и оптимальную эксплуатацию, а также пути дальнейшего развития.
Здесь-то и появились результаты глубоких исследований, применение которых, первоначально обращенное на ВС, имеет более широкую применимость во всех сферах управления, экономики и хозяйства.
Необходимо отметить тех выдающихся ученых, чьими усилиями осуществлялась не только разработка, но и обоснование эффективности и целесообразности пути создания многопроцессорных ВС, ибо своевременно принятая техническая политика определяет эффективное развитие государства. (К сожалению, известна и негативная политика в области вычислительной техники, отвлекшая значительные технологические ресурсы.) Такими учеными являются: В.М.Бахарев, настойчиво пропагандировавший, продвигавший и руководивший исследованиями в области ВС на общей памяти; В.С.Бурцев и Б.А.Бабаян — конструкторы и ведущие разработчики семейства "Эльбрус", продолжающие борьбу за честь Отечества и поныне; М.А.Карцев — теоретик ВС и разработчик семейства, по его словам, "универсальных спецпроцессоров", объединивших в одном вычислительном устройстве скалярные и векторные операции; Б.А.Головкин, исследовавший эффективность внедрения ВС в сложные управляющие системы.
Какова же цель распараллеливания?
Универсальным критерием, используемым при решении задач распараллеливания, является минимум времени выполнения совокупности работ, распределяемых между процессорами.
Если несколько процессоров составляют ВС, то важной характеристикой ее эффективности (основные составляющие эффективности — производительность, надежность, стоимость) при специализированном использовании (например, в составе автоматизированной системы управления, АСУ) является коэффициент полезной загрузки k3. Для его определения находят коэффициенты загрузки процессоров:
где Ti, i = 1, ..., n, — суммарное время занятости каждого процессора решением задачи на всем отрезке полного решения задачи, длиной Tреш (рис.В.1). Тогда Если P0 — производительность одного процессора, то реальная производительность PBC ВС, состоящей из n процессоров, при решении данной задачи (!) находится: где P0 определяется классом решаемых задач.