Systemy wysokiej niezawodności ( High Availability Systems ) Jacek Kitowski Katedra Informatyki AGH Grupa Systemów Komputerowych (CSG) C2 IV p. tel. 617-35-20 email: kito@uci.agh.edu.pl http://www.icsr.agh.edu.pl
Bezpieczeństwo Systemów Komputerowych Systemy wysokiej niezawodności ( High Availability Systems ) Jacek Kitowski
Plan wykładu Wprowadzenie do problematyki HAS Podstawowe pojęcia Rekapitulacja Metody oceny wydajności systemów Tendencje rozwojowe procesorów Komputery systemów otwartych i modele programowania Systemy komputerowe wysokiej dostępności Składowanie i udostępnianie dużych zbiorów danych Wprowadzenie do problematyki jakości oprogramowania Ochrona danych przed zniszczeniem i utratą Podczas przetwarzania Elementy architektury komputera Systemy wielokomputerowe Podczas udostępniania Podsystemy pamięci masowej Podczas archiwizacji Tertiary storage
Technology Infrastructure Składowe dyspozycyjności - dostępności Availability is Built, Managed and Measured "Technology is one component in the evolution to high availability systems" Technology Infrastructure Availability IT Processes Support Partnerships
Cel wykładu Problemy projektowania i eksploatacji przemysłowych i komercyjnych systemów komputerowych Metody podniesienia niezawodności systemów i zapewnienia ciągłości pracy M.in.: parametry techniczne sprzętu i oprogramowania rozwiązania sprzętowo-programowe elementy strategii dotyczącej wyboru sprzętu
Literatura Evan Marcus, Hal Stern „Blueprint for High Availability: Desiging Resilent Distributed Systems”, John Wiley & Sons, 2000 Jacek Kitowski „Współczesne Systemy Komputerowe”, Wyd. CCNS, 2000 Marc Farley, Thorton A. May „Building Storage Networks”, Mac Graw-Hill, 2000 Pomocnicza: Jon W. Toigo: „Disaster Recovery Planning: Strategies for Protecting Critical Information Assets”, 1999 Dhiraj K. Pradhan: „Fault-Tolerant Computer System Design”, Prentice Hall, 1996
Wprowadzenie Zastosowania naukowo-techniczne, przemysłowe, komercyjne Zagadnienia: parametry techniczne i funkcjonalność oprogramowania rozwiązania podnoszące niezawodność oferowanych usług i ich bezpieczeństwo ciągłość pracy wybór sprzętu - elementy strategii koszt rozwiązań
Jakość przetwarzania Zróżnicowane pojęcie, zależne od celu, implementacji .... Tradycyjnie: łatwiej wiarygodniej taniej szybciej więcej High Performance Computing (HPC) versus High Throughput Computing (HTC) HPC - execution time, speedup, efficiency...... (dot. pojedynczego zadania) HTC - przepustowość instalacji - wydajność w długim horyzoncie, miesiącu ....
Czynniki przy podejmowaniu decyzji w zakresie systemów informatycznych Podstawowe cele informatyzacji Zakres zastosowań, np.: naukowo-techniczne wspomaganie zarządzania usługi sieciowe udział przetwarzania rozproszonego Własności aplikacji, np.: algorytm i dane, model programowania metoda implementacji algorytmu architektura komputera i system operacyjny rozmiar zagadnienia i liczba użytkowników metody i środki programistyczne do oceny wydajności i optymalizacji aplikacji Przykłady: Obliczenia n-t: -> opis fenomenologiczny -> model matematyczny -> algorytm numeryczny (struktury danych) -> model komputerowy ------> odwzorowanie: problem-architektura-algorytm Instytucje międzynarodowe: struktura zdecentralizowana -> system rozproszony zapewniający integralność
Czynniki przy podejmowaniu decyzji w zakresie systemów informatycznych - cd. Strategie w zakresie niezawodności i ochrony informacji, w tym: poziom dostępności i architektura systemu - redundancja model składowania i udostępniania danych i jego realizacja środki ochrony informacji przed niepowołanym dostępem Inżynieria i problematyka jakości oprogramowania Przykłady: systemy wielokomputerowe backup, archiwizacja, HSM firewalls
Pojęcia system failover (model: 2 systemy pracują jako jeden) wydajność basic systems Redundancja RAS niezawodność (resiliency) dostępność, A (availability) serwisowalność (servisability) MTBF (Mean Time Between Failures) MTTR (Mean Time to Repair) MSBF (Mean Time Between Swaps) stopa błędu system failover (model: 2 systemy pracują jako jeden) disaster recovery zastosowania: naukowo-technicze przemysłowe komercyjne wspomaganie zarządzania przykładowa definicja
Metody oceny wydajności systemów ( Computer benchmarks ) Motywacja (testowe wykonanie własnej aplikacji) LICZBA PROCESORÓW vs. WYDAJNOŚĆ hardware performance counters
Klasyczne miary wydajności MIPS Million Instructructions per Second 1 MIPS <-> DEC VAX11/780 IBM MIPS (S390/OS390) MFLOPS (Mflop/s) Million Floating Point Operations per Second Rpeak Rmax (Linpack) R własnej aplikacji
Cechy miar wydajności ---> HAV napisane w językach programowania wysokiego poziomu (przenośność) reprezentacja dla wybranej klasy rzeczywistych zastosowań, łatwość modyfikacji (postęp w algorytmach, metodach optymalizacji, technologii) szeroki zakres testowanych elementów składowych systemu i współpracy z oprogramowaniem pomiary łatwe do realizacji akceptowane
Kategorie miar wydajności --> HAV syntetyczne miary wydajności (podstawowe operacje) - Dhrystone i Whetstone jądra programowe (kernels) wybrane fragmenty rzeczywistych programów, m.in. Livermore Fortran Kernels i NAS Kernel Benchmark Program algorytmy - programy testowe, np. LINPACK aplikacje (kompletne) (fizyka, chemia lub wspomaganie zarządzania), np. Perfect Benchmarks, ParkBench, z rodziny SPEC, SAP, NotesBench i Baan specyfikacje - stanowią zbiór wymagań funkcjonalnych realizowanych przy dowolnej implementacji sprzętowej i programowej, np. miary z rodziny TPC
Miary syntetyczne i jądra programowe Whetstone (1976) obliczenia numeryczne; wywołania funkcji z biblioteki matematycznej (np. sin(.), exp(.)); Algol i Pascal Dhrystone (1984) - zastosowania nienumeryczne stałoprzecinkowe (instr. warunkowe i wywołania procedur), systemy operacyjne, kompilatory, czy edytory; ADA i C Livermore Fortran Kernels Różnica między LFK Mflop/s i Rpeak Mflop/s !!
Jądra programowe, cd. NAS Kernels (Fortran) jądra programy EP - generacja liczb pseudolosowych - mała komunikacja MG - obliczenia wielosiatkowe - duża komunikacja CG - met. gradientów sprzężonych - wartośći własne macierzy rzadkiej FT - cząstkowe równania różniczkowe met. FFT IS - sortowanie programy LU - równania liniowe met. trangulacji SP - równania liniowe macierzy gęstej BT - jak SP - met. blokową
Algorytmy: -- LINPACK macierz gęsta R Rpeak Mflop/s DP Mflop/s (100x100) TPP Mflop/s (1000x1000) Rpeak Mflop/s Liczba operacji (n - liczba równań) Linpack Parallel Rmax Nmax N1/2 Rpeak
Przykładowe wyniki dla zestawu LINPACK
Linpack - cd.
Aplikacje: -- SPEC Organizacja niekomercyjna (1988) - miary dla komputerów systemów otwartych Trzy grupy robocze: Open Systems Group - miary dla UNIX, NT, VMS; najważniejsze z nich to CINT95 i CFP95; High Performance Computing Group -- ocena wydajności systemów przeznaczonych dla intensywnych obliczeń numerycznych dużej skali; Graphics Performance Characterization Group -- dla podsystemów graficznych oraz środowisk OpenGL i Xwindows. Podstawowe zestawy SPEC: CPU95 i CPU2000 GPC, SFS, web96/web99, jvm98 http://www.spec.org/
SPEC CPU95 Maszyna referencyjna SUN SPARCstation10/40
CPU95 - szczegóły ( średnia geometryczna miar ) „C” - component; „S” - system
CPU2000 ( średnia geom. miar ) CFP2000 chromodynamika kwantowa (F77) model dynamiki wody (F77) solwer wielosiatkowy 3D - pole potencjalne (F77) solwer dla równań parabolicznych i eliptycznych (F77) biblioteka graficzna w 3D (C) CFD (F90) rozpoznawanie obrazów - sieci neuronowe (C) propagacja fal sejsmicznych (C) przetwarzanie obrazów - identyfikacja twarzy (F90) chemia obliczeniowa (C) testowanie liczb pierwszych (F90) FEM - zderzenia (F90) projektowanie akceleratora (F77) rozchodzenie się zanieczyszczeń (F77) CINT2000 Kompresja danych (C) Projektowanie układów FPGA (C) Kompilator języka C (C) optymalizacja - minimalizacja (C) gra w szachy (C) Przetwarzanie języka naturalnego (C) raytracing (C++) przetwarzanie w języku Perl (C) teoria grup (C) Maszyna referencyjna SUN Ultra5/300MHz/256MB - wartości 100
Przykładowe wartości CPU95
Przykładowe wartości CPU2000
SPECint95
SPECfp95
SPEC2000
*Other brands and names are the property of their respective owners SPECfp2000 Source: http://www.spec.org/osg/cpu2000/results/cfp2000.html, September 2001 *Other brands and names are the property of their respective owners
Aplikacje: SAP System do wspomagania zarządzania Używany przez duże międzynarodowe koncerny ~15000 instalacji architektura klient-serwer model dwuwarstwowy model trzywarstwowy R/3 warstwy: danych aplikacji prezentacji Metryki: liczba użytkowników średni czas odpowiedzi < 2 s przepustowość konfiguracji (w SAPS) - liczba kroków dialogu/godz.
Opis modułów benchmarku SAP R/3
Przykładowa konfiguracja sprzętu dla SAP R/3 V2250 Database Server Dialog/Update Servers K380 Message Server 1 Database Server - V2250 16-way, 16 GB - Oracle 8.0.4 32-bit - HP-UX 11.0 64-bit 9 Dialog/Update Servers - V2250 16-way, 8GB - HP-UX 11.0 1 Message/Enqueue Server - K380, 6-way, 2GB - HP-UX 10.20 HP AutoRaids … 18 HP AutoRaid Disk Systems HyperFabric Interconnect SAP 3.1H 6750 SD users 1.95 second response time 2,034,000 dialog steps/hr
Przykładowe wyniki SAP R/3 dla modułu SD
Przykładowe wyniki SAP R/3 - cd. SD Users * Benchmark with R/3 v. 3 ** Benchmark with R/3 v. 4
Aplikacje: inne BaanIV BRU NotesBench Perfect Benchmark i Parkbench
Specyfikacje: - TPC Transaction Processing Council (San Jose 1988) definiowanie zbioru wymagań funkcjonalnych (tj. specyfikacji) metodologia testów i koszt utrzymania systemu przez 5 lat dowolna implementacja na dowolnym sprzęcie TPC tworzą przedstawiciele sprzętu i oprogramowania - ISV, analitycy rynku (~50) http://www.tpc.org/
TPC-C On-line Transaction Processing, 1992 mieszanka transakcji zapisu, odczytu, usuwania i aktualizacji elementy: jednoczesne wykonywanie transakcji transakcje on-line i odroczone wiele sesji umiarkowane czasy systemowe i aplikacji znaczne wykorzystanie pamięci dyskowej i i/o transakcje ACID (atomicity, consistency, isolation durability) nierównomierny dostęp do danych - klucze pierwotne i wtórne wiele zróżnicowanych tablic współzawodnictwo w dostępie do danych i ich aktualizacji
TPC-C cd. Testy przekazane do TPC dla zatwierdzenia dla produktów aktualnych lub dostępnych w ciągu 12 miesięcy rodzaje transakcji nowe zamówienie obciążenie kosztami zakupu wysyłka towaru status zamówienia monitorowanie zasobów
Metryki TPC-C tpmC (trans/min) dla nowych zamówień przy jednoczesnej obsłudze pozostałych $/tpmC ($ - koszt zakupu i utrzymania przez 5 lat) wymagana ostrożność przy interpretacji wyników
Przykłady miar
Przykładowe wyniki tpmC i $/tpmC OLTP Performance (tpmC) Price/Perf. ($/tpmC) HP 9000 V2500(32) Oracle 6/30/99 HP 9000 V2250(16) Sybase 8/13/98 HP 9000 V2200(16) Oracle 2/28/99 SUN E6500(24) Sybase 1/31/99 IBM AS 400e S40(12) DB2 9/11/98 IBM RS/6000 S70(12) Oracle 1/21/99 Compaq GS140(8) Sybase 1/10/99 Database Avail. Date TPC-C results as of 3/2/99
TPC-D zakres DSS (Decision Support Side of Business) wspieranie wspomagania decyzji, eksploracja danych (data mining) cel: pozyskanie danych z dużych baz (OLTP) agregacja - analiza - informacji zastosowanie: duża objętość danych niewielka liczba zapytań duża złożoność zapytań
Metryki TPC-D QppD (Query Processing Performance) wydajność obsługi zapytań, gdy cała moc skierowana do obsługi pojedynczego strumienia zapytań QthD (Query Throughput) liczba zapytań (w 1 godz) przetworzonych współbieżnie - wiele strumieni danych $/QphD ($/Queries per hour) QphD = (QppD x QthD)1/2 różne wielkości baz danych: 1GB, 10GB, 30GB, 100GB, 1TB, 3TB Baza tworzona przez DBGEN (w C jako element zestawu)
TPC-H i TPC-R TPC-H - ad hoc (TPC-D) bez znajomości istoty zapytań TPC-R - predefiniowany zestaw zapytań Metryki: QphH lub QphR QthH lub QthR $/QphH lub $/QphR
Przykłady wartości
Wykonanie własnego programu równoległego Metrics for parallel computing Czas wykonania Tp - parallel wall-clock time Ts - serial run time Przyspieszenie (Speedup): Ts - execution time for the fastest serial algorithm Efektywność (Efficiency) Pamięć operacyjna Monitoring Problems: fixed, variable size Ts ??
Równoległość w MD multiple jobs replicated data atom decomposition force decomposition domain decomposition
Prawo Amdahl’a a1 - fraction of operations done with one processor a2 - fraction of operations done with average degree of parallelism k < p a3 - fraction of operations done with p degree of parallelism td - time required for data delay Ideal case
Zestawienie miar dla typowych zastosowań
Nowa tendencja poprzedni paradygmat: współczesny paradygmat: informacja dla biznesu współczesny paradygmat: informacja jest biznesem
Proces transformacji biznesu strategia biznesu infrastruktura biznesowa procesy budowy produktów procesy obsługi klienta wzajemne powiązania zawsze dostępna infrastruktura infrastruktura informatyczna doskonałość działania
systemy informatyczne Potrzeby klientów systemy informatyczne biznes wzrost zysku obniżenie kosztów zarządzalność przewidywalność szybkość i czas reakcji skuteczność czas realizacji zgodność biznesu z IT lojalność klientów informacja jest kluczem wymaganie stałej dostępności bezpieczeństwo jest najważniejsze sieć partnerów elastyczna infrastruktura IT globalna wymiana informacji wzajemna integracja systemów IT
Tendencje rozwoju: architektury systemów informatycznych ukierunkowanych na usługi (service-centric computing) technologia informatyczna jest: zapewniana jako usługa … dostarczana jako usługa … zarządzana jako usługa … kupowana jako usługa … Serwisy, serwisy, serwisy .....
Zawsze dostępna infrastruktura IT always-on IT infrastructure usługi środowisko internetowe Zawsze dostępna infrastruktura IT always-on IT infrastructure Szkielet połączeń zarządzanie usługami Świat systemów informatycznych ukierunkowanych na usługi (service-centric computing) będzie zbudowany na kręgosłupie, który tworzy zawsze dostępna infrastruktura internetowa (always-on internet infrastructure). Infrastruktura ta jest jedna z trzech części strategii naszej firmy, która ma zapewniać aby miliardy transakcji elektronicznych (e-services), realizowane z wykorzystaniem milionów urządzeń dostępowych (appliances) były realizowane na zawsze dostępnej infrastrukturze internetowej (always-on internet infrastructure). Usługą elektroniczną (e-service) jest aplikacja dostępna poprzez sieć, która odpowiada za realizację zadania, rozwiązanie problemu lub przeprowadzenie transakcji. Usługi te będą rozwijane dla rynku konsumenckiego i biznesowego wspólnie z naszymi Partnerami podczas gdy podstawowym strumieniem biznesu naszej firmy będzie dostarczanie technologii oraz rozwiązań systemowych potrzebnych do tworzenia i wdrażania tych usług. serwery pamięć
Tendencje rozwojowe procesorów ( elementy niezawodności ) Rekapitulacja
Elementy RAS RAS w odniesieniu do procesorów (RAS: Reliability, Availability, Serviceability) Wydajność: mała liczba (mniej elementów) versus duża liczba procesorów (większe możliwości redundancji) ECC w odniesieniu do pamięci podręcznej
Nomenklatura Technologia (typ) procesora - typ instrukcji i sposób realizacji CISC RISC EPIC Architektura - wykorzystuje daną technologię POWER IA-64 PA-RISC Procesor - realizacja sprzętowa architektury POWER2 Itanium PA-8500 Technologia półprzewodnikowa ECL CMOS GaAs
Producenci IBM (POWER x i POWER PC) SUN Microsystems (UltraSPARC x) Compaq/DEC (Alpha 21x64) SGI (MIPS) Hewlett-Packard (PA RISC 8xxx) Intel (Pentium, IA-64)
Zbieżność wydajności
CISC W wyniku tego niemożliwe jest uzyskanie wysokiej wydajności. Niełatwe jest również zwiększenie częstotliwości pracy, gdyż realizacja architektury wymaga dużej ilości materiału, co wiąże się z koniecznością odprowadzenia ciepła i podnosi koszty produkcji. Najczęściej technologia CISC realizowana jest w formie procesorów wieloukładowych. Ten typ technologii procesorowej charakterystyczny jest dla wcześniejszych rozwiązań, np. dla komputerów typu mainframe; jego elementy implementowane były w procesorach Intel Pentium oraz przez innych producentów (np. AMD, Cyrix). Obecnie technologia CISC wyraźnie traci na znaczeniu. Najwcześniej rozwinięta technologia CISC oznacza procesor o złożonej, obszernej, liście rozkazów różnej długości Różnice w długościach poszczególnych instrukcji mogą być znaczne, np. dla komputera VAX wahały się od 4 do kilkuset. Komplikują w wysokim stopniu analizę i optymalizację kodu i utrudniają uzyskanie równoległości na poziomie realizacji poszczególnych instrukcji.
Technologia RISC Zwielokrotnione jednostki funcjonalne - superskalarność, np. 200MHz, 4-drożny --> 800 Mflop/s Procesory jednoukładowe Rozbudowane bufory i rejestry; optymalizacja kolejności wykonywania obliczeń (out-of-order) organizacja przetwarzania skalarnego organizacja przetwarzania potokowego Duża pamięćpodręczna cache dla danych dla instrukcji L1 L2 Modyfikacja technologii półprzewodnikowej ścieżki miedziane
Rozwój procesorów RISC Heurystyczne prawo Moore’a: 2 x w 18 mies.
Rozwój procesorów i układów pamięci
Rozwój procesorów IBM
Wykorzystanie PowerPC604e
Rozwój procesorów HP
Przykład PA RISC
Architektura IA-32 Pentium II/III
Techologia EPIC, architektura IA-64 Very Long Instruction Word; Cechy: przeglądanie instrukcji przed wykonaniem - technika predykcji wykorzystanie długich rozkazów stałej długości (nowy format 128 bitów zawierający 3 instrukcje) możliwość eliminacji rozgałęzień kodu - technika predykcji procesor ITANIUM system operacyjny: Win64 IA-64 Linux (projekt Trillian) Monterey 64 (IBM i SCO) HP-UX Modesto (Novell)
zunifukowana platforma powiekszony dostęp do aplikacji Itanium Processor Family: zunifikowana architektura najwyższa elastyczność Efekt współpracy hp / intel Linux/ Win2000XP/ HP-UX Interoperability high volume Win 2000/XP hi-value hp-ux emerging Linux Itanium Architecture Linux Linux zunifukowana platforma powiekszony dostęp do aplikacji Windows HP-UX IA-32 PA-RISC zgodność binarna
Techologia EPIC, cd.
Procesory
Technologia firmy Intel Wprowadzenie Wydajność jest najważniejsza Proces technologiczny Architektura Architektura 64 bitowa – procesor Itanium® 2 Architektura Intel® NetBurst™ Technologia hiperwątkowa Technologia mobilna Intel® Centrino™ Oprogramowanie i wsparcie rynku Doświadczenie w HPTC Intel Technology Poland Podsumowanie
Intel – Firma Technologiczna Technologia i produkcja układów scalonych Architektury cyfrowych urządzeń komputerowych i komunikacyjnych
Prawo Moore’a Co dwa lata liczba tranzystorów podwaja się, dążąc ku mikroprocesorowi z miliardem tranzystorów
Prawo Moore’a obowiązuje Ku miliardowi tranzystorów w 2007 roku Procesor Pentium® 4 55 milionów Procesor Pentium® III Procesor Pentium® II Procesor Pentium® Procesor 486™ DX Procesor 386™ 286 8086 8080 8008 4004
1000 razy cieńszy niż ludzki włos! 1200 razy cieńszy niż ludzki włos! Najmniejsze, najszybsze tranzystory 90 nanometra (nm) Tranzystor 0,13 µm NMOS 50 nm Tranzystor 90 nm 70 nm 1000 razy cieńszy niż ludzki włos! 1200 razy cieńszy niż ludzki włos!
Rozwój tranzystorów jest coraz szybszy Ogłoszono w czerwcu 2001 r. Produkcja: 2007 r. 20 nm 50 nm Tranzystor 50 nm w procesie 0,09 µm – produkcja w 2002 r. 30 nm Prototyp tranzystora 30 nm do procesu 65 nm – produkcja w 2005 r. 1,2 THz przy 0,85 V Prototyp tranzystora 20 nm do procesu 45 nm – produkcja w 2007 r. 1,45 THz przy 0,75 V Ogłoszono w grudniu 2000 r. Produkcja: 2005 r.
Ogłoszono w listopadzie 2001 r. Kolejny rekord: Tranzystor 15 nm NMOS Ogłoszono w listopadzie 2001 r. Produkcja: 2009 r. 25 nm 15 nm 2,63 THz 82
Przejście na wafle 300 mm Marzec 2001 r.: 300 mm Pierwsza w pełni funkcjonalna płyta 300 mm w technologii 0,13 µm Dwie fabryki produkują 300 mm wafle od 2002 r. Trzy kolejne będą gotowe do 2005 r.
Co daje transformacja produkcji początek produkcji masowej – maj 2001 r. 6 fabryk w 2002 r. 200 mm prawie 2 razy więcej struktur na płytce niż w technologii 0,18 μm 300 mm prawie 2,5 raza więcej struktur na płytce niż w technologii 0,13 μm 200 mm 300mm 200mm WSPW (odpowiedniki 200 mm) F17 F22 D2 F11X 300 mm F20 D1C 300 mm I kw. II kw. III kw. IV kw. I kw. II kw. III kw. IV kw. 2001 2002 Wielkość produkcji
Architektura Itanium®
Zupełnie nowa architektura Zaawansowane funkcje niezawodności Nowa architektura EPIC Przewidywanie Aparat spekulacji Wydajna jednostka zmiennoprzecinkowa Mnogość zasobów 64-bit instrukcje, rejestry & przestrzeń adresowa IA-32 Technologia RISC Nowe systemy operacyjne Technologia CISC
Format instrukcji procesora IA64
Technika predykcji
Instrukcje warunkowe
IA-64, cd. 733/800 MHz, 4MB cache L3 Errors corrected by processor (- process continues) Errors corrected by PAL, OS (- process continues) ECC and parity corrections Instruction level parallelism 6-way (6-drożny) 4 double precision operations/s 8 single precision operations/s 3.2 Gflop/s DP lub 6.4 Gflop/s SP 20 operacji/cykl DIV i SQRT realizowane programowo
Architektura Itanium®
Zupełnie nowa architektura Zaawansowane funkcje niezawodności Nowa architektura EPIC Przewidywanie Aparat spekulacji Wydajna jednostka zmiennoprzecinkowa Mnogość zasobów 64-bit instrukcje, rejestry & przestrzeń adresowa IA-32 Technologia RISC Nowe systemy operacyjne Technologia CISC
64-Bity Czy to coś nowego? Czy to jest dobre czy złe? IA-32 posiada 64-bit a nawet więcej 64-bitowa magistrala 64- bitowa jednostka zmiennoprzecinkowa 80-bitowe rejestry 64-bitowa jednostka stałoprzecinkowa 64/128-bity MMX™/XMM rejestry ale tylko 32-bity przestrzeni adresowej Procesor Itanium® ma 64-bitową przestrzeń adresowa ale to nie wszystko Jak wiele i jak szybko można przesłać dane jako: 32-bitowe paczki 64-bitowe paczki
64-bity przestrzeni adresowej 32-bity adresowania 1 cm wysokość CD 64-bity adresowania 429496 km odległość między ziemią a księżycem 64-bit 32-bit .
Wyzwania dla architektów Garb sekwencyjnego podejścia Masowe zasoby niezbędne dla ILP Skoki sprawiają, że ILP jest skomplikowane Zależności pamięciowe limituje użycie ILP Wzrost opóźnienia to kolejny koszt ILP Ograniczone zasoby to kolejny problem Współdzielenie zasobów powoduje problemy Pętle sprawiają, że ILP zwiększa wielkość kodu i wiele innych ... Architektura Itanium® spełnia wszystkie te wyzwania!
EPIC (Explicit Parallel Instruction Computing) kod Michael S.Schlansker, B.Ramakrishna Rau: EPIC: Explicit Parallel Instruction Computing; IEEE Computer, February 2000, pp.37-45 Kompilator Grupowanie instrukcji w paczki Instrukcyjna paczka (3 instr. w paczce) Do 6 instrukcji wykonywanych w jednym cyklu
Predykcja usuwa rozgałęzienia, umożliwia równoległe przetwarzanie instr 1 instr 2 : instr 3 instr 4 jump instr 5 instr 6 instr 7 instr 8 cmpEQ a,b jump_zero if True if False instr 1 instr 2 : p1, p2 <- cmp(a==b) instr 5 instr 6 if (p2) instr 3 instr 4 if (p1) instr 7 instr 8 64 rejestrów predykcji Predykcja usuwa rozgałęzienia, umożliwia równoległe przetwarzanie
Architektura procesora Itanium® 64-bitowy model adresowania pamięci ILP - Instruction Level Parallelism (6-drożny) Large Register Files Automatyczny system rotacji stoku Predykcja Mechanizm kontroli pętli Zaawansowany mechanizm obsługi rozgałęzień Spekulacyjny mechanizm analizy i kontroli danych 64-bitowa jednostka stałoprzecinkowa 82-bitowa zaawansowana jednostka zmiennoprzecinkowa Wsparcie technologii MMX™
Diagram procesora Itanium® 2, czyli EPIC w rzeczywistości
Porównanie IA-32 i IA-64
Porównanie technologii
Inne projekty procesorów Cruzoe (Transmeta) E2K (Elbrus) CMP (Chip Multiprocessor) SMT (Simultaneous Multithreaded Processor)
O czym mówiliśmy do tej pory ? RAS ( technologia, procesy IT, wsparcie) Reliability Availability Serviceability Metryki wydajności dla systemów przemysłowych i komercyjnych Aplikacje – SPEC i SAP R/3 Specyfikacje – TPC-C, TPC-D/H/R Technologie procesorów – CISC, RISC, EPIC Technologia Intela