Akış İşleme Nedir?

Akış işleme, uygulamaları ve donanım sistemlerini tasarlamak için kullanılabilecek bir bilgisayar programlama ve bilgisayar mühendisliği konseptidir. Akış işleme kullanıldığında, veriler daha sonra akıştaki verileri işleyen düğümlere veya işlemcilere beslenen akışlar halinde düzenlenir, ardından veriler yol boyunca devam eder, böylece diğer düğümler bunları yönetebilir. Akışın sonunda, veriler belleğe yerleştirilir veya kullanım için bir son kullanıcı uygulamasına geçirilir. Akış işlemeyi kullanan bir sistem veya uygulama, akış bilgileri tutarlı bir şekilde bir veya daha fazla kaynak tarafından oluşturulduğunda en etkili şekilde çalışır; dijital sinyal işleme (DSP), görüntüleme ve grafikler veya yüksek bant genişlikli ağ trafiği için etkilidir. Akış işlemenin en yaygın pratik uygulaması, vertex dizileri gibi gelen grafik verilerinde birden fazla işlemi gerçekleştirmek için akış işlemcilerin grafik donanımına yerleştirildiği bilgisayar grafik kartlarının üretilmesidir.

Akış işleme için temel, bir akış olarak veri kavramı etrafında döner. Farklı kaynaklardan bilgi çekmek veya bir kesme mekanizmasından gelen mesajları yakalamak yerine, bilgi bir işlem tarafından bir akış olarak adlandırılan tek bir satıra harmanlandığında bir veri akışı oluşturulur. Veri elemanları değişebilir, ancak akış genellikle sırayla işlenebilen aynı tipte elemanların bloklarından oluşur.

Akış işleminde kullanılan işlemciler veya düğümler bir akışı kabul eder ve veriler üzerinde belirli bir işlem gerçekleştirir, ardından veriler daha fazla işlem için başka bir düğüme geçirilebilir. Maksimum verimlilik için, düğümlerin, hızlar için kayıtlar ve doğrudan bellek erişimi (DMA) kullanılarak doğrudan merkezi işlem ünitesine (CPU) yüklenen ve yürütülen küçük işlevler olması amaçlanmıştır. Akış içindeki bilgiler tek başına durabiliyorsa ve tek bir düğümün işlemlerinin sonucuna bağlı değilse, aynı zamanda birden fazla işlem akışta aynı anda gerçekleştirilebilir, ayrıca program derleyicisine çok etkili optimizasyonlara izin verebilecek ipuçları sağlar.

Akış işleme genel olarak, verilerin kamera, harici sensör veya ağ bağlantısı gibi bir uygulama veya cihaz tarafından sürekli olarak üretildiği ve akışa gönderildiği durumlar için iyi bir çözümdür. Çoğu grafik kartı, bir grafik boru hattından gelen verileri hızlı bir şekilde render edilmiş, rasterleştirilmiş bir görüntüye dönüştürmek için akış işlemcilerini kullanır. Bazı grafik kartlarında, kart donanımına yerleştirilmiş birden fazla işlemci veya düğüm bulunur; bu nedenle, gölgelendiriciler üç boyutlu (3B) grafikler için kullanıldığında sıklıkla istendiği gibi akış işleme hızlı ve bazen aynı anda gerçekleşebilir.