Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 29(157)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2

Библиографическое описание:
Тетерина С.В., Анарбеков Д.Ж., Анарбекова Г.А. КЛАССИФИКАЦИЯ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ // Студенческий: электрон. научн. журн. 2021. № 29(157). URL: https://sibac.info/journal/student/157/224247 (дата обращения: 14.05.2024).

КЛАССИФИКАЦИЯ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ

Тетерина Светлана Владимировна

студент, факультет информационных технологий, Павлодарский государственный университет им. С.Торайгырова,

Казахстан, г. Павлодар

Анарбеков Дамир Жанайханович

докторант, факультет информационных технологий, Евразийский национальный университет им. Л.Гумилева,

Казахстан, г. Нур-Султан

Анарбекова Галия Абаевна

учитель информатики и математики школы – гимназии №22,

Казахстан, г. Нур-Султан

Жузбаев Серик Сулейменович

научный руководитель,

канд. физ.-мат. наук, доц., Евразийский национальный университет им. Л.Гумилева

Нур-Султан, Казахстан

CLASSIFICATION OF PARALLEL COMPUTING SYSTEMS

 

Svetlana Teterina

student, Faculty of Information Technology, Pavlodar State University named after S. Toraigyrova,

Kazakhstan, Pavlodar

Damir Anarbekov

doctoral student of the Faculty of Information Technology, Eurasian National University. L. Gumilyov,

Kazakhstan, Nur-Sultan

Galiya Anarbekova

teacher of computer science and mathematics at school - gymnasium number 22,

Kazakhstan, Nur-Sultan

Serik S. Zhuzbaev

scientific adviser, сand. physical-mat. sciences, Assoc., Eurasian National University. L. Gumilyov,

Kazakhstan, Nur-Sultan

 

АННОТАЦИЯ

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

ABSTRACT

This article discusses the classification of parallel architectures and the main problems of parallel computing.

 

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

Keywords: parallel computing, Flynn's taxonomy, data flow, instruction flow, distributed computing, bandwidth, latency.

 

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

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

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

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

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

 

Рисунок 1. Таксономия Флинна

 

Одна из наиболее широко используемых классификаций, используемая с 1966 года, называется таксономией Флинна (Рис.1). Таксономия Флинна различает архитектуры многопроцессорных компьютеров в зависимости от того, как они могут быть классифицированы по двум независимым измерениям: поток инструкций и поток данных. Поток инструкций является алгоритмами. Алгоритм - это просто последовательность шагов, в котором решается конкретная проблема. Потоки данных - это информация, которая извлекается из памяти компьютера и используется в качестве входных значений для алгоритмов. Процессор в свою очередь вставляет значения из потока данных в алгоритмы из потока инструкций. Затем он запускает операцию для получения результата. Каждое из этих измерений может иметь только одно из двух возможных состояний: одно или несколько.

 

 

Рисунок 2. Принцип работы SISD компьютера

 

Компьютеры с одиночной инструкцией и одиночными данными (SISD) имеют один процессор, который обрабатывает один алгоритм, используя один источник данных одновременно (Рис. 2). Компьютер выполняет и обрабатывает каждую задачу по порядку, и поэтому иногда люди используют слово «последовательный» для описания SISD компьютеров. Они не способны самостоятельно выполнять параллельные вычисления.

 

Рисунок 3. Принцип работы MISD компьютера

 

Компьютеры с несколькими инструкциями и одиночными данными (MISD) имеют несколько процессоров (Рис. 3).

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

 

Рисунок 4. Принцип работы SIMD компьютера

 

Компьютеры с одной инструкцией и несколькими данными (SIMD) имеют несколько процессоров, которые следуют одному и тому же набору инструкций, но каждый процессор вводит разные данные в эти инструкции (Рис. 4). SIMD компьютеры используют разные данные по одному и тому же алгоритму. Это может быть полезно для анализа больших порций данных на основе тех же критериев. Многие сложные вычислительные проблемы не соответствуют этой модели.

 

Рисунок 5. Принцип работы MIMD компьютера

 

Компьютеры с несколькими инструкциями и несколькими данными (MIMD) имеют несколько процессоров, каждый из которых способен принимать свой собственный поток команд независимо от других (Рис. 5). Каждый процессор также извлекает данные из отдельного потока данных. MIMD компьютер может выполнять несколько разных процессов одновременно. MIMD компьютеры более гибкие, чем компьютеры SIMD или MISD, но сложнее создать сложные алгоритмы, которые заставят эти компьютеры работать. Системы с одной программой, несколькими данными (SPMD) являются подмножеством MIMD. SPMD компьютер структурирован как MIMD, но он выполняет один и тот же набор инструкций для всех процессоров.

Из этих четырех компьютеров SIMD и MIMD являются наиболее распространенными моделями в системах параллельных вычислений. Хотя компьютеры SISD не могут выполнять параллельную обработку самостоятельно, некоторые из них можно объединить в кластер. Процессор каждого компьютера может выступать в качестве процессора в более крупной параллельной системе. Вместе компьютеры действуют как один суперкомпьютер. Эта техника имеет собственное название: распределенные вычисления (grid computing). Подобно компьютерам MIMD, сетевая вычислительная система может быть очень гибкой с правильным программным обеспечением.

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

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

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

Существует два основных фактора, которые могут повлиять на производительность системы: задержка и пропускная способность. Задержка, это количество времени, которое требуется процессору для передачи результатов обратно в систему. Если процессору требуется меньше времени для запуска алгоритма, чем для передачи полученной информации обратно всей системе теряется его актуальность. В таких случаях последовательная компьютерная система была бы более подходящей. Пропускная способность, это количество данных который может передать процессор за определенное время. Хорошая система параллельной обработки должна иметь низкую задержку и высокую пропускную способность.

 

Список литературы:

  1. Blaise Barney. Introduction to Parallel Computing. https://computing.llnl.gov/tutorials/parallel_comp/#SPMD-MPMD
  2. Jonathan Strickland. How Parallel Processing Works. https://computer.howstuffworks.com/parallel-processing1.htm
  3. David A. Patterson, John L. Hennessy. Computer Organization and Design, Fourth Edition: The Hardware/Software Interface. — Morgan Kaufmann, 2011. — 914 p. — ISBN 0123747503
  4. Encyclopedia of Parallel Computing / Ed. by David Padua. — Springer, 2011. — ISBN 978-0-387-09765-7

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.