odp na pytania
Transkrypt
odp na pytania
1. Co to jest lista top 500. OK 2. Omów mikrotechnologię Core. 1/2 OK 3. Reguła Amdahl'a. OK 4. Porównaj CISC, RISC, OK EPIC. 5. Taksonomia Flynn'a. OK 6. Omów MIMD, SIMD, SISD. OK to jest do Taksonomi 7. Omów metody poprawy wydajności procesora. OK 8. Omów SMP oraz MPP. OK 9.Opisz benchmark Linpack. OK 10. Opisz benchmark SPEC. OK 11.Omów sposoby określania wydajności komputerów. OK - Podaj sposoby organizacji pamięci dla maszyn wieloprocesorowych. - Wymień sposoby klasyfikacji maszyn wieloprocesorowych. 1. TOP500 jest listą 500 najwydajniejszych systemów komputerowych na świecie, których moc mierzona jest za pomocą benchmarka LINPACK. Pierwsza lista została opublikowana w czerwcu 1993 roku i od tamtej pory jest aktualizowana dwa razy rocznie - w czerwcu i w listopadzie. Zestawienie w formie tabeli zawiera następujące pola: Pozycja - pozycja osiągnięta w rankingu TOP500, Rdzenie - liczba rdzeni, typy rdzeni Rok - rok produkcji lub ostatniej większej zmiany, Rmax - maksymalna wydajność osiągnięta w teście LINPACK Rpeak - teoretyczna wydajność szczytowa Moc - moc całego systemu mierzona w kilowatach 2. Core Duo to rodzina procesorów 32 bitowych. Procesory te zawierają 151 milionów tranzystorów, wliczając w to 2 MB cache L2. W Core Duo zastosowano 12-fazowy potok wykonawczy, co pozwoliło na osiągnięcie maksymalnej częstotliwości taktowania 2,33-2,5 GHz. Dostęp do pamięci cache L2 za pomocą wspólnego kontrolera przyspiesza procedury zachowania spójności pamięci cache, jednak wydłuŜa opóźnienia w dostępie do niej (z 10 cykli w Pentium M do 14 w Core). Core, pomimo tego, iŜ uŜywał podstawki Socket M, tej samej, której uŜywały procesory Pentium M, nie był obsługiwany przez starsze chipsety. Chipsety, które obsługiwały procesory Intel Core: 945GM, 945PM, 945GT, 965GM, 965PM, oraz 965GT. Szyna systemowa taktowana była standardowo częstotliwością 667 MHz (166 MHz Quad Pumped Bus) 3.Prawo Amdahla, znany równieŜ jako argument Amdahla, nosi nazwę komputera architekta Gene Amdahl i jest uŜywany do znajdowania maksymalnego oczekiwać poprawy całego systemu, gdy tylko część systemu jest lepsza. Jest często uŜywany w równoległego do przewidywania teoretyczne maksymalne przyspieszenie korzystania z wielu procesorów. Przyspieszenie programu wykorzystaniem wielu procesorów przetwarzania równoległego jest ograniczony przez czas potrzebny do kolejnych części programu. Na przykład, jeśli program wymaga 20 godzin przy uŜyciu jednego rdzenia procesora, a zwłaszcza część 1 godziny nie moŜe odbywać się równolegle, natomiast pozostałe obiecujących część 19 godzin (95%) moŜe odbywać się równolegle, to bez względu na liczbę procesorów poświęcamy do realizacji tego programu, minimalny czas wykonania nie moŜe być mniejsza niŜ 1 godzina krytycznych. Stąd przyspieszenie jest ograniczona do 20 4. Architektura CISC, Complex Instruction Set Computing processor, architektura konwencjonalnych procesorów, charakteryzująca się znaczną liczbą elementarnych rozkazów i trybów adresowania przy niewielkiej liczbie rejestrów uniwersalnych. Architektura RISC, Reduced Instruction Set Computing/Computer, wywodząca się z Berkeley (1985) koncepcja architektury procesora o ograniczonej liczbie krótkich (najwyŜej dwusłowowych) rozkazów mających niewiele formatów i trybów adresowania, rozporządzającego znaczną liczbą rejestrów uniwersalnych (nawet powyŜej 100). Operacje kontaktu z pamięcią są sprowadzone do czytania i pisania, działanie procesora przyśpieszają dodatkowe ulepszenia w postaci przetwarzania potokowego i pamięci podręcznej. RISC jest popularną architekturą procesorów 32- i 64-bitowych. Przykładem architektury RISC jest mikroprocesor PowerPC. Architektura EPIC Very Long Instruction Word; Cechy: przeglądanie instrukcji przed wykonaniem - technika predykcji wykorzystanie długich rozkazów stałej długości (nowy format 128b zawierający 3 instrukcje) moŜliwość eliminacji rozgałęzień kodu - technika predykcji procesor ITANIUM. 5. Taksonomia Flynna (angielskie Flynn's taxonomy), schemat klasyfikacji systemów komputerowych zaproponowany przez M. J. Flynna w 1972, stosowany do dzisiaj, choć juŜ niewystarczający. Stosownie do liczby strumieni instrukcji i danych taksonomia Flynna wyróŜnia następujące klasy komputerów: 6. SISD – komputer z jednym strumieniem instrukcji i jednym strumieniem danych, tradycyjny system jednoprocesorowy; SIMD – jeden strumień instrukcji, wiele strumieni danych (taką architekturę mają procesory macierzowe); MISD – zwielokrotniony strumień instrukcji i jeden strumień danych (brak reprezentantów); MIMD – wiele strumieni instrukcji i danych, czyli kaŜda grupa niezaleŜnych komputerów. Kategoria MIMD dzieli się współcześnie na kilka dalszych podkategorii. 7.Omów metody poprawy wydajności procesor - Naturalny pomysł zwiekszania wydajnosci obliczeniowej procesora polegajacy na zwiekszaniu częstotliwości taktowania jest ograniczony przez róznego rodzaju bariery technologiczne: • wydzielanie ciepła; • czas propagacji sygnałów w układach cyfrowych. Zwiekszenie wydajnosci uzyskuje sie, stosujac nastepujace rozwiazania: • pobieranie instrukcji na zakładke; • kolejka (bufor) instrukcji; • przetwarzanie potokowe; • zrównoleglanie wykonywania instrukcji. Kolejny istotny problem hamujacy wzrost wydajnosci systemów komputerowych jest spowodowany nienadąŜaniem wzrostu szybkosc pracy pamieci za wzrostem szybkosci pracy procesorów. Uwidacznia sie to w postaci róznych czestotliwosci taktowania i róznych napiec zasilajacych układy wewnetrzne procesora i jego układy współpracy z szynami. Mozliwe rozwiazania tego problemu to: • stosowanie wielopoziomowych pamieci podrecznych, poczatkowo zewnetrznych, a obecnie wykonywanych w jednym układzie scalonym z procesorem; • zwiekszanie szerokosci szyny danych; • konstrukcja pamieci umozliwiajacych pobieranie danych co jeden cykl zegara, a nawet dwa razy w jednym cyklu zegara. 8 .SMP (ang. Symmetric Multiprocessing, przetwarzanie symetryczne) - architektura komputerowa która pozwala na znaczne zwiększenie mocy obliczeniowej systemu komputerowego poprzez wykorzystanie 2 lub więcej procesorów do jednoczesnego wykonywania zadań. W architekturze SMP kaŜdy procesor moŜe zostać przypisany do wykonywania kaŜdego zadania, tak aby wyrównać obciąŜenie ("obowiązki" są dzielone "po równo"). W architekturze SMP procesory te współdzielą zasoby pamięci oraz wejścia/wyjścia przy pomocy magistrali. WaŜną rzeczą jest wykorzystanie wielowątkowości przez programy komputerowe (oraz obsługa wielowątkowości przez system operacyjny) - upraszcza to moŜliwość "podzielenia" procesu dla kilku procesorów. Szczególną korzyść z przetwarzania równoległego czerpią aplikacje do renderingu i edycji wideo oraz nowoczesne gry, małą natomiast pakiety biurowe. Systemami obsługującymi SMP jest większość Uniksów, Windows NT, BeOS. Alternatywną architekturą do SMP jest MPP - przetwarzanie równoległe. 8. MMP (Massively Parallel Processors, Komputery masowo równoległe) – rodzaj architektury komputerowej. Jej zadaniem jest umoŜliwienie przetwarzania współbieŜnego (jednoczesnego) na wielu procesorach. Do najistotniejszych realizowanych funkcji naleŜą: • zarządzanie przydziałem zasobów komputera równoległego do procesów i organizacja komunikacji między procesami • szeregowanie zadań (procesów) w czasie i przestrzeni • zarządzanie pamięcią wirtualną • rekonfiguracja systemu i redystrybucja zasobów między procesami w przypadku awarii jednego z węzłów. 9. BENCHMARK LINPACK - Benchmark został wprowadzony przez Jack’a Dongarra w 1979 roku. Początkowym przeznaczeniem była pomoc uzytkownikom w oszacowaniu czasu niezbednego do wykonania obliczen. Ten zestaw testów wydajnosci polega na obliczeniu rzadkiego układu równan, czyli takiego, który po zapisaniu w postaci macierzy bedzie posiadał wiele zer. Mozliwe jest modyfikowanie rozmiaru macierzy oraz kompilacja benchmarku w sposób zoptymalizowany pod dana architekture systemu. Proces optymalizacji nie wpływa na całosciowa wydajnosc systemu, z wyłaczeniem systemów dedykowanych do rozwiazywania tego typu układów równan. Jesli problem jest regularny uzyskana wydajnosc jest bardzo wysoka, i otrzymany wynik daje dobre przyblizenie maksymalnej wydajnosci. Mierzac wydajnosc dla problemów o róznym rozmiarze n (rozmiar uzywanej macierzy) otrzymuje sie wyłacznie maksymalna wydajnosc dla problemu o rozmiarze n oraz dla problemu o rozmiarz 1/2 n, gdzie bierze sie pod uwage połowe otrzymanej maksymalnej wydajnosci. W raportach z testów podaje sie maksymalna teoretyczna wydajnosc, maksymalna rzeczywista wydajnosc dla problemu o rozmiarze n i dla problemu o rozmiarze 1/2 n. Wszystkie algorytmy wykonuja operacje na licznach zmiennoprzecinkowych podwójnej precyzji. Takie wymogi wykluczaja mozliwosc stosowania bardzo szybkich algorytmów mnozenia macierzy, metod działajacy z precyzja mniejsza niz maksymalna mozliwa (zakłada sie 64-bitowa arytemtyke) oraz stosowanie przyblizen. Benchmark jest złozony z 3 testów opisanych ponizej. 10. BENCHMARK SPEC Nazwa SPEC pochodzi od nazwy organizacji ”The Standard Performance Evaluation Corporation”, która zajmuje sie tworzenie, rozwojem, akceptacja i standardyzacja zestawów benchamarków, które moga byc wykorzystywane w wysoko wydajnych komputerach i serwerach najnowszej generacji. Benchmarki sa pisane w jezykach niezaleznych od stosowanej platformy (naczesciej C i Fortran). Organizacja SPEC powstała w 1988 roku. Składa sie z najwazniejszych producentów sprzetu i oprogramowania na rynku. Benchmark SPEC składa sie z czesci mierzacych wydajnosc w nastepujacych kategoriach: 1. CPU 2. Grafika/Aplikacje graficzne 3. MPI/OPM 4. Java Klient/Serwer 5. Serwery poczty 6. Sieciowe systemy plików 7. Zasilanie 8. SIP 9. Wirtualizacja 10. Serwery stron WWW 11. Klasyczne miary wydajności komputerów - W celu określenia wydajności systemów komputerowych posługujemy się dwiema jednostkami: FLOPS, MIPS. Miara MIPS - Milion Instruction Per Second, brak sprecyzowania co do rodzajów instrukcji oraz języka zapisu algorytmów. Producenci podają osiągnięcia maksymalne (peak) - otrzymane w oparciu o czas realizacji najszybszych, czyli najprostszych instrukcji. Redefinicja pojęcia MIPS: przyjmuje się, Ŝe szybkość 1 MIPS ma komputer DEC VAX 11/780. Najpopularniejsze zastosowanie: ocena wydajności komputerów typu centralnego (mainframes), superserwerów IBM (firma podaje wyniki swoich komputerów tylko za pomocą tej miary, dlatego inni producenci takŜe starają się szacować osiągi swoich produktó w jednostkach IBM MIPS). Miara MFLOPS (Mflops-s) - milion operacji zmiennoprzecinkowych na sekundę, tradycyjna jednostka szybkości komputerów w zakresie obliczeń numerycznych. Producenci podają zazwyczaj wartość maksymalną (peak Mflop/s), lub teoretyczną (Rpeak) - czyli iloczyn droŜności (ilość operacji zmiennoprzecinkowych realizowanych w jednym cyklu procesora) i częstotliości zegara taktującego. Cechy miar wydajności • • • • • • • reprezentacja rzeczywistych zastosowań, dobra metryka: liniowa, monotoniczna, ortogonalna, zapis w językach wysokiego poziomu (przenośność), łatwość modyfikacji, dostosowania do zmian wynikających z postępu technologicznego, objęcie moŜliwie najszerszego zakresu testowanych elementów komputera (nie tylko procesora i pamięci), łatwość wykonania pomiaru, akceptacja przez uŜytkowników i producentów. Tendencje rozwojowe procesorów• Rozpowszechnienie się technologii innej niŜ RISC, ze szczególnie znaczącym udziałem technologii EPIC. • Rozwój metod kompilacji dla potrzeb technologii EPIC. UmoŜliwi to wykorzystanie w pełni nowej technologii EPIC, poprzez utworzenie kodu wykorzystującego zmiany kolejności obliczeń (ang. out-of-order) oraz obsługę instrukcji warunkowych juŜ na etapie kompilacji, a nie podczas realizacji obliczeń. • Technologia EPIC, w szczególności VLIW znajduje zastosowanie takŜe u producentów innych niŜ Intel. • Optymalizacja procesorów pod kątem dwóch typów systemów operacyjnych (Unix i WindowsNT) oraz integracja tych środowisk. • Dalszy rozwój technologii miedzianej oraz wprowadzenie technologii Silikon on Insulate LINEPACK - został zaprojektowany w latach 70. i na poczatku lat 80. jako zestaw procedur jezyka Fortran, które analizuja i rozwiazuja równania liniowe oraz liniowe problemy o złozonosci przynajmniej kwadratowej. Ponadto w pakiecie zaimplementowano rozwiazywanie układów równan w postaci róznych macierzy (m.in. trójkatnych, o nieokreslonej symetrii). Sam Linpack został oparty na innym pakiecie (BLAS poziom 1), który zawiera podstawowe operacje na wektorach. Obecnie Linpack jest wypierany przez Lapack, który został zaprojektowany tak by wydajniej pracowac w systemach z pamiecia współdzielona.