Journals / Muş Alparslan Üniversitesi Fen Bilimleri Dergisi / 2018 / Cilt: 6 - Sayı: 2

Acceleration of High Dimensional Matrix Multiplication Processes With Cache Usage Optimization and Parallel Programming Techniques

Yoğun İşlem Yüküne Sahip Matris Çarpımı Hesaplama Sürelerinin Önbellek Kullanım Optimizasyonu ve Paralel Programlama Teknikleri Kullanılarak İyileştirilmesi

Pages
545–551
DOI
—

Abstract

Optimization of cache on the matrix operations according to calculation times, which are commonly used in many field such as image processing, robotics, econometrics, civil engineering and quantum physics were investigated. The calculation performance is made 14 times faster than using the different algorithms instead of the known matrix multiplication, by using the temporal and spatial locality principles in the study. Effect of the cache which is very important for computer performance, has been tried to detect. Processing times have significantly shortened thanks to cache utilization optimization methods, also it has been aimed that extending the lifetime of the system by preventing use the cache and other processing units more. After cache optimization, it has been aimed to shorten the computation times of intensive matrix operations using parallel programming techniques. Thus, both the cache was used more efficiently and the most effective computations were tried to be performed using the appropriate data parallelism. Thanks to parallel programming techniques applied with 5 computers after cache optimization, the calculation process is made 59 times faster than the commonly used technique. Speedup values are calculated according to the different number of computers in the calculations made by parallel programming. In addition to computer-based fast computation methods for matrix operations, also we have focused on algorithms that have a negative effect on computation.

Özet

Başta görüntü işleme/iyileştirme ve robotik olmak üzere, ekonometri, inşaat mühendisliği, kuantum fiziği gibi birçok alanda hesaplama işlemlerinde yaygın olarak kullanılan matris işlemleri üzerine cache bellek kullanım optimizasyonu yapılarak hesaplama sürelerinin değişimi incelenmiştir. Çalışmada, bilinen matris çarpma işlemi yerine kullanılan farklı algoritmalarla zamanda ve mekanda yerellik prensiplerinden yararlanılarak hesaplama performansı 14 kat daha hızlı hale getirilmiştir. Bilgisayar performansında çok önemli yeri olan ön belleğin etkisinin önemi saptanmaya çalışılmıştır. Ön bellek kullanım optimizasyon yöntemleri ile önemli ölçüde işlem süreleri kısaltılmış ayrıca ön bellek ve diğer işlem birimlerinin daha fazla kullanılmasının önüne geçilerek sistemin ömrünün uzatılması hedeflenmiştir. Cache optimizasyonunun ardından paralel programlama teknikleri kullanılarak yoğun matris işlemlerinin hesaplama sürelerinin kısaltılması amaçlanmıştır. Böylece hem ön bellek daha etkin kullanıldı hem de uygun veri paralelliği kullanılarak mümkün olabilecek en verimli hesaplama işlemlerinin gerçekleştirilmesi sağlanmaya çalışıldı. Cache optimizasyonu ardından yapılan 5 bilgisayarlı paralel programlama tekniği sayesinde hesaplama işlemi genel olarak kullanılan tekniğe göre yaklaşık 59 kat daha hızlı hale getirildi. Paralel programlama ile yapılan hesaplama işlemlerinde farklı sayıda bilgisayarlara göre Speedup değerleri hesaplandı. Ayrıca matris işlemleri için bilgisayarla yapılan hızlı hesaplama yöntemlerinin yanında hesaplama işlemlerine negatif etki gösteren algoritmalar üzerinde de durulmuştur.

Keywords: Matris çarpımı, MPI, Optimizasyon, Önbellek optimizasyonu, Paralel programlama