Paralel Hesaplama Nedir?

Paralel hesaplama, bir bilgisayar aynı anda birden fazla görevi gerçekleştirdiğinde gerçekleşir. Bu teknik, bilgisayarların aynı anda tek bir şey yapmaktan daha hızlı çalışmasına izin verebilir, tıpkı iki eli serbest olan bir kişinin, bir eli serbest olan bir kişiden daha fazlasını taşıyabileceği gibi. Geleneksel olarak, bilgisayar programları zorunlu olarak paralel hesaplamaya izin vermeyecek şekilde tasarlanmıştır, bunun yerine her seferinde bir adım yapılmalıdır. Bir programın bu şekilde hesaplanması için, bireysel olarak gerçekleştirilebilecek daha küçük görevlere bölünebilecek şekilde tasarlanması gerekir. Paralel hesaplamanın ortalama bir kişiyle ne kadar ilgili olduğuna örnek olarak, birçok kişisel bilgisayarda, tek bir işlemci bilgisayarında olduğu gibi birbiri ardına yapılan bir iş yerine, aynı anda birden fazla işi işlemelerine olanak veren çoklu işlem çekirdeklerine sahiptir.

Ayrı olarak gerçekleştirilmek üzere ayrı görevlere bölünebilecek bir bilgisayar programı yazmak, doğrusal yürütme kullanarak bir seferde bir tane yazmaktan daha zordur. Ardışık olarak yürütülecek bilgisayar programlarında, ilk görev genellikle dizideki ikinci göreve entegre olan bilgileri belirler. İlk görevin yerine getirilmesinden kaynaklanan ilk bilgi bitmediğinde, ikinci görevin yerine getirilmesi anlamsız olabilir. Bir programı yazarken farklı parçalara ayrılabiliyorsa, programın farklı kısımlarının zamanlamaları, ihtiyaç duyduklarında ihtiyaç duydukları bilgiye sahip olurlar ve eski bilgilere dayanarak karar vermemek eşsiz bir zorluk olabilir. Bu endişe genellikle paralel hesaplama programlarının karşılaştığı en yaygın bilgisayar hataları ile ilgilidir.

Paralel hesaplamanın temel avantajı, programların daha hızlı çalışabilmesidir. Paralel hesaplama kullanarak bir program yürüten bilgisayar donanımı, birden fazla merkezi işlem birimi (CPU) gibi bir mimariye sahipse, paralel hesaplama etkin bir teknik olabilir. Bir benzetme olarak, eğer bir adam bir kerede bir kutu taşıyabilirse ve bir CPU bir adam ise, sıralı olarak çalışan bir program bir seferde sadece bir kutu taşıyabilir. Paralel yürütülürken, aynı program iki ayrı göreve ayrılabilir ve bundan yararlanmak için iki CPU varsa, her iki kutuyu aynı anda taşıyın. Bunu yaparak adam her iki kutuyu da taşır ve görevini daha hızlı tamamlar.