СКИПОДы конспект лекций (1127769), страница 8
Текст из файла (страница 8)
Каждая команда (как для целочисленных вычислений, таки для вычислений с плавающей точкой) содержит три 7-битных поля регистра общего назначения(РОН). Из этого следует, что процессоры архитектуры IA-64 содержат 128 целочисленных РОН и 128регистров для вычислений с плавающей точкой. Все они доступны программисту и являютсярегистрами с произвольным доступом (programmer-visible random-access registers).
Шаблон пакета(bundle's template field) указывает не только на то, какие команды в пакете могут выполнятьсянезависимо, но и какие команды из следующего пакета могут выполняться параллельно. Команды впакетах не обязательно должны быть расположены в том же порядке, что и в машинном коде, имогут принадлежать к различным путям ветвления. Компилятор может также помещать в один пакетзависимые и независимые команды, поскольку возможность параллельного выполненияопределяется шаблоном пакета. По сравнению с процессорами х86, у которых всего восемьцелочисленных РОН и стек глубины 8 для вычислений с плавающей точкой, IA-64 намного "шире" и,соответственно, будет намного реже простаивать из-за "нехватки регистров". Компиляторы для IA-64 будут использовать технологию "отмеченных команд" (predication) дляустранения потерь производительности из-за неправильно предсказанных переходов инеобходимости пропуска участков кода после ветвлений.
Когда процессор встречает "отмеченное"17ветвление в процессе выполнения программы, он начинает одновременно выполнять все ветви,уникально помечая каждую из них (компилятор помечает каждую команду предикатов ветки, ккоторой она принадлежит). Максимально – 64 ветви. После того, как будет определена "истинная"ветвь, процессор сохраняет необходимые результаты и сбрасывает остальные. Компиляторы для IA-64 будут также просматривать исходный код с целью поиска команд,использующих данные из памяти. Найдя такую команду, они будут добавлять пару команд - командупредварительной загрузки (speculative loading) и проверки загрузки (speculative check).
Во времявыполнения программы первая из команд загружает данные в память до того, как они понадобятсяпрограмме. Вторая команда проверяет, успешно ли произошла загрузка, перед тем, как разрешитьпрограмме использовать эти данные. Предварительная загрузка позволяет уменьшить потерипроизводительности из-за задержек при доступе к памяти, а также повысить параллелизм.Вывод: вся оптимизация ложится на компилятор, поиск параллелизма также возлагается на компилятор.24. Оптимизация программ под архитектуру микропроцессора.25.
Гетерогенные распределенные вычислительные системы.Ключевое слово – ИНТРАНЕТ.Мультикомпьютерные распределенные системы разделяют на гомогенные и гетерогенные. Для гомогенныхсистем характерна одна соединяющая компьютеры сеть, использующая единую технологию. Одинаковытакже и все процессоры, имеющие одинаковый объем собственной памяти. Гомогенныемультикомпьютерные системы нередко используют в качестве параллельных (работающих с однойзадачей), как и мультипроцессорные. В отличие от них гетерогенные мультикомпьютерные системы могутсодержать целую гамму независимых компьютеров, соединенные разнообразными сетями.
Далее см.Таненбаум, стр. 44, 1.3.3. Есть централизованное управление, подразумевается наличие распределеннойпрограммной системы (ОС, ФС, и т.д.).26. Метакомпъютинг.Ключевое слово – ИНТЕРНЕТ.Grid (метакомпьютинг) - растущая инфраструктура, которая в скором будущем видимо фундаментальноизменит наше представление о вычислительных сетях и их возможностях.
Grid призвана объединитьмножество региональных и национальных сетей, создав, таким образом, универсальный источниквычислительных ресурсов, доступных широкому кругу пользователей. Авторами идеи являются сотрудникАргонской Национальной Лаборатории Университета города Чикаго Ян Фостер (Ian Foster) и сотрудникИнститута Информатики Университета Южной Калифорнии Карл Кессельман (Carl Kesselman). Слово grid(сетка) для названия новой технологии было выбрано по аналогии с термином "электрическая сеть", котораяв свое время предоставила всепроникающий доступ к источникам электроэнергии, и, подобнокомпьютерной технике, оказала огромное воздействие на человеческое общество.
Создатели gridпредположили, что, обеспечение надежного и недорогого доступа к вычислительным сетям инициирует18похожий преобразовательный эффект и стимулирует появление новых классов сетевых компьютерныхприложений.Использование компьютеров для решения актуальных задач давно уже стало естественной средойчеловеческого существования. Современные вычислительные системы применяются для моделированиясложнейших научных и технических проблем, медицинской диагностики, управления промышленнымоборудованием, прогнозирования погоды и многого другого. Тем не менее, интенсивность и эффективностьиспользования компьютерной техники до сих пор мала.
Ограниченность использования вычислительныхресурсов объясняется множеством причин, включая нехватку соответствующего образования упользователей и средств на приобретение достаточно мощной компьютерной техники. Поэтому,практически с момента возникновения компьютеров ставился вопрос об объединении большого количествавычислительных ресурсов. Реальная возможность для такого объединения появилась только в последнеевремя. Еѐ появление обусловило: развитие компьютерных архитектур и непрерывный ростпроизводительности, улучшение пропускной способности коммуникационных сред, а также новыетехнологии разработки программ. Что важно, метакомпьютер может не иметь постоянной конфигурации отдельные компоненты могут включаться в его конфигурацию или отключаться от нее; при этом технологииметакомпьютинга обеспечивают непрерывное функционирование системы в целом. Современныеисследовательские проекты в этой области направлены на обеспечение прозрачного доступа пользователейчерез Интернет к необходимым распределенным вычислительным ресурсам, а также прозрачногоподключения простаивающих вычислительных систем к метакомпьютерам.Очевидно, что наилучшим образом для решения на метакомпьютерах подходят задачи переборного ипоискового типа, где вычислительные узлы практически не взаимодействуют друг с другом и основнуючасть работы производят в автономном режиме: задача исследования генома, дешифрация, обработкарезультатов физических испытаний, проект CETI.
Основная схема работы в этом случае примерно такая:специальный агент, расположенный на вычислительном узле (компьютере пользователя), определяет фактпростоя этого компьютера, соединяется с управляющим узлом метакомпьютера и получает от негоочередную порцию работы (область в пространстве перебора). По окончании счета по данной порциивычислительный узел передает обратно отчет о фактически проделанном переборе или сигнал о достижениицели поиска.Далее на данной странице будут вкратце описаны и приведены ссылки на основные исследовательскиепроекты в области мета-компьютинга, разработанные программные технологии, конкретные примеры метакомпьютеров.
Нет централизованного управление, основные архитектуры – Legion (объектно-ориентир),Globus (в терминах предоставления сервисов).27. Кластерные архитектуры.Вычислительные кластеры (cluster) – группа ЭВМ (серверов), связанная между собой системной сетью ифункционирующая с точки зрения пользователя как единый вычислительный узел. Локальные сетиотличаются от кластеров тем, что узлы локальной сети используются индивидуально, в соответствии сосвоим назначением. В свою очередь кластеры разделяются на Высокоскоростные (High Performance, HP) иСистемы Высокой Готовности (High Availability, HA), кластеры с балансировкой нагрузки (Load balancingclusters), а также Смешанные Системы.
Высокоскоростные системы предназначены для задач, которыетребуют больших вычислительных мощностей: обработка изображений, научные исследования,математическое моделирование и т. д.Кластеры высокой готовности используются в банковских операциях, электронной коммерции и т д.Другой источник:Архитектура Набор рабочих станций (или даже ПК) общего назначения, используется в качестве дешевоговарианта массивно-параллельного компьютера. Для связи узлов используется одна из стандартных сетевыхтехнологий (Fast/Gigabit Ethernet, Myrinet) на базе шинной архитектуры или коммутатора. При объединениив кластер компьютеров разной мощности или разной архитектуры, говорят о гетерогенных (неоднородных)кластерах.Узлы кластера могут одновременно использоваться в качестве пользовательских рабочих станций.
В случае,когда это не нужно, узлы могут быть существенно облегчены и/или установлены в стойку.ПримерыNT-кластер в NCSA, Beowulf-кластеры.Операционная система Используются стандартные для рабочих станций ОС, чаще всего, свободнораспространяемые - Linux/FreeBSD, вместе со специальными средствами поддержки параллельногопрограммирования и распределения нагрузки.Модель программированияПрограммирование, как правило, в рамках модели передачи сообщений(чаще всего - MPI).