![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Технология MPI. ⇐ ПредыдущаяСтр 5 из 5
MPI - message passing interface - библиотека функций, предназначенная для поддержки работы параллельных процессов в терминах передачи сообщений. Номер процесса - целое неотрицательное число, являющееся уникальным атрибутом каждого процесса. Атрибуты сообщения - номер процесса-отправителя, номер процесса-получателя и идентификатор сообщения. Для них заведена структура MPI_Status, содержащая три поля: MPI_Source (номер процесса отправителя), MPI_Tag (идентификатор сообщения), MPI_Error (код ошибки); могут быть и добавочные поля. Идентификатор сообщения (msgtag) - атрибут сообщения, являющийся целым неотрицательным числом, лежащим в диапазоне от 0 до 32767.
При описании процедур MPI будем пользоваться словом OUT для обозначения " выходных" параметров, т.е. таких параметров, через которые процедура возвращает результаты.
Заключение Примеры использования параллельных вычислительных систем или суперкомпьютеров можно найти в разных областях промышленности, медицины, образования. Вот лишь небольшой список областей человеческой деятельности, где использование суперкомпьютеров действительно необходимо: · автомобилестроение; · нефте - и газодобыча; · фармакология; · прогноз погоды и моделирование изменения климата; · сейсморазведка; · проектирование электронных устройств; · синтез новых материалов и многие, многие другие. В 1995 году корпус автомобиля Nissan Maxima удалось сделать на 10% прочнее благодаря использованию суперкомпьютера фирмы Cray (The Atlanta Journal, 28 мая, 1995г). С помощью него были найдены не только слабые точки кузова, но и наиболее эффективный способ их удаления. По данным Марка Миллера (Mark Miller, Ford Motor Company), для выполнения crash-тестов, при которых реальные автомобили разбиваются о бетонную стену с одновременным замером необходимых параметров, съемкой и последующей обработкой результатов, компании Форд понадобилось бы от 10 до 150 прототипов новых моделей при общих затратах от 4 до 60 миллионов долларов. Использование суперкомпьютеров позволило сократить число прототипов на одну треть. Ещё один пример - это развитие одной из крупнейших мировых систем резервирования Amadeus, используемой тысячами агентств со 180000 терминалов в более чем ста странах. Установка двух серверов Hewlett-Packard T600 по 12 процессоров в каждом позволила довести степень оперативной доступности центральной системы до 99.85% при текущей загрузке около 60 миллионов запросов в сутки. И подобные примеры можно найти повсюду. В свое время исследователи фирмы DuPont искали замену хлорофлюорокарбону. Нужно было найти материал, имеющий те же положительные качества: невоспламеняемость, стойкость к коррозии и низкую токсичность, но без вредного воздействия на озоновый слой Земли. За одну неделю были проведены необходимые расчеты на суперкомпьютере с общими затратами около 5 тысяч долларов. По оценкам специалистов DuPont, использование традиционных экспериментальных методов исследований потребовало бы около трех месяцев и 50 тысяч долларов и это без учета времени, необходимого на синтез и очистку необходимого количества вещества. Увеличение производительности ЭВМ, за счет чего? А почему суперкомпьютеры считают так быстро? Вариантов ответа может быть несколько, среди которых два имеют явное преимущество: развитие элементной базы и использование новых решений в архитектуре компьютеров. Попробуем разобраться, какой из этих факторов оказывается решающим для достижения рекордной производительности. Обратимся к известным историческим фактам. На одном из первых компьютеров мира - EDSAC, появившемся в 1949 году в Кембридже и имевшем время такта 2 микросекунды (2*10-6 секунды), можно было выполнить 2*n арифметических операций за 18*n миллисекунд, то есть в среднем 100 арифметических операций в секунду. Сравним с одним вычислительным узлом современного суперкомпьютера Hewlett-Packard V2600: время такта приблизительно 1.8 наносекунды (1.8*10-9 секунд), а пиковая производительность около 77 миллиардов арифметических операций в секунду. Что же получается? За полвека производительность компьютеров выросла более чем в семьсот миллионов раз. При этом выигрыш в быстродействии, связанный с уменьшением времени такта с 2 микросекунд до 1.8 наносекунд, составляет лишь около 1000 раз. Откуда же взялось остальное? Ответ очевиден - использование новых решений в архитектуре компьютеров. Основное место среди них занимает принцип параллельной обработки данных, воплощающий идею одновременного (параллельного) выполнения нескольких действий. К сожалению, чудеса в нашей жизни совершаются редко. Гигантская производительность параллельных компьютеров и суперЭВМ с лихвой компенсируется стоимостью и сложностью их использования. Но даже вопросы, возникающие вокруг суперкомпьютеров, ставят в тупик. Например, простой пример и жизни: землекоп выкопает яму за один час. Как вы думаете, 60 землекопов выкопают яму за одну минуту? Так и в компьютере: начиная с некоторого момента, они будут просто мешать друг другу, не ускоряя, а замедляя работу. Но все вопросы, сопровождающие суперкомпьютер, конечно же, решаются. Да, использовать суперкомпьютер сложнее, чем PC: нужны дополнительные знания и технологии, высококвалифицированные специалисты, более сложная структура информации. Написать эффективную параллельную программу сложнее, чем последовательную, да и вообще создание параллельного программного обеспечения для параллельных компьютеров - основная проблема суперкомпьютерных вычислений. Но без суперЭВМ сегодня не обойтись, и отрадно, что в нашей стране есть понимание необходимости развития этих технологий. В ноябре 2000 года в Президиуме РАН состоялось открытие межведомственного суперкомпьютерного центра. В процессе становления суперкомпьютерные центры в Дубне, Черноголовке, Институте прикладной математики им. М.В. Келдыша и т.п. Создана и развивается линия отечественных суперкомпьютеров МВС-100. За рубежом также происходит интенсивное развитие суперкомпьютеров всех типов (векторные, кластерные и т.п.), и использование их практически во всех отраслях человеческой жизни. А иначе и нельзя, так как параллельные компьютеры и вычисления - не будущее, а реальность. Список литературы 1. Антонов А.С. Введение в параллельные вычисления, М.: Изд-во МГУ, 2002, 346 с. 2. Борисов М. UNIX-кластеры // М.: Открытые системы, 2005г, 237 с. 3. Демьяненко В.Ю. Программные средства создания и ведения баз данных. - М.: Финансы и статистика, 2001, 316 с. 4. Кузьминский М. Векторно-параллельные суперкомпьютеры NEC // М.: Открытые системы, 2003 г, 246 с. 5. Кузьминский М. Архитектура S2MP - свежий взгляд на cc-NUMA // М.: Открытые системы, 2007г, 357 с. 6. Ляхович В.Ф. Основы информатики. - Ростов-на-Дону: Феникс, 2006, 278 с. 7. Моначов В. Язык программирования Java и среда NetBeans. - 2-е изд. - СПб.: БХВ-Петербург, 2009. - 720 с. 8. Мячев А.А. Спецификация многопроцессорных систем компании Intel // М.: Открытые системы, 2005, 336 с. 9. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов.3-е изд. - СПб.: Питер, 2006 359 с. 10. Самойленко В.В. Локальные сети. Полное руководство. - К., 2002, 569 с.
|