Реферат на тему Исторический аспект развития параллельных вычислительных систем (от первых параллельных ЭВМ до современных суперкомпьютеров).
-
Оформление работы
-
Список литературы по ГОСТу
-
Соответствие методическим рекомендациям
-
И еще 16 требований ГОСТа,которые мы проверили
Введи почту и скачай архив со всеми файлами
Ссылку для скачивания пришлем
на указанный адрес электронной почты
Содержание:
ВВЕДЕНИЕ. 2
1. Эволюция концепций построения
систем параллельной обработки. 3
2. Классические архитектуры.. 6
ЗАКЛЮЧЕНИЕ. 11
СПИСОК ИСПОЛЬЗОВАННЫХ
ИСТОЧНИКОВ 13
Введение:
Параллельные вычисления — это тип вычислений, при котором
одновременно выполняется множество вычислений или выполнение процессов. [1]
Большие проблемы часто можно разделить на более мелкие, которые затем можно
решить одновременно. Существует несколько различных форм параллельных
вычислений: битовый уровень, уровень инструкций, параллелизм данных и задач.
Параллелизм уже давно используется в высокопроизводительных вычислениях, но
приобрел более широкий интерес из-за физических ограничений, препятствующих
масштабированию частоты. [2] Поскольку потребление энергии (и, следовательно,
тепловыделение) компьютерами стало проблемой в последние годы [3], параллельные
вычисления стали доминирующей парадигмой в компьютерной архитектуре, в основном
в форме многоядерных процессоров [4].
Параллельные вычисления тесно связаны с параллельными
вычислениями — они часто используются вместе и часто смешиваются, хотя они и
отличаются друг от друга: можно иметь параллелизм без параллелизма (например,
параллелизм на битовом уровне) и параллелизм без параллелизма (например, многозадачность).
за счет разделения времени на одноядерном ЦП). [5] [6] При параллельных
вычислениях вычислительная задача обычно разбивается на несколько, часто много,
очень похожих подзадач, которые могут обрабатываться независимо и результаты
которых объединяются впоследствии по завершении. Напротив, в параллельных
вычислениях различные процессы часто не решают связанные задачи; когда они это
делают, как это типично для распределенных вычислений, отдельные задачи могут
иметь различную природу и часто требуют некоторого взаимодействия между
процессами во время выполнения.
Параллельные компьютеры можно примерно
классифицировать в соответствии с уровнем, на котором оборудование поддерживает
параллелизм, с многоядерными и многопроцессорными компьютерами, имеющими несколько
элементов обработки на одной машине, в то время как кластеры, MPP и сетки
используют несколько компьютеров для работы на одном задача. Специализированные
параллельные компьютерные архитектуры иногда используются вместе с
традиционными процессорами для ускорения конкретных задач.
Заключение:
Параллельный компьютер — это компьютер, в котором
арифметические операции могут выполняться одновременно, среди прочего, на
нескольких основных или графических процессорах.
Проблемы, при которых большие объемы данных
обрабатываются в несколько последовательных шагов, так называемая конвейерная
обработка. Например, модули компилятора (препроцессор, лексический анализ,
семантический анализ, оптимизация, генерация кода) могут быть реализованы как
процессы, выполняющиеся параллельно.
Каждый процесс направляет свой вывод следующему
процессу и, следовательно, может свободно обрабатывать следующие данные, в то
время как следующий этап процесса выполняется другим процессом. Каждый из
процессов может быть назначен процессору, так что достигается широкое реальное
распараллеливание обработки.
Проблемы такого рода обычно подходят для компьютеров с
относительно небольшим количеством процессоров.
В этом случае часто говорят о многопоточности или
параллелизме. Однако для многопоточности (потоков) не обязательно, чтобы каждый
из различных процессов (потоков) выполнялся на своем собственном процессоре.
Также можно было бы запускать различные процессы более или менее параллельно на
одном процессоре. Однако тогда преимущества скорости не могут быть реализованы.
Параллельные компьютеры увеличивают свою скорость
работы, распределяя вычислительные усилия между своими процессорами. Чтобы
иметь возможность использовать полную производительность параллельного
компьютера, необходимо соответствующим образом адаптировать программирование.
Для этого доступен ряд программных интерфейсов (см. Раздел ниже).
Распределение вычислительной нагрузки по нескольким
процессам всегда требует дополнительных усилий для организации и координации
этого распределения. Обычно это усилие непропорционально увеличивается с
количеством процессов. В зависимости от существующих зависимостей не всегда
удается распараллелить процессы. Реализация задачи таким образом, чтобы
эффективно использовать параллельный компьютер, поэтому требует глубокого
понимания проблемы, и всегда необходимо проводить оценку затрат и выгод, чтобы
найти оптимум для распараллеливания. Важно эффективно использовать ограниченные
ресурсы — время вычислений, доступ к памяти, шины данных. Накладные расходы на
последовательную программу всегда должны быть минимальными (закон Амдала).
Тип объединения аппаратных компонентов в сеть также
влияет на эффективность. Для многих проблем хороших результатов можно достичь с
помощью следующих топологий:
ü Куб
(конфигурация 8 компьютеров. Сеть соответствует кубу);
ü Гиперкуб
(n-мерный кубоид).
Фрагмент текста работы:
1. Эволюция концепций построения
систем параллельной обработки Традиционно компьютерное программное обеспечение было
написано для последовательных вычислений. Для решения проблемы создается
алгоритм, который реализуется в виде последовательного потока инструкций. Эти
инструкции выполняются центральным процессором на одном компьютере.
Одновременно может выполняться только одна инструкция — после завершения этой
инструкции выполняется следующая. [8]
С другой стороны, параллельные вычисления используют
несколько элементов обработки одновременно для решения проблемы. Это
достигается путем разбиения задачи на независимые части, чтобы каждый
обрабатывающий элемент мог выполнять свою часть алгоритма одновременно с
другими. Элементы обработки могут быть разнообразными и включать в себя такие
ресурсы, как один компьютер с несколькими процессорами, несколько сетевых
компьютеров, специализированное оборудование или любую комбинацию
вышеперечисленного. [8] Исторически параллельные вычисления использовались для
научных вычислений и моделирования научных проблем, особенно в естественных и
технических науках, таких как метеорология. Это привело к разработке
параллельного аппаратного и программного обеспечения, а также к
высокопроизводительным вычислениям. [9]
Масштабирование частоты было основной причиной
повышения производительности компьютеров с середины 1980-х до 2004 года. Время
выполнения программы равно количеству инструкций, умноженному на среднее время
выполнения одной инструкции. Сохраняя все остальное постоянным, увеличение
тактовой частоты уменьшает среднее время, необходимое для выполнения
инструкции. Таким образом, увеличение частоты сокращает время выполнения всех
программ, связанных с вычислениями. [10] Однако потребляемая мощность P
микросхемой определяется уравнением P = C × V 2 × F, где C — это емкость,
переключаемая за такт (пропорциональная количеству транзисторов, входы которых
изменяются), V — напряжение, а F — частота процессора (циклов в секунду). [11]
Увеличение частоты увеличивает количество энергии, потребляемой процессором.
Повышение энергопотребления процессоров в конечном итоге привело к отмене Intel
8 мая 2004 г. своих процессоров Tejas и Jayhawk, что обычно считается концом
масштабирования частоты как доминирующей парадигмы компьютерной архитектуры
[12].
Чтобы решить проблему энергопотребления и перегрева,
производители основных центральных процессоров (ЦП или процессоров) начали
производить энергоэффективные процессоры с несколькими ядрами. Ядро — это
вычислительный блок процессора, а в многоядерных процессорах каждое ядро
является независимым и может одновременно обращаться к одной и той же памяти.
Многоядерные процессоры принесли параллельные вычисления на настольные
компьютеры. Таким образом, распараллеливание последовательных программ стало
основной задачей программирования. В 2012 году четырехъядерные процессоры стали
стандартом для настольных компьютеров, в то время как серверы имеют 10- и
12-ядерные процессоры. Из закона Мура можно предсказать, что количество ядер на
процессор будет удваиваться каждые 18–24 месяца. Это может означать, что после
2020 года типичный процессор будет иметь десятки или сотни ядер. [13]