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)-ით, 1940 წლიდან 10⁰ ოპერაციით/წამში. ფიზიკური ჭერი: 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³.

თუ კომპონენტების სიმჭიდროვე ρ (კომპონენტები/m³), ერთ ციკლში მიღწევადი კომპონენტების რაოდენობა: N = ρ × V = ρ × (4/3)π r_max³.

საათის სიჩქარის ზრდასთან r_max-ის კლებასთან ერთად, N კუბიკურად მცირდება — საათის სიჩქარის 2×-ით გაზრდა მიღწევადი კომპონენტების რაოდენობას (1/2)³ = 1/8-ჯერ ამცირებს.

მიღწევადი კომპონენტები ერთ საათის ციკლში

1993 წლის სამუშაო სადგური მუშაობს 100 MHz-ზე (T = 10 ns). სიგნალის სიჩქარე = 2×10⁸ m/s. კომპონენტების სიმჭიდროვე სქემებზე ≈ 10⁸ კომპონენტი/m³ (უხეში შეფასება, ჩიპები, რეზისტორები, კონდენსატორები ჩათვლით).

თანამედროვე GPU მუშაობს 2 GHz-ზე (T = 0.5 ns).

100 MHz სამუშაო სადგურისთვის (T=10 ns, v=2×10⁸ m/s, ρ=10⁸/m³): გამოთვალეთ r_max, შემდეგ V = (4/3)π r_max³, შემდეგ N = ρ × V. შემდეგ გამოთვალეთ იგივე N 2 GHz პროცესორისთვის (იგივე ρ, იგივე v). რა არის N(100MHz) / N(2GHz) შეფარდება?

პარალელური დაჩქარების ლიმიტი

ერთ-პროცესორის სიჩქარე ფიზიკურ ჭერებს უახლოვდება. ინდუსტრიის პასუხი: პარალელური არქიტექტურები. ამდალის კანონი რაოდენობრივად განსაზღვრავს პარალელიზმიდან მიღწევად დაჩქარებას.

ამდალის კანონი

დავუშვათ, პროგრამის f ნაწილი პარალელიზებადია, ხოლო (1−f) ნაწილი სერიულად უნდა გაეშვას. p პროცესორით:

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

p → ∞-ს შემთხვევაში: Speedup_max = 1 / (1−f)

სერიული ნაწილი (1−f) ადგენს მყარ ჭერს მიღწევად დაჩქარებაზე, მიუხედავად პროცესორების რაოდენობისა.

გეომეტრიული ინტუიცია: p-ის ფუნქცია Speedup ჰიპერბოლურ მრუდს მიჰყვება. ასიმპტოტა 1/(1−f)-ს ტოლია. f = 0.9-ისთვის, მაქსიმალური დაჩქარება = 10, უსასრულო პროცესორებითაც. f = 0.99-ისთვის, მაქსიმალური დაჩქარება = 100.

ჰემინგის ნაგულისხმევი გაკვეთილი: ინტერესი პარალელური არქიტექტურების მიმართ რეალური იყო, მაგრამ ანაზღაურება მთლიანად დამოკიდებული იყო სამუშაო დატვირთვის პარალელიზაციის შესაძლებლობაზე — ფაქტი, რომელიც ბევრმა პარალელური გამოთვლის ოპტიმისტმა უგულებელყო.

პარალელური დაჩქარების გამოთვლა

სამეცნიერო სიმულაცია ერთ პროცესორზე 1000 წამში სრულდება. პროფილირება გვიჩვენებს: 200 წამი სერიულ ინიციალიზაციის ფაზაში (პარალელიზება შეუძლებელია); 800 წამი პარალელური გამოთვლის ფაზაში.

გამოთვალეთ პარალელური ნაწილი f. ამდალის კანონის გამოყენებით, გამოთვალეთ Speedup(4), Speedup(16), Speedup(∞). გაჩვენეთ თითოეული ფორმულის გამოყენება. შემდეგ განმარტეთ: ღირს კი 16-დან ∞-მდე პროცესორების დამატება ტექნიკის ფასად? რას გვეუბნება გეომეტრია კლებადი შემოსავლების შესახებ?