13
ЦИКЛ ПРЕЗЕНТАЦИЙ В РАМКАХ КУРСА «МАСШТАБНЫЕ ВЫЧИСЛЕНИЯ В УЧЕБНОМ ПРОЦЕССЕ» Параллельные вычисления Автор: Клевакин А. Н. Министерство образования науки и РФ Государственное образовательное учреждение высшего профессионального образования «Уральский государственный педагогический университет» Институт информатики и информационных технологий Кафедра информационных технологий

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

  • Upload
    artem-k

  • View
    656

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Параллельные вычисления

ЦИКЛ ПРЕЗЕНТАЦИЙ В РАМКАХ КУРСА

«МАСШТАБНЫЕ ВЫЧИСЛЕНИЯ В УЧЕБНОМ ПРОЦЕССЕ»

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

Автор: Клевакин А. Н.

Министерство образования науки и РФГосударственное образовательное учреждение

высшего профессионального образования«Уральский государственный педагогический

университет»Институт информатики и информационных

технологийКафедра информационных технологий

Page 2: Параллельные вычисления

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

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

Page 3: Параллельные вычисления

Параллельность

Последовательноевыполнение команд

Параллельное выполнение команд

Идея распараллеливания вычислений основана на том, что большинство задач может быть разделено на набор

меньших задач, которые могут быть решены одновременно.

Page 4: Параллельные вычисления

Формы параллельных вычислений

Обычно параллельные вычисления требуют координации действий. Параллельные вычисления существуют в нескольких формах:

параллелизм на уровне битов;параллелизм на уровне инструкций;параллелизм данных;параллелизм задач.

Page 5: Параллельные вычисления

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

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

Page 6: Параллельные вычисления

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

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

Page 7: Параллельные вычисления

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

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

Page 8: Параллельные вычисления

Параллелизм задач (многопоточность)

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

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

Меньшие относительно процесса временные затраты на создание потока.

Повышение производительности процесса за счет распараллеливания процессорных вычислений и операций ввода/вывода.

Page 9: Параллельные вычисления

Виды параллельной обработки данных

ПАРАЛЛЕЛЬНАЯ ОБРАБОТКА

Предположим одна операция выполняется за единицу времени, то 1000 операций - за тысячу единиц. Пять устройств 1000 операций выполнит за 200 единиц времени. N устройств ту же работу выполнит примерно за (1000/N) единиц времени.

Page 10: Параллельные вычисления

Виды параллельной обработки данных

КОНВЕЙРНАЯ ОБРАБОТКА

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

Page 11: Параллельные вычисления

Конвейерная обработка данных

Page 12: Параллельные вычисления

Закон Амдала

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

Page 13: Параллельные вычисления

ЦИКЛ ПРЕЗЕНТАЦИЙ В РАМКАХ КУРСА

«МАСШТАБНЫЕ ВЫЧИСЛЕНИЯ В УЧЕБНОМ ПРОЦЕССЕ»

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

Автор: Клевакин А. Н.

Министерство образования науки и РФГосударственное образовательное учреждение

высшего профессионального образования«Уральский государственный педагогический

университет»Институт информатики и информационных

технологийКафедра информационных технологий