Cunoștințe, prelegere, clasificarea aplicațiilor moderne și a sistemelor multi-core

Rezumat: O defalcare aproximativă a aplicațiilor în clase / clustere este dată în conformitate cu cerințele acestora. Sunt discutate întrebări și abordări privind clasificarea procesoarelor multi-core.







Domenii de aplicare a procesoarelor multi-core

Există mai multe clase de aplicații care necesită resurse computaționale semnificative și pot fi corelate cu termenul "aplicații HPC" [5].

Aplicații care procesează fișiere de date mari:

  • modelare financiară;
  • calcule științifice și tehnice;
  • care rulează aplicații pe server, care deservesc mulți utilizatori de mașini desktop sau clienți subțiri.

Aplicații care funcționează cu cantități mari de tranzacții / utilizatori:

Dacă luăm în considerare clasele de date ale aplicației în ceea ce privește posibilitățile sau organizațiile paralelizarea multithreading (Tabelul 2.1), puteți obține aplicațiile bazate pe HPC spațiale (Fig. 2.1). [6]

Sa demonstrat că procesoarele multi-core pot reduce semnificativ consumul de energie, menținând performanța. Acest lucru, la rândul său. deschid noi domenii de aplicare:

Cunoștințe, prelegere, clasificarea aplicațiilor moderne și a sistemelor multi-core


Fig. 2.1. Clasificarea aproximativă a sarcinilor de calcul de înaltă performanță

Sa demonstrat că procesoarele multi-core pot reduce semnificativ consumul de energie, menținând performanța. Acest lucru, la rândul său. deschid noi domenii de aplicare:

  • dispozitive compacte de înaltă performanță cu radiații termice scăzute;
  • servere de servere, care permit reducerea consumului de energie și a condițiilor de aer condiționat;
  • soluții pentru PC-uri mobile cu durată de viață extinsă a bateriei;
  • soluții pentru casă și birou, a căror implementare a fost fizic imposibilă anterior cu utilizarea procesoarelor din generațiile anterioare.

Tabelul 2.1. Caracteristicile aplicațiilor de diferite tipuri din punct de vedere al sistemelor paralele [6]

Furnizarea de performanță eficientă din punct de vedere energetic, a cărei bază - tranziția la computerele multi-core, va aduce beneficii pentru aproape toate platformele.

Principalele clase de procesoare multi-core (multi-core, multi-core, MIMD, SIMD, SMP, MMP)

După cum se știe, cea mai comună abordare este paralelizarea "fluxului de comandă" și / sau a "fluxului de date". Datele de paralelizare sunt utilizarea unei singure operații simultan la mai multe elemente ale matricei de date. Paralelismul sarcinilor implică împărțirea procesului de calcul în mai multe sub-sarcini independente (procese, fire), fiecare dintre ele realizându-se pe nucleul său (procesor). Sistemele multi-core (conform clasificării lui Flynn) pot fi menționate la așa-numitele sisteme ale clasei MIMD (instrucțiuni multiple - date multiple). în care mai multe sucursale de programe sunt executate simultan și independent unul de altul, dar la anumite momente în timp aceștia schimbă date







Practic transformatorul prezentat astăzi sunt MIMD -arhitekturu, dar există, de asemenea, un grup de procesoare, construit ca un sistem SIMD - așa-numitul flux sau cu unități de procesare grafică.

Printre procesoarele multi-core de până la acest punct, puteți selecta procesoare, destinate în principal pentru aplicații embedded și mobile, în care o mulțime de atenție de dezvoltatori a fost dat mijloacele și metodele de reducere a consumului de energie, procesoare de calcul sau grafice stații de lucru, în cazul în care problemele legate de energie nu sunt atât de critice, procesoare, și așa mai departe. n. mainstream broad-based - destinat utilizării în servere, stații de lucru și computere personale.

De asemenea, puteți clasifica procesoare multi-core pe baza arhitecturii sau structurii nucleului lor.

Structura nucleului este importantă din punctul de vedere al programării la nivel inferior, în proiectarea și optimizarea aplicațiilor, determină capacitățile procesorului în termeni de calcule. Cele mai multe procesoare multi-core au un nucleu RISC de bază; desigur, există un grup central de procesoare puternice cu nuclee CISC și există, de asemenea, nuclee MISC.

Se poate face și o clasificare pentru consumul de energie. Dezvoltatorii de procesoare multi-core, de regulă, în plus față de problemele de creștere a productivității și eficienței procesorului sunt provocarea de a reduce puterea disipată la încărcarea procesorului scăzut, sau în timpul nefuncționare sale sau de așteptare pentru rezultatele calculelor din nucleele CPU. Această clasificare este convenabil pentru clase separate doar la nivelul absolut al consumului de energie și clase de metode de gestionare a energiei.

De asemenea, este necesar să se asigure accesul la memoria partajată și comunicarea eficientă între nuclee.

Prezența memoriei interne și a organizării acesteia afectează paradigma programării, frecvența apelurilor către memoria externă și, de asemenea, determină modalități de sincronizare a programelor și datelor.

Una dintre problemele cu care se confruntă dezvoltatorii de aplicații pentru procesoarele multi-core este distribuirea sau transferul de date între nuclee. Mediul de transmisie a datelor trebuie să aibă o lățime de bandă largă, durate scurte de conectare și difuzare de date. Lățimea de bandă a mediului de transmisie, topologia sa va afecta performanța procesorului pe aplicațiile cu mai multe filete, va determina cheltuielile generale ale procesorului, întârzierea distribuției datelor.

Interfețele externe determină interacțiunea procesorului cu memoria, dispozitivele externe și posibilitatea creșterii numărului de procesoare.

Când se analizează procesoare multi-core, clasificarea Flynn este cea mai mare parte utilizată. acceptată pentru sisteme paralele, cu singura diferență că nodurile sau mașinile sunt miezuri computaționale care sunt situate pe același cip sau într-un singur corp.

De asemenea, trebuie menționat procesoare multi-core - în acest caz se presupune că nucleele sunt performante de înaltă performanță și există relativ puține dintre acestea; și procesoare multi-core - pe cip există un număr mare (de la câteva zeci la câteva sute) de nuclee de calcul, având o structură mai simplă, unită de o anumită infrastructură de rețea.

Rezultatele rezumate

Puteți selecta aproximativ cinci tipuri de aplicații, în funcție de cerințele acestora pentru sistemul de calcul: procesarea unor cantități mari de date; computere de înaltă performanță, inclusiv în timp real; servere de aplicații; servicii web; sarcini de calcul.

Unul dintre avantajele evidente la trecerea la procesoare multi-core este o reducere a consumului de energie, ceea ce afectează în final costul deținerii unui sistem informatic.

Baza pentru clasificarea procesoarelor multi-core este clasificarea Flynn pentru sistemele de calcul paralel.

Întrebări de test

  1. Care sunt principalele clase de aplicații moderne?
  2. Care sunt principalele caracteristici utilizate în clasificarea procesoarelor multi-core?

exerciții

  1. Evaluați setările software-ului aplicației pe care îl utilizați cel mai des.






Trimiteți-le prietenilor: