Tipuri și nivele de paralelism Clasificarea arhitecturilor paralele Arhitecturi vectoriale Arhitecturi SIMD Arhitecturi sistolice

Similar documents
Ierarhia memoriilor Tipuri de memorii Memorii semiconductoare Memoria cu unități multiple. Memoria cache Memoria virtuală

Multicore Multiprocesoare Cluster-e

9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date.

Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin

Procesarea Imaginilor

Metrici LPR interfatare cu Barix Barionet 50 -

2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N

Arhitectura sistemelor de calcul paralel

Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban

Versionare - GIT ALIN ZAMFIROIU

ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962)

Sisteme de operare 19. Gestiunea memoriei

3.2 Arhitectura setului de instrucţiuni ISA. Copyright Paul GASNER

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC)

Transmiterea datelor prin reteaua electrica

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND

3. CLOUD COMPUTING Sisteme de calcul distribuite

Modalitǎţi de clasificare a datelor cantitative

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii

Laborator 07. Procesorul MIPS versiune pe 16 biți, cu un ciclu de ceas pe instrucțiune

ARHITECTURA CALCULATOARELOR LABORATOR PROGRAMĂ ANALITICĂ OBIECTIVE CURS. Obiective educaţionale: Profesor Mihai ROMANCA

SISTEME DE CALCUL. LIMBAJ DE ASAMBLARE. SIMULATORUL PCSPIM UAL DPE. Fig.1. Structura unui sistem de calcul

Implementarea paralelismului la nivel de instructiune în microprocesoarele superscalare

Subiecte Clasa a VI-a

SISTEME DE CALCUL. LIMBAJ DE ASAMBLARE. SIMULATORUL QTSPIM UAL DPE. Fig.1. Structura unui sistem de calcul

Programare în limbaj de asamblare 16. Formatul instrucţiunilor (codificare, moduri de adresare).

ARHITECTURI PARALELE DE CALCUL

Mecanismul de decontare a cererilor de plata

Documentaţie Tehnică

Tema 1 - Transferuri de date DMA intr-o arhitectura de tip Cell

Lucrarea Nr.1. Sisteme de operare. Generalitati

Mihai ROMANCA. Microprocesoare şi microcontrolere

Curs 1 17 Februarie Adrian Iftene

Class D Power Amplifiers

MODELUL UNUI COMUTATOR STATIC DE SURSE DE ENERGIE ELECTRICĂ FĂRĂ ÎNTRERUPEREA ALIMENTĂRII SARCINII

Grafuri bipartite. Lecție de probă, informatică clasa a XI-a. Mihai Bărbulescu Facultatea de Automatică și Calculatoare, UPB

GHID DE TERMENI MEDIA

Dispozitive Electronice şi Electronică Analogică Suport curs 02 Metode de analiză a circuitelor electrice. Divizoare rezistive.

INSTRUMENTE DE MARKETING ÎN PRACTICĂ:

Posibilitati de realizare a transferurilor de date

1. Sisteme reconfigurabile de calcul.

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC

Excel Advanced. Curriculum. Școala Informală de IT. Educație Informală S.A.

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M )

The First TST for the JBMO Satu Mare, April 6, 2018

Solutii avansate pentru testarea si diagnoza masinilor industriale.

O alta abordare in calculul distribuit este memoria virtuală distribuită (Distributed Shared Memory DSM). Din nefericire maşinile paralele cu memorie

Prelucrarea numerică a semnalelor

Lucrarea de laborator nr. 4

Memorii în Sisteme Embedded. Tipuri de memorii. Arhitectura memoriilor.

CURS 9 SEMNALE LA INTERFAŢA UC CU EXTERIORUL CONTINUARE. Şef lucr. dr. ing. Dan FLOROIAN

D în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm

Utilizarea firelor de executie în Java si C#

Universitatea Politehnica București. Facultatea de Electronică, Telecomunicații și Tehnologia Informației

Propuneri pentru teme de licență

Eficiența energetică în industria românească

Auditul financiar la IMM-uri: de la limitare la oportunitate

Olimpiad«Estonia, 2003

TWITRENDS SISTEM DE PROCESARE A STREAM-URILOR ÎN TIMP REAL ÎN ERA BIG DATA

2.3 PROTOCOLUL DE MESAJE DE CONTROL PENTRU INTERNET (ICMP)

MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila

Metoda de programare BACKTRACKING

Arbori. Figura 1. struct ANOD { int val; ANOD* st; ANOD* dr; }; #include <stdio.h> #include <conio.h> struct ANOD { int val; ANOD* st; ANOD* dr; }

ISBN-13:

Reţele Neuronale Artificiale în MATLAB

Metoda BACKTRACKING. prof. Jiduc Gabriel

SIMULAREA SISTEMULUI IERARHIC DE MEMORIE ÎN ARHITECTURI DE TIP MULTIPROCESOR CU MEMORIE PARTAJATĂ

Laborator 1. Programare declarativă. Programare logică. Prolog. SWI-Prolog

Baze de date distribuite și mobile

CAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET

Itemi Sisteme de Operare

ANTICOLLISION ALGORITHM FOR V2V AUTONOMUOS AGRICULTURAL MACHINES ALGORITM ANTICOLIZIUNE PENTRU MASINI AGRICOLE AUTONOME TIP V2V (VEHICLE-TO-VEHICLE)

CAPITOLUL 1 SISTEME DE CALCUL

R O M Â N I A CURTEA CONSTITUŢIONALĂ

OBIECTIVUL CURSULUI. Trafic. Componenta a retelei de telecomunicatii desi nu este marcat ca atare in nici o prezentare a structurii acesteia;

Metode de descriere a sistemelor numerice

Update firmware aparat foto

Sisteme distribuite teorie 5. Semantica esecurilor în RPC. Comunicatie în grup

ACADEMIA DE STUDII ECONOMICE. Integrarea Sistemelor Informatice

Implementation of a Temperature Control System using ARDUINO

Updating the Nomographical Diagrams for Dimensioning the Concrete Slabs

Reţele de calculatoare

The driving force for your business.

ASAMBLOARELE SI PROCESUL DE ASAMBLARE

Evoluţii în sistemele de măsurat

Software Process and Life Cycle

Calculatoare Numerice II Interfaţarea unui dispozitiv de teleghidare radio cu portul paralel (MGSH Machine Guidance SHell) -proiect-

A Compared Aproach: ASP versus PHP

Subiectele pentru proba practică din cadrul examenului de Paradigme de Programare Sesiunea iunie 2015

Managementul Proiectelor Software Metode de dezvoltare

EN teava vopsita cu capete canelate tip VICTAULIC

Reţele de calculatoare

Mulțumim anticipat tuturor acelora care vor transmite critici/observații/sugestii

Pentru fiecare dintre următorii itemi alegeți litera corespunzătoare răspunsului corect.

Cuprins Neculoiu Paul

Internet-ul a apărut în 1960 când, în SUA, Ministerul Apărării a creat Agenţia pentru proiecte de Cercetare Avansată (ARPA), care are ca obiectiv

DECLARAȚIE DE PERFORMANȚĂ Nr. 101 conform Regulamentului produselor pentru construcții UE 305/2011/UE

CERERI SELECT PE O TABELA

Transcription:

Tipuri și nivele de paralelism Clasificarea arhitecturilor paralele Arhitecturi vectoriale Arhitecturi SIMD Arhitecturi sistolice Arhitecturi cu fire de execuție multiple 1

Arhitecturi cu memorie partajată Arhitecturi cu transmitere de mesaje Alte arhitecturi MIMD 2

Arhitecturile MIMD sunt mai generale comparativ cu celelalte arhitecturi paralele se pot utiliza pentru o clasă largă de aplicații Fiecare EP poate executa o instrucțiune diferită în orice moment Fiecare EP are propria UAL și unitate de comandă procesor independent Elementele de procesare sunt interconectate transferuri de date, sincronizare 3

Programarea arhitecturilor MIMD este mai dificilă Algoritmul de procesare trebuie să prezinte un grad ridicat de paralelism Performanța teoretică maximă a unui sistem cu n procesoare nu poate fi atinsă Comunicarea între procesoare Sincronizarea activității procesoarelor Planificarea alocării taskurilor la procesoare 4

Dificultăți de proiectare a arhitecturilor MIMD Alocarea procesoarelor la procese: în mod dinamic Sincronizarea procesoarelor: prevenirea modificării simultane a datelor Proiectarea rețelelor de interconectare: între procesoare și memorie; între procesoare Partiționarea: identificarea paralelismului în algoritmii de prelucrare 5

Avantajele arhitecturilor MIMD Performanța ridicată: în mod ideal, toate cele n procesoare execută în paralel taskuri ale unei prelucrări Toleranța la defecte: la defectarea unui procesor sau bloc de memorie, taskurile pot fi realocate altor resurse Este posibilă reconfigurarea dinamică a resurselor 6

Într-o arhitectură MIMD, fiecare procesor funcționează independent Rezultatele taskurilor unui procesor pot fi necesare unui alt procesor Memorarea lor într-o memorie partajată Transmiterea directă a rezultatelor Tipuri principale de organizare Cu memorie partajată Cu transmitere de mesaje 7

Prezentare generală Arhitecturi cu transmitere de mesaje Alte arhitecturi MIMD 8

Se mai numesc multiprocesoare Procesoare interconectate cu module de memorie Oricare procesor poate accesa oricare modul de memorie se simplifică programarea Transferul datelor între procesoare prin RI este rapid arhitectură cu legătură strânsă Timpul de acces la memorie este același arhitectură cu memorie uniformă (UMA Uniform Memory Architecture) 9

10

Procesoare care nu sunt conectate la același modul de memorie: este necesară o secvență de transferuri Procesoare neomogene: sunt necesare transformări ale datelor Pot apare conflicte la accesul memoriei Memorii cu unități multiple Intercalarea adreselor de memorie Memorii cu porturi multiple 11

Avantaje: Tehnicile de programare a uniprocesoarelor pot fi adaptate în mod simplu pentru multiprocesoare Nu este necesară mutarea fizică a datelor atunci când procesele comunică între ele comunicația între procese este eficientă Dezavantaje: Accesul la datele partajate necesită construcții de sincronizare semafoare 12

Scalabilitatea redusă din cauza conflictelor la accesul memoriei; probabilitatea conflictelor crește cu creșterea numărului de procesoare Soluții pentru îmbunătățirea scalabilității RI de viteză ridicată între EP și memorii Utilizarea unor memorii cache locale apare problema coerenței memoriilor cache Implementarea memoriei partajate ca o colecție de memorii locale arhitectură cu memorie partajată virtuală 13

Prezentare generală Arhitecturi cu memorie partajată Alte arhitecturi MIMD 14

Se mai numesc multicalculatoare Fiecare procesor are un bloc de memorie locală Arhitectură cu legătură slabă sau cu memorie distribuită Timpul de acces la memorie este diferit arhitectură cu memorie neuniformă (NUMA Nonuniform Memory Architecture) Niciun procesor nu poate accesa direct blocul de memorie al altui procesor 15

16

Interacțiunea între diferite procesoare se realizează prin transmiterea unor mesaje între procesoare Transferul datelor între două procesoare Procesorul solicitant transmite un mesaj procesorului în memoria căruia se află datele Procesorul solicitat citește datele din memoria locală și le transmite prin RI RI rutează datele către procesorul solicitant 17

Avantaje: Problema conflictului la memorie este mai puțin severă scalabilitate Nu sunt necesare tehnici de sincronizare complexe Dezavantaje: Timpul de așteptare pentru datele solicitate poate fi semnificativ procesorul solicitant este inactiv 18

Comunicația și sincronizarea bazată pe transmitere de mesaje poate conduce la blocaje Transmiterea de mesaje necesită copierea unor structuri de date între procese poate reduce semnificativ performanțele Pentru performanțe ridicate, este necesară încărcarea echilibrată a procesoarelor partiționarea codului și a datelor între procesoare 19

Prezentare generală Arhitecturi cu memorie partajată Arhitecturi cu transmitere de mesaje 20

Multiprocesoarele și multicalculatoarele reprezintă două extreme Sistemele MIMD pot utiliza o combinație a celor două arhitecturi Arhitectură care utilizează numai memorii cache (COMA Cache Only Memory Architecture) Calculatoarele DDM (Data Diffusion Machine) Arhitectură cu memorie distribuită și memorii cache 21

22

Spațiul de adrese poate fi privat sau partajat Calculatoare cu memorie locală și spațiu de adrese partajat Arhitecturi NUMA Avantaje: scalabilitate, programare simplă Exemplu: J-Machine (MIT) Configurația unui sistem MIMD depinde de caracteristicile aplicațiilor 23

Tipuri și nivele de paralelism Clasificarea arhitecturilor paralele Arhitecturi vectoriale Arhitecturi SIMD Arhitecturi sistolice Arhitecturi MIMD 24

Modelul fluxului de control Modelul fluxului de date Arhitecturi cu flux de date Exemple de calculatoare cu flux de date 25

Utilizează un mecanism pentru comutarea rapidă a contextului între firele de execuție Metodă similară cu cea utilizată de sistemele multi-tasking Firele de execuție care așteaptă operații de I/E sau de sincronizare sunt suspendate Contextul unui fir de execuție suspendat este salvat în memorie sau într-un set de registre La reluarea execuției, procesorul este încărcat cu contextul salvat 26

Cerința pentru o eficiență ridicată: Reducerea timpului de inactivitate al procesorului Trebuie îndeplinite două condiții: Comutarea foarte rapidă a contextului se realizează prin mecanisme hardware Disponibilitatea unui număr suficient de fire de execuție Păstrarea contextului unui număr mare de fire de execuție este costisitoare compromis 27

Avantajul acestor arhitecturi: Tolerează întârzierile datorate accesului la memorii non-locale și sincronizărilor Accesul la memorii non-locale Timpul de acces variază cu distanța Se asigură ca timpul de comutare să fie mai mic decât cel mai redus timp de acces Sincronizarea între procese/fire de execuție Mecanism hardware pentru detectarea unei situații de sincronizare 28

Prezentare generală Modelul fluxului de date Arhitecturi cu flux de date Exemple de calculatoare cu flux de date 29

Calculatoare convenționale: se bazează pe arhitectura von Neumann Fluxurile de control și de date sunt separate Instrucțiunile sunt executate secvențial Instrucțiuni de control (de ex., salturi): specifică abaterea de la ordinea secvențială Implementarea: registru contor de program Arhitectură cu flux de control: funcționarea este controlată de secvența de instrucțiuni 30

Datele sunt memorate în locații de memorie sau registre Fluxul de date: determinat de referințele la locațiile de memorie Datele sunt încărcate și prelucrate numai atunci când instrucțiunile le solicită Fluxul de date nu are efect asupra ordinii de execuție a instrucțiunilor Exemplu: Modelul fluxului de control pentru calculul X = (A B) + (C D) 31

32

Modelul fluxului de control Arhitecturi cu flux de date Exemple de calculatoare cu flux de date 33

Secvența operațiilor nu este specificată Nu există contor de program și nici conceptul clasic de variabile O instrucțiune este gata pentru execuție atunci când operanzii devin disponibili Arhitectură cu flux de date (dataflow): este controlată de date Gradul de paralelism este ridicat Graful fluxului de date Noduri: operatori (procesoare) 34

Arce: căi pentru date sau valori de control Declanșarea (execuția operației) unui nod: sunt disponibile datele pe arcele de intrare Disponibilitatea datelor pe un arc este indicată printr-un simbol (token) 35

Două tipuri de simboluri: de date; booleene Nod operator Nod de decizie: generează un simbol boolean Nod de fuziune: plasează unul din simbolurile de intrare pe arcul de ieșire 36

Nod comutator: plasează simbolul de intrare pe unul din arcele de ieșire Poartă T: plasează simbolul de intrare la ieșire dacă simbolul boolean este TRUE Poartă F: idem, dacă simbolul boolean este F 37

38

Modelul static al fluxului de date Declanșarea: numai dacă fiecare arc de intrare conține un simbol; arcele de ieșire nu conțin simboluri Este necesară o confirmare de la nodul urm. Modelul dinamic al fluxului de date Lipsa simbolurilor la ieșire nu este necesară Un arc poate conține mai multe simboluri Un simbol trebuie asociat cu un set de date 39

Modelul fluxului de control Modelul fluxului de date Exemple de calculatoare cu flux de date 40

Instrucțiunile cu flux de date nu adresează variabile conțin variabilele utilizate Execuția instrucțiunilor nu afectează alte instrucțiuni gata pentru execuție Arhitectură statică Validarea unei instrucțiuni: atunci când operanzii sunt recepționați şi o altă instrucțiune așteaptă rezultatul Constrângere impusă prin semnale de confirmare 41

Fiecare arc din graful fluxului de date poate conține cel mult un simbol Exemplu de graf al fluxului de date într-o arhitectură statică 42

43

Structura calculatorului static cu flux de date MIT Unitatea de procesare: EP multiple Unitatea de memorie: celule de instrucțiuni Celulă de instrucțiune: conține reprezentarea unui nod al grafului șablon de activitate Codul operației, simboluri (date) de intrare, pointeri la celulele destinație Pachet de operație: o instrucțiune validată Pachet rezultat: valoare, adresă destinație 44

45

Arhitectură dinamică Validarea unei instrucțiuni: atunci când operanzii sunt recepționați Pot deveni disponibile simultan mai multe seturi de operanzi ale instrucțiunii Comparativ cu arhitecturile statice: permit un grad mai ridicat de paralelism Este necesar un mecanism pentru a distinge diferitele seturi de operanzi pentru o instrucțiune 46

Un arc din graful fluxului de date poate conține mai mult de un simbol Exemplu de graf al fluxului de date într-o arhitectură dinamică 47

Diferențierea seturilor de operanzi într-o arhitectură dinamică Câmp suplimentar adăugat în pachetul rezultatului etichetă Se compară etichetele Se poate utiliza o memorie asociativă memorie de potrivire Determinarea instrucțiunii validate: pe baza adresei destinației și a etichetei din pachetul rezultat 48

49

Modelul fluxului de control Modelul fluxului de date Arhitecturi cu flux de date 50

Calculatoarele cu flux de date nu au avut un succes comercial Complexitatea hardware semnificativă Dificultatea transmiterii eficiente a simbolurilor de date Necesită memorii asociative de dimensiuni mari păstrarea dependențelor de date Dificultatea dezvoltării și compilării limbajelor cu flux de date 51

Concepte ale fluxului de date incluse în procesoare specializate: DSP, GPU Procesoare superscalare Permit execuția instrucțiunilor într-o ordine diferită de cea din program (out-of-order) Formă restrânsă de flux de date flux local Fereastră de execuție: instrucțiunile sunt executate când operanzii sunt disponibili O fereastră de execuție: 32.. 200 instrucțiuni 52

Calculatorul dinamic Manchester MDM Manchester Dataflow Machine Multiprocesorul Monsoon (MIT, Motorola) Utilizează limbajul paralel Id Calculatorul EDDEN (Sanyo Electric) EDDEN Enhanced Data-Driven Engine Versiunea comercială: Cyberflow/64 Calculatoare hibride: flux de date + flux de control 53

Arhitecturile MIMD sunt mai generale față de alte arhitecturi paralele, dar programarea lor este mai dificilă Categorii principale de arhitecturi MIMD: cu memorie partajată și cu transmitere de mesaje Arhitecturile MIMD cu memorie partajată se numesc și multiprocesoare sau arhitecturi cu memorie uniformă Programarea este simplă, dar scalabilitatea este redusă din cauza conflictelor la accesul memoriei 54

Arhitecturile MIMD cu transmitere de mesaje se numesc și multicalculatoare sau arhitecturi cu memorie distribuită Scalabilitatea este îmbunătățită, dar este necesară copierea unor structuri de date între procese Arhitecturile cu fire de execuție multiple asigură comutarea rapidă a contextului între firele de execuție Trebuie să fie disponibile suficiente fire de execuție 55

Arhitecturile cu flux de date nu conțin un contor de program, ci sunt controlate de date Două tipuri de arhitecturi cu flux de date: statice și dinamice Arhitecturile dinamice trebuie să conțină un mecanism pentru a distinge între ele diferitele seturi de operanzi ai unei instrucțiuni Diferențierea se poate realiza cu un câmp de etichetă adăugat la pachetul rezultatului Procesoarele superscalare utilizează o formă restrânsă de flux de date 56

Prezentare generală a arhitecturilor MIMD Avantaje ale arhitecturilor MIMD Prezentare generală a arhitecturilor cu memorie partajată Avantaje și dezavantaje ale arhitecturilor cu memorie partajată Soluții pentru îmbunătățirea scalabilității arhitecturilor cu memorie partajată Prezentare generală a arhitecturilor cu transmitere de mesaje 57

Avantaje și dezavantaje ale arhitecturilor cu transmitere de mesaje Arhitecturi cu memorie distribuită și memorii cache Prezentare generală a arhitecturilor cu fire de execuție multiple Modelul fluxului de control Modelul fluxului de date Graful fluxului de date 58

Modelul static și modelul dinamic al fluxului de date Arhitectură statică cu flux de date Structura calculatorului static cu flux de date MIT Arhitectură dinamică cu flux de date Diferențierea seturilor de operanzi într-o arhitectură dinamică cu flux de date 59

1. Care este deosebirea dintre multiprocesoare și multicalculatoare din punctul de vedere al accesului la memorie? 2. Care sunt avantajele și dezavantajele arhitecturilor cu transmitere de mesaje? 3. Care sunt condițiile de validare a unei instrucțiuni în cazul arhitecturilor statice și a celor dinamice cu flux de date? 60