1 / 37

Architektura komputerów

Architektura komputerów. Wykład nr 13: Architektury równoległe Piotr Bilski. Architektury równoległe. Wieloprocesory symetryczne Klastry Systemy o niejednorodnym dostępie do pamięci Komputery wektorowe. DS. PU. LM. SIMD. IS. DS. CU. PU. LM. DS. PU. LM. IS. DS. PU. CU. IS.

kuniko
Download Presentation

Architektura komputerów

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Architektura komputerów Wykład nr 13: Architektury równoległe Piotr Bilski

  2. Architektury równoległe • Wieloprocesory symetryczne • Klastry • Systemy o niejednorodnym dostępie do pamięci • Komputery wektorowe

  3. DS PU LM SIMD IS DS CU PU LM DS PU LM IS DS PU CU IS DS PU MU CU IS DS PU CU MIMD (pamięć wspólna) Klasyfikacja systemów równoległych DS IS PU MU CU SISD IS DS PU MU CU IS DS Sieć połączeń PU MU CU IS DS PU MU CU

  4. Taksonomia Flynna

  5. Wieloprocesory symetryczne (SMP) • Wiele procesorów o porównywalnych możliwościach, pełniących identyczne funkcje • Pamięć i urządzenia we/wy są wspólne dla wszystkich procesorów • Komunikacja między komponentami odbywa się przez magistralę • Systemem steruje system operacyjny • Rozwiązanie wydajne w stosunku do uniprocesora!

  6. Architektura wieloprocesora

  7. Przykład działania systemu czasu rzeczywistego na maszynie wieloprocesorowej

  8. Podział systemów wieloprocesorowych • Magistrala z podziałem czasu • Konieczność adresowania modułów • Mechanizm arbitrażu dla dostępu do magistrali • Moduły bez dostępu do magistrali czekają bezczynnie • Pamięć wieloportowa – możliwy jednoczesny dostęp do pamięci z wielu modułów • Centralna jednostka sterująca – wyróżniony moduł taktujący i arbitrażowy

  9. Magistrala z podziałem czasu • Najprostsza architektura • Struktura i interfejspodobne do systemu jednoprocesorowego • Przejawia następujące cechy: • Adresowanie – rozróżnianie modułów na magistrali • Arbitraż – każdy moduł może być w trybie „master” • Podział czasu – jeśli jeden moduł kontroluje magistralę, pozostałe muszą czekać w stanie zawieszenia • Obecnie oprócz wielu modułów wejścia/wyjścia stosowane są również wieloprocesory

  10. Organizacja magistrali z podziałem czasu

  11. Pamięć wieloportowa • Bezpośredni, niezależny dostępdo pamięci przez każdy procesor • Wymagane układy logiczne do rozwiązywania konfliktów • Niewielkie modyfikacje wymagane w modułach lub procesorach

  12. Organizacja pamięci wieloportowej

  13. Centralna jednostka sterująca • Tuneleoddzielają strumienie danychpomiędzy niezależnymi modułami • Potrafi buforować żądania • Odpowiada za arbitraż oraz taktowanie • Odpowiada za kontrolę i przekazywanie informacji o stanie • Odpowiada za powiadamianie o aktualizacji pamięci podręcznej • Interfejsy do modułów pozostają niezmienione • Przykład: IBM S/370

  14. Problemy wieloprocesorowych systemów operacyjnych • Obsługa procesów współbieżnych • Szeregowania zadań z uwzględnieniem wielu procesorów • Synchronizacja w przypadku współdzielonych danych • Zarządzanie pamięcią – wydajność i spójność • Niezawodność i tolerowanie uszkodzeń

  15. Przykład SMP – IBM S/390

  16. Spójność pamięci podręcznych • Obecność danych jednocześnie w pamięci głównej oraz pamięciach podręcznych wymusza technikę aktualizacji • Zapis opóźniony nie zapewnia spójności • Rozwiązaniem dla systemów wieloprocesorowych jest protokół MESI

  17. Mechanizmy spójności • Programowe • Pracę wykonuje kompilator i system operacyjny • Analiza kodu pozwala stwierdzić, które zmienne mogą tworzyć problem spójności przy wprowadzaniu ich do pamięci podręcznej • Takie zmienne nie są wprowadzane do pamięci • Obliczany jest okres bezpieczeństwa dla wspólnych zmiennych

  18. Mechanizmy spójności (c.d.) • Sprzętowe • Protokoły katalogowe – zbieranie informacji o miejscu przechowywania dublowanych danych (centralny sterownik przechowuje je w pamięci głównej) • Protokoły podglądania – każdy procesor uczestniczy w utrzymywaniu spójności pamięci • Zapis z unieważnieniem • Zapis z aktualizacją

  19. Protokoły katalogowe • Katalog (lista wierszy pamięci podręcznej zawierających dane z pamięci głównej) przechowywany w pamięci głównej • Żądania są konfrontowane z zawartością pamięci • Przeprowadzane są odpowiednie transfery • Główny problem wydajnościowy (bottleneck)! • Efektywne w dużych systemach z dużą liczbą połączeń

  20. Protokoły podglądania • Rozpraszają problem spójności pamięci podręcznych pomiędzy kontrolery pamięci • Pamięci rozpoznają, które wiersze są dzielone • Aktualizacja pamięci rozprowadzana pomiędzy inne moduły • Przeznaczone do wieloprocesorów opartych na magistrali • Zwiększają obciążenie magistrali

  21. Zapis z unieważnieniem • Wiele odczytów, jeden zapis • Kiedy zapis jest wymagany, wszystkie kopie tej linii w innych pamięciach są unieważniane • Procesor zapisujący ma wyłączny dostęp do wiersza, dopóki nie zostanie on zażądany przez inny procesor • Używane zarówno w Pentium II, jak i PowerPC • Stan każdej linii jest oznaczony jako: zmodyfikowany, wyłączny, dzielony lub nieważny • Przykład: MESI

  22. Zapis z aktualizacją • Wiele odczytów i zapisów • Zaktualizowane słowo jest rozprowadzane do innych procesorów • Niektóre systemy wykorzystują adaptacyjnego połączenia obu rozwiązań (unieważnienia i aktualizacji zapisu)

  23. Protokół MESI • Każdy wiersz w pamięci podręcznej ma 2-bitowy znacznik stanu • Stany te to: • Zmodyfikowany (jest tylko w tej pamięci podręcznej, kopia w pamięci głównej różna) • Wyłączny (jest tylko w tej pamięci podręcznej, kopia w pamięci głównej identyczna) • Wspólny (jest w wielu pamięciach podręcznych, kopia w pamięci głównej identyczna) • Nieważny (kopia w pamięci podręcznej nieaktualna)

  24. Scenariusze dostępu do danych • Chybienie odczytu – przejście do stanu „wspólny”, jeśli kopia danych jest w innej pamięci, lub „wyłączny” w przeciwnym wypadku • Trafienie odczytu – brak zmiany stanu • Chybienie zapisu – zmiana stanu na „zmodyfikowany” • Trafienie zapisu – zmiana stanu na „wyłączny”, potem na „zmodyfikowany”

  25. Klastry • Jest to grupa połączonych ze sobą komputerów, traktowany jako jeden system obliczeniowy • Cecha skalowalności bezwzględnej i przyrostowej • Korzystny stosunek ceny do wydajności

  26. Konfiguracja klastra

  27. Szczegóły implementacji systemów operacyjnych • Zarządzanie uszkodzeniami • Wysoka dostępność • Odporność na uszkodzenia • Przejmowanie danych • Przełączanie aplikacji i danych z uszkodzonego systemu do innego w ramach klastra • Przywracanie danych • Przywrócenie aplikacji i danych na oryginalny system, kiedy problem zostanie rozwiązany • Równoważenie obciążenia • Skalowalność przyrostowa • Automatyczneuwzględnianie nowychkomputerów w planowaniu • Warstwa pośrednia musi rozpoznawać, które procesy można przenosić między komputerami

  28. Metody tworzenia klastrów • Rezerwa bierna • Dodatkowy serwer czynny • Odrębne serwery • Serwery połączone z dyskami • Serwery współużytkujące dyski

  29. Architektura systemu klastrowego • Pojedynczy punkt wejściowy • Pojedyncza hierarchia plików • Pojedynczy punkt sterowania • Pojedyncza sieć wirtualna • Pojedyncza przestrzeń pamięci • Pojedynczy system zarządzania zadaniami • Pojedynczy interfejs użytkownika • Pojedyncza przestrzeń we/wy • Pojedyncza przestrzeń procesów • Migracja procesu • Wprowadzanie punktów kontrolnych

  30. Równoległe programy użytkowe Sekwencyjne programy użytkowe Pośrednie oprogramowanie klastra Komputer PC Komputer PC Komputer PC Wspólne oprogramowanie Wspólne oprogramowanie Wspólne oprogramowanie Interfejs sieciowy Interfejs sieciowy Interfejs sieciowy Szybka sieć transmisyjna

  31. Niejednorodny dostęp do pamięci • Wszystkie procesory mają dostęp do całej pamięci, ale czas dostępu zależy od sektora, do którego procesor chce się dostać (NUMA) • Systemy ze spójnością pamięci podręcznych (CC-NUMA) • Sieć składa się z węzłów (wieloprocesorów) połączonych łączem komunikacyjnym

  32. Obliczenia wektorowe • Superkomputery w obliczeniach wykorzystują procesory tablicowe • Obliczenia na tablicach wymagają przetwarzania równoległego (mechanizm fork) • Możliwe rozwiązania: • ALU z przetwarzaniem potokowym • Równoległe ALU • Równoległe procesory

  33. Przykład obliczenia wektorowego

  34. Rozwiązania obliczeń wektorowych Przetwarzanie potokowe wewnątrz operacji

  35. Łączenie w łańcuchy • Technika stosowana w komputerach Cray • Operacja na wektorze zaczyna się w momencie uzyskania dostępu do jego pierwszego elementu • Wynik operacji może być natychmiast wykorzystany w następnej • Przy użyciu rejestrów wektorowych nie trzeba wykonywać zapisu do pamięci

  36. Przykład komputera wektorowego – IBM 3090 • Rozwinięcie jednostki IBM 370 • Wszystkie operacje wektorowe wykorzystują instrukcje IBM 370 • Obecne dwie jednostki – do obliczeń skalarnych i wektorowych • Zawiera 16 32-bitowych rejestrów wektorowych, które mogą być łączone w rejestry 64-bitowe

  37. Prawo Amdahla • S(n) – przyspieszenie wykonania operacji po użyciu n procesorów • tone(op) – czas wykonania zadania w systemie jednoprocesorowym • tmult(op) – czas wykonania zadania w systemie wieloprocesorowym

More Related