Параллельные компьютеры

Параллельные компьютеры

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

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

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

Если при вычислении не применяются циклические (повторяющиеся) действия, то N вычислительных модулей никогда не выполнят работу в N раз быстрее, чем один единственный вычислительный модуль.

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

Содержание

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

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

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

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

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

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

Классический пример 5-ти ступенчатого конвейера на

Современные процессоры имеют многоступенчатый конвейер команд. Каждой ступени конвейера соответствует определенное действие, выполняемое процессором в этой инструкции на этом этапе. Другими словами, процессор с N ступенями конвейера может иметь одновременно до N различных инструкций на разном уровне законченности. Классический пример процессора с конвейером - это Pentium 4 имеет 35-ти ступенчатый конвейер[4]

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

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

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

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

Ссылки

  1. Krste Asanovic et al. 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."
  2. David A. Patterson and John L. Hennessy. Computer Organization and Design (Second Edition) Morgan Kaufmann Publishers, 1998. ISBN 1558604286, pg 715
  3. 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".
  4. Yale Patt. "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.

См. также



Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Полезное


Смотреть что такое "Параллельные компьютеры" в других словарях:

  • Компьютеры пятого поколения — (яп. 第五世代コンピュータ)  в соответствии с идеологией развития компьютерных технологий, после четвёртого поколения, построенного на сверхбольших интегральных схемах, ожидалось создание следующего поколения, ориентированного на распределенные… …   Википедия

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

  • Шина (компьютеры) — Разъёмы шины PCI Express (сверху вниз: x4, x16, x1 и x16), по сравнению с обычным 32 битным разъемом шины Компьютерная шина (от англ. computer bus, bidirectional universal switch двунаправленный универсальный коммутатор) в архитектуре компьютера… …   Википедия

  • Компьютерная шина — Разъёмы шины PCI Express (сверху вниз: x4, x16, x1 и x16), по сравнению с обычным 32 битным разъемом шины Компьютерная шина (от англ. computer bus, bidirectional universal switch двунаправленный универсальный коммутатор) в архитектуре компьютера… …   Википедия

  • Шина (компьютер) — Разъёмы шины PCI Express (сверху вниз: x4, x16, x1 и x16). Ниже обычный 32 битный разъем шины PCI. У этого термина существуют и другие значения, см. Шина. Компьютерная шина (от …   Википедия

  • Распределённые вычисления — Не следует путать с Добровольные вычисления. См. также: Параллельные вычисления Распределённые вычисления способ решения трудоёмких вычислительных задач с использованием нескольких компьютеров, чаще всего объединённых в параллельную… …   Википедия

  • Изометрическая проекция — Проекции Параллельная Прямоугольная (ортогональная) Аксонометрическая Изометрическая Диметрическая Триметрическая Косоугольная Аксонометрическая Изометрическая Диметрическая Триметрическая Перспективная (центральная) …   Википедия

  • Процессор — У этого термина существуют и другие значения, см. Процессор (значения). Запрос «ЦП» перенаправляется сюда; см. также другие значения. Intel Celeron 1100 Socket 370 в корпусе FC PGA2, вид снизу …   Википедия

  • Аналого-цифровой преобразователь — Четырёхканальный аналого цифровой преобразователь Аналого цифровой преобразователь[1][2] …   Википедия

  • Apple II — Появившийся в 1977 году Apple II предлагал пользователям интегрированную клавиатуру, цветную графику, звук, пластиковый корпус, восемь слотов расширения и два дисковода. Apple II (в наименовании различных моделей использо …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»