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

un

гість
1 / ?
назад до уроків

Логарифмічні графіки та насичення

Швидкість обчислень слідувала кривій експоненційного зростання протягом 50 років. На напівлогарифмічному графіку (логарифм швидкості проти лінійного часу) це виглядає як пряма лінія з нахилом b = темп зростання в порядках величини на рік.

Фізичні обмеження накладають горизонтальну стелю: максимальну швидкість S_max, яку визначають розміри молекул, швидкість світла та теплові обмеження. Коли експоненційне зростання наближається до S_max, воно повинно уповільнитися.

Логістичне насичення

Поширена модель зростання зі стелею:

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

Це логістичне рівняння, застосоване до технологій. На ранніх стадіях (t << t₀): S(t) ≈ S_max × e^(r(t−t₀)) — чисто експоненційне. Біля стелі (t >> t₀): S(t) → S_max асимптотично.

Геометрія: пряма лінія на напівлогарифмічних координатах вигинається біля стелі, утворюючи S-подібну форму при перегляді на лінійно-лінійних координатах.

Геометрія апаратного забезпечення: закон Амдала та сфера швидкості світла

Коли зростання насичується?

Припустимо, швидкість однопроцесорного комп'ютера зростає як 10^(0.09t), починаючи від 10⁰ оп/с у 1940 році. Фізична стеля: S_max = 10^(12) оп/с (приблизна оцінка для однопроцесорного ядра, обмеженого тепловими обмеженнями та швидкістю світла).

Використовуючи S(t) = 10^(0.09·t) (t = роки від 1940), знайдіть рік, коли S(t) досягне 10¹⁰ (наближаючись до стелі). Покажіть алгебру. Потім обчисліть: скільки подвоєнь швидкості відбудеться між 1952 роком (IBM 701) і роком досягнення стелі? Використовуйте час подвоєння = ln(2)/b, де b = 0.09 × ln(10).

Максимальний радіус зв'язку

Тактова частота процесора визначає максимальний радіус, у межах якого він може встановити зв'язок за один такт. Сигнали поширюються зі швидкістю приблизно 2×10⁸ м/с у міді.

Для тактового періоду T (в секундах) максимальний односторонній радіус зв'язку:

r_max = v × T / 2

(ділимо на 2 для зворотного шляху: сигнал має вийти і повернутися в межах T)

Коли тактова частота зростає, T зменшується, тому r_max скорочується. Це геометричне обмеження змушує компоненти розташовуватися ближче — зменшуючи площу чипа — або приймати затримку в кілька тактів для зовнішнього зв'язку.

Сфера впливу

Усі компоненти, досяжні за один такт, утворюють сферу радіуса r_max з центром у процесорі. Об'єм: V = (4/3)π r_max³.

Якщо щільність компонентів дорівнює ρ (компонентів/м³), кількість компонентів, досяжних за один такт: N = ρ × V = ρ × (4/3)π r_max³.

Зі скороченням r_max при зростанні тактової частоти N зменшується кубічно — подвоєння тактової частоти скорочує кількість досяжних компонентів на (1/2)³ = 1/8.

Досяжні компоненти за такт

Робоча станція ери 1993 року працює на частоті 100 МГц (T = 10 нс). Швидкість сигналу = 2×10⁸ м/с. Щільність компонентів на друкованій платі ≈ 10⁸ компонентів/м³ (приблизна оцінка, включаючи мікросхеми, резистори, конденсатори).

Сучасний GPU працює на частоті 2 ГГц (T = 0,5 нс).

Для робочої станції 100 МГц (T=10 нс, v=2×10⁸ м/с, ρ=10⁸/м³): обчисліть r_max, потім V = (4/3)π r_max³, потім N = ρ × V. Потім обчисліть те саме N для процесора 2 ГГц (те саме ρ, та сама v). Яке відношення N(100МГц) / N(2ГГц)?

Межа паралельного прискорення

Швидкість однопроцесорних систем наближається до фізичних меж. Відповідь індустрії: паралельні архітектури. Закон Амдала кількісно визначає прискорення, досяжне завдяки паралелізму.

Закон Амдала

Припустимо, частка f програми може бути розпаралелена, а частка (1−f) повинна виконуватись послідовно. З p процесорами:

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

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

Послідовна частка (1−f) встановлює тверду стелю для досяжного прискорення, незалежно від кількості доданих процесорів.

Геометричне розуміння: прискорення як функція від p слідує гіперболічній кривій. Асимптота дорівнює 1/(1−f). При f = 0,9 максимальне прискорення = 10, навіть з нескінченною кількістю процесорів. При f = 0,99 максимальне прискорення = 100.

Прихований урок Геммінга: інтерес до паралельних архітектур був реальним, але виграш повністю залежав від того, наскільки навантаження піддавалося розпаралеленню — факт, який багато оптимістів паралельних обчислень ігнорували.

Обчислення паралельного прискорення

Наукове моделювання виконується 1000 секунд на одному процесорі. Профілювання показує: 200 секунд у послідовній фазі ініціалізації (не може бути розпаралелена); 800 секунд у паралельній фазі обчислення.

Обчисліть паралельну частку f. Використовуючи закон Амдала, обчисліть Speedup(4), Speedup(16), Speedup(∞). Покажіть застосування кожної формули. Потім проінтерпретуйте: чи варте додавання процесорів від 16 до ∞ витрат на апаратне забезпечення? Що геометрія говорить вам про спадну віддачу?