Che cosa è Stream Processing?

Elaborazione Stream è un concetto programmazione e ingegneria informatica che può essere utilizzato per progettare applicazioni e sistemi hardware. Quando si utilizza l'elaborazione flusso, i dati sono organizzati in corsi d'acqua che vengono poi alimentati a nodi o processori che manipolano i dati nel flusso, dopo di che i dati continuano lungo il percorso in modo che altri nodi li possono manipolare. Alla fine del flusso, i dati vengono inseriti nella memoria o passati a un'applicazione utente finale per uso. Un sistema o applicazione che utilizza l'elaborazione flusso è più efficace quando l'informazione corrente viene generata costantemente da una o più fonti, che lo rende efficace per l'elaborazione digitale del segnale (DSP), l'imaging e la grafica, o ad alta larghezza di banda del traffico di rete. La più diffusa applicazione pratica di stream processing è nella produzione di schede grafiche per computer, in cui stream processor sono incorporate in hardware grafico per aiutare eseguire più operazioni su dati grafici in arrivo, come gli array di vertice.

La base per l'elaborazione flusso ruota intorno al concetto di dati come un flusso. Invece di disegnare informazioni provenienti da fonti disparate o intercettare i messaggi di un meccanismo di interruzione, un flusso di dati si forma quando le informazioni vengono raccolte da alcuni processi in un'unica linea chiamato un ruscello. Gli elementi di dati possono variare, ma il flusso generalmente costituito da blocchi degli stessi tipi di elementi che possono essere elaborati in sequenza.

I processori o nodi utilizzati per la lavorazione flusso accettare un ruscello e di eseguire una determinata operazione sui dati, dopo di che i dati possono essere passati ad un altro nodo per ulteriori elaborazioni. Per la massima efficienza, i nodi sono destinati ad essere piccole funzioni che vengono caricati ed eseguiti direttamente sull'unità di elaborazione centrale (CPU), utilizzando registri e accesso diretto alla memoria (DMA) per la velocità. Se le informazioni all'interno del flusso può stare da solo e non fa affidamento sul risultato delle operazioni di un singolo NODOA € s, quindi più operazioni possono essere eseguite sul torrente contemporaneamente, fornendo anche il compilatore programma con suggerimenti che possono consentire per molto efficace ottimizzazioni.

Trasformazione flusso generalmente è una buona soluzione per situazioni in cui sono stati generati e costantemente spinto nel flusso da un'applicazione o un dispositivo, ad esempio una fotocamera, sensore esterno o di rete dati. Schede grafiche Molti usano stream processors per trasformare rapidamente i dati provenienti attraverso una pipeline grafica in rendering, immagine rasterizzata. Alcune schede grafiche hanno più processori o nodi incorporati nell'hardware della scheda, in modo stream processing può avvenire rapidamente e, a volte contemporaneamente, come spesso è desiderabile quando shader vengono utilizzati per tridimensionali (3D) grafica.

  • Una CPU dual core montato su una scheda madre.