Co to jest lista top500. Omów mikrotechnologię Core

Podobne dokumenty
Podstawy Techniki Mikroprocesorowej wykład 13: MIMD. Dr inż. Jacek Mazurkiewicz Katedra Informatyki Technicznej

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

16. Taksonomia Flynn'a.

Nowoczesne technologie przetwarzania informacji

Architektura komputerów

Budowa Mikrokomputera

Architektura mikroprocesorów TEO 2009/2010

Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.

Architektury komputerów Architektury i wydajność. Tomasz Dziubich

3.Przeglądarchitektur

Architektura Komputerów

Klasyfikacja systemów komputerowych. Architektura von Neumanna Architektura harwardzka Zmodyfikowana architektura harwardzka. dr inż.

dr inż. Jarosław Forenc

Architektura von Neumanna

3.Przeglądarchitektur

Budowa i zasada działania komputera. dr Artur Bartoszewski

Budowa komputera Komputer computer computare

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Architektura komputerów

Wykład 8 Systemy komputerowe ze współdzieloną pamięcią operacyjną, struktury i cechy funkcjonalne.

Podstawy Informatyki Systemy sterowane przepływem argumentów

Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.

Algorytmy dla maszyny PRAM

Architektura von Neumanna. Jak zbudowany jest współczesny komputer? Schemat architektury typowego PC-ta. Architektura PC wersja techniczna

Algorytmy i Struktury Danych

Architektura komputera wg Neumana

Nowinki technologiczne procesorów

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,

Zegar - układ wysyłający regularne impulsy o stałej szerokości (J) i częstotliwości (f)

PODSTAWY PRZETWARZANIA RÓWNOLEGŁEGO INFORMACJI

Klasyfikacje systemów komputerowych, modele złożoności algorytmów obliczeniowych

Procesory. Schemat budowy procesora

Wstęp. Przetwarzanie współbieżne, równoległe i rozproszone

Przetwarzanie potokowe pipelining

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

Programowanie współbieżne Wykład 2. Iwona Kochańska

Dr inż. hab. Siergiej Fialko, IF-PK,

Larrabee GPGPU. Zastosowanie, wydajność i porównanie z innymi układami

Technologie Informacyjne Wykład 2

Nowinki technologiczne procesorów

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

Wykład 2 Podstawowe pojęcia systemów równoległych, modele równoległości, wydajność obliczeniowa, prawo Amdahla/Gustafsona

Programowanie Rozproszone i Równoległe

LEKCJA TEMAT: Zasada działania komputera.

Klasyfikacja systemów komputerowych. Architektura von Neumanna. dr inż. Jarosław Forenc

Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.

Wprowadzenie do systemów operacyjnych

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Obliczenia Wysokiej Wydajności

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Architektura komputerów

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

System mikroprocesorowy i peryferia. Dariusz Chaberski

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

Architektura komputerów egzamin końcowy

Programowanie współbieżne i rozproszone

dr inż. Jarosław Forenc

Architektura komputerów

Obliczenia Wysokiej Wydajności

1. ARCHITEKTURY SYSTEMÓW KOMPUTEROWYCH

Nowinkach technologicznych procesorów

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Wprowadzenie do systemów wieloprocesorowych

Architektura Systemów Komputerowych. Architektura potokowa Klasyfikacja architektur równoległych

Bibliografia: pl.wikipedia.org Historia i rodzaje procesorów w firmy Intel

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

Wydajność obliczeń a architektura procesorów. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Programowanie Niskopoziomowe

Dydaktyka Informatyki budowa i zasady działania komputera

Mikroprocesory rodziny INTEL 80x86

Urządzenia wejścia-wyjścia

Systemy wieloprocesorowe i wielokomputerowe

ARCHITEKTURA PROCESORA,

Artur Janus GNIAZDA PROCESORÓW INTEL

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Technika mikroprocesorowa

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

System obliczeniowy laboratorium oraz. mnożenia macierzy

Procesory firmy ARM i MIPS

Literatura. 3/26/2018 Przetwarzanie równoległe - wstęp 1

Literatura. 11/16/2016 Przetwarzanie równoległe - wstęp 1

Wprowadzenie do architektury komputerów. Taksonomie architektur Podstawowe typy architektur komputerowych

Analiza ilościowa w przetwarzaniu równoległym

Architektura mikroprocesorów z rdzeniem ColdFire

Tesla. Architektura Fermi

Komputery równoległe. Zbigniew Koza. Wrocław, 2012

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Metody optymalizacji soft-procesorów NIOS

Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

dr inż. Jarosław Forenc

21 Model z pamięcią współdzieloną (model PRAM) - Parallel Random Access Machine

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Transkrypt:

Co to jest lista top500 Lista top500 to lista 500 najbardziej wydajnych systemów komputerowych na świecie. Lista uaktualniana jest 2 razy do roku. Głównym celem listy top500 jest możliwość śledzenia postępu jaki ma miejsce w HPC. Wydajność komputerów mierzona jest przy pomocy benchmarka HPL(High-Performance LINPACK), przenośnego benchmarka, przeznaczonego dla komputerów z pamięcią rozproszoną. Omów mikrotechnologię Core Intel Core microarchitecture (wcześniej znana jako Intel Next-Generation Micro- Architecture, lub NGMA) jest architekturą wielordzeniowych procesorów. Charakteryzuje się mniejszym zużyciem energii. Architektura ta posiada wiele rdzeni, wspiera sprzętową wirtualizację oraz technologię Intel 64 oraz SSSE3. Pierwszymi procesorami, które oparte były na tej architekturze był procesor o nazwie kodowej Merom, Conroe oraz Woodcrest. Pomimo tej samej architektury, te trzy linie procesorów różniły się wykorzystywanymi gniazdami, szybkościami magistrali oraz zużyciem energii. Procesory mainstream owe wykorzystujące tą architekturę to Pentium Dual Core oraz low-endowe Celerony. Ponad to procesory wykorzystujące tą architekturę to przeznaczone do serwerów Xeony, oraz desktopowe i mobilne Core2. Pomimo swej mylącej nazwy procesory IntelCore nie wykorzystują mikroarchitektury Core. Intel Core Microarchitecture jest zaprojektowana w całości od nowa. Ilość kroków w jednym potoku wynosi w przypadku tych układów 14, co oznacza znaczne zmniejszenie z liczby 31 kroków stosowanych w rdzeniach Prescott. Nowa architektura jest zaprojektowana tak, aby obydwa rdzenie korzystały z tej samej pamięci podręcznej drugiego (L2) poziomu i oddzielnych banków pamięci podręcznej pierwszego (L1) poziomu. Pozwala to na osiągnięcie korzystnego przelicznika pobieranej mocy na oferowane możliwości. Jedną z nowych technologii zastosowanych przy projektowaniu układów serii Core jest Macro-Ops Fusion, która łączy dwie instrukcje typu x86 w jedną "mikroinstrukcję". Przykładem niech będzie operacja kopiowania poprzedzona zamianą: obydwie instrukcje zostaną złożone w jeden rozkaz. Inna z zastosowanych technologii umożliwia odczytanie każdej ze 128-bitowych instrukcji SSE w ciągu jednego cyklu zegara (wcześniej wymagało to dwóch cykli) W takim wypadku procesor dokona inicjalizacji wszystkich komponentów i postawi je w stan oczekiwania, który umożliwi natychmiastowe uruchomienie procesu z pełną wydajnością. Pozwala to jednostce wytwarzać mniej ciepła i tym samym zmniejsza jej zapotrzebowanie na energię. Intel twierdzi, że znacznie zmniejszył zużycie energii swoich nowych układów - średnie zużycie energii waha się pomiędzy 1 a 2 watami w wersjach pracujących z obniżonym napięciem, zaś wskaźniki Thermal Design Point (TDP) zostały przez Intela ustalone na poziomie 60 watów w przypadku Conroe i 80 watów dla Woodcrest. Te wyniki mają jednak szansę jeszcze się zmienić. Dla porównania, układ AMD Opteron 875HE pobiera tylko 55 watów mocy. Merom, wariant mobilny procesorów Core, według producenta pobiera 35 watów w wersji standardowej oraz 5 watów w wersji Ultra Low Voltage (ULV)

Omów metody poprawy wydajności procesora HyperThreading (hiperwątkowość) - Powoduje ona, że procesor jednordzeniowy jest widziany przez system jako jednostka z podwójnym jądrem, a komputer staje się wieloprocesorowy. Technologia ta sprawia, że CPU pracuje z dwoma niezależnymi wątkami na raz, a nie jeden po drugim. Ma to znaczenie, jeśli obciążymy komputer wieloma programami. Pomimo fizycznej obecności jednego rdzenia, rozkazy rozdzielone są pomiędzy dwa wątki, co przyśpiesza ich wykonywanie przez procesor. Elementy powielone: rejestry systemowe, jednostki kontroli Współdzielone zasoby: Trace Cache, Data Caches, Jednostki wykonawcze Multithreading (Wielowątkowość) oznacza możliwość jednoczesnego wykonywania wielu wątków sprzętowych na pojedynczej jednostce wykonawczej rdzeniu. Wielowątkowość w procesorach możliwa jest dzięki temu że nie wszystkie części jednostki wykonawczej są w jednakowym stopniu wykorzystywane przez pojedynczy wątek (ciąg instrukcji). Nieaktywne części jednostki wykonawczej mogą w tym czasie wykonywać inny wątek zwiększając efektywność wykorzystania całego procesora. W zależności od rodzaju technik zastosowanych do obsługi dodatkowych wątków sprzętowych spotyka się od 2 (najczęściej) do nawet 8 wątków sprzętowych na pojedynczy rdzeń procesora (core). Potokowość (ang. pipelining) technika budowy procesorów polegająca na podziale logiki procesora odpowiedzialnej za proces wykonywania programu (instrukcji procesora) na specjalizowane grupy w taki sposób, aby każda z grup wykonywała część pracy związanej z wykonaniem rozkazu. Grupy te są połączone sekwencyjnie potok (ang. pipe) i wykonują pracę równocześnie, pobierając dane od poprzedniego elementu w sekwencji. W każdej z tych grup rozkaz jest na innym stadium wykonania. Można to porównać do taśmy produkcyjnej. Zmniejszanie procesu technologicznego a co za tym idzie zwiększenie gęstości upakowania tranzystorów, zmniejszenie mocy przełączania tranzystorów, zwiększenie szybkości przełączania tranzystorów Zwiększanie liczby rdzeni wydajność jaką można uzyskać poprze zwiększenie ilości procesorów, jest silnie uzależniona od algorytmów oraz implementacji programów. W szczególności, możliwe do uzyskania korzyści są ograniczone przez oprogramowanie, które może zostać zrównoleglone do pracy na wielu rdzeniach jednocześnie. Ten efekt jest opisany przez prawo Amdahla. Nie wiedziałem czy superskalarnosc też tu pasuje, bo nie wiem czy ona nie obejmuje potokowości itp.

Wymień sposoby klasyfikacji maszyn wieloprocesorowych. Luźno powiązane systemy wieloprocesorowe Każdy procesor ma własną pamięć główną i kanały wejścia-wyjścia. Procesory wyspecjalizowane funkcjonalnie Istnieje główny procesor i pomocnicze, które są przez niego sterowane. Silnie powiązane systemy wieloprocesorowe - Zbiór procesorów o wspólnej pamięci głównej pod kontrolą jednego systemu operacyjnego. Systemy z przetwarzaniem równoległym Silnie powiązane systemy wieloprocesorowe, które mogą współpracować, pracując równolegle nad jednym zadaniem. Omów SMP oraz MPP 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.

Massive parallel processing (MPP) is a term used in computer architecture to refer to a computer system with many independent arithmetic units or entire microprocessors, that run in parallel. The term massive connotes hundreds if not thousands of such units. Early examples of such a system are the Distributed Array Processor, the Goodyear MPP, the Connection Machine, and the Ultracomputer. Some years ago many of the most powerful supercomputers were MPP systems. In this class of computing, all of the processing elements are connected together to be one very large computer. This is in contrast to distributed computing where massive numbers of separate computers are used to solve a single problem. The earliest massively parallel processing systems all used serial computers as individual processing elements, in order to achieve the maximum number of independent units for a given size and cost. Omów sposoby określania wydajności komputerów Cel: określić jak sprawnie (szybko) komputer będzie realizował wyznaczone zadania. Miary oparte na charakterystykach sprzętu Częstotliwość zegara Drożność procesora Przepustowość magistrali pamięćprocesor MIPS, MFLOPS (teoretyczne) nie uwzględniają złożoności działania komputerów dla najważniejszych i najpopularniejszych programów użytkowych Miary oparte na parametrach wykonania specjalnie zaprojektowanych programów wzorcowych benchmarków komputerowych Rodzaje programów wzorcowych: Własne: najlepsze, lecz wymagają osobistego testowania, co z kolei wymaga czasu, pieniędzy i dostępu do systemów Nieformalne: opracowywane przez grupy użytkowników (np. LINPACK, STREAM) Przemysłowe: utrzymywane przez organizacje (np. SPEC, TPC), firmy i instytucje Podział ze względu na charakter zadań testowych: Algorytmy np. LINPACK Aplikacje np. testy SPEC

Specyfikacje np. testy TPC Taxonomia Flynna: SIMD SISD (VON NEUMANN) MIMD MISD Modele programowania równoległego: Message Passing przesyłanie komunikatów Data parallelism równoległość danych ( a także Single Program Multiple Data SPMD ) Shared memory wspólna pamięć Maly słowniczek: NUMA - Non-Uniform Memory Access - architektura komputerowa, służąca do przetwarzania współbieżnego. Architektura NUMA charakteryzuje się tym, że udostępnia użytkownikowi spójną logicznie przestrzeń adresową, chociaż pamięć jest fizycznie podzielona. Komputery zbudowane w tej architekturze posiadają wiele procesorów.niejednorodność w dostępie do pamięci polega na tym, że dany

procesor szybciej uzyskuje dostęp do swojej lokalnej pamięci, niż do pamięci pozostałych procesorów lub pamięci współdzielonej. CC-NUMA (ang. Cache Coherent Non-Uniform Memory Access) - maszyny o takiej architekturze są maszynami o "niejednorodnym dostępie do pamięci, ze spójną pamięcią podręczną". Udostępniają użytkownikowi spójną logicznie przestrzeń adresową, pomimo tego, że pamięć jest fizycznie podzielona. Komputery zbudowane w tej architekturze posiadają wiele procesorów. Niejednorodność w dostępie do pamięci polega na tym, że procesor uzyskuje szybciej dostęp do pamięci swojej niż do innych. W wieloprocesorach typu NUMA istnieje pojedyncza wirtualna przestrzeń adresowa widoczna przez wszystkie procesory. Wartość zapisana, przez dowolny procesor jest natychmiastowo widoczna dla wszystkich pozostałych, dlatego też następna operacja odczytu z tej komórki pamięci przez dowolny procesor poda właśnie tą wartość. W CC-NUMA pamięci podręczne musza być spójne. Spójność ta jest zrealizowana za pomocą dodatkowego sprzętu oraz protokołu. Wykorzystywany do tego jest katalog czyli dodatkowa pamięć, która służy do zapamiętywania faktu pobrania danych z pamięci i przesłania ich do węzła lub w bardziej skomplikowanych przypadkach miejsca pobytu wszystkich kopii danych. Amdahl's law, also known as Amdahl's argument,[1] is named after computer architect Gene Amdahl, and is used to find the maximum expected improvement to an overall system when only part of the system is improved. It is often used in parallel computing to predict the theoretical maximum speedup using multiple processors. The speedup of a program using multiple processors in parallel computing is limited by the time needed for the sequential fraction of the program. For example, if a program needs 20 hours using a single processor core, and a particular portion of 1 hour cannot be parallelized, while the remaining promising portion of 19 hours (95%) can be parallelized, then regardless of how many processors we devote to a parallelized execution of this program, the minimum execution time cannot be less than that critical 1 hour.