un

guest
1 / ?
back to lessons

Wykresy logarytmiczne-logarytmiczne & nasycenie

Prędkość obliczeń naśladowała krzywą wzrostu eksponenckiego przez 50 lat. Na wykresie logarytmiczno-liniowym (log prędkości vs liniowy czas) wygląda to jak prostą o nachyleniu b = szybkość wzrostu w magnitudach dziesiętnych na rok.

Fizyczne ograniczenia nakładają dach poziomy: maksymalna prędkość S_max zależna od wielkości cząsteczek, prędkości światła & ograniczeń cieplnych. Gdy eksponencja zbliża się do S_max, wzrost musi się zwolnić.

Nasycenie logistyczne

Powszechny model wzrostu z dachem:

S(t) = S_max / (1 + e^(−r(t − t₀)))

To jest równanie logistyczne zastosowane do technologii. Na wczesnych czasach (t << t₀): S(t) ≈ S_max × e^(r(t−t₀)) — czysta eksponencja. Blisko dachu (t >> t₀): S(t) → S_max asymptotycznie.

Geometria: prostą linię na osiach logarytmiczno-liniowych zakręca się blisko dachu, tworząc literę S na osiach liniowo-liniowych.

Geometrya sprzętu: Prawo Amdahla & Sfera Prędkości Światła

Kiedy wzrost nasycenia?

Załóżmy, że prędkość pojedynczego procesora rośnie wg 10^(0,09t) od 10⁰ operacji na sekundę w 1940 roku. Fizyczny dach: S_max = 10^(12) operacji na sekundę (aproksymacja dla jednostki procesorowej, ograniczona przez ograniczenia cieplne & prędkości światła).

Wykorzystując S(t) = 10^(0,09·t) (t = lata od 1940 roku), znajdź rok, gdy S(t) osiąga 10¹⁰ (blisko dachu). Pokaż algebra. Następnie oblicz: ile podwójnych wzrostów prędkości występuje między 1952 rokiem (IBM 701) a tym rokiem dachu? Użyj czasu podwojenia = ln(2)/b, gdzie b = 0,09 × ln(10).

Maksymalny promień komunikacji

Prędkość zegara procesora określa maksymalny promień, w którym może komunikować się w jednym cyklu. Sygnały poruszają się z prędkością około 2×10⁸ m/s w miedzi.

Dla okresu zegara T (w sekundach), maksymalny jednoskładnikowy promień komunikacji:

r_max = v × T / 2

(podziel przez 2 dla obwiedni: sygnał musi wyjść i wrócić w ciągu T)

Zwiększając prędkość zegara, T maleje, więc r_max się zmniejsza. Ten geometryczny ograniczenie zmusza komponenty do zbliżania się bliżej - zmniejszania obszaru płyty - lub akceptowania opóźnienia wielocyklowego dla komunikacji poza płyty.

Sfera wpływu

Wszystkie komponenty, które są osiągalne w jednym cyklu zegara, tworzą sferę o promieniu r_max, ośrodek na procesorze. Objętość: V = (4/3)π r_max³.

Jeśli gęstość komponentów wynosi ρ (komponenty/m³), to liczba osiągalnych komponentów w jednym cyklu: N = ρ × V = ρ × (4/3)π r_max³.

Zmniejszając się r_max zwiększając prędkość zegara, N zmniejsza się kubikowo - 2-krotnie szybszy zegar zmniejsza liczbę osiągalnych komponentów o (1/2)³ = 1/8.

Osiągalne komponenty na cykl zegara

Stacja robocza z 1993 r. działa na częstotliwości 100 MHz (T = 10 ns). Prędkość sygnału wynosi 2×10⁸ m/s. Gęstość komponentów na płycie drukowanej wynosi około 10⁸ komponentów/m³ (szacunkowe, wliczając chipy, rezystory, kondensatory).

Nowy GPU działa na 2 GHz (T = 0,5 ns).

Dla 100 MHz stacji roboczej (T=10 ns, v=2×10⁸ m/s, ρ=10⁸/m³): oblicz r_max, a następnie V = (4/3)π r_max³, a następnie N = ρ × V. Następnie oblicz tę samą N dla procesora o częstotliwości 2 GHz (taka sama ρ, taka sama v). Jaki jest stosunek N(100MHz) / N(2GHz)?

Ogranicznik Szybkości W Paralelizmie

Szybkość pojedynczego procesora zbliża się do fizycznych sufitów. Odpowiedź przemysłu: architektury parallelne. Prawo Amdahla ilustruje możliwe przyspieszenie dzięki paralelizmowi.

Prawo Amdahla

Załóżmy, że część f programu można zrealizować w sposób parallelny, a część (1−f) musi być wykonana kolejno. Z p procesorami:

Szybkość(p) = 1 / ((1−f) + f/p)

Gdy p → ∞: Szybkość_max = 1 / (1−f)

Część serialna (1−f) ustala twardy sufit na możliwe przyspieszenie, niezależnie od ilości dodanych procesorów.

Wgląd geometryczny: Szybkość względem p obserwujemy na wykresie hiperbolicznym. Asymptota wynosi 1/(1−f). Dla f = 0,9, maksymalne przyspieszenie wynosi 10, nawet z nieograniczonymi procesorami. Dla f = 0,99, maksymalne przyspieszenie wynosi 100.

Niewyrażone przez Hamminga nauka: zainteresowanie architekturami parallelnymi było realne, ale zyski zależały wyłącznie od stopnia możliwości paralelizacji obciążenia - fakt, który wielu optymistów w dziedzinie obliczeń parallelnych zignorowało.

Obliczanie Szybkości Paralelnej

Naukowe symulacje działają 1000 sekund na jednym procesorze. Profiling ujawnia: 200 sekund w fazie inicjalizacji serialnej (nie można ją paralelizować); 800 sekund w fazie obliczeń parallelnych.

Oblicz fragment paralelny f. Korzystając z Prawa Amdahla, oblicz Szybkość(4), Szybkość(16), Szybkość(∞). Pokaż każde zastosowanie wzoru. Następnie interpretuj: czy dodawanie procesorów od 16 do ∞ jest warte kosztów sprzętu? Co geometria mówi o malejących zwrotnościach?