Министерство образования Российской Федерации
Марийский государственный технический университет
Факультет ФИВТ
Кафедра ИВС
Механизм когерентности обобщенного кольцевого гиперкуба с непосредственными связями
к курсовой работе по дисциплине
ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ.
Выполнил:
студент группы ВМ-42 Трохимец Г.М.
(дата) (подпись) Проверил: к.т.н., доцент Власов А.А.(дата) (подпись)
Оценка:г. Йошкар-Ола
2002г.
Аннотация
В данной работе были рассмотрены механизмы поддержания когерентности в многопроцессорной ВС. Также рассмотрена коммутационная структура типа обобщенного кольцевого гиперкуба, к которой был подобран свой механизм когерентности.
Оглавление
Введение...................................................................................................... 4
Техническое задание................................................................................. 5
1. Общая часть........................................................................................... 6
1.1. Механизмы поддержания когерентности.................................... 6
1.2. Механизмы неявной реализации когерентности......................... 7
1.2.1. Однопроцессорный подход.......................................................... 8
1.2.2. Многопроцессорный подход..................................................... 10
1.2.2.1. Сосредоточенная память........................................................ 10
1.2.2.2. Физически распределенная память....................................... 12
1.3. КС типа обобщенного кольцевого гиперкуба........................... 15
1.3.1. Расчет основных параметров.................................................... 16
2. Алгоритмы механизма когерентности для обобщенного кольцевого гиперкуба.................................................................................................. 17
2.1 Операция чтения............................................................................. 17
2.2 Операция записи............................................................................. 19
Заключение............................................................................................... 20
Список литературы................................................................................. 21
Введение
Многопроцессорную ВС можно рассматривать как совокупность процессоров, подсоединенных к многоуровневой иерархической памяти. При таком представлении коммуникационная среда, объединяющая процессоры и блоки памяти, составляет неотъемлемую часть иерархической памяти. Структурно-технические параметры коммуникационной среды определяют характеристики многоуровневой памяти.
В многопроцессорной ВС для каждого элемента данных должна быть обеспечена когерентность (согласованность, одинаковость) его копий, обрабатываемых разными процессорами и размещенных в разных блоках иерархической памяти. Механизмы реализации когерентности могут быть как явными, так и неявными для прикладного программиста.
Проблема о которой идет речь, возникает из-за того, что значение элемента данных в памяти, хранящееся в двух разных процессорах, доступно этим процессорам только через их индивидуальные кеши.
Современная технологическая база СБИС позволяет создавать вычислительные системы, содержащие в своем составе миллионы процессорных элементов (ПЭ). Препятствием на пути создания таких систем являются проблемы, связанные с организацией управления и обменов данными при решении задач широкого класса. При этом основная сложность заключается в организации коммутационной структуры с высокой степенью регулярности и высокой пропускной способностью при сравнительно небольших аппаратных затратах.
Известные коммутационные структуры не в полной мере отвечают этим требованиям. Все коммутационные структуры можно разделить на две большие группы: КС с непосредственными связями и КС с магистральными связями. Мы рассматриваем первую группу - КС с непосредственными связями. В частности КС обобщенного кольцевого гиперкуба.
1. Изучить механизмы поддержания когерентности.
2. Рассмотреть КС типа обобщенный кольцевой гиперкуб.
3. Составить алгоритм механизма когерентности КС типа обобщенный кольцевой гиперкуб с непосредственными связями.
Механизмы реализации когерентности могут быть как явными, так и неявными для прикладного программиста.
При таком рассмотрении архитектуры ВС можно классифицировать по способу размещения данных в иерархической памяти и способу доступа к этим данным.
Явное размещение данных; явное указание доступа к данным. Программист явно задает действия по поддержке когерентности памяти посредством передачи данных, программируемой с использованием специальных команд "послать" (send) и "принять" (receive). Каждый процессор имеет свое собственное адресное пространство (память ВС распределена), а согласованность элементов данных выполняется путем установления соответствия между областью памяти, предназначенной для передачи командой send, и областью памяти, предназначенной для приема данных командой receive, в другом блоке памяти.
Неявное размещение данных; неявное указание доступа к данным. В ВС с разделяемой памятью механизм реализации когерентности прозрачен для прикладного программиста, и в программах отсутствуют какие-либо другие команды обращения к памяти, кроме команд "чтение" (load) и "запись" (store). Используется единое физическое пространство или виртуальный адрес. Архитектура ВС с разделяемой памятью имеет много привлекательных черт:
• однородность адресного пространства памяти, позволяющая при создании приложений не учитывать временные соотношения между обращениями к разным блокам иерархической памяти;
• создание приложений в привычных программных средах;
• легкое масштабирование приложений для исполнения на разном числе процессоров и разных ресурсах памяти.
Неявное размещение данных как страниц памяти; явное указание доступа к данным. В этой архитектуре используется разделяемое множество страниц памяти, которые размещаются на внешних устройствах. При явном запросе страницы автоматически обеспечивается когерентность путем пересылки уже запрошенных ранее страниц не из внешней памяти, а из памяти модулей, имеющих эти страницы.
Явное размещение данных с указанием разделяемых модулями страниц; неявное указание доступа к данным посредством команд load, store.
Существует технология MEMORY CHANNEL эффективной организации кластерных систем на базе модели разделяемой памяти. Суть технологии заключается в следующем. В каждом компьютере кластера предполагается организация памяти на основе механизма виртуальной адресации. Адрес при этом состоит из двух частей: группы битов, служащих для определения номера страницы, и собственно адреса внутри страницы. В каждом компьютере в ходе инициализации выделяется предписанное, возможно разное, вплоть до полного отсутствия, количество физических страниц памяти, разделяемых этим компьютером с другими компьютерами кластера.
После установления во всех компьютерах отображения страниц памяти, доступ к удаленным памятям выполняется посредством обычных команд чтения (load) и записи (store) как к обычным страницам виртуальной памяти без обращений к операционной системе или библиотекам времени исполнения.
Современные микропроцессоры имеют один или несколько уровней внутрикристальной кэш-памяти. Поэтому интерфейс микропроцессоров с необходимостью включает механизм организации когерентности внутрикристальной кэш-памяти и внекристальной памяти. Внекристальная память может также быть многоуровневой: состоять из кэш-памяти и основной памяти.
Реализация механизма когерентности в ВС с разделяемой памятью требует аппаратурно-временных затрат. Причем уменьшить временную составляющую затрат можно за счет увеличения аппаратурной составляющей и наоборот. Уменьшение временной составляющей требует создания специализированной аппаратуры реализации когерентности. Уменьшение аппаратурной составляющей предусматривает некоторый минимум аппаратных средств, на которых осуществляется программная реализация механизма когерентности.
Создание иерархической многоуровневой памяти, пересылающей блоки программ и данных между уровнями памяти за время, пока предшествующие блоки обрабатываются процессором, позволяет существенно сократить простои процессора в ожидании данных. При этом эффект уменьшения времени доступа в память будет тем больше, чем больше время обработки данных в буферной памяти по сравнению с временем пересылки между буферной и основной памятями. Это достигается при локальности обрабатываемых данных, когда процессор многократно использует одни и те же данные для выработки некоторого результата.
В связи с тем, что локально обрабатываемые данные могут возникать в динамике вычислений и не быть сконцентрированными в одной области при статическом размещении в основной памяти, буферную память организуют как ассоциативную, в которой данные содержатся в совокупности с их адресом в основной памяти. Такая буферная память получила название кэш-памяти. Кэш-память позволяет гибко согласовывать структуры данных, требуемые в динамике вычислений, со статическими структурами данных основной памяти.
Типовая современная иерархия памятей для однопроцессорных ВС имеет следующую структуру: