Архитектура вычислительных систем. - Компьютеры с общей памятью
- Кэш-когерентность
- NUMA и ccNUMA архитектуры. Примеры.
- Особенности архитектуры современных микропроцессоров, направленные на повышение производительности:
- - ILP (суперскалярность, VLIW)
- - TLP и многоядерность
- - Реализация SIMD-вычислений
- - Концепция RISC
- - Спецпроцессоры. Процессоры Cell
Компьютеры с общей памятью (1) - По архитектуре доступа к памяти (ОП) параллельные компьютеры делятся на:
- системы с разделяемой памятью, у которых имеется одна большая виртуальная память и все процессоры имеют одинаковый доступ к данным и командам, хранящимся в этой памяти;
- системы с распределенной памятью, у которых каждый процессор имеет свою локальную ОП и к ней у других процессоров нет доступа.
- В системах с общей (разделяемой) памятью любой процессор из любого узла может адресовать все глобальное адресное пространство ОП. Причем физически память может быть расположена в каждом процессорном узле, но логически объединена в единое адресное пространство. С точки зрения программиста компьютер представляет собой определенное количество параллельных процессоров, которым придана общая память.
- К компьютерам с общей памятью относятся системы класса Symmetric multi-processor (SMP). Несколько идентичных (симметричных) процессоров имеют общую память, общую систему ввода-вывода, одну ОС и др.
- Плюс: проще организовать
- параллельные вычисления.
- Минус: технологические ограничения
- на число узлов.
Компьютеры с общей памятью (2) - Простейший способ создать многопроцессорный вычислительный комплекс с разделяемой памятью – взять несколько процессоров, соединить их с общей шиной и соединить эту шину с ОП.
- НО! ограниченная масштабируемость: между процессорами возникает борьба за доступ к шине, поэтому, начиная с некоторого числа процессоров, быстродействие системы перестанет увеличиваться при добавлении нового процессора.
- При наличии кэш-памяти ситуация улучшается, т.к. следующая нужная процессору команда с большой вероятностью будет находиться в кэш-памяти. Уменьшается число обращений к шине, быстродействие системы возрастает.
- НО! проблема кэш-когерентности: если двум процессорам понадобилось значение V, это значение будет храниться в виде двух копий в кэш-памяти обоих процессоров. 1й процессор может изменить V и передать новое значение в ОП. Но в кэш-памяти 2го процессора все еще хранится старое значение!
Do'stlaringiz bilan baham: |