Podcast Beta
Questions and Answers
Jaką maksymalną prędkość operacji zmiennoprzecinkowych osiągał komputer UNIVAC I?
W którym roku powstał komputer UNIVAC I?
Na czym polega różnica między przetwarzaniem sekwencyjnym a równoległym?
Które z poniższych stwierdzeń najlepiej opisuje komputer z lat 60. XX wieku?
Signup and view all the answers
Jakie były główne miejsca pracy z komputerem w latach 80. XX wieku?
Signup and view all the answers
Jakie zalety wpływają na popularność przetwarzania równoległego?
Signup and view all the answers
Jakie zagrożenia mogą wynikać z wykorzystania przetwarzania równoległego?
Signup and view all the answers
Jakie zmiany zaszły w miejscach pracy z komputerem do lat 90-tych XX wieku?
Signup and view all the answers
Jakie są główne zalety przetwarzania równoległego w odniesieniu do przetwarzania sekwencyjnego?
Signup and view all the answers
Jaką wydajność obliczeniową ma CPU, który wykonuje obliczenia w 15 minut w przedstawionym przykładzie?
Signup and view all the answers
Jaka jest całkowita liczba operacji zmiennoprzecinkowych do wykonania w danym przykładzie?
Signup and view all the answers
Co przedstawia klasyczny program sekwencyjny?
Signup and view all the answers
Jakie ograniczenie związane jest z przesyłaniem danych z RAM do CPU?
Signup and view all the answers
Jakie zadanie wykorzystuje obliczenia równoległe w przykładzie podanym w treści?
Signup and view all the answers
Jakie ograniczenie dotyczące pamięci wpływa na wykonanie obliczeń przedstawionych w przykładzie?
Signup and view all the answers
Jakie GPU zajmuje 55 miejsce na liście TOP 500 w 2024 roku?
Signup and view all the answers
Jakie pamięci są charakterystyczne dla maszyn z pamięcią współdzieloną (SM)?
Signup and view all the answers
Które z poniższych stwierdzeń dotyczących maszyn typu MIMD jest poprawne?
Signup and view all the answers
Co jest typowe dla komputerów z wielordzeniowymi procesorami?
Signup and view all the answers
Jaka jest główna różnica między pamięcią wspólną (SM) a pamięcią rozproszoną (DM)?
Signup and view all the answers
Które z poniższych stwierdzeń jest prawdziwe o pamięci lokalnej (DM)?
Signup and view all the answers
Jaki był główny impuls do rozwoju pamięci lokalnej i rozproszonych systemów komputerowych?
Signup and view all the answers
Jakie operacje są przedstawione w fragmentach kodu?
Signup and view all the answers
Jakie są różnice w dostępie do pamięci między SM a DM?
Signup and view all the answers
Jakie są kluczowe cechy architektur MIMD?
Signup and view all the answers
Co oznacza pojęcie 'równoległość procesowa'?
Signup and view all the answers
Jakie są potencjalne problemy związane z przetwarzaniem równoległym?
Signup and view all the answers
Które z poniższych opisuje 'przetwarzanie rozproszone'?
Signup and view all the answers
Jaką rolę odgrywa czas dostępu do pamięci w Hierarchicznej Pamięci Współdzielonej?
Signup and view all the answers
Dlaczego zmiany w algorytmie są często konieczne przy wzroście udziału kodu równoległego?
Signup and view all the answers
Czym różni się system równoległy od systemu rozproszonego?
Signup and view all the answers
Jakie podejście reprezentuje 'równoległość tablicowa'?
Signup and view all the answers
Jaką rolę pełni warunek 'brak_danych' w monitorze 'wyświetlaj_dane'?
Signup and view all the answers
Jakie są wartości domyślne dla 'liczba_dostępna' w monitorze?
Signup and view all the answers
Co się stanie, gdy procedura 'ustaw' zostanie wywołana?
Signup and view all the answers
Jakie równanie przedstawia prawo Amdahla dotyczące przyspieszenia?
Signup and view all the answers
Czym jest efektywność programu równoległego?
Signup and view all the answers
Jakie jest znaczenie zmiennych β(n) i (1 - β(n)) w równaniu przyspieszenia?
Signup and view all the answers
Co oznacza oznaczenie 'S(n, P) > P' w kontekście przyspieszenia?
Signup and view all the answers
Jak można zmierzyć niebalansowanie obciążenia systemu?
Signup and view all the answers
Study Notes
Wprowadzenie do programowania rozproszonego i równoległego
- Wykład oparty na książce „Wprowadzenie do obliczeń równoległych" Z.J.Czech, PWN, 2013.
- Autor wykładu: Piotr Marek Oramus.
- Wykład obejmuje tematykę historii, definicji przetwarzania sekwencyjnego, współbieżnego i równoległego, architektury systemów, parametrów i praw rządzących programowaniem rozproszonym i równoległym.
Historia
- Pierwszy komputer ogólnego przeznaczenia - UNIVAC I (1951) - 1 kflop/s.
- Ewolucja pracy z komputerami:
- Lata 60. - praca w pokoju z komputerem.
- Lata 70. - praca w pokoju terminalowym.
- Lata 80. - praca przy własnym biurku.
- Lata 90. - komputery mobilne.
- Superkomputer Prometheus (czerw. 2024) - 2,65 Pflop/s, składa się z 55 Helios GPU, 177 Athena, 305 Helios CPU i 442 Ares.
- Popularność wielordzeniowych procesorów w komputerach osobistych (PC).
- Przykładowe komputery:
- Raspberry Pi Pico W - dwurdzeniowy ARM Cortex M0+ @133MHz.
- Six-core "Istanbul" Opteron.
Po co przetwarzać równolegle?
- Przykładem jest symulacja pogody:
- Siatka nad Polską - 7 350 000 000 komórek elementarnych.
- 100 operacji zmiennoprzecinkowych na komórkę.
- Symulacja 4 dni z krokiem czasowym 5 minut.
- Potrzeba 84 700 000 000 000 operacji zmiennoprzecinkowych.
- Jedyny CPU o wydajności 1GFlop/s wykonuje rachunki w 10 dni.
- CPU o wydajności 1TFlop/s może teoretycznie zakończyć rachunki w 15 minut, ale:
- Potrzeba 350GB pamięci.
- Dane z RAM do CPU muszą być przesyłane 1 000 000 000 000 razy/sek.
Program sekwencyjny
- Składa się z jednego ciągu instrukcji.
- Przekształca dane wejściowe w wyjściowe.
- Wykonywany przez jeden wirtualny procesor.
- Operacje wykonywane są kolejno po sobie.
- Przykład:
for ( i = 0; i < size; i++ )
C[ i ] = A[ i ] + B[ i ];
for (j = 0; j < size; j++ )
D[j] = E[ j ] / F[j];
Maszyny typu MIMD (Multiple Instractions Multiple Data)
- Dzielą się na:
-
Shared Memory (SM):
- Pamięć wspólna, współdzielona, globalna.
- Wszystkie procesory mają dostęp do wspólnej przestrzeni adresowej.
- Typowy przykład: komputer z wielordzeniowym procesorem.
-
Distributed Memory (DM):
- Pamięć lokalna, rozproszona.
- Programista musi podzielić dane.
- Odczyt danych wymaga znajomości adresu i lokalizacji pamięci.
- Typowy przykład: klaster obliczeniowy.
-
Shared Memory (SM):
- Architektury z pamięcią wspólną:
- Rozwiązania sprzętowe (np. SGI Origin 2000).
- Rozwiązania programowe (np. vSMP).
- Hierarchiczna pamięć współdzielona - czas dostępu do pamięci zależy od jej lokalizacji.
Wnioski
- Przetwarzanie równoległe często jest konieczne.
- Wymiana informacji między procesorami generuje narzuty.
- Zwiększenie udziału kodu równoległego może wymagać zmiany algorytmu.
Definicje
- Równoległość procesowa: wykonywanie niezależnych zadań przez wiele procesorów (np. supermarket/bank).
- Równoległość tablicowa: przetwarzanie multimediów (np. musztra wojskowa).
- Równoległość potokowa: wykonywanie działań w łańcuchu (np. taśma produkcyjna).
- Przetwarzanie rozproszone: system z wieloma elementami przetwarzającymi, przechowującymi, współbieżnymi lub działającymi programami, które są ze sobą powiązane (luźno lub ściśle).
- System równoległy: ściśle powiązany system rozproszony, gdzie zasoby są podporządkowane rozwiązaniu jednego problemu.
- System rozproszony: może pracować nad wieloma problemami równocześnie.
-
Monitor: mechanizm synchronizacji, który zarządza dostępem do zasobów współdzielonych.
- Przykład: monitor z warunkiem, który czeka na ustawienie wartości zmiennej.
Parametry
- Lokalność: zakres danych, do których procesor ma bezpośredni dostęp.
- Granulacja: rozmiar pojedynczej jednostki pracy (program grubo/drobno-ziarnisty).
- Niezbalansowanie obciążenia systemu: mierzy się w procentach.
- Determinizm: powtarzalność wyników przy tych samych danych.
- Przyspieszenie: stosunek czasu wykonania programu sekwencyjnego do równoległego.
- Efektywność: stosunek przyspieszenia do liczby procesorów.
- Prawo Amdahla: określa maksymalne osiągalne przyspieszenie dla programu, które zawiera część sekwencyjną i równoległą.
Prawa rządzące programowaniem rozproszonym i równoległym
-
Prawo Amdahla:
- Określa maksymalne przyspieszenie programu.
- Zależne od udziału kodu sekwencyjnego.
- Im większy udział kodu sekwencyjnego, tym mniejsze maksymalne przyspieszenie.
-
Prawo Gustafsona:
- Skalowanie problemu wraz ze wzrostem liczby procesorów.
- Zamiast minimalizować czas wykonywania, celem jest rozwiązanie większego problemu w tym samym czasie.
-
Prawo skalowania:
- Określa, jak wydajność systemu zmienia się wraz ze wzrostem liczby procesorów.
- Zależne od architektury i algorytmu.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Ten quiz oparty jest na książce „Wprowadzenie do obliczeń równoległych”, autorstwa Z.J.Czech. Skupia się na historii rozwoju programowania sekwencyjnego, współbieżnego oraz równoległego. Zawiera także istotne informacje o architekturze systemów i parametrach programowania rozproszonego.