MALTEPE ÜNİVERSİTESİ Paralel Hesaplama MATLAB ve Paralel Hesaplama Sunanlar; Mehmet Ayhan TAÇYILDIZ Yasin YENER
MATLAB Tarihçe MATLAB 1970 yılında Cleve Moler tarafından sayısal hesaplamalar için geliştirilmiştir. MATLAB sayısal hesaplama, görselleştirme ve programlama için bir üst düzey dil ve etkileşimli ortamdır. MATLAB kullanarak , verileri analiz edebilir , algoritmalar geliştirebilir , model ve uygulamalar oluşturabiliriz.
Paralel Hesaplama Tarihçesi ? Paralellik ile ilgili ilk fikirler, ilk olarak 1958’de IBM araştırmalarında nümerik hesaplamaların yapılabileceği fikrini ortaya atan John Cocke ve Daniel Slotnick ile ortaya çıkmıştır. 1960’a gelindiğinde Novosibirsk Matematik Enstütüsünden E. V. Yevreinov’un birbirine bağlantılı şekilde programlanabilen paralel mimarileri tasarlamasıyla paralel kavramı yeni bir boyut kazandı. 1964’de ise Daniel Slotnick Lawrence Livermore National Laboratuarlarında kullanılmak üzere büyük-paralel makineleri geliştirdi. Ve bu süreç günümüze kadar sürmekte.
Kısaca MATLAB MATLAB programını çalıştırdığımızda command Window, Current directory , Workspace ve Command History varsayılan olarak karşımıza çıkar.
Kısaca MATLAB Doğrudan Command Window kullanılarak veya Edit komutuyla yeni bir kod editörü açılarak program yazılabilir. Command window penceresinde >> şeklinde görünen satır komut satırını gösterir. Örnek olarak şekil-2 de olduğu gibi, Command Window ekranına 4*3/2 yazarak bunun sonucunu ekranda görebiliriz.
MATLAB Örneği
MATLAB toolbox Matlab Paralel Toolbox’ u kullanabilmek için komut satırına >>pmode start local 2 yazarak toolbox üzerinde 2 adet iş bölümü açmış oluruz. Bu alanda maksimum 4 adet iş bölümü açabailiriz.
MATLAB MATLAB ile paralel işlemler Görev paralel Veri paralel olarak 2 ye ayrılır
MATLAB
MATLAB ve Paralel Hesaplama MATLAB ‘ta bulunan Paralel hesaplama aracı ile çok çekirdekli işlemciler , Grafik İşleme Ünitesi ve Bilgisayar kümeleri kullanılarak yoğun seviyeli veri yapılarının çözümlenmesini sağlar. Ayrıca MATLAB Distributed Computing Server çalıştırılarak network ortamında birden fazla bilgisayar kullanılarak paralel hesaplama yöntemi ile büyük veri yığınlarının hesaplaması yapılabilir.
Paralel Hesaplama Paralel hesaplamada bir problem birden çok parçaya ayrılır ,bu parçalar eşit zaman aralıklarına bölünür ve her bir iş bölümü farklı CPU larda eş zamanlı olarak işleme alınarak hesaplama yapılır.
Paralel Hesaplama Paralel hesaplama kullanarak Hesaplamalarımızı hızlı bir şekilde yapabilir Tek CPU yerine birden çok CPU kullanarak sıcaklık düzeyinin korunmasına yardımcı olabiliriz. Bellek kullanımını en uygun şekilde gerçekleştirerek bilgisayardaki yavaşlamaları azaltabiliriz
Seri Hesaplama Örneği clear all k=12; tic; z=1; for i = 1:k z=z*i; end fprintf('Sonuc:%8.2f\n',z); fprintf('Elapsed Time:%8.2f\n',toc);
Parallel Toolbox Örneği clear all k=12; tic; fprintf('Lab No:%8.2f\n',labindex); fprintf('Lab Say:%8.2f\n',numlabs); is=k/numlabs; bas=labindex*is-is+1; bit=labindex*is; z=1; parfor i = bas:bit z=z*i; end fprintf('Sonuc:%8.2f\n',z); fprintf('Elapsed Time:%8.2f\n',toc);
Parallel Toolbox Örneği 15
Parallel Toolbox Örneği Faktoriyel Hesabı yapan örnek kodda Lab 1 1*2*3 = 6 Lab 2 4*5*6 =120 Lab 3 7*8*9 = 504 Lab 4 10*11*12= 1320 Şeklinde paralel hesaplama yaparak yukarıdaki sonuçlarını bulmuşlardır. 16
Parallel Toolbox Örneği clear all k=12; tic; fprintf('Lab No:%8.2f\n',labindex); fprintf('Lab Say:%8.2f\n',numlabs); is=k/numlabs; bas=labindex*is-is+1; bit=labindex*is; z=1; parfor i = bas:bit z=z*i; end fprintf('Sonuc:%8.2f\n',z); fprintf('Elapsed Time:%8.2f\n',toc); 17
Komut satırında paralel hesaplama Örneği clear all k=12; matlabpool ('open',4); tic; z=1; parfor i = 1:k z=z*i; end fprintf('Sonuc:%8.2f\n',z); fprintf('Elapsed Time:%8.2f\n',toc); matlabpool close;
Seri Programlama Yapılacak olan işlemin tek bir bilgisayarda ve tek işlemci üzerinede çalıştırılmasına seri programlama denir. Burada aynı anda tek bir işlem yapılabilmektedir. Bir işlem bitmeden diğer bir işlem çalıştırılamaz.
Paralel Progralama Paralel programlama bir problemi çözmek için birden fazla bilgisayar kaynaklarının aynı anda kullanılmasıdır. Bir işlem çoklu işlemci kullanrak çalıştırılır yada çoklu çekirdek teknolojilerine sahip işlemci üzerinde gerçekleştirilir.
Paralel Progralama Bir işlem çoklu işlemci kullanrak çalıştırılır yada çoklu çekirdek teknolojilerine sahip işlemci üzerinde gerçekleştirilir.
Paralel Progralama Her parça farklı bir işlemci üzerinde aynı anda çalıştırılır. Paralel programlamanın çalışma mantığı gösterilmiştir.
Paralel hesaplama Paralel hesaplamayla bir problemin; 1)Birden çok parçaya ayrılması sağlanır. 2)Bu parçalar eşit zaman aralıklarına bölünür. 3)Her bir iş bölümü farklı CPU’larda aynı zamanda eş zamanlı olarak işleme alınır, hesaplama yapılır.
Paralel hesaplama Bir problemin eş parçalara ayrılarak eş zamanlı olarak farklı CPU’larda çalıştırılması
Paralel hesaplama’nın Avantajları Paralel hesaplamanın en önemli avantajlarından bir tanesi problemin çözüm zamanını azaltarak daha hızlı bir şekilde ulaşılmasını sağlmaktır.
Paralel hesaplama’nın avantajları Problemin bir parça olarak değil parçalar halinde ve her bir parçanın belirli zaman aralıklarına bölünmüş olması sayesinde daha kolay ve hızlı çözüm elde edilmesi sağlanır.
Paralel hesaplama’nın dezavantajları Paralel hesaplamada parçalara ayrılan her problemin ayrı bilgisayarlarda veya İşlemcilerde çalıştırıldığı için bu parçalar herhangi birinde oluşabilecek bir çözümsüzlük veya hata olması durumunda diğer parçalar tamamen çözülse bile problemin genel olarak başarıya ulaşmasına engel olabilmektedir
Paralel hesaplama’nın dezavantajları Ayrıca bu parçaların her birine zaman sınırlaması konulduğu için her bir görev kendine verilen süre zarfı içerisinde çözülmüş olmalıdır ve çözülecek veya çözülmüş parçalar birbirleriyle etkileşimde olmalı ve sürekli olarak iletişimlerini korumalıdır.
Sunanlar; Mehmet Ayhan TAÇYILDIZ Yasin YENER Bizi dinlediğiniz için teşekkür ederiz… Sunanlar; Mehmet Ayhan TAÇYILDIZ Yasin YENER