Системы с общей памятью

 

Системами с общей памятью называют системы, в которых несколько процессоров имеют общую оперативную память. Чаще всего встречающиеся системы этого типа — компьютеры с многоядерными процессорами (multi-core). Преимущества таких систем:

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

· Простота написания программы: можно, например, создать несколько вычислительных потоков, или же снабдить программу специальными директивами (например, технология OpenMP), которые подскажут компилятору, как распараллеливать программу. Кроме того, возможно полностью автоматическое распараллеливание программы компилятором.

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

Недостатки:

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

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

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

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

Проблема масштабируемости: очень сложно сделать подобную систему с больши́м числом процессоров, так как очень сильно возрастает стоимость и падает эффективность работы из-за описанных выше проблем. Практически все подобные системы имеют ≤ 8 процессоров.

7.3. Системы с распределённой памятью

 

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

 

Системы с распределённой памятью, в которых каждый вычислительный узел представляет собой полноценный компьютер со своей копией операционной системы, называют кластерными (или «кластерами»). Кластеры обычно представляют собой шкафы с компактными системными блоками, которые соединены друг с другом каналами связи (посредством специальных коммутаторов), передающими данные со скоростью 10 ГБит/сек и более.

Преимущества:

· Простота и дешевизна построения: можно взять большое количество обычных компьютеров, соединить их каналами связи (например, Ethernet), и получить кластер.

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

· Возможность решать задачи, требующие очень больших объёмов оперативной памяти: суммарный объём памяти системы можно сделать сколь угодно большим. Требуется лишь, чтобы задача разбивалась на относительно независимые подзадачи.

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

Недостатки:

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

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

· Большой размер систем и большое энергопотребление: кластерные системы в настоящее время занимают целые комнаты и даже здания.

 

Гибридные системы

Гибридные вычислительные машины, сочетающие особенности аналоговых и цифровых устройств. Гибридные вычислительные машины (ГВМ) оперируют с информацией, представленной как в цифровой, так и аналоговой форме. ГВМ предназначены для решения ряда конкретных задач, когда требуется объединить достоинства принципов построения ЦВМ и аналоговых вычислительных машин (АВМ). ГВМ, содержащие как аналоговые, так и цифровые вычислительные устройства, совмещают в себе достоинства АВМ и ЦВМ. В таких машинах цифровые устройства обычно служат для управления и выполнения логических операций, а аналоговые устройства — для решения дифференциальных уравнений.

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

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

Расчленение вычислительного процесса в ходе решения задачи на отдельные операции, выполняемые АВМ и ЦВМ в комплексе, уменьшает объём вычислительных операций, возлагаемых на ЦВМ, что при прочих равных условиях существенно повышает общее быстродействие гибридных вычислительных систем.

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

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

Развитие гибридных вычислительных систем (ГВС) возможно в двух направлениях: построение специализированных ГВС, рассчитанных на решение только одного класса задач, и построение универсальных ГВС, позволяющих решать сравнительно широкий класс задач. Структура такого универсального гибридного комплекса состоит из АВМ однократного действия, АВМ с повторением решения, сеточной модели, устройств связи между машинами, специального оборудования для решения задач статистического моделирования и периферийного оборудования. Помимо стандартного математического обеспечения ЭВМ, входящих в комплекс, в ГВС требуются специальные программы, обслуживающие систему связи машин и автоматизирующие процесс подготовки и постановки задач на АВМ, а также единый язык программирования для комплекса в целом.

Суперкомпьютеры

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

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

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

Первые суперкомпьютеры имели производительность порядка 1 кфлопс, т.е. 1000 операций с плавающей точкой в секунду. Компьютер CDC 6600, имевший производительность в 1 миллион флопсов (1 Мфлопс) был создан в 1964 году. Планка в 1 миллиард флопс (1 Гигафлопс) была преодолена суперкомпьютером Cray-2 в 1985 с большим запасом (1.9 Гигафлопс). Граница в 1 триллион флопс (1 Тфлопс) была достигнута в 1996 году суперкомпьютером ASCI Red (англ.). Рубеж 1 квадриллион флопс (1 Пфлопс) был взят в 2008 году суперкомпьютером IBM Roadrunner. Сейчас ведутся работы по созданию к 2016 году экзафлопсных компьютеров, способных выполнять 1 квинтиллион операций с плавающей точкой в секунду.

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









Дата добавления: 2016-02-09; просмотров: 3190;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.