Significado | Concepto | Definición:

El procesamiento de flujo es un concepto de programación e ingeniería informática que se puede utilizar para diseñar aplicaciones y sistemas de hardware. Cuando se utiliza el procesamiento de flujo, los datos se organizan en flujos que luego se envían a los nodos o procesadores que manipulan los datos en el flujo, después de lo cual los datos continúan a lo largo de la ruta para que otros nodos puedan manipularlos. Al final de la transmisión, los datos se colocan en la memoria o se pasan a una aplicación de usuario final para su uso. Un sistema o aplicación que utiliza procesamiento de flujo funciona de manera más efectiva cuando la información del flujo se genera de manera consistente por una o más fuentes, lo que lo hace efectivo para procesamiento de señales digitales (DSP), imágenes y gráficos, o gran ancho de banda.tráfico de red. La aplicación práctica más extendida del procesamiento de flujo es la producción de tarjetas gráficas de computadora , en las que los procesadores de flujo están integrados en el hardware gráfico para ayudar a realizar múltiples operaciones en los datos gráficos entrantes, como las matrices de vértices.

Una CPU de doble núcleo montada en una placa base.

La base del procesamiento de flujos gira en torno al concepto de datos como flujo. En lugar de extraer información de fuentes dispares o interceptar mensajes de un mecanismo de interrupción, se forma un flujo de datos cuando la información es recopilada por algún proceso en una sola línea llamada flujo. Los elementos de datos pueden variar, pero el flujo generalmente consta de bloques de los mismos tipos de elementos que pueden procesarse secuencialmente.

Los procesadores o nodos utilizados en el procesamiento de flujos aceptan un flujo y realizan una operación determinada en los datos, después de lo cual los datos se pueden pasar a otro nodo para su procesamiento posterior. Para una máxima eficiencia, los nodos están pensados ??para ser pequeñas funciones que se cargan y ejecutan directamente en la unidad central de procesamiento ( CPU ), utilizando registros y acceso directo a memoria (DMA) para mayor velocidad. Si la información dentro de la secuencia puede ser independiente y no depende del resultado de las operaciones de un solo nodo, entonces se pueden realizar múltiples operaciones en la secuencia simultáneamente, mientras que también proporciona al compilador del programa sugerencias que pueden permitir optimizaciones muy efectivas.

El procesamiento de transmisiones generalmente es una buena solución para situaciones en las que una aplicación o un dispositivo, como una cámara, un sensor externo o una conexión de red, generan y envían constantemente datos a la transmisión. Muchas tarjetas gráficas utilizan procesadores de flujo para convertir rápidamente los datos que ingresan a través de una canalización de gráficos en una imagen renderizada y rasterizada. Algunas tarjetas gráficas tienen varios procesadores o nodos integrados en el hardware de la tarjeta, por lo que el procesamiento de la transmisión puede ocurrir rápidamente y, a veces, simultáneamente, como suele ser deseable cuando se utilizan sombreadores para gráficos tridimensionales (3D).