Stream processing: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
B3t (discussione | contributi) FIX vari |
|||
(3 versioni intermedie di 3 utenti non mostrate) | |||
Riga 1:
{{S|
Lo '''stream processing''' è un paradigma di [[programmazione parallela]] di tipo [[Single instruction multiple data|SIMD]] che permette ad alcune applicazioni di sfruttare semplicemente una forma limitata di elaborazione parallela. Le applicazioni utilizzano delle unità funzionali come [[Unità di calcolo in virgola mobile|FPU]] o [[Graphics Processing Unit|GPU]] senza doversi preoccupare di gestirne la sincronizzazione o la comunicazione tra le unità funzionali, sgravando il programmatore da uno dei principali problemi della programmazione parallela.
Riga 9:
Il paradigma del stream processing parte dal presupposto di avere un'elevata mole di dati da elaborare con operazioni regolari e quindi ben si adatta alle applicazioni che normalmente vengono svolte dalle [[Graphics Processing Unit|GPU]] o dai [[DSP]]. Applicazioni più generiche o che accedono in modo disorganizzato ai dati (come per esempio i database) mal si adatterebbero a questo paradigma di programmazione. In sostanza viene sacrificata la flessibilità di elaborazione per la velocità dell'elaborazione.
Lo stream processing mostra le migliori prestazioni con applicazioni che mostrano
*'''elevata richiesta computazionale''': le operazioni aritmetico/logiche devono essere preponderanti rispetto alle operazioni di I/O dalla memoria;
*'''parallelismo dei dati''': i dati devono poter essere elaborati in parallelo senza aver problemi di sincronizzazione o di dipendenza tra i dati;
Riga 17:
[[Categoria:Architettura dei calcolatori]]
|