Architektura pamięci tylko do pamięci podręcznej — Cache-only memory architecture

Cache only memory architecture ( COMA ) to organizacja pamięci komputerowej do użytku w wieloprocesorach, w których lokalne pamięci (zwykle DRAM ) w każdym węźle są używane jako pamięć podręczna. Jest to w przeciwieństwie do używania lokalnych pamięci jako rzeczywistej pamięci głównej, jak w organizacjach NUMA .

W NUMA każdemu adresowi w globalnej przestrzeni adresowej jest zwykle przypisywany stały węzeł macierzysty. Kiedy procesory uzyskują dostęp do niektórych danych, ich kopia jest tworzona w ich lokalnej pamięci podręcznej, ale miejsce pozostaje przydzielone w węźle macierzystym. Zamiast tego z COMA nie ma domu. Dostęp z węzła zdalnego może spowodować migrację tych danych. W porównaniu z NUMA zmniejsza to liczbę nadmiarowych kopii i może umożliwić bardziej efektywne wykorzystanie zasobów pamięci. Z drugiej strony rodzi problemy, jak znaleźć konkretne dane (nie ma już węzła macierzystego) i co zrobić, gdy pamięć lokalna się zapełni (migracja niektórych danych do pamięci lokalnej musi następnie eksmitować inne dane, który nie ma domu, do którego mógłby się udać). Do implementacji migracji zazwyczaj wykorzystywane są sprzętowe mechanizmy koherencji pamięci .

Zagadnienia te zostały zbadane przez ogromną liczbę badań. Opracowano różne formy katalogów, zasady utrzymywania wolnego miejsca w pamięciach lokalnych, zasady migracji oraz zasady dotyczące kopii tylko do odczytu. Zaproponowano również hybrydowe organizacje NUMA-COMA, takie jak Reactive NUMA, który umożliwia uruchamianie stron w trybie NUMA i przełączanie się w tryb COMA, jeśli to konieczne, i jest zaimplementowany w WildFire firmy Sun Microsystems. Firma ScaleMP zaproponowała i wdrożyła opartą na oprogramowaniu hybrydową implementację NUMA-COMA, pozwalającą na stworzenie wieloprocesorowego systemu ze współdzieloną pamięcią z klastra węzłów towarowych.

Zobacz też

Bibliografia