Организация когерентности многоуровневой иерархической памяти
/./. Архитектура вычислительных систем
Многопроцессорную ВС можно рассматривать как совокупность процессоров, подсоединенных к многоуровневой иерархической памяти. При таком представлении коммуникационная среда, объединяющая процессоры и блоки памяти, составляет неотъемлемую часть иерархической памяти.
В многопроцессорной ВС для каждого элемента данных должна быть обеспечена когерентность (согласованность, одинаковость) его копий, обрабатываемых разными процессорами и размещенных в разных блоках иерархической памяти. Механизмы реализации когерентности могут быть как явными, так и неявными для прикладного программиста.
При таком рассмотрении архитектуры ВС можно классифицировать по способу размещения данных в иерархической памяти и способу доступа к этим данным.
Явное размещение данных; явное указание доступа к данным. Программист явно задает действия по поддержке когерентности памяти посредством передачи данных, программируемой с использованием специальных команд "послать" (send) и "принять" (receive). Каждый процессор имеет свое собственное адресное пространство (память ВС распределена), а согласованность элементов данных выполняется путем установления соответствия между областью памяти, предназначенной для передачи командой send, и областью памяти, предназначенной для приема данных командой receive, в другом блоке памяти. Архитектура ВС с распределенной памятью основана на учете временных соотношений между обращениями к разным блокам памяти и требует от программиста явного указания на необходимые пересылки данных. Распределение данных по блокам и уровням иерархической памяти также реализуется программистом.
Неявное размещение данных; неявное указание доступа к данным. В ВС сразделяемой памятью механизм реализации когерентности прозрачен для прикладного программиста, и в программах отсутствуют какие-либо другие команды обращения к памяти, кроме команд "чтение" (load) и "запись" (store). Используется единое физическое или виртуальное адресное пространство. Архитектура ВС с разделяемой памятью имеет много привлекательных черт:
Преимущества:
• однородность адресного пространства памяти, позволяющая при создании приложений не учитывать временные соотношения между обращениями к разным блокам иерархической памяти;
• создание приложений в привычных программных средах;
• легкое масштабирование приложений для исполнения на разном числе процессоров и разных ресурсах памяти.
Неявное размещение данных как страниц памяти; явное указание доступа к данным. В этой архитектуре используется разделяемое множество страниц памяти, которые размещаются на внешних устройствах. При явном запросе страницы автоматически обеспечивается когерентность путем пересылки уже запрошенных ранее страниц не из внешней памяти, а из памяти модулей, имеющих эти страницы.
Дата добавления: 2015-08-21; просмотров: 950;