Введение
С момента появления первыхкомпьютеров одной из основных проблем, стоящих перед разработчиками, былапроизводительность вычислительной системы. За время развития компьютернойиндустрии производительность процессора стремительно возрастала, однако появлениевсе более изощренного программного обеспечения, рост числа пользователей ирасширение сферы приложения вычислительных систем предъявляют новые требованияк мощности используемой техники, что и привело к появлению суперкомпьютеров.Что же такое суперкомпьютеры, и зачем они нужны?
В принципе, суперкомпьютер этообычная вычислительная система, позволяющая производить сложные расчеты заболее короткие промежутки времени. О чем собственно и говорит приставка «Супер»(Super в переводе с английского означает: сверх, над). Любая компьютернаясистема состоит из трех основных компонентов — центрального процессора, то естьсчетного устройства, блока памяти и вторичной системы хранения информации (кпримеру, в виде дисков или лент). Ключевое значение имеют не только техническиепараметры каждого из этих элементов, но и пропускная способность каналов,связывающих их друг с другом и с терминалами потребителей. Одна из заповедей«Крей рисерч» гласит: «Быстродействие всей системы не превышает скорости самоймедленнодействующей ее части». Важным показателем производительности компьютераявляется степень его быстродействия. Она измеряется так называемыми флопсами — от английского сокращения, обозначающего количество операций с числами,представленными в форме с плавающей запятой, в секунду. То есть за основуберется подсчет — сколько наиболее сложных расчетов машина может выполнить заодин миг.
А зачем вообще нужнысуперкомпьютеры? Раздвижение границ человеческого знания всегда опиралось надва краеугольных камня, которые не могут, существовать друг без друга, — теориюи опыт. Однако теперь ученые сталкиваются с тем, что многие испытания сталипрактически невозможными — в некоторых случаях из-за своих масштабов, в других- дороговизны или опасности для здоровья и жизни людей. Тут-то и приходят напомощь мощные компьютеры. Позволяя экспериментировать с электронными моделямиреальной действительности, они становятся «третьей опорой» современной науки ипроизводства.
Прошло время, когда создателисуперкомпьютеров стремились обеспечить максимальную производительность любойценой. Специальные процессоры, дорогостоящая сверхбыстрая память, нестандартноепериферийное оборудование — все это обходилось заказчикам в круглую сумму.Приобретали суперкомпьютеры либо предприятия ВПК, либо крупные университеты. Ите, и другие делали это, как правило, за государственный счет. Окончание«холодной войны» и последовавшее за ним сокращение ассигнований навоенные и околовоенные нужды нанесли серьезный удар по производителям суперкомпьютеров.Большинство из них были поглощены изготовителями менее производительной, ноболее доступной и ходовой вычислительной техники. Впрочем, у этих слияний былии технологические предпосылки — быстродействие серийно выпускаемыхмикропроцессоров постоянно росло, и производители суперкомпьютеров быстропереориентировались на них, что позволило существенно сократить общую стоимостьразработки. Основной упор стал делаться на увеличение числа процессоров иповышение степени параллелизма программ.
Первые суперкомпьютеры
Началом эры суперкомпьютеровможно, пожалуй, назвать 1976 год, когда появилась первая векторная система Cray1. Работая с ограниченным в то время набором приложений, Cray 1 показаланастолько впечатляющие по сравнению с обычными системами результаты, чтозаслуженно получила название “суперкомпьютер” и определяла развитие всейиндустрии высокопроизводительных вычислений еще долгие годы. Но более чем задва десятилетия совместной эволюции архитектур и программного обеспечения нарынке появлялись системы с кардинально различающимися характеристиками, поэтомусамо понятие “суперкомпьютер” стало многозначным и пересматривать его пришлосьнеоднократно.
Попытки дать определениесуперкомпьютеру опираясь только на производительность привели к необходимостипостоянно поднимать планку, отделяющую его от рабочей станции или даже обычногонастольного компьютера. Только за последние 15 лет нормы менялись несколькораз. По определению Оксфордского словаря вычислительной техники 1986 года, длятого, чтобы получить это гордое название, нужно было иметь производительность в10 мегафлоп (миллионов операций с плавающей запятой в секунду). В начале 90-хбыла преодолена отметка 200 мегафлоп, затем 1 гигафлоп.
Применение суперкомпьютеров
Для каких применений нужнастоль дорогостоящая техника? Может показаться, что с ростом производительностинастольных ПК и рабочих станций, а также серверов, сама потребность в суперЭВМбудет снижаться. Это не так. С одной стороны, целый ряд приложений может теперьуспешно выполняться на рабочих станциях, но с другой стороны, время показало,что устойчивой тенденцией является появление все новых приложений, для которыхнеобходимо использовать суперЭВМ.
Традиционной сферой применениясуперкомпьютеров всегда были научные исследования: физика плазмы истатистическая механика, физика конденсированных сред, молекулярная и атомнаяфизика, теория элементарных частиц, газовая динамика и теория турбулентности,астрофизика. В химии — различные области вычислительной химии: квантовая химия(включая расчеты электронной структуры для целей конструирования новыхматериалов, например, катализаторов и сверхпроводников), молекулярная динамика,химическая кинетика, теория поверхностных явлений и химия твердоготела, конструирование лекарств. Естественно, что ряд областей применениянаходится на стыках соответствующих наук, например, химии и биологии, иперекрывается с техническими приложениями. Так, задачи метеорологии, изучениеатмосферных явлений и, в первую очередь, задача долгосрочного прогноза погоды,для решения которой постоянно не хватает мощностей современных суперЭВМ, тесносвязаны с решением ряда перечисленных выше проблем физики. Среди техническихпроблем, для решения которых используются суперкомпьютеры, укажем на задачиаэрокосмической и автомобильной промышленности, ядерной энергетики,предсказания и разработки месторождений полезных ископаемых, нефтедобывающей игазовой промышленности (в том числе проблемы эффективной эксплуатацииместорождений, особенно трехмерные задачи их исследования), и, наконец, конструированиеновых микропроцессоров и компьютеров, в первую очередь самих суперЭВМ.
Суперкомпьютеры традиционноприменяются для военных целей. Кроме очевидных задач разработки оружиямассового уничтожения и конструирования самолетов и ракет, можно упомянуть,например, конструирование бесшумных подводных лодок и др. Самый знаменитыйпример — это американская программа СОИ. Уже упоминавшийся MPP-компьютерМинистерства энергетики США будет применяться для моделирования ядерногооружия, что позволит вообще отменить ядерные испытания в этой стране.
Суперкомпьютеры в России
Во всемирный процессактивизации рынка высокопроизводительных вычислений (HPC) все активнеевключается и Россия. В 2003 году компании Arbyte и Kraftway при поддержкекорпорации Intel объявили о создании своих Центров компетенции на базеплатформы Intel, деятельность которых, в том числе, будет направлена и напостроение НРС-систем. Кроме того, компании Intel и IBM сообщили о том, чтокомпания Paradigm, ведущий поставщик технологий для обработкигеолого-геофизических данных и проектирования бурения для нефтегазовой отрасли,модернизировала свой расположенный в Москве центр обработки сейсмическихданных, установив серверный кластер IBM из 34 двухпроцессорных серверов на базепроцессоров Intel Xeon. Новая система ускорила работу ресурсоемкихвычислительных приложений Paradigm за счет применения кластерных технологий набазе ОС Linux. Новые возможности проведения более точных расчетов, несомненно,увеличат конкурентоспособность российских нефтяных компаний на мировом рынке.
В июне 2004 г. представителикомпании «Т-Платформы», Института программных систем (ИПС) РАН и корпорацииIntel объявили о создании четырехузлового кластера T-Bridge8i на базепроцессоров Intel Itanium 2 и технологии InfiniBand, а также рассказали оперспективах использования данного решения в рамках программы «СКИФ». КластерT-Bridge8i стал первой в России системой на основе процессоров Intel Itanium 2,двухпроцессорные узлы которой выполнены в конструктиве высотой 1U. Объединив вT-Bridge8i передовые достижения в области 64-разрядной процессорной архитектурыи кластерных коммуникаций, инженеры «Т-Платформы» построили уникальное поконцентрации вычислительной мощности решение, обладающее широкими возможностямидля масштабирования. Этот кластер предназначен для решения задач, требующихмаксимальной производительности вычислений с плавающей точкой, и можетэффективно использоваться в различных отраслях промышленности и для научныхрасчетов. В рамках программы «СКИФ» T-Bridge8i будет применяться с цельюадаптации для архитектуры Intel Itanium программного обеспечения,разработанного в рамках программы, а также для исследований в областиGRID-технологий.
2005 год оказался довольнобогатым на события в области суперкомпьютерных технологий. В России былизавершены два крупных проекта, на очереди — еще один.
Двумя важнейшими из них сталаустановка суперкомпьютера МВС-15000BM отечественной разработки вМежведомственном Суперкомпьютерном Центре РАН (МСЦ) и установка на НПО<Сатурн> кластера IBM eServer Cluster 1350, включающего 64двухпроцессорных сервера IBM eServer xSeries 336. Последний является крупнейшейв России супер-ЭВМ используемой в промышленности и четвертым в совокупномрейтинге суперкомпьютеров на территории СНГ. НПО <Сатурн> собираетсяиспользовать его в проектировании авиационных газотурбинных двигателей длясамолетов гражданской авиации. На очереди — еще один крупный проектсуперкомпьютера для Росгидромета, тендер на строительство которого выигралсистемный интегратор i-Teco.
В частном секторесуперкомпьютеры используются для моделирования нефтяных скважин, краш-тестов,сложных аэродинамических и гидродинамических расчетов. Основными заказчикамивыступают автомобильная, судостроительная, авиационная и нефтегазоваяпромышленность. По мнению экспертов, совокупный объем рынка большихвычислительных систем в России составляет $100-150 млн., причем видное местопринадлежит отечественным разработчикам. В год устанавливается 3-4суперкомпьютера с производительностью, близкой к 1 Терафлоп.
На сегодняшний денькрупнейшими отечественными проектами в области суперкомпьютеров являютсяроссийский проект МВС и российско-белорусский СКИФ. Разработка СуперЭВМ проектаМВС финансировалась за счет средств Минпромнауки России, РАН, Минобразования России,РФФИ, Российского фонда технологического развития. В настоящее время машиныэтой серии установлены в МСЦ РАН и ряде региональных научных центров РАН(Казань, Екатеринбург, Новосибирск) и используются преимущественно для научныхрасчетов.
В настоящее время одним изразработчиков ПО для МВС является фирма InterProgma, работающая в Черноголовкев рамках уже существующего ИТ-парка. Компания в тесном сотрудничестве с ИПХФРАН ведет разработку как базового программного обеспечения длякрупномасштабного моделирования на суперкомпьютерных системах, т.е.программного обеспечения, позволяющего упростить и автоматизировать процессраспараллеливания, так и специального инженерного программного обеспечения длямоделирования различных высокоэнергетических процессов в химической, атомной иаэрокосмической промышленности. Так, пакет IP-3D предназначен для численногомоделирования газодинамических процессов в условиях экстремально высокихтемператур и давлений, невоспроизводимых в лабораторных условиях. Опыт работы наMBC1000M показали очень хорошую масштабируемость и высокую скорость вычисленияданного пакета
Проект СКИФ финансировался засчет бюджетов России и Белоруссии в рамках союзной программы на паритетныхначалах. В настоящее время российско-белорусская программа СКИФ, объемом $10млн., уже завершена, и в ходе ее реализации были созданы суперкомпьютеры СКИФК-500 и СКИФ К-1000. Cтоимость СКИФ К-1000 составила $1,7 млн., что на порядокниже стоимости иностранного аналога ($4 млн.). На сегодняшний день, основным пользователемданной разработки является белорусская сторона. СКИФ К-1000, установлен вОбъединенном институте проблем информатики НАН Белоруссии, и уже сейчасиспользуется не только учеными, но и крупнейшими предприятиями-экспортерами:МАЗом, БелАЗом, Белорусским тракторным заводом, Заводом карданных валов. Стольуспешное внедрение суперкомпьютерных технологий в реальный сектор во многомобъясняется тем, что доступ белорусских предприятий к СКИФу координируетсягосударством и оплачивается из бюджета, поскольку сами предприятия находятся вгосударсвенной собственности.
В России же СКИФ и МВС покавоспринимаются лишь как академические проекты. Причина этого в том, что крупныероссийские машиностроительные корпорации, такие как НПО <Сатурн>,предпочитают зарубежные суперЭВМ, поскольку отработанные прикладные решения отмировых лидеров, таких как IBM и HP уже снабжены готовым целевым ПО исредствами разработки, имеют лучший сервис. Сделать МВС и СКИФ востребованнымидля российской промышленности поможет создание общего вычислительного центраориентированного на промышленный сектор, с распределенным доступом к машинномувремени. Создание Центра резко удешевит затраты на обслуживаниесуперкомпьютера, а также ускорит процесс создания и систематизации ПО(написание драйверов, библиотек, стандартных приложений).
Продвижению отечественныхсуперкомпьютерных технологий в промышленной сектор России и за ее пределы будетспособствовать рост отечественных компаний, способных конкурировать в даннойсфере с транснациональными корпорациями. Такой компанией уже является<Т-Платформы>, которая выступала в роли главного исполнителя СКИФ. Нарядус государственными и академическими структурами, клиентами компании являются<Комстар Объединенные Телесистемы>, Rambler, рекрутинговая компанияHeadHunter.ru, <Саровские Лаборатории>. <Т-Платформы> были призанылучшей компанией VI Венчурной Ярмарки в октябре 2005 года в Санкт-Петербурге.
Заключение
Еще 10–15 лет назадсуперкомпьютеры были чем-то вроде элитарного штучного инструмента, доступного восновном ученым из засекреченных ядерных центров и криптоаналитикам спецслужб.Однако развитие аппаратных и программных средств сверхвысокойпроизводительности позволило освоить промышленный выпуск этих машин, а число ихпользователей в настоящее время достигает десятков тысяч. Фактически, в наши дни весь мир переживает подлинныйбум суперкомпьютерных проектов, результатами которых активно пользуются нетолько такие традиционные потребители высоких технологий, как аэрокосмическая,автомобильная, судостроительная и радиоэлектронная отрасли промышленности, но иважнейшие области современных научных знаний.
www.ronl.ru
Введение
С момента появления первых компьютеров одной из основных проблем, стоящих перед разработчиками, была производительность вычислительной системы. За время развития компьютерной индустрии производительность процессора стремительно возрастала, однако появление все более изощренного программного обеспечения, рост числа пользователей и расширение сферы приложения вычислительных систем предъявляют новые требования к мощности используемой техники, что и привело к появлению суперкомпьютеров. Что же такое суперкомпьютеры, и зачем они нужны?
В принципе, суперкомпьютер это обычная вычислительная система, позволяющая производить сложные расчеты за более короткие промежутки времени. О чем собственно и говорит приставка Супер (Super в переводе с английского означает: сверх, над). Любая компьютерная система состоит из трех основных компонентов - центрального процессора, то есть счетного устройства, блока памяти и вторичной системы хранения информации (к примеру, в виде дисков или лент). Ключевое значение имеют не только технические параметры каждого из этих элементов, но и пропускная способность каналов, связывающих их друг с другом и с терминалами потребителей. Одна из заповедей Крей рисерч гласит: Быстродействие всей системы не превышает скорости самой медленнодействующей ее части. Важным показателем производительности компьютера является степень его быстродействия. Она измеряется так называемыми флопсами - от английского сокращения, обозначающего количество операций с числами, представленными в форме с плавающей запятой, в секунду. То есть за основу берется подсчет - сколько наиболее сложных расчетов машина может выполнить за один миг.
А зачем вообще нужны суперкомпьютеры? Раздвижение границ человеческого знания всегда опиралось на два краеугольных камня, которые не могут, существовать друг без друга, - теорию и опыт. Однако теперь ученые сталкиваются с тем, что многие испытания стали практически невозможными - в некоторых случаях из-за своих масштабов, в других - дороговизны или опасности для здоровья и жизни людей. Тут-то и приходят на помощь мощные компьютеры. Позволяя экспериментировать с электронными моделями реальной действительности, они становятся третьей опорой современной науки и производства.
Прошло время, когда создатели суперкомпьютеров стремились обеспечить максимальную производительность любой ценой. Специальные процессоры, дорогостоящая сверхбыстрая память, нестандартное периферийное оборудование - все это обходилось заказчикам в круглую сумму. Приобретали суперкомпьютеры либо предприятия ВПК, либо крупные университеты. И те, и другие делали это, как правило, за государственный счет. Окончание "холодной войны" и последовавшее за ним сокращение ассигнований на военные и околовоенные нужды нанесли серьезный удар по производителям суперкомпьютеров. Большинство из них были поглощены изготовителями менее производительной, но более доступной и ходовой вычислительной техники. Впрочем, у этих слияний были и технологические предпосылки - быстродействие серийно выпускаемых микропроцессоров постоянно росло, и производители суперкомпьютеров быстро переориентировались на них, что позволило существенно сократить общую стоимость разработки. Основной упор стал делаться на увеличение числа процессоров и повышение степени параллелизма программ.
Первые суперкомпьютеры
Началом эры суперкомпьютеров можно, пожалуй, назвать 1976 год, когда появилась первая векторная система Cray 1. Работая с ограниченным в то время набором приложений, Cray 1 показала настолько впечатляющие по сравнению с обычными системами результаты, что заслуженно получила название “суперкомпьютер” и определяла развитие всей индустрии высокопроизводительных вычислений еще долгие годы. Но более чем за два десятилетия совместной эволюции архитектур и программного обеспечения на рынке появлялись системы с кардинально различающимися характеристиками, поэтому само понятие “суперкомпьютер” стало многозначным и пересматривать его пришлось неоднократно.
Попытки дать определение суперкомпьютеру опираясь только на производительность привели к необходимости постоянно поднимать планку, отделяющую его от рабочей станции или даже обычного настольного компьютера. Только за последние 15 лет нормы менялись несколько раз. По определению Оксфордского словаря вычислительной техники 1986 года, для того, чтобы получить это гордое название, нужно было иметь производительность в 10 мегафлоп (миллионов операций с плавающей запятой в секунду). В начале 90-х была преодолена отметка 200 мегафлоп, затем 1 гигафлоп.
Применение суперкомпьютеров
Для каких применений нужна столь дорогостоящая техника? Может показаться, что с ростом производительности настольных ПК и рабочих станций, а также серверов, сама потребность в суперЭВМ будет снижаться. Это не так. С одной стороны, целый ряд приложений может теперь успешно выполняться на рабочих станциях, но с другой стороны, время показало, что устойчивой тенденцией является появление все новых приложений, для которых необходимо использовать суперЭВМ.
Традиционной сферой применения суперкомпьютеров всегда были научные исследования: физика плазмы и статистическая механика, физика конденсированных сред, молекулярная и атомная физика, теория элементарных частиц, газовая динамика и теория турбулентности, астрофи
www.studsell.com
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РФ
ЮЖНО-РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
(Новочеркасский политехнический институт)
Факультет: Информационных Технологий и Управления
Кафедра: Автоматики и Телемеханики
Специальность: Управление и информатика в технических системах
РЕФЕРАТ
по информатике
На тему: Суперкомпьютеры
Выполнил студент I - 1а Каширин В. В.
Ф.И.О.
Руководитель ассистент Малашенко Л.И.
Должность, звание Ф.И.О.
Консультант ассистент Малашенко Л.И.
Должность, звание Ф.И.О.
К защите Защита принята с оценкой
«______» ______________2000г. ____________________________
___________________________ «_____»________________2000г.
Подпись ____________________________
Подпись
Новочеркасск 2000
СОДЕРЖАНИЕ
ВВЕДЕНИЕ 3
1 ОСНОВНЫЕ ВИДЫ АРХИТЕКТУРЫ 4
1.1 Архитектура SMP 4
1.2 Архитектура MPP 4
2 СУПЕРКОМПЬЮТЕРЫ КОМПАНИИ nCube 4
2.1 Основные принципы архитектуры 5
a) Распределенная память 5
б) Межпроцессорная сеть 5
в) Высокий уровень интеграции 6
2.2 Суперкомпьютер nCube 2 7
2.3 Архитектура процессора nCube 8
а) Система ввода/вывода nCube 2 9
2.4 Программное обеспечение 10
2.5 Надежность системы nCube 2 10
3 СЕТЬ КАК СУПЕРКОМПЬЮТЕР 11
3.1 Параллельные программы - главный тормоз 11
3.2 MPI 11
3.3 Реализации MPI 12
3.4 Средства программирования высокого уровня 13
3.5 Попытка прогноза 14
4 ПИМЕРЫ ИСПОЛЬЗОВАНИЯ СУПЕРКОМПЬЮЮТЕРОВ 14
4.1 Моделирование построение белка 14
4.2 Виртуальная башня 14
ИСПОЛЬЗУЕМАЯ ЛИТЕРАТУРА 16
ВВЕДЕНИЕ
С момента появления первых компьютеров одной из основных проблем, стоящих перед разработчиками, была производительность вычислительной системы. За время развития компьютерной индустрии производительность процессора стремительно возрастала, однако появление все более изощренного программного обеспечения, рост числа пользователей и расширение сферы приложения вычислительных систем предъявляют новые требования к мощности используемой техники, что и привело к появлению суперкомпьютеров. Что же такое суперкомпьютеры, и зачем они нужны?
В принципе, суперкомпьютер это обычная вычислительная система, позволяющая производить сложные расчеты за более короткие промежутки времени. О чем собственно и говорит приставка «Супер» (Super в переводе с английского означает: сверх, над). Любая компьютерная система состоит из трех основных компонентов - центрального процессора, то есть счетного устройства, блока памяти и вторичной системы хранения информации (к примеру, в виде дисков или лент). Ключевое значение имеют не только технические параметры каждого из этих элементов, но и пропускная способность каналов, связывающих их друг с другом и с терминалами потребителей. Одна из заповедей «Крей рисерч» гласит: «Быстродействие всей системы не превышает скорости самой медленнодействующей ее части». Важным показателем производительности компьютера является степень его быстродействия. Она измеряется так называемыми флопсами - от английского сокращения, обозначающего количество операций с числами, представленными в форме с плавающей запятой, в секунду. То есть за основу берется подсчет - сколько наиболее сложных расчетов машина может выполнить за один миг.
А зачем вообще нужны суперкомпьютеры? На этот вопрос дает ответ представитель компании «Крей рисерч» Вито Бонджорно: Раздвижение границ человеческого знания всегда опиралось на два краеугольных камня, которые не могут, существовать друг без друга, - теорию и опыт. Однако теперь ученые сталкиваются с тем, что многие испытания стали практически невозможными - в некоторых случаях из-за своих масштабов, в других - дороговизны или опасности для здоровья и жизни людей. Тут-то и приходят на помощь мощные компьютеры. Позволяя экспериментировать с электронными моделями реальной действительности, они становятся «третьей опорой» современной науки и производства.
Прошло время, когда создатели суперкомпьютеров стремились обеспечить максимальную производительность любой ценой. Специальные процессоры, дорогостоящая сверхбыстрая память, нестандартное периферийное оборудование - все это обходилось заказчикам в круглую сумму. Приобретали суперкомпьютеры либо предприятия ВПК, либо крупные университеты. И те, и другие делали это, как правило, за государственный счет. Окончание "холодной войны" и последовавшее за ним сокращение ассигнований на военные и околовоенные нужды нанесли серьезный удар по производителям суперкомпьютеров. Большинство из них были поглощены изготовителями менее производительной, но более доступной и ходовой вычислительной техники. Впрочем, у этих слияний были и технологические предпосылки - быстродействие серийно выпускаемых микропроцессоров постоянно росло, и производители суперкомпьютеров быстро переориентировались на них, что позволило существенно сократить общую стоимость разработки. Основной упор стал делаться на увеличение числа процессоров и повышение степени параллелизма программ.
1 ОСНОВНЫЕ ВИДЫ АРХИТЕКТУРЫ
Известно, что сегодня существуют две основные архитектуры параллельных компьютеров: симметричные мультипроцессорные системы с общей памятью (SMP) и мультипроцессорные системы с распределенной памятью (MPP).
1.1 Архитектура SMP
Основное преимущество SMP - относительная простота программирования. В ситуации, когда все процессоры имеют одинаково быстрый доступ к общей памяти, вопрос о том, какой из процессоров какие вычисления будет выполнять, не столь принципиален, и значительная часть вычислительных алгоритмов, разработанных для последовательных компьютеров, может быть ускорена с помощью распараллеливающих и векторизирующих трансляторов. SMP-компьютеры - это наиболее распространенные сейчас параллельные вычислители, а 2-, 4-х процессорные ПК на основе Pentium и Pentium Pro стали уже массовым товаром. Однако общее число процессоров в SMP-системах, как правило, не превышает 16, а их дальнейшее увеличение не дает выигрыша из-за конфликтов при обращении к памяти. Применение технологий типа UPA, основанной на коммутации пакетов вместо общей шины и локальной кэш-памяти большого объема, способно частично решить проблему, подняв число процессоров до 32.
1.2 Архитектура MPP
Альтернатива SMP - архитектура MPP. Каждый процессор имеет доступ лишь к своей локальной памяти, а если программе нужно узнать значение переменной, расположенной в памяти другого процессора, то задействуется механизм передачи сообщений. Процессор, в памяти которого находятся нужные данные, посылает сообщение тому процессору, которому они требуются, а последний принимает его. Этот подход позволяет создавать компьютеры, включающие в себя тысячи процессоров. На нем основаны все машины, имеющие производительность в сотни миллиардов операций в секунду.
Познакомимся поближе с этой архитектурой и одним из представителей этой архитектуры, суперкомпьютером nCube.
2 СУПЕРКОМПЬЮТЕРЫ КОМПАНИИ nCube
Одним из пионеров в создании MPP-систем стала основанная в 1983 году компания nCube. В 1985 году появился первый ее MPP-компьютер, nCube 1. Система nCube 1, в основе которой, как и в основе всех последующих поколений компьютеров nCube, лежит гиперкубическая топология межпроцессорных соединений и высокий уровень интеграции на базе технологии VLSI, показала рекордные результаты по абсолютной производительности и в соотношении цена/производительность для научных вычислений.
В 1989 году компания nCube выпустила семейство суперкомпьютеров nCube 2. Большие вычислительные возможности, гибкая архитектура и мощное специализированное программное обеспечение позволяют применять системы nCube 2 в широком диапазоне областей - от сложнейших научных задач до управления информацией в бизнесе.
Семейство nCube 2 представляет собой масштабируемую серию систем, производительность которых может достигать 34 GigaFlops. Каждый суперкомпьютер этой серии содержит набор процессоров nCube, соединенных в гиперкубическую сеть. Наибольшую систему составляют 8192 процессора, и ее мощность более чем в 1000 раз превышает мощность наименьшей - с 8 процессорами. Возможности памяти и системы ввода/вывода возрастают вместе с ростом процессорной мощности.
Следующая цель компании nCube - разработка нового семейства Mpp-систем, суперкомпьютеров nCube 3. Новое поколение суперкомпьютеров nCube, следуя принципам высокой интегрируемости и масштабируемости, станет первой промышленно реализованной платформой с производительностью до нескольких TFlops, стопроцентно совместимой с предыдущими поколениями систем nCube.
2.1 Основные принципы архитектуры
a) Распределенная память
В суперкомпьютерах nCube используется архитектура распределенной памяти, позволяющая оптимизировать доступ к оперативной памяти, вероятно, наиболее критичному ресурсу вычислительной системы.
Традиционные архитектуры с разделенной памятью удобны для систем с небольшим числом процессоров, однако, они плохо масштабируются по мере добавления процессоров и памяти. Когда в системе с разделением памяти увеличивается число процессоров, возрастает конкуренция в использовании ограниченной пропускной способности системной шины, что снижает производительность соединения процессор-память. Кроме того, добавление процессоров в такую систему требует увеличения количества логики для управления памятью, снижая тем самым производительность системы и увеличивая ее цену.
Эти недостатки отсутствуют в системах с распределенной памятью. В такой системе каждый процессор имеет свою собственную локальную память. Потенциальные узкие места, связанные с шиной процессор-память и необходимостью разрабатывать системы управления кэшем, полностью исключаются. С добавлением процессоров добавляется память, пропускная способность соединения процессор-память масштабируется вместе с вычислительной мощностью.
б) Межпроцессорная сеть
Топология межпроцессорных соединений, обеспечивающая масштабирование до большого числа процессоров без снижения производительности коммуникаций или увеличения времени ожидания, является обязательной для MPP-систем. Суперкомпьютеры nCube используют сетевую топологию гиперкуба, которая отвечает этим требованиям. Соединения между процессорами nCube-системы образуют многомерный куб, называемый гиперкубом. По мере добавления процессоров увеличивается размерность гиперкуба. Соединение двух гиперкубов одинаковой размерности образует гиперкуб следующей размерности. N-мерный гиперкуб содержит 2€n процессоров. Двухмерный гиперкуб - это квадрат. Трехмерный гиперкуб образует обычный куб, а четырехмерный гиперкуб представляет собой куб в кубе. Для семейства суперкомпьютеров nCube 2 гиперкуб максимальной размерности 13 содержит 8192 процессора. В системе nCube 3 число процессоров может достигать 65536 (16-мерный гиперкуб).
Эффективность сетевой топологии измеряется, в частности, числом шагов для передачи данных между наиболее удаленными процессорами в системе. Для гиперкуба максимальное расстояние (число шагов) между процессорами совпадает с размерностью куба. Например, в наибольшем 13-мерном семейства nCube 2 сообщения между процессорами никогда не проходят более 13 шагов. Для сравнения, в 2-мерной конфигурации "mesh" (петля) с числом процессоров, вдвое меньшим числа процессоров в максимальной системе nCube 2, наибольшее расстояние между процессорами составляет 64 шага. Задержки коммуникаций в такой системе значительно увеличиваются. Таким образом, никакая другая топология соединения процессоров не может сравниться с гиперкубом по эффективности. Пользователь может удвоить число процессоров в системе, при этом увеличивая длину пути связи между наиболее удаленными процессорами только на один шаг.
Большое число соединений в гиперкубе создает высочайшую пропускную способность межпроцессорных соединений по сравнению с любой другой сетевой схемой. Большое количество путей передачи данных и компактный дизайн гиперкуба позволяют передавать данные с очень высокой скоростью. Кроме того, гиперкубическая схема характеризуется большой гибкостью, так как она позволяет эмулировать другие популярные топологии, включая деревья, кольца. Таким образом, пользователям nCube-систем гарантируется корректное выполнение приложений, зависящих от других топологий.
в) Высокий уровень интеграции
Многие преимущества nCube-систем, и, прежде всего высочайшие показатели - надежности и производительности, являются результатом использования технологии VLSI (Very Large Scale Integration - сверхвысокая степень интеграции). В большей степени, чем какие-либо другие факторы, на надежность компьютера влияет число используемых компонентов. Большее число компонентов неминуемо увеличивает вероятность сбоя системы. По этой причине nCube интегрирует все функции процессорного узла на одно VLSI-устройство. VLSI-интеграция также сокращает требуемое число соединений, которые могут оказывать решающее влияние на целостность всей системы.
Высокий уровень интеграции сокращает пути передачи данных, повышая тем самым производительность системы. Интеграция процессорного узла на один чип оставляет свободными для контроля только простые соединения с памятью и сетевые интерфейсы вместо сложных сигналов синхронизации, арбитража и управления. Эти простые соединения тестируются и корректируются с помощью методов контроля четности и ЕСС (Error Correction Code - код коррекции ошибок), упрощая процесс определения и изоляции ошибок.
2.2 Суперкомпьютер nCube 2
Суперкомпьютер nCube 2 масштабируется от 8-процессорных моделей до моделей с 8192 процессорами. Архитектура nCube 2 уравновешивает процессорную мощность, пропускную способность памяти и пропускную способность системы ввода/вывода. Добавление процессоров в систему не влечет за собой появление узких мест в пропускной способности памяти или системы ввода/вывода.
Семейство nCube 2 включает в себя две серии суперкомпьютеров:
— Серия nCube 2S базируется на процессоре nCube 2S с тактовой частотой 25 MHz; предельная производительность 33 MFLOPS - 34 GFLOPS; размер оперативной памяти 32 Мб - 32 Гб;
— Серия nCube 2 базируется на процессоре nCube 2 с тактовой частотой 20 MHz; предельная производительность 26 MFLOPS - 27 GFLOPS; размер оперативной памяти 32 Мб - 32 Гб.
Архитектура суперкомпьютера семейства nCube 2 базируется на гиперкубической сети VLSI - чипов, спаренных с независимыми друг от друга устройствами памяти. Чип, или процессор nCube 2, включает в себя:
- 64-разрядный центральный процессор;
- 64-разрядный модуль вычислений с плавающей точкой;
- удовлетворяющий стандарту IEEE (Institute of Electrical and Electronic Engineers - Институт инженеров по электротехнике и радиоэлектронике) интерфейс управления памятью с 39-разрядным путем данных 14 двунаправленных каналов DMA (Direct Memory Access - прямой доступ к памяти)
При тактовой частоте 25 МГц процессор имеет скорость 4.1 MFLOPS для вычислений с плавающей точкой одинарной и 3.0 MFLOPS двойной точности.
Каждый процессор nCube 2 конфигурируется с устройством динамической памяти емкостью от 4 до 64 МБайт.
Распределенная архитектура памяти фактически не налагает никаких ограничений на скорость операций с памятью. Процессоры не конкурируют в использовании пропускной способности соединения с памятью и не должны ждать подкачки данных. Добавление процессоров в систему увенчивает пропускную способность памяти и тем самым повышает производительность.
Каждый суперкомпьютер nCube 2 содержит компактную сеть процессоров. На одну процессорную плату nCube 2 может монтироваться до 64 процессоров. Процессорная стойка может содержать 16 плат с общим числом процессоров до 1024. Для построения систем большего размера стойки комбинируются. Использование недорогих строительных блоков обеспечивает низкую цену полной компьютерной системы в сочетании с феноменально высокой производительностью, достигнутой за счет комбинированной мощности процессорной сети.
Каждый процессор nCube 2 содержит 14 каналов DMA 13 для соединений в гиперкубе и 1 для ввода/вывода. Выделенный канал ввода/вывода уравновешивает вычислительную производительность процессора с производительностью его системы ввода/вывода. По мере добавления процессоров в систему пропускная способность системы ввода/вывода гиперкуба масштабируется вместе с процессорной мощностью и памятью. В состав процессора nCube 2 входит высокоскоростное устройство маршрутизации сообщений, которое управляет передачей сообщений между процессорами. Устройство маршрутизации обеспечивает прямую передачу сообщений без прерывания промежуточных процессоров или необходимости хранения данных сообщения в их памяти. Сообщения передаются со скоростью 2.75 МБ/сек на канал DMA. Специальные методы маршрутизации автоматически вычисляют кратчайший путь между процессорами и предотвращают взаимную блокировку сообщений, освобождая пользователей от необходимости планировать маршруты. Устройство маршрутизации передает сообщения настолько быстро, что число проходимых шагов влияет на производительность гораздо меньше, чем в других компьютерах. Высокая скорость передачи создает иллюзию, что каждый процессор связан непосредственно с любым другим в сети. Эффективность гиперкубической топологии в совокупности с высокоскоростным устройством маршрутизации создают высокопроизводительную систему межпроцессорных соединений с максимальной, по сравнению с другими процессорными сетями, скоростью межпроцессорных коммуникаций. Суперкомпьютер серии nCube 2 с 8192 процессорами имеет скорость межпроцессорной передачи 577 ГБ/сек.
Каждый процессор nCube 2 выполняет свою собственную программируемую последовательность команд и может функционировать независимо. Этот принцип позволяет выделять подмножества процессоров для параллельного выполнения различных операций. Такое разбиение гиперкуба превращает суперкомпьютер nCube 2 в многопользовательскую, многозадачную систему. Программное обеспечение nCube 2 выделяет набор процессоров - подкуб - для программы пользователя и загружает ее. В течение необходимого времени каждый такой подкуб функционирует как отдельный компьютер. Пользователи могут изменять размеры подкубов в соответствии с требованиями своих программ.
2.3 Архитектура процессора nCube
Процессор nCube, как и следует из общего назначения системы, ориентирован прежде всего на вещественные вычисления. За один такт генератора его вещественное арифметическое устройство выполняет две операции, в то время как целочисленное - одну. При этом вещественный конвейер состоит всего из двух ступеней (в других архитектурах число ступеней вещественного процессора от трех до семи). Высокая доступность кэша на кристалле процессора обеспечивает практически пиковые показатели эффективности даже при обработке длинных векторов, размещенных в памяти.
На кристалле расположены регистровый файл и два кэша по 16 КБайт каждый: разделенные кэш команд и кэш данных. Скорость доступа к внутреннему кэшу составляет 1.6 ГБайт/сек, а для большей эффективности обслуживает его специальный конвейер. Доступ к кэшу осуществляется по физическому адресу, чтобы избежать ненужных перемещений данных в случае переключения контекста.
Процессор nCube включает в себя полную поддержку виртуальной памяти. В основу архитектуры заложено 64-разрядное поле виртуального адреса, хотя в настоящее время реализован 48-разрядный виртуальный адрес, обеспечивающий адресацию 256 ТБайт. Размеры страниц могут иметь переменные размеры от 256 Байт до 64 МБайт.
а) Система ввода/вывода nCube 2
Высокопроизводительной вычислительной системе должна соответствовать мощная, быстрая и гибкая система ввода/вывода. В суперкомпьютере nCube 2 система ввода/вывода использует тот же самый VLSI- процессор, который функционирует как вычислительный элемент в гиперкубической сети. Каноны DMA в процессорах системы ввода/вывода используются как пути передачи данных. Наличие выделенных процессоров ввода/вывода позволяет осуществлять параллельную работу вычислительной сети и системы ввода/вывода.
Система ввода/вывода масштабируется вместе с процессорной сетью. Суперкомпьютер большого размера имеет не только больше вычислительных процессоров, но и большее количество процессоров ввода/вывода. nCube 2 поддерживают несколько интерфейсов ввода/вывода, обеспечивающих пользователей связью с необходимыми им устройствами.
Плата ввода/вывода nChannel осуществляет связь суперкомпьютера nCube 2 с устройствами вторичного хранения, дисками, магнитными лентами, сетями и другими устройствами. Плата nChannel имеет 16 независимых каналов ввода/вывода, каждый из которых управляется процессором nCube 2. К каждому каналу подключается модуль ввода/вывода, например, контроллер SCSI. Каждый канал передает данные со скоростью 20 МБ/сек. С помощью каналов платы nChannel система nCube 2 соединяется с хост-компьютером, сетью Ethernet, дисководами и накопителями на магнитной ленте, а также модулями преобразования сигналов и передачи видеообразов.
Плата HIPPI позволяет соединять суперкомпьютер nCube 2 с другими суперкомпьютерами, запоминающими устройствами и иными системами, поддерживающими интерфейс HIPPI (High Performance Parallel Interface Высокопроизводительный параллельный интерфейс). Плата HIPPI использует 16 процессоров nCube 2 для обработки сетевого трафика, обычно 8 процессоров для управления вводом и 8 для управления выводом. Скорость передачи данных достигает 100 МБ/сек.
Графическая подсистема реального времени nVision обеспечивает интегрированную подсистему графики и ввода/вывода, которая позволяет программистам отображать и взаимодействовать с большими объемами данных в реальном времени. На плате nVision размещены 16 процессоров nCube 2, 2 CRT-контроллера, специальный текстовый процессор, 16 МБайт памяти и 2 МБайт буфера.
Компьютер nCube 2 соединяется по сети с управляющим компьютером, с которого пользователи загружают nCube 2, разрабатывают и запускают параллельные программы, наблюдают за функционированием процессорной сети и системы ввода/вывода. Стандартным управляющим компьютером для nCube 2 является рабочая станция производства компании Silicon Graphics.
2.4 Программное обеспечение
На всех компьютерах семейства nCube 2 устанавливается специализированная программная среда PSE (Parallel Software Environment), включающая в себя следующие компоненты:
- операционная система nCX, построенная по микроядерной технологии и выполняющаяся на всех процессорах гиперкуба, она управляет системой ввода/вывода;
- драйвер хост-интерфейса, интерфейс ввода/вывода для соединения с управляющим компьютером; библиотека стандартных UNIX-функций;
- средства разработки для написания, компиляции, профилирования, отладки, запуска и контроля параллельных программ;
- утилиты системного администратора;
- подсистема интерактивной (on-line) документации.
Среда PSE обеспечивает согласованный для различных моделей семейства nCube 2 прикладной интерфейс. Программы, разработанные для компьютеров с небольшим числом процессоров, не требуют переделки при переносе на систему nCube 2 большего размера. Операционная среда nCube 2 интегрирована со средой управляющего компьютера, обеспечивая пользователей возможностью разрабатывать программы на привычной им платформе. С помощью PSE пользователи могут работать независимо, получая автономный контроль над выполнением своих программ. Множество пользователей могут одновременно выполнять программы.
Среда PSE базируется на nCX - высокооптимизированном, небольшом (до 128 КБ) и быстром микроядре (microkernel), который обеспечивает сервис операционной системы на каждом процессоре, как гиперкуба, так и системы ввода-вывода. nCX поддерживает управление процессами и управление памятью, многозадачность, интерфейс системных вызовов UNIX System V Release 4, а также высокопроизводительную систему передачи сообщений. Другие операционные средства, такие как драйверы ввода/вывода и сетевые соединения, распределяются между вычислительными узлами и процессорами ввода/вывода. Операционная система nCX обеспечивает единый интерфейс для параллельных программ и драйверов ввода/вывода.
На суперкомпьютерах nCube 2 поддерживаются два вида программирования:
SPMD (Single Program Multiple Data - Одна программа, Множество данных): в процессорную сеть загружается одна программа, каждый экземпляр программы обрабатывает свой собственный набор данных; процессоры могут обмениваться информацией.
MPMD (Multiple Program Multiple Data - Множество программ, Множество данных): в процессорную сеть загружается набор программ, каждый экземпляр каждой программы обрабатывает свои собственные данные; программы могут обмениваться информацией.
2.5 Надежность системы nCube 2
Суперкомпьютеры nCube 2 представляют наиболее надежные на сегодняшний день системы. Каждый аспект дизайна nCube 2 подразумевает надежность. Например, высокая интеграция - процессорный узел на одном чипе уменьшает число компонентов, в которых может произойти сбой. Быстрое, эффективное микроядро обеспечивает все необходимые для приложений функции, не перегружая систему более сложной, но менее надежной операционной средой.
3 СЕТЬ КАК СУПЕРКОМПЬЮТЕР
Теоретически суперкомпьютер можно представить как объединение большого количества обычных компьютеров в один, единый блок. Иначе это можно представить, как локальную сеть, имеющую некоторое количество узлов в одном блоке. Следовательно, можно в качестве суперкомпьютера использовать и любую локальную (и не только локальную) сеть. Начиная с 1992 года по скорости роста производительности сетевое оборудование обгоняет процессоры. Для многих организаций перспектива использования сетей рабочих станций и ПК в качестве суперкомпьютеров весьма заманчива. Основные достоинства сетей - возможность постепенного расширения и модернизации, а также режим эксплуатации сети днем для обычных нужд разработки и проектирования, а ночью для расчетов. Сети не могут соревноваться по скорости вычисления с суперкомпьютерами-рекордсменами, но они на один-два порядка дешевле, их можно использовать там, где объемы расчетов велики, а суперкомпьютеры экономически не оправданы. Такие сетевые технологии будут способствовать использованию сетей в качестве параллельных вычислителей. В первую очередь это Fast Ethernet и Gigabit Ethernet. Далее идут технологии коммутации. И, наконец, новые сетевые протоколы, поддерживающие широковещание
3.1 Параллельные программы - главный тормоз
Главным препятствием к внедрению практически всех параллельных архитектур является отсутствие параллельных программ. У унаследованных от последовательного мира программ имеется недостаток - большой объем кода, принципиально не допускающий параллельного исполнения. Его нельзя преодолеть за счет усовершенствования техники компиляции. Так, если программа половину времени занимается действиями, которые требуется совершать строго последовательно, то параллельное выполнение оставшейся половины в предельном случае даст лишь двукратное ускорение. В результате, хотим мы этого или нет, последовательные вычислительные алгоритмы придется заменять параллельными.
3.2 MPI
Практически на всех параллельных системах имелись свои собственные библиотеки передачи сообщений. В простейшем случае они предусматривали передачу и прием отдельных пакетов между соседними процессорами. Более сложные поддерживали передачу сообщений произвольной длины, маршрутизацию сообщений и аппарат тегов, который позволяет принимающей стороне самой решать, в какой последовательности обрабатывать поступающие сообщения. Некоторые библиотеки допускали динамическое порождение и уничтожение процессов.
За последние годы в деле создания ПО для систем с распределенной памятью наметился серьезный прогресс. Самым крупным достижением была стандартизация интерфейса передачи сообщений MPI (message passing interface). Во-первых, MPI поддерживает несколько режимов передачи данных, важнейшие из которых: синхронная передача, не требующая выделения промежуточных буферов для данных и обеспечивающая надежную передачу данных сколь угодно большого размера, и асинхронная передача, при которой посылающий сообщение процесс не ждет начала приема, что позволяет эффективно передавать короткие сообщения. Во-вторых, MPI позволяет передавать данные не только от одного процесса к другому, но и поддерживает коллективные операции: широковещательную передачу, разборку-сборку, операции редукции. В-третьих, MPI предусматривает гетерогенные вычисления. Вычислительная система может включать разные процессоры, в том числе имеющие различные наборы команд и разное представление данных. Если у вас имеется суперкомпьютер, то это кажется излишним, но для организаций, эксплуатирующих сети рабочих станций с различными процессорами и версиями Unix, - это находка.
Синтаксис MPI облегчает создание приложений в модели SPMD (single program multiple data) - одна программа работает в разных процессах со своими данными. Одна и та же функция вызывается на узле-источнике и узлах-приемниках, а тип выполняемой операции (передача или прием) определяется с помощью параметра. Такой синтаксис вызовов делает SPMD-программы существенно компактнее, хотя и труднее для понимания.
Основное отличие стандарта MPI от его предшественников - понятие коммуникатора. Все операции синхронизации и передачи сообщений локализуются внутри коммуникатора. С коммуникатором связывается группа процессов. В частности, все коллективные операции вызываются одновременно на всех процессах, входящих в эту группу
Поддержка модульного программирования в сочетании с независимостью от аппаратуры дала мощный импульс к созданию библиотек. Одна из самых интересных разработок - пакет линейной алгебры ScaLAPACK, разработанный группой Дж. Донгарра.
3.3 Реализации MPI
Библиотеки MPI реализованы практически на всех современных суперкомпьютерах, к примеру, в университете Коимбра (Португалия) разработали библиотеку MPI для Windows 95 (http://pandora.uc.pt/w32mpi), которая особенно интересна для преподавателей и студентов, поскольку при отладке достаточно иметь обычный ПК, а запуск параллельных приложений в сети позволяет получить реальный выигрыш в производительности.
Практический опыт показывает, что идеально распараллеливаемые задачи, такие как параллельное умножение матриц, можно решать практически на любых сетях, и добавление даже относительно слабых вычислительных узлов дает выигрыш. Другие задачи, в частности решение систем линейных уравнений, более требовательны к коммуникационному оборудованию и качеству реализации передачи сообщений. Именно поэтому тесты для оценки реального быстродействия параллельных вычислительных систем базируются на параллельных аналогах известного пакета Linpack. Так, система линейных уравнений размером 800х800 решается на четырех компьютерах Sun SPARCstation 5, объединенных сетью Ethernet 10 Мбит/c, быстрее, чем на трех; на пяти - приблизительно за то же время, что и на четырех, а добавление шестого компьютера однозначно ухудшает производительность вычислительной системы. Если вместо Fast Ethernet 10 Мбит/c использовать Fast Ethernet 100 Мбит/с, что лишь незначительно увеличивает общую стоимость системы, время, затрачиваемое на коммуникацию, уменьшается почти в 10 раз, а для решения данной задачи можно будет эффективно применять уже десятки рабочих станций.
3.4 Средства программирования высокого уровня
Часто в сетях отдельные компьютеры неравноценны, и имеет смысл нагружать их по-разному, однако даже простейшая программа, учитывающая балансировку нагрузки, - если кодировать ее, используя лишь средства MPI, - становится необъятной, и отладка ее мало кому окажется по силам. Так, матрицы в пакете SсаLAPACK, независимо от решаемой задачи и мощностей вычислительных элементов, всегда распределяются по процессорам равномерно. В результате, при наличии хотя бы одного слабого компьютера в сети, вычисления затягиваются - все ждут отстающего. Динамическая балансировка нагрузки, практически бесплатно получающаяся на SMP-компьютерах, в распределенных системах чрезвычайно трудна, и даже простое распределение данных в соответствии с мощностями узлов и последующие пересылки кодируются весьма непросто.
Выходом из создавшегося положения стали языки программирования, основанные на параллелизме данных. Первый из них, Fortran-D, появился в 1992 г. На смену ему пришел High Performance Fortran (HPF), представляющий собой расширение языка Fortran 90 и требующий от пользователя лишь указать распределение данных по процессорам. В остальном программа имеет последовательный вид (это, впрочем, не означает, что, придумывая алгоритм, не следует задумываться о присущем ему параллелизме). Транслятор самостоятельно распределяет вычисления по процессорам, выбирая в качестве узла, на котором следует производить вычисления, тот процессор, на котором будет использован результат вычисления выражения. При необходимости транслятор генерирует обращения к библиотеке передачи сообщений, например MPI. От компилятора HPF требуется тщательный анализ программы. Пользователь практически не имеет рычагов управления количеством пересылок, а поскольку инициализация каждой пересылки, независимо от объема передаваемой информации, - это десятки тысяч машинных тактов, качество получаемой программы от него зависит слабо.
В языке программирования mpC (http://www.ispras.ru/) - расширении ANSI Cи - принят компромиссный подход. Здесь пользователь распределяет не только данные, но и вычисления. Переменные и массивы распределяются по виртуальным сетям (networks) и подсетям, при этом в описаниях сетей указываются относительные мощности узлов и скорости связей между ними. В процессе выполнения mpC-программы система поддержки языка стремится максимально эффективно отобразить виртуальные сети на группы процессоров. В результате пользователь получает возможность равномерно нагружать узлы
3.5 Попытка прогноза
Использование сетей компьютеров для вычислительных задач - уже сегодня дело вполне реальное. В этом направлении ведутся научные разработки и сделан ряд пилотных проектов. В качестве коммуникационной платформы сейчас наиболее экономически оправдано применение коммутируемых сетей Fast Ethernet. При этом себестоимость системы производительностью 1,5-6 операций с вещественными числами в секунду на задачах линейной алгебры будет ниже 100 тыс. долл. Через пару лет в качестве коммуникационной платформы можно будет использовать Gigabit Ethernet или ATM (Asynchronous Transfer Mode - асинхронный режим передачи), обеспечивающие на порядок более высокие скорости передачи данных. В течение одного-двух лет должны появиться общепризнанные широковещательные протоколы транспортного уровня и основанные на них реализации MPI. На уровне прикладных программ MPI использоваться не будет. На нем станут базироваться лишь некоторые библиотеки и системы поддержки языков, основанные на параллелизме данных.
4 ПИМЕРЫ ИСПОЛЬЗОВАНИЯ СУПЕРКОМПЬЮЮТЕРОВ
4.1 Моделирование построение белка
Корпорация IBM объявила о том, что планирует выделить 100 миллионов долларов на создание самого быстрого в мире суперкомпьютера, который будет использоваться для моделирования построения белка из аминокислот.
Новый суперкомпьютер, носящий название Blue Gene, будет способен совершать один квадриллион операций в секунду, то есть будет в тысячу раз мощнее знаменитого Deep Blue, с которым в 1997 году играл в шахматы чемпион мира Гарри Каспаров.
Blue Gene будет работать на основе более миллиона процессоров, каждый из которых способен совершать миллиард операций в секунду, сообщают представители IBM. Новый гигант будет в два миллиона раз быстрее, чем существующие сегодня мощнейшие персональные компьютеры.
Исследователи рассчитывают достигнуть этого уровня мощности в течение пяти лет, по истечении которых суперкомпьютер будет использоваться в генетическом моделировании. Если Blue Gene оправдает возложенные на него надежды, его создание станет огромным шагом вперед в области здравоохранения и биологии.
4.2 Виртуальная башня
По оценкам Федерального управления гражданской авиации США, в течение ближайших 20 лет количество самолетов, используемых для коммерческих полетов, увеличится вдвое. Это станет серьезным испытанием для авиадиспетчеров, которым придется внедрять новые технологии управления авиационными потоками как на земле, так и в воздухе.
НАСА решило внести свою скромную лепту в преодоление этой проблемы и создало симулятор настоящей башни авиадиспетчеров стоимостью в $110 миллионов. Башня FutureFlight Central расположена в Исследовательском центре Эймса НАСА. Она дает возможность симулировать работу крупнейших аэропортов мира, позволяя в реальном времени испытывать новые технологии управления перемещением самолетов. Это двухэтажное сооружение, в котором могут одновременно работать 12 операторов. Мозговым центром башни является 16-процессорный суперкомпьютер Reality Monster от SGI, обошедшийся НАСА в $1 миллион. Именно он обеспечивает вывод симуляции на 12 огромных видеоэкранов башни, имитирующих настоящие окна. Суперкомпьютер позволяет моделировать - помимо обстановки аэропорта - погодные эффекты и до 200 одновременно движущихся самолетов и машин наземного обслуживания. Первый этаж предназначен для "пилотов" и "обслуживающего персонала", которые будут вносить дополнительный элемент реалистичности, общаясь с авиадиспетчерами с помощью портативных радиостанций. Башня также может использоваться и в других симуляционных целях. В частности, планируется, что ее услугами смогут воспользоваться специалисты из Отделения автономных роботов НАСА для создания комнат управления межпланетными миссиями, состоящими из роботизированных машин.
ИСПОЛЬЗУЕМАЯ ЛИТЕРАТУРА:
Статья Андрея Шитова «Электронный супермозг», журнал «Эхо планеты» №4 1992г.
Статья Дмитрия Арапова «Можно ли превратить сеть в суперкомпьютер?», журнал «Открытые системы» №4 1997г.
Статья Н. Дубовой «Суперкомпьютеры nCube», журнал «Открытые системы»
Рубрика «Новости» из журналов КомпьюТерра
ref.repetiruem.ru
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РФ
ЮЖНО-РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
(Новочеркасский политехнический институт)
Факультет: Информационных Технологий и Управления
Кафедра: Автоматики и Телемеханики
Специальность: Управление и информатика в технических системах
по информатике
Выполнил студент I — 1а Каширин В. В.
Ф.И.О.
Руководитель ассистент Малашенко Л.И.
Должность, звание Ф.И.О.
Консультант ассистент Малашенко Л.И.
Должность, звание Ф.И.О.
К защите Защита принята с оценкой
«______» ______________2000г. ____________________________
___________________________ «_____»________________2000г.
Подпись ____________________________
Подпись
Новочеркасск 2000
ВВЕДЕНИЕ 3
1 ОСНОВНЫЕ ВИДЫ АРХИТЕКТУРЫ 4
1.1 Архитектура SMP 4
1.2 Архитектура MPP 4
2.1 Основные принципы архитектуры 5
a) Распределенная память 5
б) Межпроцессорная сеть 5
в) Высокий уровень интеграции 6
2.2 Суперкомпьютер nCube 2 7
2.3 Архитектура процессора nCube 8
а) Система ввода/вывода nCube 2 9
2.4 Программное обеспечение 10
2.5 Надежность системы nCube 2 10
3 СЕТЬ КАК СУПЕРКОМПЬЮТЕР 11
3.1 Параллельные программы — главный тормоз 11
3.2 MPI 11
3.3 Реализации MPI 12
3.4 Средства программирования высокого уровня 13
3.5 Попытка прогноза 14
4 ПИМЕРЫ ИСПОЛЬЗОВАНИЯ СУПЕРКОМПЬЮЮТЕРОВ 14
4.1 Моделирование построение белка 14
4.2 Виртуальная башня 14
С момента появления первых компьютеров одной из основных проблем, стоящих перед разработчиками, была производительность вычислительной системы. За время развития компьютерной индустрии производительность процессора стремительно возрастала, однако появление все более изощренного программного обеспечения, рост числа пользователей и расширение сферы приложения вычислительных систем предъявляют новые требования к мощности используемой техники, что и привело к появлению суперкомпьютеров. Что же такое суперкомпьютеры, и зачем они нужны?
В принципе, суперкомпьютер это обычная вычислительная система, позволяющая производить сложные расчеты за более короткие промежутки времени. О чем собственно и говорит приставка «Супер» (Super в переводе с английского означает: сверх, над). Любая компьютерная система состоит из трех основных компонентов — центрального процессора, то есть счетного устройства, блока памяти и вторичной системы хранения информации (к примеру, в виде дисков или лент). Ключевое значение имеют не только технические параметры каждого из этих элементов, но и пропускная способность каналов, связывающих их друг с другом и с терминалами потребителей. Одна из заповедей «Крей рисерч» гласит: «Быстродействие всей системы не превышает скорости самой медленнодействующей ее части». Важным показателем производительности компьютера является степень его быстродействия. Она измеряется так называемыми флопсами — от английского сокращения, обозначающего количество операций с числами, представленными в форме с плавающей запятой, в секунду. То есть за основу берется подсчет — сколько наиболее сложных расчетов машина может выполнить за один миг.
А зачем вообще нужны суперкомпьютеры? На этот вопрос дает ответ представитель компании «Крей рисерч» Вито Бонджорно: Раздвижение границ человеческого знания всегда опиралось на два краеугольных камня, которые не могут, существовать друг без друга, — теорию и опыт. Однако теперь ученые сталкиваются с тем, что многие испытания стали практически невозможными — в некоторых случаях из-за своих масштабов, в других — дороговизны или опасности для здоровья и жизни людей. Тут-то и приходят на помощь мощные компьютеры. Позволяя экспериментировать с электронными моделями реальной действительности, они становятся «третьей опорой» современной науки и производства.
Прошло время, когда создатели суперкомпьютеров стремились обеспечить максимальную производительность любой ценой. Специальные процессоры, дорогостоящая сверхбыстрая память, нестандартное периферийное оборудование — все это обходилось заказчикам в круглую сумму. Приобретали суперкомпьютеры либо предприятия ВПК, либо крупные университеты. И те, и другие делали это, как правило, за государственный счет. Окончание «холодной войны» и последовавшее за ним сокращение ассигнований на военные и околовоенные нужды нанесли серьезный удар по производителям суперкомпьютеров. Большинство из них были поглощены изготовителями менее производительной, но более доступной и ходовой вычислительной техники. Впрочем, у этих слияний были и технологические предпосылки — быстродействие серийно выпускаемых микропроцессоров постоянно росло, и производители суперкомпьютеров быстро переориентировались на них, что позволило существенно сократить общую стоимость разработки. Основной упор стал делаться на увеличение числа процессоров и повышение степени параллелизма программ.
1 ОСНОВНЫЕ ВИДЫ АРХИТЕКТУРЫ
Известно, что сегодня существуют две основные архитектуры параллельных компьютеров: симметричные мультипроцессорные системы с общей памятью (SMP) и мультипроцессорные системы с распределенной памятью (MPP).
1.1 Архитектура SMP
Основное преимущество SMP — относительная простота программирования. В ситуации, когда все процессоры имеют одинаково быстрый доступ к общей памяти, вопрос о том, какой из процессоров какие вычисления будет выполнять, не столь принципиален, и значительная часть вычислительных алгоритмов, разработанных для последовательных компьютеров, может быть ускорена с помощью распараллеливающих и векторизирующих трансляторов. SMP-компьютеры — это наиболее распространенные сейчас параллельные вычислители, а 2-, 4-х процессорные ПК на основе Pentium и Pentium Pro стали уже массовым товаром. Однако общее число процессоров в SMP-системах, как правило, не превышает 16, а их дальнейшее увеличение не дает выигрыша из-за конфликтов при обращении к памяти. Применение технологий типа UPA, основанной на коммутации пакетов вместо общей шины и локальной кэш-памяти большого объема, способно частично решить проблему, подняв число процессоров до 32.
1.2 Архитектура MPP
Альтернатива SMP — архитектура MPP. Каждый процессор имеет доступ лишь к своей локальной памяти, а если программе нужно узнать значение переменной, расположенной в памяти другого процессора, то задействуется механизм передачи сообщений. Процессор, в памяти которого находятся нужные данные, посылает сообщение тому процессору, которому они требуются, а последний принимает его. Этот подход позволяет создавать компьютеры, включающие в себя тысячи процессоров. На нем основаны все машины, имеющие производительность в сотни миллиардов операций в секунду.
Познакомимся поближе с этой архитектурой и одним из представителей этой архитектуры, суперкомпьютером nCube.
2 СУПЕРКОМПЬЮТЕРЫ КОМПАНИИ nCube
Одним из пионеров в создании MPP-систем стала основанная в 1983 году компания nCube. В 1985 году появился первый ее MPP-компьютер, nCube 1. Система nCube 1, в основе которой, как и в основе всех последующих поколений компьютеров nCube, лежит гиперкубическая топология межпроцессорных соединений и высокий уровень интеграции на базе технологии VLSI, показала рекордные результаты по абсолютной производительности и в соотношении цена/производительность для научных вычислений.
В 1989 году компания nCube выпустила семейство суперкомпьютеров nCube 2. Большие вычислительные возможности, гибкая архитектура и мощное специализированное программное обеспечение позволяют применять системы nCube 2 в широком диапазоне областей — от сложнейших научных задач до управления информацией в бизнесе.
Семейство nCube 2 представляет собой масштабируемую серию систем, производительность которых может достигать 34 GigaFlops. Каждый суперкомпьютер этой серии содержит набор процессоров nCube, соединенных в гиперкубическую сеть. Наибольшую систему составляют 8192 процессора, и ее мощность более чем в 1000 раз превышает мощность наименьшей — с 8 процессорами. Возможности памяти и системы ввода/вывода возрастают вместе с ростом процессорной мощности.
Следующая цель компании nCube — разработка нового семейства Mpp-систем, суперкомпьютеров nCube 3. Новое поколение суперкомпьютеров nCube, следуя принципам высокой интегрируемости и масштабируемости, станет первой промышленно реализованной платформой с производительностью до нескольких TFlops, стопроцентно совместимой с предыдущими поколениями систем nCube.
2.1 Основные принципы архитектуры
a) Распределенная память
В суперкомпьютерах nCube используется архитектура распределенной памяти, позволяющая оптимизировать доступ к оперативной памяти, вероятно, наиболее критичному ресурсу вычислительной системы.
Традиционные архитектуры с разделенной памятью удобны для систем с небольшим числом процессоров, однако, они плохо масштабируются по мере добавления процессоров и памяти. Когда в системе с разделением памяти увеличивается число процессоров, возрастает конкуренция в использовании ограниченной пропускной способности системной шины, что снижает производительность соединения процессор-память. Кроме того, добавление процессоров в такую систему требует увеличения количества логики для управления памятью, снижая тем самым производительность системы и увеличивая ее цену.
Эти недостатки отсутствуют в системах с распределенной памятью. В такой системе каждый процессор имеет свою собственную локальную память. Потенциальные узкие места, связанные с шиной процессор-память и необходимостью разрабатывать системы управления кэшем, полностью исключаются. С добавлением процессоров добавляется память, пропускная способность соединения процессор-память масштабируется вместе с вычислительной мощностью.
б) Межпроцессорная сеть
Топология межпроцессорных соединений, обеспечивающая масштабирование до большого числа процессоров без снижения производительности коммуникаций или увеличения времени ожидания, является обязательной для MPP-систем. Суперкомпьютеры nCube используют сетевую топологию гиперкуба, которая отвечает этим требованиям. Соединения между процессорами nCube-системы образуют многомерный куб, называемый гиперкубом. По мере добавления процессоров увеличивается размерность гиперкуба. Соединение двух гиперкубов одинаковой размерности образует гиперкуб следующей размерности. N-мерный гиперкуб содержит 2€n процессоров. Двухмерный гиперкуб — это квадрат. Трехмерный гиперкуб образует обычный куб, а четырехмерный гиперкуб представляет собой куб в кубе. Для семейства суперкомпьютеров nCube 2 гиперкуб максимальной размерности 13 содержит 8192 процессора. В системе nCube 3 число процессоров может достигать 65536 (16-мерный гиперкуб).
Эффективность сетевой топологии измеряется, в частности, числом шагов для передачи данных между наиболее удаленными процессорами в системе. Для гиперкуба максимальное расстояние (число шагов) между процессорами совпадает с размерностью куба. Например, в наибольшем 13-мерном семейства nCube 2 сообщения между процессорами никогда не проходят более 13 шагов. Для сравнения, в 2-мерной конфигурации «mesh» (петля) с числом процессоров, вдвое меньшим числа процессоров в максимальной системе nCube 2, наибольшее расстояние между процессорами составляет 64 шага. Задержки коммуникаций в такой системе значительно увеличиваются. Таким образом, никакая другая топология соединения процессоров не может сравниться с гиперкубом по эффективности. Пользователь может удвоить число процессоров в системе, при этом увеличивая длину пути связи между наиболее удаленными процессорами только на один шаг.
Большое число соединений в гиперкубе создает высочайшую пропускную способность межпроцессорных соединений по сравнению с любой другой сетевой схемой. Большое количество путей передачи данных и компактный дизайн гиперкуба позволяют передавать данные с очень высокой скоростью. Кроме того, гиперкубическая схема характеризуется большой гибкостью, так как она позволяет эмулировать другие популярные топологии, включая деревья, кольца. Таким образом, пользователям nCube-систем гарантируется корректное выполнение приложений, зависящих от других топологий.
в) Высокий уровень интеграции
Многие преимущества nCube-систем, и, прежде всего высочайшие показатели — надежности и производительности, являются результатом использования технологии VLSI (Very Large Scale Integration — сверхвысокая степень интеграции). В большей степени, чем какие-либо другие факторы, на надежность компьютера влияет число используемых компонентов. Большее число компонентов неминуемо увеличивает вероятность сбоя системы. По этой причине nCube интегрирует все функции процессорного узла на одно VLSI-устройство. VLSI-интеграция также сокращает требуемое число соединений, которые могут оказывать решающее влияние на целостность всей системы.
Высокий уровень интеграции сокращает пути передачи данных, повышая тем самым производительность системы. Интеграция процессорного узла на один чип оставляет свободными для контроля только простые соединения с памятью и сетевые интерфейсы вместо сложных сигналов синхронизации, арбитража и управления. Эти простые соединения тестируются и корректируются с помощью методов контроля четности и ЕСС (Error Correction Code — код коррекции ошибок), упрощая процесс определения и изоляции ошибок.
2.2 Суперкомпьютер nCube 2
Суперкомпьютер nCube 2 масштабируется от 8-процессорных моделей до моделей с 8192 процессорами. Архитектура nCube 2 уравновешивает процессорную мощность, пропускную способность памяти и пропускную способность системы ввода/вывода. Добавление процессоров в систему не влечет за собой появление узких мест в пропускной способности памяти или системы ввода/вывода.
Семейство nCube 2 включает в себя две серии суперкомпьютеров:
— Серия nCube 2S базируется на процессоре nCube 2S с тактовой частотой 25 MHz; предельная производительность 33 MFLOPS — 34 GFLOPS; размер оперативной памяти 32 Мб — 32 Гб;
— Серия nCube 2 базируется на процессоре nCube 2 с тактовой частотой 20 MHz; предельная производительность 26 MFLOPS — 27 GFLOPS; размер оперативной памяти 32 Мб — 32 Гб.
Архитектура суперкомпьютера семейства nCube 2 базируется на гиперкубической сети VLSI — чипов, спаренных с независимыми друг от друга устройствами памяти. Чип, или процессор nCube 2, включает в себя:
— 64-разрядный центральный процессор;
— 64-разрядный модуль вычислений с плавающей точкой;
— удовлетворяющий стандарту IEEE (Institute of Electrical and Electronic Engineers — Институт инженеров по электротехнике и радиоэлектронике) интерфейс управления памятью с 39-разрядным путем данных 14 двунаправленных каналов DMA (Direct Memory Access — прямой доступ к памяти)
При тактовой частоте 25 МГц процессор имеет скорость 4.1 MFLOPS для вычислений с плавающей точкой одинарной и 3.0 MFLOPS двойной точности.
Каждый процессор nCube 2 конфигурируется с устройством динамической памяти емкостью от 4 до 64 МБайт.
Распределенная архитектура памяти фактически не налагает никаких ограничений на скорость операций с памятью. Процессоры не конкурируют в использовании пропускной способности соединения с памятью и не должны ждать подкачки данных. Добавление процессоров в систему увенчивает пропускную способность памяти и тем самым повышает производительность.
Каждый суперкомпьютер nCube 2 содержит компактную сеть процессоров. На одну процессорную плату nCube 2 может монтироваться до 64 процессоров. Процессорная стойка может содержать 16 плат с общим числом процессоров до 1024. Для построения систем большего размера стойки комбинируются. Использование недорогих строительных блоков обеспечивает низкую цену полной компьютерной системы в сочетании с феноменально высокой производительностью, достигнутой за счет комбинированной мощности процессорной сети.
Каждый процессор nCube 2 содержит 14 каналов DMA 13 для соединений в гиперкубе и 1 для ввода/вывода. Выделенный канал ввода/вывода уравновешивает вычислительную производительность процессора с производительностью его системы ввода/вывода. По мере добавления процессоров в систему пропускная способность системы ввода/вывода гиперкуба масштабируется вместе с процессорной мощностью и памятью. В состав процессора nCube 2 входит высокоскоростное устройство маршрутизации сообщений, которое управляет передачей сообщений между процессорами. Устройство маршрутизации обеспечивает прямую передачу сообщений без прерывания промежуточных процессоров или необходимости хранения данных сообщения в их памяти. Сообщения передаются со скоростью 2.75 МБ/сек на канал DMA. Специальные методы маршрутизации автоматически вычисляют кратчайший путь между процессорами и предотвращают взаимную блокировку сообщений, освобождая пользователей от необходимости планировать маршруты. Устройство маршрутизации передает сообщения настолько быстро, что число проходимых шагов влияет на производительность гораздо меньше, чем в других компьютерах. Высокая скорость передачи создает иллюзию, что каждый процессор связан непосредственно с любым другим в сети. Эффективность гиперкубической топологии в совокупности с высокоскоростным устройством маршрутизации создают высокопроизводительную систему межпроцессорных соединений с максимальной, по сравнению с другими процессорными сетями, скоростью межпроцессорных коммуникаций. Суперкомпьютер серии nCube 2 с 8192 процессорами имеет скорость межпроцессорной передачи 577 ГБ/сек.
Каждый процессор nCube 2 выполняет свою собственную программируемую последовательность команд и может функционировать независимо. Этот принцип позволяет выделять подмножества процессоров для параллельного выполнения различных операций. Такое разбиение гиперкуба превращает суперкомпьютер nCube 2 в многопользовательскую, многозадачную систему. Программное обеспечение nCube 2 выделяет набор процессоров — подкуб — для программы пользователя и загружает ее. В течение необходимого времени каждый такой подкуб функционирует как отдельный компьютер. Пользователи могут изменять размеры подкубов в соответствии с требованиями своих программ.
2.3 Архитектура процессора nCube
Процессор nCube, как и следует из общего назначения системы, ориентирован прежде всего на вещественные вычисления. За один такт генератора его вещественное арифметическое устройство выполняет две операции, в то время как целочисленное — одну. При этом вещественный конвейер состоит всего из двух ступеней (в других архитектурах число ступеней вещественного процессора от трех до семи). Высокая доступность кэша на кристалле процессора обеспечивает практически пиковые показатели эффективности даже при обработке длинных векторов, размещенных в памяти.
На кристалле расположены регистровый файл и два кэша по 16 КБайт каждый: разделенные кэш команд и кэш данных. Скорость доступа к внутреннему кэшу составляет 1.6 ГБайт/сек, а для большей эффективности обслуживает его специальный конвейер. Доступ к кэшу осуществляется по физическому адресу, чтобы избежать ненужных перемещений данных в случае переключения контекста.
Процессор nCube включает в себя полную поддержку виртуальной памяти. В основу архитектуры заложено 64-разрядное поле виртуального адреса, хотя в настоящее время реализован 48-разрядный виртуальный адрес, обеспечивающий адресацию 256 ТБайт. Размеры страниц могут иметь переменные размеры от 256 Байт до 64 МБайт.
а) Система ввода/вывода nCube 2
Высокопроизводительной вычислительной системе должна соответствовать мощная, быстрая и гибкая система ввода/вывода. В суперкомпьютере nCube 2 система ввода/вывода использует тот же самый VLSI- процессор, который функционирует как вычислительный элемент в гиперкубической сети. Каноны DMA в процессорах системы ввода/вывода используются как пути передачи данных. Наличие выделенных процессоров ввода/вывода позволяет осуществлять параллельную работу вычислительной сети и системы ввода/вывода.
Система ввода/вывода масштабируется вместе с процессорной сетью. Суперкомпьютер большого размера имеет не только больше вычислительных процессоров, но и большее количество процессоров ввода/вывода. nCube 2 поддерживают несколько интерфейсов ввода/вывода, обеспечивающих пользователей связью с необходимыми им устройствами.
Плата ввода/вывода nChannel осуществляет связь суперкомпьютера nCube 2 с устройствами вторичного хранения, дисками, магнитными лентами, сетями и другими устройствами. Плата nChannel имеет 16 независимых каналов ввода/вывода, каждый из которых управляется процессором nCube 2. К каждому каналу подключается модуль ввода/вывода, например, контроллер SCSI. Каждый канал передает данные со скоростью 20 МБ/сек. С помощью каналов платы nChannel система nCube 2 соединяется с хост-компьютером, сетью Ethernet, дисководами и накопителями на магнитной ленте, а также модулями преобразования сигналов и передачи видеообразов.
Плата HIPPI позволяет соединять суперкомпьютер nCube 2 с другими суперкомпьютерами, запоминающими устройствами и иными системами, поддерживающими интерфейс HIPPI (High Performance Parallel Interface Высокопроизводительный параллельный интерфейс). Плата HIPPI использует 16 процессоров nCube 2 для обработки сетевого трафика, обычно 8 процессоров для управления вводом и 8 для управления выводом. Скорость передачи данных достигает 100 МБ/сек.
Графическая подсистема реального времени nVision обеспечивает интегрированную подсистему графики и ввода/вывода, которая позволяет программистам отображать и взаимодействовать с большими объемами данных в реальном времени. На плате nVision размещены 16 процессоров nCube 2, 2 CRT-контроллера, специальный текстовый процессор, 16 МБайт памяти и 2 МБайт буфера.
Компьютер nCube 2 соединяется по сети с управляющим компьютером, с которого пользователи загружают nCube 2, разрабатывают и запускают параллельные программы, наблюдают за функционированием процессорной сети и системы ввода/вывода. Стандартным управляющим компьютером для nCube 2 является рабочая станция производства компании Silicon Graphics.
2.4 Программное обеспечение
На всех компьютерах семейства nCube 2 устанавливается специализированная программная среда PSE (Parallel Software Environment), включающая в себя следующие компоненты:
— операционная система nCX, построенная по микроядерной технологии и выполняющаяся на всех процессорах гиперкуба, она управляет системой ввода/вывода;
— драйвер хост-интерфейса, интерфейс ввода/вывода для соединения с управляющим компьютером; библиотека стандартных UNIX-функций;
— средства разработки для написания, компиляции, профилирования, отладки, запуска и контроля параллельных программ;
— утилиты системного администратора;
— подсистема интерактивной (on-line) документации.
Среда PSE обеспечивает согласованный для различных моделей семейства nCube 2 прикладной интерфейс. Программы, разработанные для компьютеров с небольшим числом процессоров, не требуют переделки при переносе на систему nCube 2 большего размера. Операционная среда nCube 2 интегрирована со средой управляющего компьютера, обеспечивая пользователей возможностью разрабатывать программы на привычной им платформе. С помощью PSE пользователи могут работать независимо, получая автономный контроль над выполнением своих программ. Множество пользователей могут одновременно выполнять программы.
Среда PSE базируется на nCX — высокооптимизированном, небольшом (до 128 КБ) и быстром микроядре (microkernel), который обеспечивает сервис операционной системы на каждом процессоре, как гиперкуба, так и системы ввода-вывода. nCX поддерживает управление процессами и управление памятью, многозадачность, интерфейс системных вызовов UNIX System V Release 4, а также высокопроизводительную систему передачи сообщений. Другие операционные средства, такие как драйверы ввода/вывода и сетевые соединения, распределяются между вычислительными узлами и процессорами ввода/вывода. Операционная система nCX обеспечивает единый интерфейс для параллельных программ и драйверов ввода/вывода.
На суперкомпьютерах nCube 2 поддерживаются два вида программирования:
SPMD (Single Program Multiple Data — Одна программа, Множество данных): в процессорную сеть загружается одна программа, каждый экземпляр программы обрабатывает свой собственный набор данных; процессоры могут обмениваться информацией.
MPMD (Multiple Program Multiple Data — Множество программ, Множество данных): в процессорную сеть загружается набор программ, каждый экземпляр каждой программы обрабатывает свои собственные данные; программы могут обмениваться информацией.
2.5 Надежность системы nCube 2
Суперкомпьютеры nCube 2 представляют наиболее надежные на сегодняшний день системы. Каждый аспект дизайна nCube 2 подразумевает надежность. Например, высокая интеграция — процессорный узел на одном чипе уменьшает число компонентов, в которых может произойти сбой. Быстрое, эффективное микроядро обеспечивает все необходимые для приложений функции, не перегружая систему более сложной, но менее надежной операционной средой.
Теоретически суперкомпьютер можно представить как объединение большого количества обычных компьютеров в один, единый блок. Иначе это можно представить, как локальную сеть, имеющую некоторое количество узлов в одном блоке. Следовательно, можно в качестве суперкомпьютера использовать и любую локальную (и не только локальную) сеть. Начиная с 1992 года по скорости роста производительности сетевое оборудование обгоняет процессоры. Для многих организаций перспектива использования сетей рабочих станций и ПК в качестве суперкомпьютеров весьма заманчива. Основные достоинства сетей — возможность постепенного расширения и модернизации, а также режим эксплуатации сети днем для обычных нужд разработки и проектирования, а ночью для расчетов. Сети не могут соревноваться по скорости вычисления с суперкомпьютерами-рекордсменами, но они на один-два порядка дешевле, их можно использовать там, где объемы расчетов велики, а суперкомпьютеры экономически не оправданы. Такие сетевые технологии будут способствовать использованию сетей в качестве параллельных вычислителей. В первую очередь это Fast Ethernet и Gigabit Ethernet. Далее идут технологии коммутации. И, наконец, новые сетевые протоколы, поддерживающие широковещание
3.1 Параллельные программы — главный тормоз
Главным препятствием к внедрению практически всех параллельных архитектур является отсутствие параллельных программ. У унаследованных от последовательного мира программ имеется недостаток — большой объем кода, принципиально не допускающий параллельного исполнения. Его нельзя преодолеть за счет усовершенствования техники компиляции. Так, если программа половину времени занимается действиями, которые требуется совершать строго последовательно, то параллельное выполнение оставшейся половины в предельном случае даст лишь двукратное ускорение. В результате, хотим мы этого или нет, последовательные вычислительные алгоритмы придется заменять параллельными.
3.2 MPI
Практически на всех параллельных системах имелись свои собственные библиотеки передачи сообщений. В простейшем случае они предусматривали передачу и прием отдельных пакетов между соседними процессорами. Более сложные поддерживали передачу сообщений произвольной длины, маршрутизацию сообщений и аппарат тегов, который позволяет принимающей стороне самой решать, в какой последовательности обрабатывать поступающие сообщения. Некоторые библиотеки допускали динамическое порождение и уничтожение процессов.
За последние годы в деле создания ПО для систем с распределенной памятью наметился серьезный прогресс. Самым крупным достижением была стандартизация интерфейса передачи сообщений MPI (message passing interface). Во-первых, MPI поддерживает несколько режимов передачи данных, важнейшие из которых: синхронная передача, не требующая выделения промежуточных буферов для данных и обеспечивающая надежную передачу данных сколь угодно большого размера, и асинхронная передача, при которой посылающий сообщение процесс не ждет начала приема, что позволяет эффективно передавать короткие сообщения. Во-вторых, MPI позволяет передавать данные не только от одного процесса к другому, но и поддерживает коллективные операции: широковещательную передачу, разборку-сборку, операции редукции. В-третьих, MPI предусматривает гетерогенные вычисления. Вычислительная система может включать разные процессоры, в том числе имеющие различные наборы команд и разное представление данных. Если у вас имеется суперкомпьютер, то это кажется излишним, но для организаций, эксплуатирующих сети рабочих станций с различными процессорами и версиями Unix, — это находка.
Синтаксис MPI облегчает создание приложений в модели SPMD (single program multiple data) — одна программа работает в разных процессах со своими данными. Одна и та же функция вызывается на узле-источнике и узлах-приемниках, а тип выполняемой операции (передача или прием) определяется с помощью параметра. Такой синтаксис вызовов делает SPMD-программы существенно компактнее, хотя и труднее для понимания.
Основное отличие стандарта MPI от его предшественников — понятие коммуникатора. Все операции синхронизации и передачи сообщений локализуются внутри коммуникатора. С коммуникатором связывается группа процессов. В частности, все коллективные операции вызываются одновременно на всех процессах, входящих в эту группу
Поддержка модульного программирования в сочетании с независимостью от аппаратуры дала мощный импульс к созданию библиотек. Одна из самых интересных разработок — пакет линейной алгебры ScaLAPACK, разработанный группой Дж. Донгарра.
3.3 Реализации MPI
Библиотеки MPI реализованы практически на всех современных суперкомпьютерах, к примеру, в университете Коимбра (Португалия) разработали библиотеку MPI для Windows 95 (http://pandora.uc.pt/w32mpi), которая особенно интересна для преподавателей и студентов, поскольку при отладке достаточно иметь обычный ПК, а запуск параллельных приложений в сети позволяет получить реальный выигрыш в производительности.
Практический опыт показывает, что идеально распараллеливаемые задачи, такие как параллельное умножение матриц, можно решать практически на любых сетях, и добавление даже относительно слабых вычислительных узлов дает выигрыш. Другие задачи, в частности решение систем линейных уравнений, более требовательны к коммуникационному оборудованию и качеству реализации передачи сообщений. Именно поэтому тесты для оценки реального быстродействия параллельных вычислительных систем базируются на параллельных аналогах известного пакета Linpack. Так, система линейных уравнений размером 800х800 решается на четырех компьютерах Sun SPARCstation 5, объединенных сетью Ethernet 10 Мбит/c, быстрее, чем на трех; на пяти — приблизительно за то же время, что и на четырех, а добавление шестого компьютера однозначно ухудшает производительность вычислительной системы. Если вместо Fast Ethernet 10 Мбит/c использовать Fast Ethernet 100 Мбит/с, что лишь незначительно увеличивает общую стоимость системы, время, затрачиваемое на коммуникацию, уменьшается почти в 10 раз, а для решения данной задачи можно будет эффективно применять уже десятки рабочих станций.
3.4 Средства программирования высокого уровня
Часто в сетях отдельные компьютеры неравноценны, и имеет смысл нагружать их по-разному, однако даже простейшая программа, учитывающая балансировку нагрузки, — если кодировать ее, используя лишь средства MPI, — становится необъятной, и отладка ее мало кому окажется по силам. Так, матрицы в пакете SсаLAPACK, независимо от решаемой задачи и мощностей вычислительных элементов, всегда распределяются по процессорам равномерно. В результате, при наличии хотя бы одного слабого компьютера в сети, вычисления затягиваются — все ждут отстающего. Динамическая балансировка нагрузки, практически бесплатно получающаяся на SMP-компьютерах, в распределенных системах чрезвычайно трудна, и даже простое распределение данных в соответствии с мощностями узлов и последующие пересылки кодируются весьма непросто.
Выходом из создавшегося положения стали языки программирования, основанные на параллелизме данных. Первый из них, Fortran-D, появился в 1992 г. На смену ему пришел High Performance Fortran (HPF), представляющий собой расширение языка Fortran 90 и требующий от пользователя лишь указать распределение данных по процессорам. В остальном программа имеет последовательный вид (это, впрочем, не означает, что, придумывая алгоритм, не следует задумываться о присущем ему параллелизме). Транслятор самостоятельно распределяет вычисления по процессорам, выбирая в качестве узла, на котором следует производить вычисления, тот процессор, на котором будет использован результат вычисления выражения. При необходимости транслятор генерирует обращения к библиотеке передачи сообщений, например MPI. От компилятора HPF требуется тщательный анализ программы. Пользователь практически не имеет рычагов управления количеством пересылок, а поскольку инициализация каждой пересылки, независимо от объема передаваемой информации, — это десятки тысяч машинных тактов, качество получаемой программы от него зависит слабо.
В языке программирования mpC (http://www.ispras.ru/) — расширении ANSI Cи — принят компромиссный подход. Здесь пользователь распределяет не только данные, но и вычисления. Переменные и массивы распределяются по виртуальным сетям (networks) и подсетям, при этом в описаниях сетей указываются относительные мощности узлов и скорости связей между ними. В процессе выполнения mpC-программы система поддержки языка стремится максимально эффективно отобразить виртуальные сети на группы процессоров. В результате пользователь получает возможность равномерно нагружать узлы
3.5 Попытка прогноза
Использование сетей компьютеров для вычислительных задач — уже сегодня дело вполне реальное. В этом направлении ведутся научные разработки и сделан ряд пилотных проектов. В качестве коммуникационной платформы сейчас наиболее экономически оправдано применение коммутируемых сетей Fast Ethernet. При этом себестоимость системы производительностью 1,5-6 операций с вещественными числами в секунду на задачах линейной алгебры будет ниже 100 тыс. долл. Через пару лет в качестве коммуникационной платформы можно будет использовать Gigabit Ethernet или ATM (Asynchronous Transfer Mode — асинхронный режим передачи), обеспечивающие на порядок более высокие скорости передачи данных. В течение одного-двух лет должны появиться общепризнанные широковещательные протоколы транспортного уровня и основанные на них реализации MPI. На уровне прикладных программ MPI использоваться не будет. На нем станут базироваться лишь некоторые библиотеки и системы поддержки языков, основанные на параллелизме данных.
4 ПИМЕРЫ ИСПОЛЬЗОВАНИЯ СУПЕРКОМПЬЮЮТЕРОВ
4.1 Моделирование построение белка
Корпорация IBM объявила о том, что планирует выделить 100 миллионов долларов на создание самого быстрого в мире суперкомпьютера, который будет использоваться для моделирования построения белка из аминокислот.
Новый суперкомпьютер, носящий название Blue Gene, будет способен совершать один квадриллион операций в секунду, то есть будет в тысячу раз мощнее знаменитого Deep Blue, с которым в 1997 году играл в шахматы чемпион мира Гарри Каспаров.
Blue Gene будет работать на основе более миллиона процессоров, каждый из которых способен совершать миллиард операций в секунду, сообщают представители IBM. Новый гигант будет в два миллиона раз быстрее, чем существующие сегодня мощнейшие персональные компьютеры.
Исследователи рассчитывают достигнуть этого уровня мощности в течение пяти лет, по истечении которых суперкомпьютер будет использоваться в генетическом моделировании. Если Blue Gene оправдает возложенные на него надежды, его создание станет огромным шагом вперед в области здравоохранения и биологии.
4.2 Виртуальная башня
По оценкам Федерального управления гражданской авиации США, в течение ближайших 20 лет количество самолетов, используемых для коммерческих полетов, увеличится вдвое. Это станет серьезным испытанием для авиадиспетчеров, которым придется внедрять новые технологии управления авиационными потоками как на земле, так и в воздухе.
НАСА решило внести свою скромную лепту в преодоление этой проблемы и создало симулятор настоящей башни авиадиспетчеров стоимостью в $110 миллионов. Башня FutureFlight Central расположена в Исследовательском центре Эймса НАСА. Она дает возможность симулировать работу крупнейших аэропортов мира, позволяя в реальном времени испытывать новые технологии управления перемещением самолетов. Это двухэтажное сооружение, в котором могут одновременно работать 12 операторов. Мозговым центром башни является 16-процессорный суперкомпьютер Reality Monster от SGI, обошедшийся НАСА в $1 миллион. Именно он обеспечивает вывод симуляции на 12 огромных видеоэкранов башни, имитирующих настоящие окна. Суперкомпьютер позволяет моделировать — помимо обстановки аэропорта — погодные эффекты и до 200 одновременно движущихся самолетов и машин наземного обслуживания. Первый этаж предназначен для «пилотов» и «обслуживающего персонала», которые будут вносить дополнительный элемент реалистичности, общаясь с авиадиспетчерами с помощью портативных радиостанций. Башня также может использоваться и в других симуляционных целях. В частности, планируется, что ее услугами смогут воспользоваться специалисты из Отделения автономных роботов НАСА для создания комнат управления межпланетными миссиями, состоящими из роботизированных машин.
ИСПОЛЬЗУЕМАЯ ЛИТЕРАТУРА:
1. Статья Андрея Шитова «Электронный супермозг», журнал «Эхо планеты» №4 1992г.
2. Статья Дмитрия Арапова «Можно ли превратить сеть в суперкомпьютер?», журнал «Открытые системы» №4 1997г.
3. Статья Н. Дубовой «Суперкомпьютеры nCube», журнал «Открытые системы»
4. Рубрика «Новости» из журналов КомпьюТерра
www.ronl.ru
Министерство образования Российской Федерации
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра Автоматики и Вычислительной Техники
Реферат
на тему: "Современные суперЭВМ"
Факультет: АВТ Преподаватель: ……………………….
Группа: АП-318
Студент: Цырендылыков Батор
Новосибирск,
2003 г.
Содержание:
Суперкомпьютеры - что это?. 3
Суперкомпьютеры - зачем это?. 5
Суперкомпьютеры - как это?. 7
Все новое - это хорошо забытое старое. 9
А что же сейчас используют в мире?. 12
Если где-то прибудет, то где-то обязательно уменьшится. 14
Приложения. 16
Первые 25 суперкомпьютеров из списка Top500 (ноябрь 2003): 16
Сверхсложные вычислительные задачи, решаемые на суперкомпьютерах. 18
Классификация архитектур вычислительных систем (Классификация Флинна) 19
Наиболее распространенные сегодня суперкомпьютеры: 21
Список использованной литературы: 23
Суперкомпьютеры - что это?
О том, что где-то существуют некие мистические "очень мощные" компьютеры слышал, наверное, каждый. В самом деле, не так давно было много разговоров о поставке в Гидрометеоцентр России могучих компьютеров фирмы Cray Research. В прессе регулярно проходят сообщения о нелегальных поставках вычислительной техники, попадающей под эмбарго американского правительства. Опять же, если компьютер с именем Deep Blue самого Гарри Каспарова, то он, согласитесь - и здесь интуиция Вас не подвела, ну никак не может быть простой персоналкой.
Для многих подобные компьютеры так и остаются тайной за семью печатями, некой TERRA INCOGNITA, с которой ассоциации всегда связаны с чем-то большим: огромные размеры, большие задачи, крупные фирмы и компании, невероятные скорости работы или что-то иное, но обязательно это будет "на грани", для чего "обычного" явно мало, а подойдет только "супер", суперкомпьютер или супер-ЭВМ. В этом интуитивном восприятии есть изрядная доля истины, поскольку к классу супер-ЭВМ принадлежат лишь те компьютеры, которые имеют максимальную производительность в настоящее время. Быстрое развитие компьютерной индустрии определяет относительность данного понятия - то, что десять лет назад можно было назвать суперкомпьютером, сегодня под это определение уже не попадает. Например, производительность персональных компьютеров, использующих Pentium-II/300MHz, сравнима с производительностью суперкомпьютеров начала 70-х годов, однако по сегодняшним меркам суперкомпьютерами не являются ни те, ни другие.
В любом компьютере все основные параметры тесно связаны. Трудно себе представить универсальный компьютер, имеющий высокое быстродействие и мизерную оперативную память, либо огромную оперативную память и небольшой объем дисков. Следуя логике, делаем вывод: супер-ЭВМ это компьютеры, имеющие в настоящее время не только максимальную производительность, но и максимальный объем оперативной и дисковой памяти, а также специализированное ПО, с помощью которого можно эффективно всем этим воспользоваться.
Определений суперкомпьютерам пытались давать много, иногда серьезных, иногда ироничных. В частности, лет пять назад, когда эта тема поднималась в конференции comp.parallel, Кен Батчер (Ken Batcher) предложил такой вариант: суперкомпьютер - это устройство, сводящее проблему вычислений к проблеме ввода/вывода. Все верно, в каждой шутке есть доля шутки: что раньше долго вычислялось, временами сбрасывая нечто на диск, на супер-ЭВМ может выполниться мгновенно, переводя стрелки неэффективности на относительно медленные устройства ввода/вывода.
Так о чем же речь, и какие суперкомпьютеры существуют в настоящее время в мире? Вот несколько примеров, показывающих основные параметры машин этого класса.
CRAY T932, векторно-конвейерный компьютер фирмы CRAY Research Inc. (в настоящее время это подразделение Silicon Graphics Inc.), впервые выпущенный в 1996 году. Максимальная производительность одного процессора равна почти 2 млрд. операций в секунду, оперативная память наращивается до 8Гб (Гига это в тысячу раз больше, чем Мега), дисковое пространство до 256000Гб (т.е. 256Тб, Тера это в тысячу раз больше, чем Гига). Компьютер в максимальной конфигурации содержит 32 подобных процессора, работающих над единой общей памятью, поэтому максимальная производительность всей вычислительной системы составляет более 60 млрд. операций в секунду.
IBM SP2, массивно-параллельный компьютер фирмы IBM (иногда такие компьютеры называют компьютерами с массовым параллелизмом). В настоящее время строится на основе стандартных микропроцессоров PowerPC 604e или POWER2 SC, соединенных между собой через высокоскоростной коммутатор, причем каждый имеет свою локальную оперативную память и дисковую подсистему. Характеристики этих микропроцессоров известны и особых удивлений не вызывают, однако в рамках одной SP системы их может быть объединено очень много. В частности, максимальная система, установленная в Pacific Northwest National Laboratoriy (Richland, USA), содержит 512 процессоров. Исходя из числа процессоров, можно представить суммарную мощность всей вычислительной системы...
HP Exemplar, компьютер с кластерной архитектурой от Hewlett-Packard Inc. В частности, модель V2250 (класс V) построена на основе микропроцессора PA-8200, работающего с тактовой частотой 240MHz. До 16 процессоров можно объединить в рамках одного узла с общей оперативной памятью до 16Гб. В свою очередь узлы в рамках одной вычислительной системы соединяются между собой через высокоскоростные каналы передачи данных.
ASCI RED, детище программы Accelerated Strategic Computing Initiative, - это самый мощный на настоящий момент компьютер. Построенный по заказу Министерства энергетики США, он объединяет 9152 (!) процессоров Pentium Pro, имеет 600Гб суммарной оперативной памяти и общую производительность 1800 миллиардов операций в секунду. Человеку потребовалось бы 57000 лет, чтобы даже с калькулятором выполнить все те операции, которые этот компьютер делает за 1 секунду!
Простые расчеты показывают, что даже умеренные конфигурации таких компьютеров могут стоить не один миллион долларов США - ради интереса прикиньте, сколько стоят, скажем, лишь 600 Гбайт оперативной памяти? Возникает целый ряд естественных вопросов:
Какие задачи настолько важны, что требуются компьютеры стоимостью несколько миллионов долларов?
Или, какие задачи настолько сложны, что хорошего Pentium-IV не достаточно?
Суперкомпьютеры - зачем это?
Для того, чтобы оценить сложность решаемых на практике задач, возьмем конкретную предметную область, например, оптимизацию процесса добычи нефти. Имеем подземный нефтяной резервуар с каким-то число пробуренных скважин - по одним на поверхность откачивается нефть, по другим обратно закачивается вода. Нужно смоделировать ситуацию в данном резервуаре, чтобы оценить запасы нефти или понять необходимость в дополнительных скважинах.
Примем упрощенную схему, при которой моделируемая область отображается в куб, однако и ее будет достаточно для оценки числа необходимых арифметических операций. Разумные размеры куба, при которых можно получать правдоподобные результаты - это 100*100*100 точек. В каждой точке куба надо вычислить от 5 до 20 функций: три компоненты скорости, давление, температуру, концентрацию компонент (вода, газ и нефть - это минимальный набор компонент, в более реалистичных моделях рассматривают, например, различные фракции нефти). Далее, значения функций находятся как решение нелинейных уравнений, что требует от 200 до 1000 арифметических операций. И наконец, если исследуется нестационарный процесс, т.е. нужно понять, как эта система ведет себя во времени, то делается 100-1000 шагов по времени. Что получилось:
106(точек сетки)*10(функций)*500(операций)*500(шагов по времени) = 2.5*1012
2500 миллиардов арифметических операций для выполнения одного лишь расчета! А изменение параметров модели? А отслеживание текущей ситуации при изменении входных данных? Подобные расчеты необходимо делать много раз, что накладывает очень жесткие требования на производительность используемых вычислительных систем.
Примеры использования суперкомпьютеров можно найти не только в нефтедобывающей промышленности (см. Приложение).
По данным Марка Миллера (Mark Miller, Ford Motor Company), для выполнения crash-тестов, при которых реальные автомобили разбиваются о бетонную стену с одновременным замером необходимых параметров, съемкой и последующей обработкой результатов, компании Форд понадобилось бы от 10 до 150 прототипов новых моделей при общих затратах от 4 до 60 миллионов долларов. Использование суперкомпьютеров позволило сократить число прототипов на одну треть.
В 1995 году корпус автомобиля Nissan Maxima удалось сделать на 10% прочнее благодаря использованию суперкомпьютера фирмы Cray (The Atlanta Journal, 28 мая, 1995г). С помощью него были найдены не только слабые точки кузова, но и наиболее эффективный способ их удаления. Совсем свежий пример - это развитие одной из крупнейших мировых систем резервирования Amadeus, используемой тысячами агентств со 180000 терминалов в более чем ста странах. Установка двух серверов Hewlett-Packard T600 по 12 процессоров в каждом позволила довести степень оперативной доступности центральной системы до 99.85% при текущей загрузке около 60 миллионов запросов в сутки.
И подобные примеры можно найти повсюду. В свое время исследователи фирмы DuPont искали замену хлорофлюорокарбону. Нужно было найти материал, имеющий те же положительные качества: невоспламеняемость, стойкость к коррозии и низкую токсичность, но без вредного воздействия на озоновый слой Земли. За одну неделю были проведены необходимые расчеты на суперкомпьютере с общими затратами около 5 тысяч долларов. По оценкам специалистов DuPont, использование традиционных экспериментальных методов исследований потребовало бы около трех месяцев и 50 тысяч долларов и это без учета времени, необходимого на синтез и очистку необходимого количества вещества.
Суперкомпьютеры - как это?
Ну что, похоже, суперкомпьютеры и в самом деле имеют право на существование. Теперь нужно прояснить, по всей видимости, основной вертящийся на языке вопрос - почему они считают так быстро? Вариантов ответа может быть несколько, среди которых два имеют явное преимущество: развитие элементной базы и использование новых решений в архитектуре компьютеров.
Попробуем разобраться, какой из факторов является решающим в достижении современных фантастических показателей производительности. Для разрешения этого вопроса обратимся к историческим фактам. Известно, что на компьютере EDSAC (1949 г.), имевшего время такта 2мкс, можно было выполнить 2*n арифметических операций за 18*n мс, то есть в среднем 100 арифметических операций в секунду. Сравним с современным суперкомпьютером CRAY C90: время такта приблизительно 4нс, а пиковая производительность около 1 миллиарда арифметических операций в секунду.
Что же получается? Производительность компьютеров за этот период выросла приблизительно в десять миллионов раз. Уменьшение времени такта является прямым способом увеличением производительности, однако эта составляющая (с 2мкс до 4нс) в общем объеме дает вклад лишь в 500 раз. Откуда же взялось остальное? Ответ очевиден - использование новых решений в архитектуре компьютеров, среди которых основное место занимает принцип параллельной обработки данных.
Данный принцип, воплощая идею одновременного выполнения нескольких действий, имеет две разновидности: конвейерность и собственно параллельность. Оба вида параллельной обработки интуитивно понятны, поэтому сделаем лишь небольшие пояснения.
Параллельная обработка. Если некое устройство выполняет одну операцию за единицу времени, то тысячу операций оно выполнит за тысячу единиц. Если предположить, что есть пять таких же независимых устройств, способных работать одновременно, то ту же тысячу операций система из пяти устройств может выполнить уже не за тысячу, а за двести единиц времени. Аналогично система из N устройств ту же работу выполнит за 1000/N единиц времени. Подобные аналогии можно найти и в жизни: если один солдат вскопает огород за 10 часов, то рота солдат из пятидесяти человек с такими же способностями, работая одновременно, справятся с той же работой за 12 минут - принцип параллельности в действии!
Конвейерная обработка. Что необходимо для сложения двух вещественных чисел, представленных в форме с плавающей запятой? Целое множество мелких операций таких, как сравнение порядков, выравнивание порядков, сложение мантисс, нормализация и т.п. Процессоры первых компьютеров выполняли все эти "микрооперации" для каждой пары аргументов последовательно одна за одной до тех пор, пока не доходили до окончательного результата, и лишь после этого переходили к обработке следующей пары слагаемых.
Идея конвейерной обработки заключается в выделении отдельных этапов выполнения общей операции, причем каждый этап, выполнив свою работу, передавал бы результат следующему, одновременно принимая новую порцию входных данных. Получаем очевидный выигрыш в скорости обработки за счет совмещения прежде разнесенных во времени операций. Предположим, что в операции можно выделить пять микроопераций, каждая из которых выполняется за одну единицу времени. Если есть одно неделимое последовательное устройство, то 100 пар аргументов оно обработает за 500 единиц. Если каждую микрооперацию выделить в отдельный этап (или иначе говорят - ступень) конвейерного устройства, то на пятой единице времени на разной стадии обработки такого устройства будут находится первые пять пар аргументов, а весь набор из ста пар будет обработан за 5+99=104 единицы времени - ускорение по сравнению с последовательным устройством почти в пять раз (по числу ступеней конвейера).
Казалось бы, конвейерную обработку можно с успехом заменить обычным параллелизмом, для чего продублировать основное устройство столько раз, сколько ступеней конвейера предполагается выделить. В самом деле, пять устройств предыдущего примера обработают 100 пар аргументов за 100 единиц времени, что быстрее времени работы конвейерного устройства! В чем же дело? Ответ прост, увеличив в пять раз число устройств, мы значительно увеличиваем как объем аппаратуры, так и ее стоимость. Представьте себе, что на автозаводе решили убрать конвейер, сохранив темпы выпуска автомобилей. Если раньше на конвейере одновременно находилась тысяча автомобилей, то, действуя по аналогии с предыдущим примером надо набрать тысячу бригад, каждая из которых (1) в состоянии полностью собрать автомобиль от начала до конца, выполнив сотни разного рода операций, и (2) сделать это за то же время, что машина прежде находилась на конвейере. Представьте себестоимость такого автомобиля. Разве что Ламборгини приходит на ум, но потому и возникла конвейерная обработка...
Сегодня параллелизмом в архитектуре компьютеров уже мало кого удивишь. Все современные микропроцессоры, будь то Pentium IV или PA-8200, MIPS R10000 или Power2 SuperChip используют тот или иной вид параллельной обработки. На презентациях новых чипов и в пресс-релизах корпораций это преподносится как последнее слово техники и передовой край науки, и это действительно так, если рассматривать реализацию этих принципов именно в рамках одного кристалла.
Вместе с тем, сами эти идеи появились очень давно. Изначально они внедрялись в самых передовых, а потому единичных, компьютерах своего времени. Затем после должной отработки технологии и удешевления производства они спускались в компьютеры среднего класса, и, наконец, сегодня все это в полном объеме воплощается в рабочих станциях и персональных компьютерах.
Все новое - это хорошо забытое старое
Для того чтобы убедиться, что все основные нововведения в архитектуре современных процессоров на самом деле использовались еще со времен, когда ни микропроцессоров, ни понятия суперкомпьютеров еще не было, совершим маленький экскурс в историю, начав практически с момента рождения первых ЭВМ.
Все самые первые компьютеры, например, EDSAC, EDVAC, UNIVAC, сначала считывали данные последовательно бит за битом из памяти, а затем их аналогично обрабатывали в арифметическом устройстве.
1953 г. Первым коммерчески доступным компьютером, использующим разрядно-параллельную память (на CRT) и разрядно-параллельную арифметику, стал компьютер IBM 701. К слову будет сказано, наибольшую популярность в то время получила модель IBM 704 (1955 г.), проданной в количестве 150 экземпляров (!), в которой, помимо упомянутых особенностей, была впервые применена память на ферритовых сердечниках и аппаратное арифметическое устройство с плавающей точкой.
1958г. Процессоры первых компьютеров сами управляли вводом/выводом. Однако скорость работы самого быстрого внешнего устройства, а по тем временам это магнитная лента, была в 1000 раз меньше скорости процессора, поэтому во время операций ввода/вывода процессор фактически простаивал. В 1958г. к компьютеру IBM 704 присоединили 6 независимых процессоров ввода/вывода, которые после получения команд могли работать параллельно с основным процессором, а сам компьютер переименовали в IBM 709. Данная модель получилась удивительно удачной, так как вместе с модификациями было продано около 400 экземпляров, причем последний был выключен в 1975 году - 20 лет существования!
1961г. Создается компьютер IBM STRETCH, имеющий две принципиально важные особенности: опережающий просмотр вперед для выборки команд и расслоение памяти на два банка для согласования низкой скорости выборки из памяти и скорости выполнения операций.
1963г. В Манчестерском университете разработан компьютер ATLAS, использующий конвейерный принцип выполнения команд. Выполнение команд разбито на 4 стадии: выборка команды, вычисление адреса операнда, выборка операнда и выполнение операции, позволившие уменьшить время выполнения команд в среднем с 6 мкс до 1,6 мкс. Справедливости ради надо отметить, что данный компьютер вообще оставил заметный след в истории развития вычислительной техники: помимо сказанного, в нем впервые была использована мультипрограммная операционная система, основанная на использовании виртуальной памяти и системы прерываний.
1964г. Фирма Control Data Corporation (CDC) при непосредственном участии одного из ее основателей, Сеймура Р.Крэя (Seymour R.Cray) выпускает компьютер CDC-6600 - первый компьютер, в котором использовалось несколько независимых функциональных устройств. Для сравнения с сегодняшним днем приведем некоторые параметры компьютера: время такта 100нс, производительность 2-3 млн. операций в секунду, оперативная память разбита на 32 банка по 4096 60-ти разрядных слов, цикл памяти 1мкс, 10 независимых функциональных устройств. Машина имела громадный успех на научном рынке, активно вытесняя машины фирмы IBM.
1969г. CDC выпускает компьютер CDC-7600 с восемью независимыми конвейерными функциональными устройствами - сочетание параллельной и конвейерной обработки.
В 1967 году были начаты работы над проектом ILLIAC IV, первым матричным процессором, объединяющим 256 синхронно работающих процессорных элементов. К концу 1971 года изготовлена система из 64-х процессоров, в 1974г. она введена в эксплуатацию, однако доводка шла до 1975 года. Несмотря на то, что построили в 4 раза меньше задуманного, да и то лишь в одном экземпляре, а денег в результате затратили в 4 раза больше, данный проект оказал огромное влияние на архитектуру последующих машин подобного класса таких, как PEPE, BSP, ICL DAP и ряда других.
В 1972 году С.Крэй покидает CDC и основывает свою компанию Cray Research, которая в 1976г. выпускает первый векторно-конвейерный компьютер CRAY-1: время такта 12.5нс, 12 конвейерных функциональных устройств, пиковая производительность 160 миллионов операций в секунду, оперативная память до 1Мслова (слово - 64 разряда), цикл памяти 50нс. Главным новшеством является введение векторных команд, работающих с целыми массивами независимых данных и позволяющих эффективно использовать конвейерные функциональные устройства.
На этом означенный экскурс в историю можно смело закончить, поскольку роль параллелизма и его влияние на развитие архитектуры компьютеров уже очевидна.
Попутно стоит заметить, что параллелизм это не только передовая технология, используемая во всех современных суперкомпьютерах, но и довольно страшная сила. Очередной пример тому появился совсем недавно. По сообщению Electronic Frontier Foundation, Джон Гилмор (John Gilmore) и Поль Кочер (Paul Kocher) смогли взломать 56-битный код, используемый банками и некоторыми военными организациями США, с помощью собранной в домашних условиях параллельной вычислительной системы.
Раскрытый алгоритм шифрования, известный как DES (Data Encryption Standard), использует 56-битные ключи, и это при том, что сейчас в реальных ситуациях во многих случаях используются лишь 40-битные. До настоящего момента правительственные органы США утверждали, что ни террористы, ни какие-либо другие криминальные структуры не в состоянии сделать компьютер, взламывающий DES.
Вся работа по расшифровке была проделана за 56 часов на компьютере, состоящем из более чем 1000 процессоров: 27 плат по 64 процессора в каждой. Каждая плата была подсоединена к обычной персоналке, которая и управляла всем процессом. Гилмор назвал свою систему Deep Crack - мягкий намек на шахматный компьютер Deep Blue от IBM. Вечером 17 июля этого года после проверки 17,902,806,669,197,312 ключей компьютер определил, что зашифрованным предложением было: "It's time for those 128-, 192-, and 256-bit keys."
А что же сейчас используют в мире?
По каким направлениям идет развитие высокопроизводительной вычислительной техники в настоящее время? Таких направлений четыре.
1.Векторно-конвейерные компьютеры. Особенностью таких машин являются, во-первых, конвейерные функциональные устройства и, во-вторых, набор векторных инструкций в системе команд. В отличие от традиционного подхода, векторные команды оперируют целыми массивами независимых данных, что позволяет эффективно загружать доступные конвейеры. Типичным представителем данного направления является линия векторно-конвейерных компьютеров CRAY компании Cray Research.
2.Массивно-параллельные компьютеры с распределенной памятью. Идея построения компьютеров этого класса тривиальна: возьмем серийные микропроцессоры, снабдим каждый своей локальной памятью, соединим посредством некоторой коммуникационной среды, например, сетью - вот и все. Достоинств у такой архитектуры масса: если нужна высокая производительность, то можно добавить еще процессоров, а если ограничены финансы или заранее известна требуемая вычислительная мощность, то легко подобрать оптимальную конфигурацию.
Однако есть и решающий "минус", сводящий многие "плюсы" на нет. Дело в том, что межпроцессорное взаимодействие в компьютерах этого класса идет намного медленнее, чем происходит локальная обработка данных самими процессорами. Именно поэтому написать эффективную программу для таких компьютеров очень сложно, а для некоторых алгоритмов иногда просто невозможно. К данному классу можно отнести компьютеры Intel Paragon, IBM SP1, Parsytec, в какой-то степени IBM SP2 и CRAY T3D/T3E, хотя в этих компьютерах влияние указанного минуса значительно ослаблено. К этому же классу можно отнести и сети компьютеров, которые все чаще рассматривают как дешевую альтернативу крайне дорогим суперкомпьютерам.
3.Параллельные компьютеры с общей памятью. Вся оперативная память таких компьютеров разделяется несколькими одинаковыми процессорами. Это снимает проблемы предыдущего класса, но добавляет новые - число процессоров, имеющих доступ к общей памяти по чисто техническим причинам нельзя сделать большим. В данное направление входят многие современные многопроцессорные SMP-компьютеры, например, сервер HP T600 или Sun Ultra Enterprise 5000.
4.Кластеры. Последнее направление, строго говоря, не является самостоятельным, а скорее представляет собой комбинации предыдущих трех. Из нескольких процессоров, традиционных или векторно-конвейерных, и общей для них памяти сформируем вычислительный узел. Если вычислительной мощности полученного узла не достаточно, то объединим несколько узлов высокоскоростными каналами. Подобную архитектуру называют кластерной, и по такому принципу построены CRAY SV1, HP Exemplar, Sun StarFire, NEC SX-5, последние модели IBM SP2 и другие. Именно это направление является наиболее перспективным в настоящее время.
Два раза в год собираются данные для формирования списка пятисот самых мощных вычислительных установок мира (Top500). Последняя редакция списка вышла в ноябре этого года, согласно которой первое место занимает компьютер Earth-Simulator, а на второй позиции стоит компьютер ASCI Q - AlphaServer от Hewlett-Packard, объединяющий 8192 процессора Sc45.
Если где-то прибудет, то где-то обязательно уменьшится
К сожалению, чудеса в жизни редко случаются. Гигантская производительность параллельных компьютеров и супер-ЭВМ с лихвой компенсируется сложностями их использования. Начнем с самых простых вещей. У вас есть программа и доступ, скажем, к 256-процессорному компьютеру. Что вы ожидаете? Да ясно что: вы вполне законно ожидаете, что программа будет выполняться в 256 раз быстрее, чем на одном процессоре. А вот как раз этого, скорее всего, и не будет.
Предположим, что в вашей программе доля операций, которые нужно выполнять последовательно, равна f, где 0<=f<=1 (при этом доля понимается не по статическому числу строк кода, а по числу операций в процессе выполнения). Крайние случаи в значениях f соответствуют полностью параллельным (f=0) и полностью последовательным (f=1) программам. Так вот, для того, чтобы оценить, какое ускорение S может быть получено на компьютере из p процессоров при данном значении f, можно воспользоваться законом Амдала:
Если вдуматься как следует, то закон, на самом деле, страшный. Предположим, что в вашей программе лишь 10% последовательных операций, т.е. f=0.1 . Что утверждает закон? А он говорит о том, что сколько бы вы процессоров не использовали, ускорения работы программы более, чем в десять раз никак не получите... да и то 10 - это теоретическая верхняя оценка самого лучшего случая, когда никаких других отрицательных факторов нет... :((
Отсюда первый вывод - прежде, чем основательно перепахивать код для перехода на параллельный компьютер (а любой суперкомпьютер, в частности, является таковым) надо основательно подумать: "А не будет ли потом мучительно больно за увиденный результат и стоит ли овчинка выделки?". Если, оценив заложенный в программе алгоритм, вы поняли, что доля последовательных операций велика, то на значительное ускорение рассчитывать явно не приходится и нужно думать о замене отдельных компонент алгоритма.
В ряде случаев последовательный характер алгоритма изменить не так сложно. Допустим, что в программе есть следующий фрагмент для вычисления суммы n чисел:
s = 0
Do i = 1, n
s = s + a(i)
EndDo
По своей природе он строго последователен, так как на i-й итерации цикла требуется результат с (i-1)-й и все итерации выполняются одна за одной. Имеем 100% последовательных операций, а значит и никакого эффекта от использования параллельных компьютеров. Вместе с тем, выход очевиден. Поскольку в большинстве реальных случаев нет существенной разницы, в каком порядке складывать числа, выберем иную схему сложения. Сначала найдем сумму пар соседних элементов: a(1)+a(2), a(3)+a(4), a(5)+a(6) и т.д. Заметим, что при такой схеме все пары можно складывать одновременно! На следующих шагах будем действовать абсолютно аналогично, получив вариант параллельного алгоритма.
Казалось бы в данном случае все проблемы удалось разрешить. Но представьте, что доступные вам процессоры разнородны по своей производительности. Значит, будет такой момент, когда кто-то из них еще трудится, а кто-то уже все сделал и бесполезно простаивает в ожидании. Если разброс в производительности компьютеров большой, то и эффективность всей системы при равномерной загрузке процессоров будет крайне низкой.
Но пойдем дальше и предположим, что все процессоры одинаковы. Проблемы кончились? Опять нет! Процессоры выполнили свою работу, но результат-то надо передать другому для продолжения процесса суммирования... а на передачу уходит время... и в это время процессоры опять простаивают...
Словом, заставить параллельную вычислительную систему или супер-ЭВМ работать с максимальной эффективностью на конкретной программе - это, прямо скажем, задача не из простых. Да что там 'заставить работать', иногда даже возникающие вокруг суперкомпьютеров вопросы ставят в тупик. Верно ли утверждение: чем мощнее компьютер, тем быстрее на нем можно решить данную задачу. Ответ противоположный ожидаемому. Действительно, это не верно, что можно пояснить простым бытовым примером. Если один землекоп выкопает яму 1м*1м*1м за 1 час, то два таких же землекопа это сделают за 30 мин - в это можно поверить. А за сколько времени эту работу сделают 60 землекопов? Неужели за 1 минуту? Конечно же нет! Начиная с некоторого момента они будут просто мешаться друг другу, не ускоряя, а замедляя процесс. Так же и в компьютерах: если задачка слишком мала, то мы будем дольше заниматься распределением работы, синхронизацией процессов, сборкой результатов и т.п., чем непосредственно полезной работой.
Вообще замечено, что эмоциональное состояние человека, впервые сталкивающегося с суперкомпьютером, проходит несколько стадий. Сначала он испытывает что-то вроде эйфории, начитавшись рекламных данных о компьютере и находясь в предвкушении быстрого разрешения всех своих вычислительных проблем. После первого запуска возникает недоумение и подозрение, что что-то он сделал не так - больно уж реально достигнутая производительность отличается от заявленной. Он запускает программу повторно, но результат, если и меняется в лучшую сторону, то очень слабо. Он идет к местному компьютерному гуру, и тут-то его поджидает настоящий удар. Оказывается, что, во-первых, полученные им 5% от максимальной производительности компьютера это еще не самый худший вариант. Во-вторых, если он хочет "выжать" из такого компьютера максимум, то для него вся работа только начинается. Во многих случаях это сделать можно, а как - это искусство.
Приложение
Ранг | МестоположениеСтрана/Год | Компьютер / ПроцессорыПроизводитель | Семейство компьютеров | Вид установкиОбласть применения | RmaxRpeak | Nmaxnhalf |
1 | Earth Simulator CenterJapan/2002 | Earth-Simulator/ 5120NEC | NEC VectorSX6 | Research | 3586040960 | 1.0752e+06266240 |
2 | Los AlamosNational LaboratoryUnited States/2002 | ASCI Q - AlphaServer SC45, 1.25 GHz/ 8192HP | HP AlphaServerAlpha-Server-Cluster | Research | 1388020480 | 633000225000 |
3 | Virginia TechUnited States/2003 | X1100 Dual 2.0 GHz Apple G5/Mellanox Infiniband 4X/Cisco GigE/ 2200Self-made | NOW - PowerPCG5 Cluster | Academic | 1028017600 | 520000152000 |
4 | NCSAUnited States/2003 | TungstenPowerEdge 1750, P4 Xeon 3.06 GHz, Myrinet/ 2500Dell | Dell ClusterPowerEdge 1750, Myrinet | Academic | 981915300 | 630000 |
5 | Pacific NorthwestNational LaboratoryUnited States/2003 | Mpp2Integrity rx2600 Itanium2 1.5 GHz, Quadrics/ 1936HP | HP ClusterIntegrity rx2600 Itanium2 Cluster | Research | 863311616 | 835000140000 |
6 | Los AlamosNational LaboratoryUnited States/2003 | LightningOpteron 2 GHz, Myrinet/ 2816Linux Networx | NOW - AMDNOW Cluster - AMD - Myrinet | Research | 805111264 | 761160109208 |
7 | LawrenceLivermore National LaboratoryUnited States/2002 | MCR Linux Cluster Xeon 2.4 GHz - Quadrics/ 2304Linux Networx | NOW - Intel PentiumNOW Cluster - Intel Pentium - Quadrics | Research | 763411060 | 35000075000 |
8 | LawrenceLivermore National LaboratoryUnited States/2000 | ASCI White, SP Power3 375 MHz/ 8192IBM | IBM SPSP Power3 375 MHz high node | Research | 730412288 | 640000 |
9 | NERSC/LBNLUnited States/2002 | SeaborgSP Power3 375 MHz 16 way/ 6656IBM | IBM SPSP Power3 375 MHz high node | Research | 73049984 | 640000 |
10 | LawrenceLivermore National LaboratoryUnited States/2003 | xSeries Cluster Xeon 2.4 GHz - Quadrics/ 1920IBM | IBM ClusterxSeries Cluster Xeon - Quadrics | Research | 65869216 | 42500090000 |
11 | National Aerospace Laboratory of JapanJapan/2002 | PRIMEPOWER HPC2500 (1.3 GHz)/ 2304Fujitsu | PRIMEPOWER HPC2500PRIMEPOWER HPC2500 | ResearchAerospace | 540611980 | 658800100080 |
12 | PittsburghSupercomputing CenterUnited States/2001 | AlphaServer SC45, 1 GHz/ 3016HP | HP AlphaServerAlpha-Server-Cluster | Academic | 44636032 | 28000085000 |
13 | NCAR (National Center for Atmospheric Research)United States/2003 | pSeries 690 Turbo 1.3 GHz/ 1600IBM | IBM SPSP Power4, Colony | ResearchWeather and Climate Research | 41848320 | 55000093000 |
14 | Chinese Academy of ScienceChina/2003 | DeepComp 6800, Itanium2 1.3 GHz, QsNet/ 1024Legend | LegendDeepComp 6800 | Academic | 41835324.8 | 491488 |
15 | Commissariat a l'Energie Atomique (CEA)France/2001 | AlphaServer SC45, 1 GHz/ 2560HP | HP AlphaServerAlpha-Server-Cluster | Research | 39805120 | 36000085000 |
16 | HPCxUnited Kingdom/2002 | pSeries 690 Turbo 1.3GHz/ 1280IBM | IBM SPSP Power4, Colony | Academic | 34066656 | 317000 |
17 | Forecast Systems Laboratory - NOAAUnited States/2002 | Aspen Systems, Dual Xeon 2.2 GHz - Myrinet2000/ 1536HPTi | NOW - Intel PentiumNOW Cluster - Intel Pentium - Myrinet | ResearchWeather and Climate Research | 33376758 | 28500075000 |
18 | Naval Oceanographic Office (NAVOCEANO)United States/2002 | pSeries 690 Turbo 1.3GHz/ 1184IBM | IBM SPSP Power4, Colony | ResearchWeather and Climate Research | 31606156.8 | |
19 | GovernmentUnited States/2003 | Cray X1/ 252Cray Inc. | Cray X1Cray X1 | Classified | 2932.93225.6 | 33868844288 |
20 | Oak RidgeNational LaboratoryUnited States/2003 | Cray X1/ 252Cray Inc. | Cray X1Cray X1 | Research | 2932.93225.6 | 33868844288 |
21 | Cray Inc.United States/2003 | Cray X1/ 252Cray Inc. | Cray X1Cray X1 | Vendor | 2932.93225.6 | 33868844288 |
22 | Korea Institute of Science and TechnologyKorea, South/2003 | xSeries Xeon 2.4 GHz, Myrinet/ 1024IBM | IBM ClusterxSeries Cluster Xeon - Myrinet | Research | 28474915.2 | 230000 |
23 | ECMWFUnited Kingdom/2002 | pSeries 690 Turbo 1.3GHz/ 960IBM | IBM SPSP Power4, Colony | ResearchWeather and Climate Research | 25604992 | |
24 | ECMWFUnited Kingdom/2002 | pSeries 690 Turbo 1.3GHz/ 960IBM | IBM SPSP Power4, Colony | ResearchWeather and Climate Research | 25604992 | |
25 | Energy CompanyUnited States/2003 | Integrity rx5670-4x256, Itanium2 1.3 GHz, GigE/ 1024HP | HP ClusterIntegrity rx5670 Itanium2 Cluster, GigEthernet | IndustryGeophysics | 25565324.8 |
Grandchallenges- это фундаментальные научные или инженерные задачи с широкой областью применения, эффективное решение которых возможно только с использованием мощных (суперкомпьютерных) вычислительных ресурсов.
Вот лишь некоторые области, где возникают задачи подобного рода:
· Предсказания погоды, климата и глобальных изменений в атмосфере
· Науки о материалах
· Построение полупроводниковых приборов
· Сверхпроводимость
· Структурная биология
· Разработка фармацевтических препаратов
· Генетика человека
· Квантовая хромодинамика
· Астрономия
· Транспортные задачи
· Гидро- и газодинамика
· Управляемый термоядерный синтез
· Эффективность систем сгорания топлива
· Разведка нефти и газа
· Вычислительные задачи наук о мировом океане
· Распознавание и синтез речи
· Распознавание изображений
Классификация базируется на понятиипотока, под которым понимается последовательность элементов, команд или данных, обрабатываемая процессором. На основе числа потоков команд и потоков данных Флинн выделяет четыре класса архитектур: SISD,MISD,SIMD,MIMD.
SISD(single instruction stream / single data stream) - одиночный поток команд и одиночный поток данных. К этому классу относятся, прежде всего, классические последовательные машины, или иначе, машины фон-неймановского типа, например, PDP-11 или VAX 11/780. В таких машинах есть только один поток команд, все команды обрабатываются последовательно друг за другом и каждая команда инициирует одну операцию с одним потоком данных. Не имеет значения тот факт, что для увеличения скорости обработки команд и скорости выполнения арифметических операций может применяться конвейерная обработка - как машина CDC 6600 со скалярными функциональными устройствами, так и CDC 7600 с конвейерными попадают в этот класс.
SIMD (single instruction stream / multiple data stream) - одиночный поток команд и множественный поток данных. В архитектурах подобного рода сохраняется один поток команд, включающий, в отличие от предыдущего класса, векторные команды. Это позволяет выполнять одну арифметическую операцию сразу над многими данными - элементами вектора. Способ выполнения векторных операций не оговаривается, поэтому обработка элементов вектора может производится либо процессорной матрицей, как в ILLIAC IV, либо с помощью конвейера, как, например, в машине CRAY-1.
MISD(multiple instruction stream / single data stream) - множественный поток команд и одиночный поток данных. Определение подразумевает наличие в архитектуре многих процессоров, обрабатывающих один и тот же поток данных. Однако ни Флинн, ни другие специалисты в области архитектуры компьютеров до сих пор не смогли представить убедительный пример реально существующей вычислительной системы, построенной на данном принципе. Ряд исследователей относят конвейерные машины к данному классу, однако это не нашло окончательного признания в научном сообществе. Будем считать, что пока данный класс пуст.
MIMD(multiple instruction stream / multiple data stream) - множественный поток команд и множественный поток данных. Этот класс предполагает, что в вычислительной системе есть несколько устройств обработки команд, объединенных в единый комплекс и работающих каждое со своим потоком команд и данных.
Дополнения Ванга и Бриггса к классификации Флинна:
Класс SISD разбивается на два подкласса:
архитектуры с единственным функциональным устройством, например, PDP-11;
архитектуры, имеющие в своем составе несколько функциональных устройств - CDC 6600, CRAY-1, FPS AP-120B, CDC Cyber 205, FACOM VP-200.
В класс SIMD также вводится два подкласса:
архитектуры с пословно-последовательной обработкой информации - ILLIAC IV, PEPE, BSP;
архитектуры с разрядно-последовательной обработкой - STARAN, ICL DAP.
В классе MIMD авторы различают
вычислительные системы со слабой связью между процессорами, к которым они относят все системы с распределенной памятью, например, Cosmic Cube,
и вычислительные системы с сильной связью (системы с общей памятью), куда попадают такие компьютеры, как C.mmp, BBN Butterfly, CRAY Y-MP, Denelcor HEP.
Cray T90
Производитель | Cray Inc., Cray Research. |
Класс архитектуры | Многопроцессорная векторная система (несколько векторных процессоров работают на общей памяти). |
Предшественники | CRAY Y-MP C90, CRAY X-MP. |
Модели | Серия T90 включает модели T94, T916 и T932. |
Процессор | Системы серии T90 базируются на векторно-конвейерном процессоре Cray Research с пиковой производительностью 2GFlop/s. |
Число процессоров | Система T932 может включать до 32 векторных процессоров (до 4-х в модели T94, до 16 модели T916), обеспечивая пиковую производительность более 60GFlop/s. |
Масштабируемость | Возможно объединение нескольких T90 в MPP-системы. |
Память | Система T932 содержит от 1GB до 8GB (до 1 GB в модели T94 и до 4GB в модели T916) оперативной памяти и обеспечивает скорость обменов с памятью до 800MB/sec. |
Системное ПО | Используется операционная система UNICOS. |
IBM RS/6000 SP
Производитель | International Business Machines (IBM), подразделение RS/6000. |
Класс архитектуры | Масштабируемая массивно-параллельная вычислительная система (MPP). |
Узлы | Узлы имеют архитектуру рабочих станций RS/6000. Существуют несколько типов SP-узлов, которые комплектуются различными процессорами: PowerPC 604e/332MHz, POWER3/200 и 222 MHz (более ранние системы комплектовались процессорами POWER2). High-узлы на базе POWER3 включают до 8 процессоров и до 16 GB памяти. |
Масштабируемость | До 512 узлов. Возможно совмещение узлов различых типов. Узлы устанавливаются в стойки (до 16 узлов в каждой). |
Коммутатор | Узлы связаны между собой высокопроизводительных коммутатором (IBM high-performance switch), который имеет многостадийную структуру и работает с коммутацией пакетов. |
Cистемное ПО | OC AIX (устанавливается на каждом узле), система пакетной обработки LoadLeveler, параллельная файловая система GPFS, параллельная СУБД INFORMIX-OnLine XPS. Параллельные приложения исполняются под управлением Parallel Operating Environment (POE). |
Средствапрограммирования | Оптимизированная реализация интерфейса MPI, библиотеки параллельных математических подпрограмм - ESSL, OSL. |
Cray T3E
Производитель | Cray Inc. |
Класс архитектуры | Масштабируемая массивно-параллельная система, состоит из процессорных элементов (PE). |
Предшественники | Cray T3D |
Модификации | T3E-900, T3E-1200, T3E-1350 |
Процессорный элемент | PE состоит из процессора, блока памяти и устройства сопряжения с сетью. Используются процессоры Alpha 21164 (EV5) с тактовой частотой 450 MHz (T3E-900), 600 MHz (T3E-1200), 675 MHz (T3E-1350) пиковая производительность которых составляет 900, 1200, 1350 MFLOP/sec соответственно. Процессорный элемент располагает своей локальной памятью (DRAM) объемом от 256MB до 2GB. |
Число процессоров | Системы T3E масштабируются до 2048 PE. |
Коммутатор | Процессорные элементы связаны высокопроизводительной сетью GigaRing с топологией трехмерного тора и двунаправленными каналами. Скорость обменов по сети достигает 500MB/sec в каждом направлении. |
Системное ПО | Используется операционная система UNICOS/mk. |
Средства программирования | Поддерживается явное параллельное программирование c помощью пакета Message Passing Toolkit (MPT) - реализации интерфейсов передачи сообщений MPI, MPI-2 и PVM, библиотека Shmem. Для Фортран-программ возможно также неявное распараллеливание в моделях CRAFT и HPF. Среда разработки включает также набор визуальных средств для анализа и отладки параллельных программ. |
Список использованной литературы:
1. Материалы сайта http://www.parallel.ru
2. Материалы сайта http://www.top500.org
3. Материалы сайта http://www.osp.ru/archive/56.htm
4. Материалы сайта http://www.netlib.org/linpack/
superbotanik.net
ЮЖНО-РОССИЙСКИЙГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
(Новочеркасский политехнический институт)
Факультет: Информационных Технологий иУправления
Кафедра: Автоматики и Телемеханики
Специальность: Управление и информатика в техническихсистемах
РЕФЕРАТпо информатике
На тему: СуперкомпьютерыВыполнил студент I — 1а Каширин В. В.
Ф.И.О.
Руководитель ассистент МалашенкоЛ.И.
Должность, звание Ф.И.О.
Консультант ассистент МалашенкоЛ.И.
Должность, звание Ф.И.О.
К защите Защитапринята с оценкой
«______» ______________2000г. ____________________________
___________________________ «_____»________________2000г.
Подпись ____________________________
Подпись
Новочеркасск 2000 СОДЕРЖАНИЕВВЕДЕНИЕ 3
1 ОСНОВНЫЕ ВИДЫ АРХИТЕКТУРЫ 4
1.1 Архитектура SMP 4
1.2 Архитектура MPP 4
2 СУПЕРКОМПЬЮТЕРЫ КОМПАНИИ nCube 42.1 Основные принципы архитектуры 5
a)Распределенная память 5
б)Межпроцессорная сеть 5
в)Высокий уровень интеграции 6
2.2 Суперкомпьютер nCube 2 7
2.3 Архитектура процессора nCube 8
а)Система ввода/вывода nCube 2 9
2.4 Программное обеспечение 10
2.5 Надежность системы nCube 2 10
3 СЕТЬ КАК СУПЕРКОМПЬЮТЕР 11
3.1 Параллельные программы — главный тормоз 11
3.2 MPI 11
3.3 Реализации MPI 12
3.4 Средства программирования высокого уровня 13
3.5 Попытка прогноза 14
4 ПИМЕРЫ ИСПОЛЬЗОВАНИЯСУПЕРКОМПЬЮЮТЕРОВ 14
4.1 Моделирование построение белка 14
4.2 Виртуальная башня 14
ИСПОЛЬЗУЕМАЯ ЛИТЕРАТУРА 16 ВВЕДЕНИЕС моментапоявления первых компьютеров одной из основных проблем, стоящих перед разработчиками,была производительность вычислительной системы. За время развития компьютернойиндустрии производительность процессора стремительно возрастала, однакопоявление все более изощренного программного обеспечения, рост числапользователей и расширение сферы приложения вычислительных систем предъявляютновые требования к мощности используемой техники, что и привело к появлениюсуперкомпьютеров. Что же такое суперкомпьютеры, и зачем они нужны?
В принципе,суперкомпьютер это обычная вычислительная система, позволяющая производитьсложные расчеты за более короткие промежутки времени. О чем собственно иговорит приставка «Супер» (Superв переводе с английского означает: сверх, над). Любая компьютерная системасостоит из трех основных компонентов — центрального процессора, то естьсчетного устройства, блока памяти и вторичной системы хранения информации (кпримеру, в виде дисков или лент). Ключевое значение имеют не только техническиепараметры каждого из этих элементов, но и пропускная способность каналов, связывающихих друг с другом и с терминалами потребителей. Одна из заповедей «Крей рисерч» гласит: «Быстродействие всей системы не превышаетскорости самой медленнодействующей ее части». Важным показателемпроизводительности компьютера является степень его быстродействия. Онаизмеряется так называемыми флопсами — от английскогосокращения, обозначающего количество операций с числами, представленными вформе с плавающей запятой, в секунду. То есть за основу берется подсчет — сколько наиболее сложных расчетов машина может выполнить за один миг.
А зачем вообщенужны суперкомпьютеры? На этот вопрос дает ответ представитель компании «Крей рисерч» Вито Бонджорно:Раздвижение границ человеческого знания всегда опиралось на два краеугольныхкамня, которые не могут, существовать друг без друга, — теорию и опыт. Однакотеперь ученые сталкиваются с тем, что многие испытания стали практическиневозможными — в некоторых случаях из-за своих масштабов, в других — дороговизны или опасности для здоровья и жизни людей. Тут-то и приходят напомощь мощные компьютеры. Позволяя экспериментировать с электронными моделямиреальной действительности, они становятся «третьей опорой» современной науки ипроизводства.
Прошло время,когда создатели суперкомпьютеров стремились обеспечить максимальнуюпроизводительность любой ценой. Специальные процессоры, дорогостоящаясверхбыстрая память, нестандартное периферийное оборудование — все этообходилось заказчикам в круглую сумму. Приобретали суперкомпьютеры либопредприятия ВПК, либо крупные университеты. И те, и другие делали это, какправило, за государственный счет. Окончание «холодной войны» ипоследовавшее за ним сокращение ассигнований на военные и околовоенныенужды нанесли серьезный удар по производителям суперкомпьютеров. Большинство изних были поглощены изготовителями менее производительной, но более доступной иходовой вычислительной техники. Впрочем, у этих слияний были и технологическиепредпосылки — быстродействие серийно выпускаемых микропроцессоров постоянноросло, и производители суперкомпьютеров быстро переориентировались на них, чтопозволило существенно сократить общую стоимость разработки. Основной упор сталделаться на увеличение числа процессоров и повышение степени параллелизмапрограмм.
1ОСНОВНЫЕ ВИДЫ АРХИТЕКТУРЫ
Известно, чтосегодня существуют две основные архитектуры параллельных компьютеров:симметричные мультипроцессорные системы с общей памятью (SMP) имультипроцессорные системы с распределенной памятью (MPP).
1.1 Архитектура SMP
Основноепреимущество SMP — относительная простота программирования. В ситуации, когдавсе процессоры имеют одинаково быстрый доступ к общей памяти, вопрос о том,какой из процессоров какие вычисления будет выполнять, не столь принципиален, изначительная часть вычислительных алгоритмов, разработанных дляпоследовательных компьютеров, может быть ускорена с помощью распараллеливающихи векторизирующих трансляторов. SMP-компьютеры — этонаиболее распространенные сейчас параллельные вычислители, а 2-, 4-хпроцессорные ПК на основе Pentium и Pentium Pro стали уже массовымтоваром. Однако общее число процессоров в SMP-системах, как правило, непревышает 16, а их дальнейшее увеличение не дает выигрыша из-за конфликтов приобращении к памяти. Применение технологий типа UPA, основанной на коммутации пакетоввместо общей шины и локальной кэш-памяти большого объема, способно частичнорешить проблему, подняв число процессоров до 32.
1.2 Архитектура MPP
Альтернатива SMP- архитектура MPP. Каждый процессор имеет доступ лишь к своей локальной памяти,а если программе нужно узнать значение переменной, расположенной в памятидругого процессора, то задействуется механизм передачи сообщений. Процессор, впамяти которого находятся нужные данные, посылает сообщение тому процессору,которому они требуются, а последний принимает его. Этот подход позволяетсоздавать компьютеры, включающие в себя тысячи процессоров. На нем основаны всемашины, имеющие производительность в сотни миллиардов операций в секунду.
Познакомимсяпоближе с этой архитектурой и одним из представителей этой архитектуры,суперкомпьютером nCube.
2СУПЕРКОМПЬЮТЕРЫ КОМПАНИИ nCube
Одним из пионеров в создании MPP-систем стала основанная в 1983 годукомпания nCube. В 1985 году появился первый ее MPP-компьютер, nCube 1. СистемаnCube 1, в основе которой, как и в основе всех последующих поколенийкомпьютеров nCube, лежит гиперкубическая топологиямежпроцессорных соединений и высокий уровень интеграции на базе технологииVLSI, показала рекордные результаты по абсолютной производительности и всоотношении цена/производительность для научных вычислений.
В 1989 году компания nCube выпустила семейство суперкомпьютеров nCube2. Большие вычислительные возможности, гибкая архитектура и мощноеспециализированное программное обеспечение позволяют применять системы nCube 2в широком диапазоне областей — от сложнейших научных задач до управленияинформацией в бизнесе.
Семейство nCube 2 представляет собой масштабируемую серию систем,производительность которых может достигать 34 GigaFlops.Каждый суперкомпьютер этой серии содержит набор процессоров nCube, соединенныхв гиперкубическую сеть. Наибольшую систему составляют8192 процессора, и ее мощность более чем в 1000 раз превышает мощностьнаименьшей — с 8 процессорами. Возможности памяти и системы ввода/выводавозрастают вместе с ростом процессорной мощности.
Следующая цель компании nCube — разработка нового семейства Mpp-систем,суперкомпьютеров nCube 3. Новое поколение суперкомпьютеров nCube, следуяпринципам высокой интегрируемости и масштабируемости,станет первой промышленно реализованной платформой с производительностью донескольких TFlops, стопроцентно совместимой спредыдущими поколениями систем nCube.
2.1 Основные принципыархитектуры
a)Распределенная память
В суперкомпьютерах nCube используется архитектура распределеннойпамяти, позволяющая оптимизировать доступ к оперативной памяти, вероятно,наиболее критичному ресурсу вычислительной системы.
Традиционные архитектуры с разделенной памятью удобны для систем снебольшим числом процессоров, однако, они плохо масштабируются по мередобавления процессоров и памяти. Когда в системе с разделением памятиувеличивается число процессоров, возрастает конкуренция в использованииограниченной пропускной способности системной шины, что снижаетпроизводительность соединения процессор-память. Кроме того, добавлениепроцессоров в такую систему требует увеличения количества логики для управленияпамятью, снижая тем самым производительность системы и увеличивая ее цену.
Эти недостатки отсутствуют в системах с распределенной памятью. В такойсистеме каждый процессор имеет свою собственную локальную память. Потенциальныеузкие места, связанные с шиной процессор-память и необходимостью разрабатыватьсистемы управления кэшем, полностью исключаются. Сдобавлением процессоров добавляется память, пропускная способность соединенияпроцессор-память масштабируется вместе с вычислительной мощностью.
б) Межпроцессорная сеть
Топология межпроцессорных соединений, обеспечивающая масштабирование добольшого числа процессоров без снижения производительности коммуникаций илиувеличения времени ожидания, является обязательной для MPP-систем.Суперкомпьютеры nCube используют сетевую топологию гиперкуба, которая отвечаетэтим требованиям. Соединения между процессорами nCube-системы образуютмногомерный куб, называемый гиперкубом. По мере добавления процессоровувеличивается размерность гиперкуба. Соединение двух гиперкубов одинаковойразмерности образует гиперкуб следующей размерности. N-мерный гиперкуб содержит2€n процессоров. Двухмерный гиперкуб — это квадрат.Трехмерный гиперкуб образует обычный куб, а четырехмерный гиперкуб представляетсобой куб в кубе. Для семейства суперкомпьютеров nCube 2 гиперкуб максимальнойразмерности 13 содержит 8192 процессора. В системе nCube 3 число процессоровможет достигать 65536 (16-мерный гиперкуб).
Эффективность сетевой топологии измеряется, в частности, числом шаговдля передачи данных между наиболее удаленными процессорами в системе. Длягиперкуба максимальное расстояние (число шагов) между процессорами совпадает сразмерностью куба. Например, в наибольшем 13-мерном семейства nCube 2 сообщениямежду процессорами никогда не проходят более 13 шагов. Для сравнения, в2-мерной конфигурации "mesh" (петля) счислом процессоров, вдвое меньшим числа процессоров в максимальной системеnCube 2, наибольшее расстояние между процессорами составляет 64 шага. Задержкикоммуникаций в такой системе значительно увеличиваются. Таким образом, никакаядругая топология соединения процессоров не может сравниться с гиперкубом поэффективности. Пользователь может удвоить число процессоров в системе, при этомувеличивая длину пути связи между наиболее удаленными процессорами только наодин шаг.
Большое число соединений в гиперкубе создает высочайшую пропускнуюспособность межпроцессорных соединений по сравнению с любой другой сетевойсхемой. Большое количество путей передачи данных и компактный дизайн гиперкубапозволяют передавать данные с очень высокой скоростью. Кроме того, гиперкубическая схема характеризуется большой гибкостью,так как она позволяет эмулировать другие популярные топологии, включая деревья,кольца. Таким образом, пользователям nCube-систем гарантируется корректноевыполнение приложений, зависящих от других топологий.
в) Высокий уровень интеграции
Многие преимущества nCube-систем, и, прежде всего высочайшие показатели- надежности и производительности, являются результатом использованиятехнологии VLSI (Very LargeScale Integration — сверхвысокая степень интеграции). В большей степени, чем какие-либо другиефакторы, на надежность компьютера влияет число используемых компонентов.Большее число компонентов неминуемо увеличивает вероятность сбоя системы. Поэтой причине nCube интегрирует все функции процессорного узла на одноVLSI-устройство. VLSI-интеграция также сокращает требуемое число соединений,которые могут оказывать решающее влияние на целостность всей системы.
Высокий уровень интеграции сокращает пути передачи данных, повышая темсамым производительность системы. Интеграция процессорного узла на один чипоставляет свободными для контроля только простые соединения с памятью и сетевыеинтерфейсы вместо сложных сигналов синхронизации, арбитража и управления. Этипростые соединения тестируются и корректируются с помощью методов контролячетности и ЕСС (Error CorrectionCode — код коррекции ошибок), упрощая процессопределения и изоляции ошибок.
2.2 Суперкомпьютер nCube 2
Суперкомпьютер nCube 2 масштабируется от 8-процессорных моделей домоделей с 8192 процессорами. Архитектура nCube 2 уравновешивает процессорнуюмощность, пропускную способность памяти и пропускную способность системыввода/вывода. Добавление процессоров в систему не влечет за собой появлениеузких мест в пропускной способности памяти или системы ввода/вывода.
Семейство nCube2 включает в себя две серии суперкомпьютеров:
— Серия nCube 2S базируетсяна процессоре nCube 2S с тактовой частотой 25 MHz;предельная производительность 33 MFLOPS — 34 GFLOPS; размер оперативной памяти32 Мб — 32 Гб;
— Серия nCube 2 базируетсяна процессоре nCube 2 с тактовой частотой 20 MHz;предельная производительность 26 MFLOPS — 27 GFLOPS; размер оперативной памяти32 Мб — 32 Гб.
Архитектура суперкомпьютера семейства nCube 2 базируется на гиперкубической сети VLSI — чипов, спаренных с независимымидруг от друга устройствами памяти. Чип, или процессор nCube 2, включает в себя:
— 64-разрядный центральный процессор;
— 64-разрядный модуль вычислений с плавающей точкой;
— удовлетворяющий стандарту IEEE (Institute of Electrical andElectronic Engineers — Институт инженеров по электротехнике и радиоэлектронике) интерфейс управленияпамятью с 39-разрядным путем данных 14 двунаправленных каналов DMA (Direct Memory Access — прямой доступ к памяти)
При тактовой частоте 25 МГц процессор имеет скорость 4.1 MFLOPS длявычислений с плавающей точкой одинарной и 3.0 MFLOPS двойной точности.
Каждый процессор nCube 2 конфигурируется с устройством динамическойпамяти емкостью от 4 до 64 МБайт.
Распределенная архитектура памяти фактически не налагает никакихограничений на скорость операций с памятью. Процессоры не конкурируют виспользовании пропускной способности соединения с памятью и не должны ждатьподкачки данных. Добавление процессоров в систему увенчивает пропускнуюспособность памяти и тем самым повышает производительность.
Каждый суперкомпьютер nCube 2 содержит компактную сеть процессоров. Наодну процессорную плату nCube 2 может монтироваться до 64 процессоров.Процессорная стойка может содержать 16 плат с общим числом процессоров до 1024.Для построения систем большего размера стойки комбинируются. Использованиенедорогих строительных блоков обеспечивает низкую цену полной компьютернойсистемы в сочетании с феноменально высокой производительностью, достигнутой засчет комбинированной мощности процессорной сети.
Каждый процессор nCube 2 содержит 14 каналов DMA 13 для соединений вгиперкубе и 1 для ввода/вывода. Выделенный канал ввода/вывода уравновешиваетвычислительную производительность процессора с производительностью его системыввода/вывода. По мере добавления процессоров в систему пропускная способностьсистемы ввода/вывода гиперкуба масштабируется вместе с процессорной мощностью ипамятью. В состав процессора nCube 2 входит высокоскоростное устройствомаршрутизации сообщений, которое управляет передачей сообщений междупроцессорами. Устройство маршрутизации обеспечивает прямую передачу сообщенийбез прерывания промежуточных процессоров или необходимости хранения данныхсообщения в их памяти. Сообщения передаются со скоростью 2.75 МБ/сек на каналDMA. Специальные методы маршрутизации автоматически вычисляют кратчайший путьмежду процессорами и предотвращают взаимную блокировку сообщений, освобождаяпользователей от необходимости планировать маршруты. Устройство маршрутизациипередает сообщения настолько быстро, что число проходимых шагов влияет на производительностьгораздо меньше, чем в других компьютерах. Высокая скорость передачи создаетиллюзию, что каждый процессор связан непосредственно с любым другим в сети.Эффективность гиперкубической топологии всовокупности с высокоскоростным устройством маршрутизации создаютвысокопроизводительную систему межпроцессорных соединений с максимальной, посравнению с другими процессорными сетями, скоростью межпроцессорныхкоммуникаций. Суперкомпьютер серии nCube 2 с 8192 процессорами имеет скоростьмежпроцессорной передачи 577 ГБ/сек.
Каждый процессор nCube 2 выполняет свою собственную программируемуюпоследовательность команд и может функционировать независимо. Этот принциппозволяет выделять подмножества процессоров для параллельного выполненияразличных операций. Такое разбиение гиперкуба превращает суперкомпьютер nCube 2в многопользовательскую, многозадачную систему. Программное обеспечение nCube 2выделяет набор процессоров — подкуб — для программыпользователя и загружает ее. В течение необходимого времени каждый такой подкуб функционирует как отдельный компьютер. Пользователимогут изменять размеры подкубов в соответствии стребованиями своих программ.
2.3 Архитектура процессораnCube
Процессор nCube, как иследует из общего назначения системы, ориентирован прежде всего на вещественныевычисления. За один такт генератора его вещественное арифметическое устройствовыполняет две операции, в то время как целочисленное — одну. При этомвещественный конвейер состоит всего из двух ступеней (в других архитектурахчисло ступеней вещественного процессора от трех до семи). Высокая доступность кэша на кристалле процессора обеспечивает практическипиковые показатели эффективности даже при обработке длинных векторов,размещенных в памяти.
На кристалле расположенырегистровый файл и два кэша по 16 КБайт каждый:разделенные кэш команд и кэш данных. Скорость доступа к внутреннему кэшу составляет 1.6 ГБайт/сек, адля большей эффективности обслуживает его специальный конвейер. Доступ к кэшу осуществляется по физическому адресу, чтобы избежатьненужных перемещений данных в случае переключения контекста.
Процессор nCube включает в себя полную поддержку виртуальной памяти. Воснову архитектуры заложено 64-разрядное поле виртуального адреса, хотя внастоящее время реализован 48-разрядный виртуальный адрес, обеспечивающийадресацию 256 ТБайт. Размеры страниц могут иметьпеременные размеры от 256 Байт до 64 МБайт.
а) Система ввода/вывода nCube 2
Высокопроизводительной вычислительной системе должна соответствоватьмощная, быстрая и гибкая система ввода/вывода. В суперкомпьютере nCube 2система ввода/вывода использует тот же самый VLSI- процессор, которыйфункционирует как вычислительный элемент в гиперкубическойсети. Каноны DMA в процессорах системы ввода/вывода используются как путипередачи данных. Наличие выделенных процессоров ввода/вывода позволяетосуществлять параллельную работу вычислительной сети и системы ввода/вывода.
Система ввода/вывода масштабируется вместе с процессорной сетью.Суперкомпьютер большого размера имеет не только больше вычислительныхпроцессоров, но и большее количество процессоров ввода/вывода. nCube 2поддерживают несколько интерфейсов ввода/вывода, обеспечивающих пользователейсвязью с необходимыми им устройствами.
Плата ввода/вывода nChannel осуществляетсвязь суперкомпьютера nCube 2 с устройствами вторичного хранения, дисками,магнитными лентами, сетями и другими устройствами. Плата nChannelимеет 16 независимых каналов ввода/вывода, каждый из которых управляетсяпроцессором nCube 2. К каждому каналу подключается модуль ввода/вывода,например, контроллер SCSI. Каждый канал передает данные со скоростью 20 МБ/сек.С помощью каналов платы nChannel система nCube 2соединяется с хост-компьютером, сетью Ethernet, дисководами и накопителями на магнитной ленте, атакже модулями преобразования сигналов и передачи видеообразов.
Плата HIPPI позволяет соединять суперкомпьютер nCube 2 с другимисуперкомпьютерами, запоминающими устройствами и иными системами,поддерживающими интерфейс HIPPI (High Performance Parallel Interface Высокопроизводительный параллельный интерфейс).Плата HIPPI использует 16 процессоров nCube 2 для обработки сетевого трафика,обычно 8 процессоров для управления вводом и 8 для управления выводом. Скоростьпередачи данных достигает 100 МБ/сек.
Графическая подсистема реального времени nVisionобеспечивает интегрированную подсистему графики и ввода/вывода, котораяпозволяет программистам отображать и взаимодействовать с большими объемамиданных в реальном времени. На плате nVision размещены16 процессоров nCube 2, 2 CRT-контроллера, специальный текстовый процессор, 16 МБайт памяти и 2 МБайт буфера.
Компьютер nCube 2 соединяется по сети с управляющим компьютером, скоторого пользователи загружают nCube 2, разрабатывают и запускают параллельныепрограммы, наблюдают за функционированием процессорной сети и системыввода/вывода. Стандартным управляющим компьютером для nCube 2 является рабочаястанция производства компании Silicon Graphics.
2.4 Программное обеспечение
На всех компьютерах семейства nCube 2 устанавливаетсяспециализированная программная среда PSE (Parallel Software Environment), включающаяв себя следующие компоненты:
— операционная система nCX, построенная по микроядерной технологии и выполняющаяся на всех процессорахгиперкуба, она управляет системой ввода/вывода;
— драйвер хост-интерфейса, интерфейс ввода/вывода для соединения суправляющим компьютером; библиотека стандартных UNIX-функций;
— средства разработки для написания, компиляции, профилирования, отладки, запускаи контроля параллельных программ;
— утилиты системного администратора;
— подсистема интерактивной (on-line) документации.
Среда PSE обеспечивает согласованный для различных моделей семействаnCube 2 прикладной интерфейс. Программы, разработанные для компьютеров снебольшим числом процессоров, не требуют переделки при переносе на системуnCube 2 большего размера. Операционная среда nCube 2 интегрирована со средойуправляющего компьютера, обеспечивая пользователей возможностью разрабатыватьпрограммы на привычной им платформе. С помощью PSE пользователи могут работатьнезависимо, получая автономный контроль над выполнением своих программ.Множество пользователей могут одновременно выполнять программы.
Среда PSE базируется на nCX — высокооптимизированном, небольшом (до 128 КБ) и быстроммикроядре (microkernel), который обеспечивает сервисоперационной системы на каждом процессоре, как гиперкуба, так и системыввода-вывода. nCX поддерживает управление процессамии управление памятью, многозадачность, интерфейс системных вызовов UNIX System V Release 4, а такжевысокопроизводительную систему передачи сообщений. Другие операционныесредства, такие как драйверы ввода/вывода и сетевые соединения, распределяютсямежду вычислительными узлами и процессорами ввода/вывода. Операционная система nCX обеспечивает единый интерфейс для параллельных программи драйверов ввода/вывода.
На суперкомпьютерах nCube 2 поддерживаются два вида программирования:
SPMD (SingleProgram Multiple Data — Одна программа, Множество данных): в процессорнуюсеть загружается одна программа, каждый экземпляр программы обрабатывает свойсобственный набор данных; процессоры могут обмениваться информацией.
MPMD (MultipleProgram Multiple Data — Множество программ, Множество данных): впроцессорную сеть загружается набор программ, каждый экземпляр каждой программыобрабатывает свои собственные данные; программы могут обмениваться информацией.
2.5 Надежность системы nCube2
Суперкомпьютеры nCube 2 представляют наиболее надежные на сегодняшнийдень системы. Каждый аспект дизайна nCube 2 подразумевает надежность. Например,высокая интеграция — процессорный узел на одном чипе уменьшает числокомпонентов, в которых может произойти сбой. Быстрое, эффективное микроядрообеспечивает все необходимые для приложений функции, не перегружая системуболее сложной, но менее надежной операционной средой.
3 СЕТЬ КАК СУПЕРКОМПЬЮТЕРТеоретическисуперкомпьютер можно представить как объединение большого количества обычныхкомпьютеров в один, единый блок. Иначе это можно представить, как локальную сеть,имеющую некоторое количество узлов в одном блоке. Следовательно, можно вкачестве суперкомпьютера использовать и любую локальную (и не только локальную)сеть. Начиная с 1992 года по скорости роста производительности сетевоеоборудование обгоняет процессоры. Для многих организаций перспективаиспользования сетей рабочих станций и ПК в качестве суперкомпьютеров весьмазаманчива. Основные достоинства сетей — возможность постепенного расширения имодернизации, а также режим эксплуатации сети днем для обычных нужд разработкии проектирования, а ночью для расчетов. Сети не могут соревноваться по скоростивычисления с суперкомпьютерами-рекордсменами, но они на один-два порядкадешевле, их можно использовать там, где объемы расчетов велики, асуперкомпьютеры экономически не оправданы. Такие сетевые технологии будутспособствовать использованию сетей в качестве параллельных вычислителей. Впервую очередь это Fast Ethernetи Gigabit Ethernet. Далееидут технологии коммутации. И, наконец, новые сетевые протоколы, поддерживающиешироковещание
3.1 Параллельные программы — главный тормоз
Главным препятствием к внедрению практически всех параллельныхархитектур является отсутствие параллельных программ. У унаследованных отпоследовательного мира программ имеется недостаток — большой объем кода,принципиально не допускающий параллельного исполнения. Его нельзя преодолеть засчет усовершенствования техники компиляции. Так, если программа половинувремени занимается действиями, которые требуется совершать строго последовательно,то параллельное выполнение оставшейся половины в предельном случае даст лишьдвукратное ускорение. В результате, хотим мы этого или нет, последовательныевычислительные алгоритмы придется заменять параллельными.
3.2 MPI
Практически на всех параллельных системах имелись свои собственныебиблиотеки передачи сообщений. В простейшем случае они предусматривали передачуи прием отдельных пакетов между соседними процессорами. Более сложныеподдерживали передачу сообщений произвольной длины, маршрутизацию сообщений иаппарат тегов, который позволяет принимающей стороне самой решать, в какойпоследовательности обрабатывать поступающие сообщения. Некоторые библиотекидопускали динамическое порождение и уничтожение процессов.
За последние годы в деле создания ПО для систем с распределеннойпамятью наметился серьезный прогресс. Самым крупным достижением быластандартизация интерфейса передачи сообщений MPI (messagepassing interface).Во-первых, MPI поддерживает несколько режимов передачи данных, важнейшие изкоторых: синхронная передача, не требующая выделения промежуточных буферов дляданных и обеспечивающая надежную передачу данных сколь угодно большого размера,и асинхронная передача, при которой посылающий сообщение процесс не ждет началаприема, что позволяет эффективно передавать короткие сообщения. Во-вторых, MPIпозволяет передавать данные не только от одного процесса к другому, но иподдерживает коллективные операции: широковещательную передачу,разборку-сборку, операции редукции. В-третьих, MPI предусматривает гетерогенныевычисления. Вычислительная система может включать разные процессоры, в томчисле имеющие различные наборы команд и разное представление данных. Если у васимеется суперкомпьютер, то это кажется излишним, но для организаций,эксплуатирующих сети рабочих станций с различными процессорами и версиями Unix, — это находка.
Синтаксис MPI облегчает создание приложений в модели SPMD (single program multiple data) — одна программаработает в разных процессах со своими данными. Одна и та же функция вызываетсяна узле-источнике и узлах-приемниках, а тип выполняемой операции (передача илиприем) определяется с помощью параметра. Такой синтаксис вызовов делаетSPMD-программы существенно компактнее, хотя и труднее для понимания.
Основное отличие стандарта MPI от его предшественников — понятиекоммуникатора. Все операции синхронизации и передачи сообщений локализуютсявнутри коммуникатора. С коммуникатором связывается группа процессов. Вчастности, все коллективные операции вызываются одновременно на всех процессах,входящих в эту группу
Поддержка модульного программирования в сочетании с независимостью отаппаратуры дала мощный импульс к созданию библиотек. Одна из самых интересныхразработок — пакет линейной алгебры ScaLAPACK,разработанный группой Дж. Донгарра.
3.3 Реализации MPI
Библиотеки MPI реализованы практически на всех современныхсуперкомпьютерах, к примеру, в университете Коимбра(Португалия) разработали библиотеку MPI для Windows95 (http://pandora.uc.pt/w32mpi), которая особенно интересна для преподавателейи студентов, поскольку при отладке достаточно иметь обычный ПК, а запускпараллельных приложений в сети позволяет получить реальный выигрыш впроизводительности.
Практический опыт показывает, что идеально распараллеливаемые задачи,такие как параллельное умножение матриц, можно решать практически на любыхсетях, и добавление даже относительно слабых вычислительных узлов дает выигрыш.Другие задачи, в частности решение систем линейных уравнений, болеетребовательны к коммуникационному оборудованию и качеству реализации передачисообщений. Именно поэтому тесты для оценки реального быстродействияпараллельных вычислительных систем базируются на параллельных аналогахизвестного пакета Linpack. Так, система линейныхуравнений размером 800х800 решается на четырех компьютерах SunSPARCstation 5, объединенных сетью Ethernet 10 Мбит/c, быстрее, чемна трех; на пяти — приблизительно за то же время, что и на четырех, адобавление шестого компьютера однозначно ухудшает производительностьвычислительной системы. Если вместо Fast Ethernet 10 Мбит/c использовать Fast Ethernet 100 Мбит/с, чтолишь незначительно увеличивает общую стоимость системы, время, затрачиваемое накоммуникацию, уменьшается почти в 10 раз, а для решения данной задачи можнобудет эффективно применять уже десятки рабочих станций.
3.4 Средствапрограммирования высокого уровня
Часто в сетях отдельные компьютер
www.ronl.ru
Содержание:
ВВЕДЕНИЕ……………………………………………………………………3
1.1 Первые суперкомпьютеры………………………………………………..5
2. Применение суперкомпьютеров…………………………………………..6
2.1 Суперкомпьютеры в России……………………………………………...7
ЗАКЛЮЧЕНИЕ……………………………………………………………...10
Список используемой литературы………………………………………….11
ВВЕДЕНИЕ
С момента появления первых компьютеров одной из основных проблем, стоящих перед разработчиками, была производительность вычислительной системы. За время развития компьютерной индустрии производительность процессора стремительно возрастала, однако появление все более изощренного программного обеспечения, рост числа пользователей и расширение сферы приложения вычислительных систем предъявляют новые требования к мощности используемой техники, что и привело к появлению суперкомпьютеров.
Cуперкомпьютер - это обычная вычислительная система, позволяющая производить сложные расчеты за более короткие промежутки времени. О чем собственно и говорит приставка «Супер» (Super в переводе с английского означает: сверх, над). Любая компьютерная система состоит из трех основных компонентов - центрального процессора, то есть счетного устройства, блока памяти и вторичной системы хранения информации (к примеру, в виде дисков или лент). Ключевое значение имеют не только технические параметры каждого из этих элементов, но и пропускная способность каналов, связывающих их друг с другом и с терминалами потребителей. Одна из заповедей «Крей рисерч» гласит: «Быстродействие всей системы не превышает скорости самой медленнодействующей ее части». Важным показателем производительности компьютера является степень его быстродействия. Она измеряется так называемыми флопсами - от английского сокращения, обозначающего количество операций с числами, представленными в форме с плавающей запятой, в секунду. То есть за основу берется подсчет - сколько наиболее сложных расчетов машина может выполнить за один миг.
А зачем вообще нужны суперкомпьютеры? Раздвижение границ человеческого знания всегда опиралось на два краеугольных камня, которые не могут, существовать друг без друга, - теорию и опыт. Однако теперь ученые сталкиваются с тем, что многие испытания стали практически невозможными - в некоторых случаях из-за своих масштабов, в других - дороговизны или опасности для здоровья и жизни людей. Тут-то и приходят на помощь мощные компьютеры. Позволяя экспериментировать с электронными моделями реальной действительности, они становятся «третьей опорой» современной науки и производства.
Прошло время, когда создатели суперкомпьютеров стремились обеспечить максимальную производительность любой ценой. Специальные процессоры, дорогостоящая сверхбыстрая память, нестандартное периферийное оборудование - все это обходилось заказчикам в круглую сумму. Приобретали суперкомпьютеры либо предприятия ВПК, либо крупные университеты. И те, и другие делали это, как правило, за государственный счет. Окончание "холодной войны" и последовавшее за ним сокращение ассигнований на военные и околовоенные нужды нанесли серьезный удар по производителям суперкомпьютеров. Большинство из них были поглощены изготовителями менее производительной, но более доступной и ходовой вычислительной техники. Впрочем, у этих слияний были и технологические предпосылки - быстродействие серийно выпускаемых микропроцессоров постоянно росло, и производители суперкомпьютеров быстро переориентировались на них, что позволило существенно сократить общую стоимость разработки. Основной упор стал делаться на увеличение числа процессоров и повышение степени параллелизма программ.
1.1 Первые суперкомпьютеры
Началом эры суперкомпьютеров можно, пожалуй, назвать 1976 год, когда появилась первая векторная система Cray 1. Работая с ограниченным в то время набором приложений, Cray 1 показала настолько впечатляющие по сравнению с обычными системами результаты, что заслуженно получила название “суперкомпьютер” и определяла развитие всей индустрии высокопроизводительных вычислений еще долгие годы. Но более чем за два десятилетия совместной эволюции архитектур и программного обеспечения на рынке появлялись системы с кардинально различающимися характеристиками, поэтому само понятие “суперкомпьютер” стало многозначным и пересматривать его пришлось неоднократно.
Попытки дать определение суперкомпьютеру опираясь только на производительность привели к необходимости постоянно поднимать планку, отделяющую его от рабочей станции или даже обычного настольного компьютера. Только за последние 15 лет нормы менялись несколько раз. По определению Оксфордского словаря вычислительной техники 1986 года, для того, чтобы получить это гордое название, нужно было иметь производительность в 10 мегафлоп (миллионов операций с плавающей запятой в секунду). В начале 90-х была преодолена отметка 200 мегафлоп, затем 1 гигафлоп.
Может показаться, что с ростом производительности настольных ПК и рабочих станций, а также серверов, сама потребность в суперЭВМ будет снижаться. Это не так. С одной стороны, целый ряд приложений может теперь успешно выполняться на рабочих станциях, но с другой стороны, время показало, что устойчивой тенденцией является появление все новых приложений, для которых необходимо использовать суперЭВМ.
Традиционной сферой применения суперкомпьютеров всегда были научные исследования: физика плазмы и статистическая механика, физика конденсированных сред, молекулярная и атомная физика, теория элементарных частиц, газовая динамика и теория турбулентности, астрофизика. В химии - различные области вычислительной химии: квантовая химия (включая расчеты электронной структуры для целей конструирования новых материалов, например, катализаторов и сверхпроводников), молекулярная динамика, химическая кинетика, теория поверхностных явлений и химия твердого тела, конструирование лекарств. Естественно, что ряд областей применения находится на стыках соответствующих наук, например, химии и биологии, и перекрывается с техническими приложениями. Так, задачи метеорологии, изучение атмосферных явлений и, в первую очередь, задача долгосрочного прогноза погоды, для решения которой постоянно не хватает мощностей современных суперЭВМ, тесно связаны с решением ряда перечисленных выше проблем физики. Среди технических проблем, для решения которых используются суперкомпьютеры, укажем на задачи аэрокосмической и автомобильной промышленности, ядерной энергетики, предсказания и разработки месторождений полезных ископаемых, нефтедобывающей и газовой промышленности (в том числе проблемы эффективной эксплуатации месторождений, особенно трехмерные задачи их исследования), и, наконец, конструирование новых микропроцессоров и компьютеров, в первую очередь самих суперЭВМ.
Суперкомпьютеры традиционно применяются для военных целей. Кроме очевидных задач разработки оружия массового уничтожения и конструирования самолетов и ракет, можно упомянуть, например, конструирование бесшумных подводных лодок и др. Самый знаменитый пример - это американская программа СОИ. Уже упоминавшийся MPP-компьютер Министерства энергетики США будет применяться для моделирования ядерного оружия, что позволит вообще отменить ядерные испытания в этой стране.
Федеральными органами исполнительной власти, уполномоченными в области обеспечения безопасности информации в информационных системах, созданных с использованием суперкомпьютерных и грид-технологий, являются Федеральная служба безопасности Российской Федерации и Федеральная служба по техническому и экспортному контролю1.
2.1 Суперкомпьютеры в России
Идеи построения собственных суперкомпьютерных систем существовали в России всегда. Еще в 1966 году М.А.Карцев выдвинул идею создания многомашинного вычислительного комплекса М-9 производительностью около миллиарда операций в секунду. В то время ни одна из машин мира не работала с такой скоростью. Однако, несмотря на положительную оценку министерства, комплекс М-9 промышленного освоения не получил.
В мировой рейтинг (так называемый топ-500) суперкомпьютеров сегодня входят уже 11 российских систем. В следующем году производительность отечественного суперкомпьютера "Ломоносов" возрастет более чем в 2,5 раза, и он станет одной из самых мощных вычислительных машин мира. До конца года будет полностью сформирована спутниковая группировка ГЛОНАСС, а в ближайшие два года завершится создание основных цифровых навигационных карт и начнется применение спутниковых навигаторов системы. Возможности ГЛОНАСС теперь будут служить массовому пользователю2.
Наиболее известна линия отечественных суперкомпьютеров М8С-1000, создаваемая в кооперации научно-исследовательских институтов Российской академии наук и промышленности. Супер-ЭВМ линии МВС- 1000 - это мультипроцессорный массив, объединенный с внешней дисковой памятью, устройствами ввода/вывода информации и управляющим компьютером. Компьютеры МВС-КЮ0 используют микропроцессоры Alpha 21I64 (разработка фирмы DEC-Compaq) с производительностью до 1-2 миллиардов операций в секунду и оперативной памятью объемом 0,1-2 Кбайт.
Спектр научных и практических задач, решаемых на таком компьютере, может быть очень велик: насчет трехмерных нестационарных течение вязкосжимаемого газа, расчеты течений с жальными тепловыми неоднородностями в потоке, моделирование структурообразования и динамики молекулярных и биомолекулярных систем, решение задач линейных дифференциальных игр, расчет деформаций твердых тел с учетом процессов разрушения и многие другие. Одна из самых мощных систем линии КIBC-1000, установленная в Межведомственно и суперкомпьютерном центре, содержит 96 процессоров.
В России должен быть в полном объеме задействован потенциал суперкомпьютеров, суперкомпьютерных систем, которые объединены высокоскоростными каналами передачи данных. С их помощью уже в пятилетней перспективе станет возможным проектирование новейших самолетов и космических аппаратов, автомобилей и ядерных реакторов. Ведь сложная техника, не прошедшая суперкомпьютерного моделирования, что называется, не положенная в цифру, через несколько лет просто не будет востребована рынком. И для завоевания здесь конкурентных позиций мы обязаны настойчиво работать3.
ЗАКЛЮЧЕНИЕ
Еще 10-15 лет назад суперкомпьютеры были чем-то вроде элитарного штучного инструмента, доступного в основном ученым из засекреченных ядерных центров и криптоаналитикам спецслужб. Однако развитие аппаратных и программных средств сверхвысокой производительности позволило освоить промышленный выпуск этих машин, а число их пользователей в настоящее время достигает десятков тысяч. Фактически, в наши дни весь мир переживает подлинный бум суперкомпьютерных проектов, результатами которых активно пользуются не только такие традиционные потребители высоких технологий, как аэрокосмическая, автомобильная, судостроительная и радиоэлектронная отрасли промышленности, но и важнейшие области современных научных знаний.
Список используемой литературы:
1. Вл. В. Воеводин “Суперкомпьютерная грань компьютерного мира”.
2. М. Кузминьский, Д. Волков “Современные суперкомпьютеры: состояние и перспективы”.
3. Левин В. К. “Отечественные суперкомпьютеры”.
4. Б. В. Пальцев “PC против суперкомпьютеров”.
5. Материал с сайта http://www.supercomputers.ru/
6. Материал с сайта http://www.bytemag.ru/articles/detail.php?ID=8504
7. Материал с сайта http://www.kodeks.ru/
8. «Консультант плюс»
ОПРОС
Операционная система.
Жесткий диск (винчестер) – накопитель, отвечающий за долгосрочное хранение информации, даже если компьютер отключен от сети, информация никуда не исчезает.
Оперативная память - это рабочая область для процессора компьютера. В ней во время работы хранятся программы и данные. Оперативная память часто рассматривается как временное хранилище, потому что данные и программы в ней сохраняются только при включенном компьютере или до нажатия кнопки сброса (reset). Перед выключением или нажатием кнопки сброса все данные, подвергнутые изменениям во время работы, необходимо сохранить на запоминающем устройстве, которое может хранить информацию постоянно (обычно это жесткий диск). При новом включении питания сохраненная информация вновь может быть загружена в память.
Антивирусные средства - предназначены для предотвращения заражения компьютерными вирусами и ликвидации последствий заражения вирусами.
Зависит от операционной системы и ее настроек, например в windows файлы с флешки удаляются безвозвратно, а в debian помещаются в корзину. Если же рассматривать удаление в файловой системе (пример ntfs, fat и другие), то файл не удаляется, а место занимаемое файлом помечается как свободное и при последующей записи на это место может быть записан другой файл.
myunivercity.ru