14 procesory rownolegle
Transkrypt
14 procesory rownolegle
Architektura komputerów Tydzień 14 Procesory równoległe Klasyfikacja systemów wieloprocesorowych ● Luźno powiązane systemy wieloprocesorowe – ● Procesory wyspecjalizowane funkcjonalnie – ● Istnieje główny procesor i pomocnicze, które są przez niego sterowane. Silnie powiązane systemy wieloprocesorowe – ● Każdy procesor ma własną pamięć główną i kanały wejścia-wyjścia. Zbiór procesorów o wspólnej pamięci głównej pod kontrolą jednego systemu operacyjnego. Systemy z przetwarzaniem równoległym – Silnie powiązane systemy wieloprocesorowe, które mogą współpracować, pracując równolegle nad jednym zadaniem. Luźno powiązane systemy ● ● ● Luźno powiązane systemy wieloprocesorowe to po prostu oddzielne komputery, z których każdy posiada własną pamięć, niedostępną dla pozostałych i oddzielny system operacyjny. Są połączone za pomocą szybkiej sieci. Wymagają odpowiedniego wsparcia ze strony systemu operacyjnego, lub tylko aplikacji, działającej w rozproszonym środowisku. Procesory wyspecjalizowane ● ● ● Z procesorami wyspecjalizowanymi funkcjonalnie mamy do czynienia w każdym współczesnym komputerze PC. Przykładem jest procesor na karcie grafiki, wykonujący złożone obliczenia dla grafiki dwu i trójwymiarowej. Występuje wiele wyspecjalizowanych procesorów, które odciążają procesor główny. Silnie powiązane systemy wieloprocesorowe ● Ze wspólną magistralą – ● Z pamięcią wieloportową – ● wszystkie procesory, pamięć i inne układy są przyłączone do jednej magistrali systemowej. układy pamięci zawierają wiele portów pozwalających każdemu procesorowi na niezależny, równoległy dostęp do pamięci. Z centralną jednostką sterującą – centralna jednostka sterująca kieruje przepływem danych między pozostałymi układami: procesorami, pamięcią i we-wy. Magistrala ● ● Zalety: – Prostota. Interfejs, adresowanie, arbitraż w procesorach są takie same jak w układzie jednoprocesorowym. – Elastyczność. Stosunkowo łatwo dodać kolejne procesory do magistrali. – Niezawodność. Uszkodzenie któregoś z urządzeń nie powinno spowodować uszkodzenia całego systemu. Wady: – Ograniczona wydajność. System operacyjny ● ● Wieloprocesorowy system operacyjny powinien realizować dodatkowe funkcje: – równoważenie obciążenia wejścia-wyjścia – równoważenie obciążenia procesorów – rekonfiguracja Dwa rozwiązania: – Architektura nadrzędny/podrzędny: jeden z procesorów pełni nadrzędną funkcję, na nim jest wykonywany system operacyjny. Spójność pamięci podręcznych ● ● ● Każdy procesor ma własną pamięć cache. Wiele kopii tych samych danych może jednocześnie znajdować się w pamięciach cache różnych procesorów. Jeśli każdy procesor aktualizuje swoją kopię, pojawia się niespójny obraz pamięci. Rozwiązania ● ● Rozwiązania programowe – blokowanie danych. Rozwiązania sprzętowe: – protokoły katalogowe – protokoły podglądania – ● zapis z unieważnieniem ● zapis z aktualizacją protokół MESI Protokół MESI stan wiersza ● Zmodyfikowany – ● Wyłączny – ● wiersz jest taki sam jak w pamięci i nie występuje w innych pamięciach podręcznych Wspólny – ● wiersz został zmodyfikowany i jest osiągalny tylko w tej pamięci podręcznej wiersz jest taki sam jak w pamięci i może występować w innych pamięciach podręcznych Nieważny Graf przejść MESI SHR SHW Nieważny RMS RME SHW (pakiet) X + SHW WM SHR RH - trafienie odczytu RMS – chybienie odczytu, RH wspólny RME – chybienie odczytu, Wspólny wyłączny WH - trafienie zapisu WM - chybienie zapisu SRH – śledź trafienie odczytu WH SHW – śledź trafienie zapisu lub odczytu z zamiarem modyfikacji SHR Kopiowanie zmienionego wiersza SHW RH Zmodyfikowany RH WH WH Wyłączny X Unieważnienie transakcji + Odczyt z zamiarem modyfikacji Wypełnienie wiersza pamięci podręcznej Rodzaje procesorów równoległych ● SISD (single instruction single data) – ● SIMD (single instruction, multiple data) – ● pojedynczy strumień rozkazów i danych – jeden procesor ze zwielokrotnionymi jednostkami wykonawczymi pojedynczy strumień rozkazów i zwielokrotniony strumień danych. Jeden rozkaz steruje przetwarzaniem wielu procesorów na różnych danych – procesory wektorowe MIMD (multiple instruction, multiple data) – wiele strumieni rozkazów i danych: każy procesor ma własny strumień rozkazów i danych. Pamięć może być wspólna lub rozdzielona. Wielokomputery ● ● Wielokomputer to oddzielne komputery pracujące w sieci nad wspólnym problemem – klaster. Topologie: – Pierścień – Siatka – Drzewo – Hipersześcian Topologie Pierścień Siatka Drzewo Hipersześcian