Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » А.Н. Томилин - Вычислительные системы (2006)

А.Н. Томилин - Вычислительные системы (2006), страница 16

Описание файла

PDF-файл из архива "А.Н. Томилин - Вычислительные системы (2006)", который расположен в категории "лекции и семинары". Всё это находится в предмете "вычислительные системы" из седьмого семестра, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 16 страницы из PDF

Сейчас этих систем нет, и вместо них работает другая система (работала системаМВС 1000М, но сейчас и её нет) — МВС 15000М. Относительно прибавки «М» я расскажунесколько позднее.Рассмотрим два варианта, которые реально существовали, да вообще-то МВС 1000 существует и сейчас, реально сегодня ещё работают. Вот такой интересный вариант: топологиярешётки — МВС 100(1000).

Чем они отличались? Они отличались только типом процессора46и несколькими другими параметрами, но это сейчас для нас не так существенно. Объединялись они так:ВМРис. 8Это модуль, который считался у них модулем из нескольких процессорных узлов, который потом объединялся с другими модулями, и система наращивалась, но мы не будем наэто смотреть. Этот модуль на 16-ти узлах, где каждый узел однопроцессорный. А всего такиесистемы наращивались до 128-256 узлов. Естественно, 2 16-ти узловых модуля объединяются в 32-х узловой, 2 32-х узловых — в 64-х узловой и т.д.

Мы рассмотрим 16-ти узловой изопределённых соображений. Конечные диагональные узлы соединены между собой. Такимобразом, число проходимых связей всегда не больше 3-х. Оптимальный путь всегда есть ион не больше 3-х. Были проверены 2 типа передач данных в таком модуле. Ясно, что естьмного свободных выходов: некоторые из них используются для подключения таких же модулей, к некоторым подключаются внешние машины (ВМ).

С внешних машин передаютсяданные, на внешние машины передаются результаты через прохождение по этой топологии.Как могут проходить данные? Есть масса вариантов. В начале мы чётко не подчеркнули три задачи, которые мы всё время реально отслеживали в нашем курсе: это параллелизм,это конечность/бесконечность (она явно связана с параллелизмом) и компромисс(компромисс между решениями, что сделать аппаратно и что сделать программно).

В началев самые первые годы вычислительной техники всё делалось большей частью аппаратно, ноэто большая нагрузка на аппаратуру. Потом с развитием самой техники появляютсяоперационные системы, разные системы программирования, поддерживающие трансляциюи библиотеки, и т.д. Появилось «мягкое» обеспечение, его же можно как хочешь, вот на неговсё и сваливали, пусть оно всё делает. Вы сами понимаете, если взять какой-нибудь гротеск,то можно сказать так, что на каком-то оборудовании в один разряд процессора и с однойоперацией, вы можете решить любую задачу, но — за какое время? И можно вообще всёсбросить на аппаратуру, вообще всё что угодно, — тоже можно: всё спаять и т.д.Преобразовать матрицу — взять обратную — пожалуйста.

Указывайте, где лежит матрицаисходная, где лежит матрица результат, и вперёд — запускаем операцию. Сложно будет, новыполнится — это второе поле. Поэтому всегда нужен компромисс. Волны передачифункций от аппаратуры к software, и все эти волны они не случайно проявляются, потомучто всегда стараются отслеживать или добиваться наилучшего коэффициентапроизводительности (коэффициент стоимость/производительность). Конечно, где-то нежалеют никаких денег, но в большинстве случаев этот не так.

И поэтому какие-то структурыгодятся для решения класса задач и не нужно более быстрых аппаратных решений, а какието — придётся аппаратные решения использовать. Если у вас передачи идут очень частые надальние расстояния — это один вопрос. Если передач не много и между близкими узлами —это другой вопрос.

Можно организовать связь по-другому, чем в первом случае, когда междувсемиКстати,и многовотвзаимодействий.у вас работает какая-то система, решаются некоторые задачи. Приходитновая задача, программа рассчитана на 10 логических процессоров (с 1-го по 10-й), на которых должны идти 10 ветвей программы. Ну и, конечно, надо говорить операционной системе,что у меня между 9-м и 10-м — частый обмен, между 2-м и 3-м — частый, между 1-м и 10-м— очень редкий.

Ты как-то так расположи, чтобы вот так. Операционная система говорит:47«Конечно, я постараюсь, но твои конкуренты уже заняли много места. Посмотрим». Можнопопытаться переместить конкурентов, но это надо всё перегонять.Теперь, какие же собственно 2 типа взаимосредств? Первый тип был реализован оченьинтересно. Давайте посмотрим структуру квадратика Рис. 8:ОПосновнойосновногопроцессор процессораОПсвязнойсвязногопроцессор процессора(1)(2)В нём имеется основной процессор, который выполняет операции, оперативная память(ОП) основного процессора, связной процессор и оперативная память (ОП) связного процессора. Связной процессор имеет 4 связи или, как говорили раньше, линии.

Связной процессор— это процессор с внешними связями, который очень эффективно используется для групповой передачи данных (с малой задержкой и т.д.).Представьте теперь, что нужно передать данные следующим образом:А(1)Х(2)ВПо связи (1) приходят данные от модуля (А), и связной процессор помещает их в своюоперативную память. Затем, выдаст их по линии (2) связному процессору другого модуля (В).И уже этот связной процессор модуля (В), принимая данные у себя, перекинет эти данные воперативную память основного процессора, и процессор узла (В) будет обрабатывать данные, которые ему передаёт узел (А).Мы рассмотрели функцию промежуточного узла в этом случае.

Ну и естественно, когда процессор накопил в своей оперативной памяти результат вычислений и с помощьюсвязного процессора перекидывает их куда-то.В данном случае мы имеем очень простую коммутацию: никакой коммутации, просторешётка и всё. На коммутацию никаких затрат нет, но мы задерживаем прохождение данных.А могли бы иметь другой вариант:АсетьсвязейХВЗдесь узел (Х) вообще задействоваться не будет, коммутация будет осуществлена и покакому-то направлению топологии (сложной).

Но это конечно существенный расход на сеть48связей, на аппаратуру коммутации и т.д. Тем не менее это, конечно, делается. ВспомнитеSPP-1200, о которой мы говорили, там двумерных тор и надо по всем этим путям, а вCray-T3E — трёхмерный тор, приходится такую сеть иметь и одиночные и групповые сообщения по ней проводить.Мы рассмотрели SP-2 — центральный коммутатор, затем мы смотрели SPP-1200(2000)— двойной тор, Cray-T3E(D) — трёхмерный тор.Теперь мы рассмотрим взаимоотношения двух других топологий: гиперкуб и полныйграф соединений.

И с топологией связи будет закончено.Итак, гиперкуб ранга n: число вершин — 2n, число дуг (связей) — n ⋅ 2n-1.гиперкуб ранга 3гиперкуб ранга 4Теперь, полный граф соединений (каждый с каждым): число узлов (вершин) возьмём2 n (2 n − 1)такое же — 2n, тогда число дуг (связей) —.2гиперкубn ⋅ 2 n −1 ⋅ 2n:Соотношение. Ясно, что количество связей резко= nnnполный граф2 (2 − 1) 2 − 1растёт с разной степенью возрастания. Выгодность гиперкуба по числу связей отсюда совершенно ясна. Однако, в полном графе длина пути всегда равна 1, в гиперкубе длина путирастёт с ростом n.

Всё зависит от того, как часто вы обмениваетесь, зависит от самого n. Непростые могут быть расчёты коэффициента производительности, но они используются длятого, чтобы выбрать систему.На этом мы заканчиваем многопроцессорность, но давайте тут же сразу поймём, как кэтому делу относится понятие кластер, что это такое. Вот смотрите: многопроцессорнаясистема. Конечно, сейчас, мы с вами уже отмечали, с активным основательным развитиемсистем автоматизации проектирования для любого пользователя крупная фирма соберёт,сделает, спроектирует оригинальную структуру в любом варианте (NUMA или MPPсистема), подготовит соответствующие средства поддержки программирования и т.д.

Но вданном случае это зависит от фирмы-производителя. Конечно, это зависит от коэффициентапроизводительность/стоимость, фирмы будут смотреть наиболее взаимовыгодный вариант.Но, обращая особое внимание на коэффициент производительность/стоимость, решили, ачто если вместо оригинальной системы или даже серийной системы фирмы А, просто небыть зависимым от фирмы А и от Б тоже, взять готовые средства, которые есть в массовомвыборе на рынке, и эти средства соединить между собой. Получится что-то похожее на MPP.Купить готовые изделия (дешёвые), купить имеющиеся средства связи (тоже готовые, азначит, дешёвые), и стали появляться системы, которые с одной стороны явномногопроцессорные, с другой стороны — каждый из них (вы уже видели это в SP2) — этоотдельная машина со своей операционной системой, со всем хозяйством.

Некоторые из нихмогут иметь полный набор внешних устройств, некоторые вполне ограничиваются наличиемтолько жёсткого диска. Такие объединения стали называть кластером. Фактически, этонечто среднее между многомашинными комплексами и многопроцессорными комплексами.Хотя у каждого из них своя операционная система со своей памятью, но и вмногопроцессорном комплексе тоже в каждом узле MPP-шном есть какие-то средстваоперационной системы, хотя бы для передачи данных.

В каких-то узлах болееосновательный набор средств операционной системы (на SP2 мы всё это с вамирассмотрели).Так что появление кластеров стало носить массовый характер. Каждый узел можетбыть с несколькими процессорами. Сейчас я уже пропущу МВС-1000М, построенный покластерной технологии, правда, узлы делались самим НИИ «Квант», а уже в МВС-15000М— купленные у IBM’а, двухпроцессорный на общей памяти SMP-кирпич. В принципе, этоподход «купи и сделай сам».49Вспомним некие наши заметки, которые мы делали, рассматривая тот же Cray. Помните, в устройстве управления (УУ) появляется команда, должны быть готовы ресурсы (кодызаранее переданы на векторные регистры или скалярные регистры). Если она пришла на выход УУ, и нет готового материала (т.е.

векторные регистры или скалярные не пищат, что мыготовы), то ждать придётся, пока это всё будет подготовлено. Значит, желательно, чтобы этобыло готово, т.е. оптимизация, распределение регистров — это дело транслятора или вручную, если вы пишите на автокоде. Мы говорили с вами о перестановке команд, которую выполняет транслятор — шедъюринг. Помните, если у вас имеется+ a b→c× c d →e× k l→pконечно, надо поменять местами последние 2. Если написано в алгоритме так, то всё равнонадо поменять, потому что здесь явная зависимость. Какие-то оптимизационные действия —либо вы делаете сами, либо это делает транслятор (своими машинозависимыми действиями).Т.е.

Свежие статьи
Популярно сейчас