Wat is stream -verwerking?
Stream -verwerking is een computerprogrammering en computertechniekconcept dat kan worden gebruikt om applicaties en hardwaresystemen te ontwerpen. Wanneer streamverwerking wordt gebruikt, worden gegevens georganiseerd in streams die vervolgens worden gevoerd aan knooppunten of processors die de gegevens in de stream manipuleren, waarna de gegevens langs het pad doorgaan zodat andere knooppunten ze kunnen manipuleren. Aan het einde van de stream worden de gegevens in het geheugen geplaatst of worden doorgegeven aan een eindgebruiker-toepassing voor gebruik. Een systeem of toepassing die streamverwerking gebruikt, werkt het meest effectief wanneer de streaminformatie consistent wordt gegenereerd door een of meer bronnen, waardoor het effectief is voor digitale signaalverwerking (DSP), beeldvorming en grafische afbeeldingen of netwerkverkeer met hoge bandbreedte. De meest voorkomende praktische toepassing van streamverwerking is bij de productie van computer grafische kaarten, waarin stream -processors zijn ingebouwd in de grafische hardware om meerdere bewerkingen uit te voeren op inkomende grafische gegevens zoals VertexArrays.
De basis voor streamverwerking draait om het concept van gegevens als stream. In plaats van informatie uit verschillende bronnen te trekken of berichten van een interruptmechanisme te onderscheppen, wordt een gegevensstroom gevormd wanneer informatie wordt verzameld door een proces in een enkele regel genaamd een stream. De gegevenselementen kunnen variëren, maar de stroom bestaat in het algemeen uit blokken van dezelfde soorten elementen die opeenvolgend kunnen worden verwerkt.
De processors of knooppunten die worden gebruikt in streamverwerking accepteren een stream en voeren een bepaalde bewerking uit op de gegevens, waarna de gegevens kunnen worden doorgegeven aan een ander knooppunt voor meer verwerking. Voor maximale efficiëntie zijn de knooppunten bedoeld als kleine functies die rechtstreeks op de Central Processing Unit (CPU) worden geladen en uitgevoerd, met behulp van registers en directe geheugentoegang (DMA) voor snelheid. Als de informatie in de stream alleen kan staan en niet afhankelijk is vanHet resultaat van de bewerkingen van een enkel knooppunt, waarna meerdere bewerkingen tegelijkertijd op de stream kunnen worden uitgevoerd, terwijl de programmacompiler ook hints biedt die zeer effectieve optimalisaties mogelijk maken.
Stream -verwerking is in het algemeen een goede oplossing voor situaties waarin gegevens consequent worden gegenereerd en in de stream worden geduwd door een toepassing of apparaat, zoals een camera, externe sensor of netwerkverbinding. Veel grafische kaarten gebruiken stream -processors om snel van gegevens die via een grafische pijplijn binnenkomen om te zetten in een weergegeven, gerastreerd beeld. Bepaalde grafische kaarten hebben meerdere processors of knooppunten ingebouwd in de hardware van de kaart, dus streamverwerking kan snel en soms tegelijkertijd optreden, zoals vaak wenselijk is wanneer shaders worden gebruikt voor driedimensionale (3D) graphics.