PARALEL MATRİS ÇARPMA ALGORTİMASININ ÇOK ÇEKİRDEKLİ BİLGİSAYAR ÜZERİNDE JAVA İŞ PARÇAÇIKLARI İLE BAŞARIM ANALİZİ

Çok çekirdek işlemci teknolojisinin gelişmesiyle birlikte paralel çalışan iş parçacıklarını kullanarak sıralı algoritmaların hızını artırmak oldukça pratik hale gelmiştir. İş parçacıklarının yönetilmesi için yerleşik kütüphanelere sahip olan Java dili paralel uygulamaların geliştirilmesi için uygun ortam sağlar. Sunulan çalışmada, matrissel işlemlerle ilgili birçok uygulamada temel oluşturan matris çarpma algoritmasının paralel gerçeklenmesi ile çok çekirdekli bilgisayar üzerinde elde edilen başarım incelenmiştir. Altı çekirdekli işlemciye sahip bilgisayar kullanılan deneylerde, iş parçacıklarının yönetimi için uygulamada yaygın olarak başvurulan statik ve dinamik yük dengeleme yaklaşımlarının işlem gücünün kullanımı açısından etkisi yapılan ölçümlerle gösterilmiştir. Deneyler paralel iş parçacığı adedi ve çarpılacak matris boyutuna göre gerçekleştirilmiştir. Yapılan ölçümlerde matris boyutu arttıkça paralel algoritmanın sıralı algoritmaya göre önemli seviyede hızlandırma ve paralel verimlilik sağlandığı grafiksel sonuçlar ile karşılaştırmalı olarak gösterilmiştir.

PERFORMANCE ANALYSIS OF PARALLEL MATRIX MULTIPLICATION ON A MULTI-CORE COMPUTER USING JAVA THREADS

With the developing multi-core technology, it becomes quite practical to speed up sequential algorithms via parallel running threads. Java language which has built in libraries for the management of threads provides a good environment for developing parallel applications. In the presented study, performance of the parallel implementation of matrix multiplication algorithm that provides a basis for most of the matrix operations is investigated on a multi-core computer. In the experiments where six-core processor computer used, the impact of static and dynamic load management approaches which are common in practice for managing threads on effect of use of computational power are shown. Experiments are realized according to the number of threads and the matrix size to be multiplied. Through the experiments, it has been shown by graphical results that parallel algorithm bring significant speed up and parallel efficiency by comparing it to sequential equivalent.