Procesarea fluxului

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Procesarea fluxului este o paradigmă de programare paralelă de tip SIMD care permite unor aplicații să exploateze pur și simplu o formă limitată de procesare paralelă. Aplicațiile folosesc unități funcționale precum FPU sau GPU fără a fi nevoie să vă faceți griji cu privire la gestionarea sincronizării sau comunicării între unitățile funcționale, scutind programatorul de una dintre principalele probleme ale programării paralele.

Paradigma de procesare a fluxurilor simplifică dezvoltarea hardware și software prin limitarea operațiunilor care pot fi efectuate. Această paradigmă presupune că datele care urmează să fie procesate sunt organizate în grupuri ( fluxuri ) și că acestea pot fi procesate prin aplicarea unei serii de operații. Configurările în care o serie de operații trebuie aplicate tuturor datelor sunt comune. Operațiunile sunt deseori procesate prin utilizarea structurilor de conducte pentru a reduce timpii de procesare și adesea sunt utilizate cache - urile pe cip pentru a reduce accesul la memoria principală. Deoarece aceste structuri efectuează adesea o serie de operații cunoscute a priori pe seturi mari de date, conductele și cache-urile pe cip pot fi configurate pentru a reduce / elimina latențele și blocurile care apar în mod normal în microprocesoare. Acest lucru permite crearea de unități cu performanțe ridicate, dar cu cache-uri de dimensiuni modeste, prin atribuirea majorității tranzistoarelor unităților de procesare, ceea ce nu este posibil în procesatoarele tradiționale care, trebuind să proceseze programe structurate într-un mod arbitrar, necesită cache-uri și structuri mari. complex pentru a urmări fluxul programului care rulează.

În anii 1980 , procesarea fluxului a fost studiată pe larg în timpul dezvoltării programării fluxului de date . Un exemplu al acestor studii îl reprezintă fluxurile și iterația într-un singur limbaj de atribuire (SISAL).

Aplicații

Paradigma de procesare a fluxului începe de la presupunerea de a avea o cantitate mare de date pentru a fi procesate cu operațiuni regulate și, prin urmare, este bine adaptată aplicațiilor care sunt în mod normal efectuate de GPU-uri sau DSP-uri . Aplicații mai generice sau aplicații care accesează datele într-un mod dezorganizat (cum ar fi bazele de date) nu s-ar încadra în această paradigmă de programare. În esență, flexibilitatea de procesare este sacrificată pentru viteza de procesare.

Procesarea fluxului arată cea mai bună performanță cu aplicațiile care prezintă următoarele caracteristici:

  • cerere de calcul mare : operațiile aritmetice / logice trebuie să aibă prioritate față de operațiile I / O de memorie;
  • paralelismul datelor : datele trebuie să poată fi procesate în paralel fără a avea probleme de sincronizare sau dependență de date;
  • localizarea datelor : acesta este un anumit tip de localizare a datelor, obișnuit în procesarea semnalului și în gestionarea fișierelor multimedia. Această locație necesită citirea datelor o dată sau de două ori în timpul procesării, datele intermediare depind direct de procesare și, prin urmare, sunt gestionate și obținute direct din fluxul de procesare.
Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT