Mehmet Akif Akkus

Bir Bilgisayar Mühendisinin Günlüğü

Wednesday, Feb 08th

Last update:01:05:22 PM GMT

Headlines:
RSS
You are here: Programlama Processes and Threads (Grid Computing Simulation)

Processes and Threads (Grid Computing Simulation)

e-Posta Yazdır PDF
gridScheme

Bilgisayarımızda çalışan her bir program görev(process) dediğimiz birimlerden oluşur. Çalışan her bir görevin de ana bellek (RAM) üzerinde kendi çalışma alanları bulunmaktadır.

Thread dediğimiz iş parçacıkları ise görevler içerisinde ortak bellek alanlarını kullanan ve koşut (parallel) olarak çalışan parçacıklardır. Örneğin bir kelime işlemci programı düşündüğümüzde; klavye aracılığı ile yeni yazılar eklerken, diğer bir yandan ekranın bu yazıları göstermesi, diğer yandan da belirli aralıklarla yazıların güvenlik amaçlı diske yazılması bu iş parçacıkları sayesinde olmakta.

Grid Computing (Dağıtık İşlem) dediğimiz kavram ise, tek bir bilgisayar için sonlanması zaman alıcı işlemlerin, ağa bağlı bilgisayarlar üzerinde parçalara ayrılarak koşut bir şekilde çalışmasını, böylece kısa sürede sonlanmasını amaçlamaktadır. Bu bahsetitiğimiz bilgisayarlar dünyanın farklı coğrafyalarında bulunabilirler. Yönetici bir bilgisayar  iş parçacıklarını istemci bilgisaylara gönderir ve sonuçlarını beklemeye koyulur. Böylece büyük programlar koşut şekilde yürütülmüş olur. Hatta kişisel bilgisayarlar dahi gönüllülük esasıyla bu şekilde işletim sisteminin boşta olduğu zamanlarda dağıtık işlem istemci bilgisayarı olarak kullanılabilir.

Sonraki sayfalarda ise BİL 342 ders kapsamıda yaptığım projeden bahsedeceğim.

Projeyi Hacettepe Uni bİlgisayar bolümü web sayfasından indirebilirsiniz. Yazınının devamını okumadan önce projeyi indirip bir göz atmanızı tavsiye ederim.

Projede amaç :Unix de posix thread ile multi-thread ve multi-process kavramlarına aşina olmak ve bunlarla pratik yapmaktır. Burada ağ üzerinde görev paylaşımı kendi bilgisayarımız üzerinde yapacağımız bir thread, process gerçekleştirimi ile olacaktır.

Matrisler üzerinde yapacağımız toplama işlemini her bir istemci bilgisayara bir toplama işlemi atayarak daha kısa bir sürede bitirilmesini sağlayacağız. örneğin, MR = M1 + M2 + M3 + M4 + M5 + M6  şeklindeki toplama işlemi normalde 5 adımda bitecekken üç faklı bilgisayara bu işlemleri koşut olarak dağıtsak 3 adımda bitmesini sağlayabiliriz. Bı işlemin çok büyük boyutlu örneğin 500x500 ve çok fazla sayıda örneğin 10.000 düşündüğümüzde dağıtık işlemin değeri çok daha rahat anlaşılacaktır.

Aşağıdaki gerçekleştirim resmi projeye aittir.

workFlowGridComputing

 

 

 

Yorum ekle


Güvenlik kodu
Yenile