Параллельные вычислительные системы

Поделись знанием:
Перейти к: навигация, поиск

Параллельные вычислительные системы — это физические компьютерные, а также программные системы, реализующие тем или иным способом параллельную обработку данных на многих вычислительных узлах.[1]

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





Параллелизм

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

Писать программы для параллельных систем сложнее, чем для последовательных[3], так как конкуренция за ресурсы представляет новый класс потенциальных ошибок в программном обеспечении (багов), среди которых состояние гонки является самой распространённой. Взаимодействие и синхронизация между процессами представляют большой барьер для получения высокой производительности параллельных систем. В последние годы также стали рассматривать вопрос о потреблении электроэнергии параллельными компьютерами.[4] Характер увеличения скорости программы в результате распараллеливания объясняется законами Амдала и Густавсона.

Типы параллелизма

Параллелизм на уровне битов

Эта форма параллелизма основана на увеличении размера машинного слова. Увеличение размера машинного слова уменьшает количество операций, необходимых процессору для выполнения действий над переменными, чей размер превышает размер машинного слова. К примеру: на 8-битном процессоре нужно сложить два 16-битных целых числа. Для этого вначале нужно сложить нижние 8 бит чисел, затем сложить верхние 8 бит и к результату их сложения прибавить значение флага переноса. Итого 3 инструкции. С 16-битным процессором можно выполнить эту операцию одной инструкцией.

Исторически 4-битные микропроцессоры были заменены 8-битными, затем появились 16-битные и 32-битные. 32-битные процессоры долгое время были стандартом в повседневных вычислениях. С появлением технологии x86-64 для этих целей стали использовать 64-битные процессоры.

Параллелизм на уровне инструкций

Компьютерная программа — это, по существу, поток инструкций, выполняемых процессором. Но можно изменить порядок этих инструкций, распределить их по группам, которые будут выполняться параллельно, без изменения результата работы всей программы. Данный приём известен как параллелизм на уровне инструкций. Продвижения в развитии параллелизма на уровне инструкций в архитектуре компьютеров происходили с середины 1980-х до середины 1990-х.

Современные процессоры имеют многоступенчатый конвейер команд. Каждой ступени конвейера соответствует определённое действие, выполняемое процессором в этой инструкции на этом этапе. Процессор с N ступенями конвейера может иметь одновременно до N различных инструкций на разном уровне законченности. Классический пример процессора с конвейером — это RISC-процессор с 5-ю ступенями: выборка инструкции из памяти (IF), декодирование инструкции (ID), выполнение инструкции (EX), доступ к памяти (MEM), запись результата в регистры (WB). Процессор Pentium 4 имеет 35-тиступенчатый конвейер.[5]

Некоторые процессоры, дополнительно к использованию конвейеров, обладают возможностью выполнять несколько инструкций одновременно, что даёт дополнительный параллелизм на уровне инструкций. Возможна реализация данного метода при помощи суперскалярности, когда инструкции могут быть сгруппированы вместе для параллельного выполнения (если в них нет зависимости между данными). Также возможны реализации с использованием явного параллелизма на уровне инструкций: VLIW и EPIC.

Параллелизм данных

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

Параллелизм задач

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

Распределённые операционные системы

Распределённая ОС, динамически и автоматически распределяя работы по различным машинам системы для обработки, заставляет набор сетевых машин обрабатывать информацию параллельно. Пользователь распределённой ОС, вообще говоря, не имеет сведений о том, на какой машине выполняется его работа.[6]

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

Напишите отзыв о статье "Параллельные вычислительные системы"

Ссылки

  1. Almasi, G.S. and A. Gottlieb (1989). [portal.acm.org/citation.cfm?id=160438 Highly Parallel Computing]. Benjamin-Cummings publishers, Redwood City, CA.
  2. Krste Asanovic et al. [www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-183.pdf The Landscape of Parallel Computing Research: A View from Berkeley]. University of California, Berkeley. Technical Report No. UCB/EECS-2006-183. December 18, 2006: «Old [conventional wisdom]: Increasing clock frequency is the primary method of improving processor performance. New [conventional wisdom]: Increasing parallelism is the primary method of improving processor performance… Even representatives from Intel, a company generally associated with the „higher clock-speed is better“ position, warned that traditional approaches to maximizing performance through maximizing clock speed have been pushed to their limit.»
  3. David A. Patterson and John L. Hennessy. Computer Organization and Design (Second Edition) Morgan Kaufmann Publishers, 1998. ISBN 1-55860-428-6, pg 715
  4. Asanovic et al: Old [conventional wisdom]: Power is free, but transistors are expensive. New [conventional wisdom] is [that] power is expensive, but transistors are «free».
  5. Yale Patt. "[users.ece.utexas.edu/~patt/Videos/talk_videos/cmu_04-29-04.wmv The Microprocessor Ten Years From Now: What Are The Challenges, How Do We Meet Them?] (wmv). Distinguished Lecturer talk at Carnegie Mellon University, April 2004. Retrieved on November 7, 2007.
  6. Эндрю Таненбаум, Мартин ван Стеен. Распределенные системы. Принципы и парадигмы = Andrew S. Tanenbaum, Maarten van Steen. "Destributed systems. Principles and paradigms". — Санкт-Петербург: Питер, 2003. — 877 с. — (Классика computer science). — ISBN 5-272-00053-6.
  • В. А. Крюков «[parallel.ru/krukov/ Операционные системы распределённых вычислительных систем (распределённые ОС)]». Лекции для 4 курса факультета ВМК МГУ.

См. также

Отрывок, характеризующий Параллельные вычислительные системы

Войска отступали от Вильны по разным сложным государственным, политическим и тактическим причинам. Каждый шаг отступления сопровождался сложной игрой интересов, умозаключений и страстей в главном штабе. Для гусар же Павлоградского полка весь этот отступательный поход, в лучшую пору лета, с достаточным продовольствием, был самым простым и веселым делом. Унывать, беспокоиться и интриговать могли в главной квартире, а в глубокой армии и не спрашивали себя, куда, зачем идут. Если жалели, что отступают, то только потому, что надо было выходить из обжитой квартиры, от хорошенькой панны. Ежели и приходило кому нибудь в голову, что дела плохи, то, как следует хорошему военному человеку, тот, кому это приходило в голову, старался быть весел и не думать об общем ходе дел, а думать о своем ближайшем деле. Сначала весело стояли подле Вильны, заводя знакомства с польскими помещиками и ожидая и отбывая смотры государя и других высших командиров. Потом пришел приказ отступить к Свенцянам и истреблять провиант, который нельзя было увезти. Свенцяны памятны были гусарам только потому, что это был пьяный лагерь, как прозвала вся армия стоянку у Свенцян, и потому, что в Свенцянах много было жалоб на войска за то, что они, воспользовавшись приказанием отбирать провиант, в числе провианта забирали и лошадей, и экипажи, и ковры у польских панов. Ростов помнил Свенцяны потому, что он в первый день вступления в это местечко сменил вахмистра и не мог справиться с перепившимися всеми людьми эскадрона, которые без его ведома увезли пять бочек старого пива. От Свенцян отступали дальше и дальше до Дриссы, и опять отступили от Дриссы, уже приближаясь к русским границам.
13 го июля павлоградцам в первый раз пришлось быть в серьезном деле.
12 го июля в ночь, накануне дела, была сильная буря с дождем и грозой. Лето 1812 года вообще было замечательно бурями.
Павлоградские два эскадрона стояли биваками, среди выбитого дотла скотом и лошадьми, уже выколосившегося ржаного поля. Дождь лил ливмя, и Ростов с покровительствуемым им молодым офицером Ильиным сидел под огороженным на скорую руку шалашиком. Офицер их полка, с длинными усами, продолжавшимися от щек, ездивший в штаб и застигнутый дождем, зашел к Ростову.
– Я, граф, из штаба. Слышали подвиг Раевского? – И офицер рассказал подробности Салтановского сражения, слышанные им в штабе.
Ростов, пожимаясь шеей, за которую затекала вода, курил трубку и слушал невнимательно, изредка поглядывая на молодого офицера Ильина, который жался около него. Офицер этот, шестнадцатилетний мальчик, недавно поступивший в полк, был теперь в отношении к Николаю тем, чем был Николай в отношении к Денисову семь лет тому назад. Ильин старался во всем подражать Ростову и, как женщина, был влюблен в него.
Офицер с двойными усами, Здржинский, рассказывал напыщенно о том, как Салтановская плотина была Фермопилами русских, как на этой плотине был совершен генералом Раевским поступок, достойный древности. Здржинский рассказывал поступок Раевского, который вывел на плотину своих двух сыновей под страшный огонь и с ними рядом пошел в атаку. Ростов слушал рассказ и не только ничего не говорил в подтверждение восторга Здржинского, но, напротив, имел вид человека, который стыдился того, что ему рассказывают, хотя и не намерен возражать. Ростов после Аустерлицкой и 1807 года кампаний знал по своему собственному опыту, что, рассказывая военные происшествия, всегда врут, как и сам он врал, рассказывая; во вторых, он имел настолько опытности, что знал, как все происходит на войне совсем не так, как мы можем воображать и рассказывать. И потому ему не нравился рассказ Здржинского, не нравился и сам Здржинский, который, с своими усами от щек, по своей привычке низко нагибался над лицом того, кому он рассказывал, и теснил его в тесном шалаше. Ростов молча смотрел на него. «Во первых, на плотине, которую атаковали, должна была быть, верно, такая путаница и теснота, что ежели Раевский и вывел своих сыновей, то это ни на кого не могло подействовать, кроме как человек на десять, которые были около самого его, – думал Ростов, – остальные и не могли видеть, как и с кем шел Раевский по плотине. Но и те, которые видели это, не могли очень воодушевиться, потому что что им было за дело до нежных родительских чувств Раевского, когда тут дело шло о собственной шкуре? Потом оттого, что возьмут или не возьмут Салтановскую плотину, не зависела судьба отечества, как нам описывают это про Фермопилы. И стало быть, зачем же было приносить такую жертву? И потом, зачем тут, на войне, мешать своих детей? Я бы не только Петю брата не повел бы, даже и Ильина, даже этого чужого мне, но доброго мальчика, постарался бы поставить куда нибудь под защиту», – продолжал думать Ростов, слушая Здржинского. Но он не сказал своих мыслей: он и на это уже имел опыт. Он знал, что этот рассказ содействовал к прославлению нашего оружия, и потому надо было делать вид, что не сомневаешься в нем. Так он и делал.
– Однако мочи нет, – сказал Ильин, замечавший, что Ростову не нравится разговор Здржинского. – И чулки, и рубашка, и под меня подтекло. Пойду искать приюта. Кажется, дождик полегче. – Ильин вышел, и Здржинский уехал.
Через пять минут Ильин, шлепая по грязи, прибежал к шалашу.
– Ура! Ростов, идем скорее. Нашел! Вот тут шагов двести корчма, уж туда забрались наши. Хоть посушимся, и Марья Генриховна там.
Марья Генриховна была жена полкового доктора, молодая, хорошенькая немка, на которой доктор женился в Польше. Доктор, или оттого, что не имел средств, или оттого, что не хотел первое время женитьбы разлучаться с молодой женой, возил ее везде за собой при гусарском полку, и ревность доктора сделалась обычным предметом шуток между гусарскими офицерами.
Ростов накинул плащ, кликнул за собой Лаврушку с вещами и пошел с Ильиным, где раскатываясь по грязи, где прямо шлепая под утихавшим дождем, в темноте вечера, изредка нарушаемой далекими молниями.
– Ростов, ты где?
– Здесь. Какова молния! – переговаривались они.


В покинутой корчме, перед которою стояла кибиточка доктора, уже было человек пять офицеров. Марья Генриховна, полная белокурая немочка в кофточке и ночном чепчике, сидела в переднем углу на широкой лавке. Муж ее, доктор, спал позади ее. Ростов с Ильиным, встреченные веселыми восклицаниями и хохотом, вошли в комнату.
– И! да у вас какое веселье, – смеясь, сказал Ростов.
– А вы что зеваете?
– Хороши! Так и течет с них! Гостиную нашу не замочите.
– Марьи Генриховны платье не запачкать, – отвечали голоса.
Ростов с Ильиным поспешили найти уголок, где бы они, не нарушая скромности Марьи Генриховны, могли бы переменить мокрое платье. Они пошли было за перегородку, чтобы переодеться; но в маленьком чуланчике, наполняя его весь, с одной свечкой на пустом ящике, сидели три офицера, играя в карты, и ни за что не хотели уступить свое место. Марья Генриховна уступила на время свою юбку, чтобы употребить ее вместо занавески, и за этой занавеской Ростов и Ильин с помощью Лаврушки, принесшего вьюки, сняли мокрое и надели сухое платье.
В разломанной печке разложили огонь. Достали доску и, утвердив ее на двух седлах, покрыли попоной, достали самоварчик, погребец и полбутылки рому, и, попросив Марью Генриховну быть хозяйкой, все столпились около нее. Кто предлагал ей чистый носовой платок, чтобы обтирать прелестные ручки, кто под ножки подкладывал ей венгерку, чтобы не было сыро, кто плащом занавешивал окно, чтобы не дуло, кто обмахивал мух с лица ее мужа, чтобы он не проснулся.
– Оставьте его, – говорила Марья Генриховна, робко и счастливо улыбаясь, – он и так спит хорошо после бессонной ночи.
– Нельзя, Марья Генриховна, – отвечал офицер, – надо доктору прислужиться. Все, может быть, и он меня пожалеет, когда ногу или руку резать станет.
Стаканов было только три; вода была такая грязная, что нельзя было решить, когда крепок или некрепок чай, и в самоваре воды было только на шесть стаканов, но тем приятнее было по очереди и старшинству получить свой стакан из пухлых с короткими, не совсем чистыми, ногтями ручек Марьи Генриховны. Все офицеры, казалось, действительно были в этот вечер влюблены в Марью Генриховну. Даже те офицеры, которые играли за перегородкой в карты, скоро бросили игру и перешли к самовару, подчиняясь общему настроению ухаживанья за Марьей Генриховной. Марья Генриховна, видя себя окруженной такой блестящей и учтивой молодежью, сияла счастьем, как ни старалась она скрывать этого и как ни очевидно робела при каждом сонном движении спавшего за ней мужа.