English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

gość
1 / ?
powrót do lekcji

Wykresy log-log i nasycenie

Prędkość obliczeń podążała krzywą wzrostu wykładniczego przez 50 lat. Na wykresie log-liniowym (log prędkości względem czasu liniowego) wygląda to jak prosta o nachyleniu b = tempo wzrostu w rzędach wielkości na rok.

Fizyczne ograniczenia narzucają poziomy pułap: maksymalną prędkość S_max wyznaczoną przez rozmiar molekuł, prędkość światła i ograniczenia termiczne. Gdy wykładniczy wzrost zbliża się do S_max, musi zwolnić.

Nasycenie logistyczne

Popularny model wzrostu z pułapem:

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

To jest równanie logistyczne zastosowane do technologii. Na wczesnym etapie (t << t₀): S(t) ≈ S_max × e^(r(t−t₀)) — czysto wykładniczy. Przy pułapie (t >> t₀): S(t) → S_max asymptotycznie.

Geometria: prosta na współrzędnych log-liniowych zagina się przy pułapie, tworząc kształt litery S w układzie współrzędnych liniowo-liniowych.

Geometria sprzętu: prawo Amdahla i sfera prędkości światła

Kiedy wzrost ulega nasyceniu?

Przyjmijmy, że prędkość jednoprocesorowa rośnie zgodnie z 10^(0.09t) od 10⁰ ops/s w roku 1940. Fizyczny pułap: S_max = 10^(12) ops/s (przybliżone oszacowanie dla procesora jednordzeniowego, ograniczonego przez ciepło i prędkość światła).

Korzystając z S(t) = 10^(0.09·t) (t = lata od 1940), znajdź rok, w którym S(t) osiąga 10¹⁰ (zbliżając się do pułapu). Pokaż działania algebraiczne. Następnie oblicz: ile podwojeń prędkości nastąpi między rokiem 1952 (IBM 701) a tym rokiem pułapowym? Użyj czasu podwojenia = ln(2)/b, gdzie b = 0.09 × ln(10).

Maksymalny promień komunikacji

Częstotliwość taktowania procesora wyznacza maksymalny promień, w obrębie którego może on komunikować się w jednym cyklu. Sygnały rozprzestrzeniają się w miedzi z prędkością około 2×10⁸ m/s.

Dla okresu taktowania T (w sekundach), maksymalny jednostronny promień komunikacji:

r_max = v × T / 2

(dzielone przez 2 ze względu na podróż tam i z powrotem: sygnał musi wyjść i wrócić w czasie T)

Wraz ze wzrostem częstotliwości taktowania T maleje, więc r_max kurczy się. To geometryczne ograniczenie zmusza komponenty do skupienia się bliżej siebie, co zmniejsza powierzchnię układu, lub do akceptowania opóźnienia wielocyklowego w komunikacji poza układem.

Sfera wpływu

Wszystkie komponenty osiągalne w jednym cyklu zegarowym tworzą sferę o promieniu r_max wyśrodkowaną na procesorze. Objętość: V = (4/3)π r_max³.

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

Gdy r_max maleje wraz ze wzrostem częstotliwości taktowania, N maleje sześciennie: dwukrotne zwiększenie częstotliwości taktowania zmniejsza liczbę osiągalnych komponentów o czynnik (1/2)³ = 1/8.

Osiągalne komponenty na cykl zegarowy

Stacja robocza z roku 1993 pracuje z częstotliwością 100 MHz (T = 10 ns). Prędkość sygnału = 2×10⁸ m/s. Gęstość komponentów na płytce drukowanej ≈ 10⁸ komponentów/m³ (przybliżone oszacowanie uwzględniające układy, rezystory, kondensatory).

Nowoczesny procesor graficzny pracuje z częstotliwością 2 GHz (T = 0,5 ns).

Dla stacji roboczej 100 MHz (T=10 ns, v=2×10⁸ m/s, ρ=10⁸/m³): oblicz r_max, następnie V = (4/3)π r_max³, następnie N = ρ × V. Następnie oblicz to samo N dla procesora 2 GHz (to samo ρ, to samo v). Jaki jest stosunek N(100MHz) / N(2GHz)?

Granica przyspieszenia równoległego

Prędkość jednoprocesorowa zbliża się do fizycznych pułapów. Odpowiedź branży: architektury równoległe. Prawo Amdahla określa ilościowo przyspieszenie osiągalne dzięki równoległości.

Prawo Amdahla

Przyjmijmy, że ułamek f programu może być zrównoleglony, a ułamek (1−f) musi działać szeregowo. Przy p procesorach:

Speedup(p) = 1 / ((1−f) + f/p)

Gdy p → ∞: Speedup_max = 1 / (1−f)

Ułamek szeregowy (1−f) wyznacza twardy pułap osiągalnego przyspieszenia, niezależnie od liczby dodanych procesorów.

Wgląd geometryczny: przyspieszenie jako funkcja p podąża krzywą hiperboliczną. Asymptota wynosi 1/(1−f). Dla f = 0,9 maksymalne przyspieszenie = 10, nawet przy nieskończonej liczbie procesorów. Dla f = 0,99 maksymalne przyspieszenie = 100.

Ukryta lekcja Hamminga: zainteresowanie architekturami równoległymi było realne, lecz zysk zależał całkowicie od tego, w jakim stopniu obciążenie można było zrównoleglić, co wielu entuzjastów obliczeń równoległych ignorowało.

Obliczanie przyspieszenia równoległego

Symulacja naukowa działa przez 1000 sekund na jednym procesorze. Profilowanie ujawnia: 200 sekund w szeregowej fazie inicjalizacji (nie można zrównoleglić); 800 sekund w fazie obliczeń równoległych.

Oblicz równoległy ułamek f. Korzystając z prawa Amdahla, oblicz Speedup(4), Speedup(16), Speedup(∞). Pokaż każde zastosowanie wzoru. Następnie zinterpretuj: czy dodawanie procesorów od 16 do ∞ jest warte kosztu sprzętowego? Co geometria mówi o malejących zyskach?