Pelican Kurulumu, Kullanımı ve Örnek Uygulama Projesi Paralel Hesaplama Dersi



Yüklə 50.87 Kb.
tarix27.06.2017
ölçüsü50.87 Kb.

20

14








Pelican_Kurulumu, Kullanımı ve Örnek Uygulama Projesi
Paralel Hesaplama Dersi

PELİCAN KURULUMU_KULLANIMI VE ÖRNEK UYGULAMA

Bu rapor linux tabanlı olan PelicanHPC İşletim sisteminin kurulumunu, kullanımı ve üzerinde çalışan örnek uygulamayı göstermektedir. PelicanHPC uygulaması ağ üzerinde çalıştırılmış olup rapor buna gore düzenlenmiştir.

HAZIRLAYAN:

Hasan Metin KILIÇÇEKER Öğ.Nu.:121419202 hkilicceker@gmail.com
8 Dec, 2014






İÇİNDEKİLER:

1 Proje Hedefleri………………….. ……………………………………………………………….3

2 İçerdiği Materyeller…………………………………………………………………………......3-4

3 PelicanHPC İşletim Sisteminin Yapılandırılması………………………………..…………..4

3.1 Kurulumu………..……………………………………………………………….………4-10

4. Örnek Uygulama...………………………………………………………………………………10

5. Sonuçlar……………………………………………………………………………….………… 10

6. Referanslar.………………………………………………………………………………………11



1. Projenin Hedefleri
Linux denilince akla gelenlerden bir tanesi de parallel işlemlerin yüzlerce işlemci tarafından yapıldığı süper bilgisayarların akla gelmesidir. Bu bilgisayarlar da olduğu gibi evinizdeki iki ya da daha fazla bilgisayarı da bir işi yapmak üzere çalıştırabilirsiniz. Bazen sistemimizde sağlamlık kontrolü, performans değerlendirme ve karşılaştırma gibi sebeplerden dolayı donanımsal veya yazılımsal testler yapmamız gerekebilir. Özgür yazılım dünyasında bu amaca yönelik üretilmiş birçok uygulama bulunmaktadır. Günümüzde bazı araştırmalar o kadar çok veri işlenmesini gerektirmektedir ki, bir tek bilgisayar bu yükün altından kalkamaz duruma gelir. Bu gibi durumları ortadan kaldırmak için Cluster (Bağ) sistemleri geliştirilmiştir. Bu sayede birden çok bilgisayar tek bir bilgisayarmış gibi çalışarak ağır iş yükünün altından kalkabilmektedirler. Birbirine bağlı sistemlerde düşünülmesi gereken öncelik bu sistemin yapacağı iş olacaktır. Yani salkıma (cluster) bağlı işlemciler tek bir veri kaynağından mı faydalanacaklar, ya da bir işlemcinin yaptığı iş diğer işlemcilerin işlerini etkileyecek mi? gibi sorular kurulacak sistemin donanımsal ozelliklerini belirler. Eğer yapılacak iş bilgisayarların kendi başlarına üstlerine düşen görevleri yapabilecekleri bir iş olacaksa, bu bilgisayarlar arasında yüksek hızlı veri bağlantılarına gerek duyulmaz. Ancak sisteme bağlı işlemcilerin yaptıkları işler diğerlerinin yapacakları işi etkileyecekse, işlemcilerin hızlarına uygun veri bağlantıları olmalı ki sistem veri alış verişinde yavaşlamadan çalışabilsin. Diğer bir salkım sistemi ise kullanıcılarına her zaman çalışan bir ana makine sağlamak için kurulmuştur. Başka bir salkım sistemi ise, ağ şeklinde bağlı bilgisayarlardır. (Grid Computing). Sadece kendilerine verilen görevi yerine getirmeleri ve işlerinin sonuçlarını bir ana bilgisayara göndermeleri yeterli olmaktadır. Böyle sistemler düşük ağ altyapıları ile kullanılabilir. Bu tür sistemleri kendi evinizdeki birkaç bilgisayarla, okulunuzdaki birbirine ağ kartı ile bağlı bilgisayarlarla ya da yüksek hızlı bilgisayarınızda oluşturacağınız sanal makineler ile oluşturabilirsiniz.[1] Bunlardan bir tanesi de PelicanHPC işletim sistemidir.
PelicanHPC‘nin en iyi özelliklerinden bir tanesi derlenmesi ve paralel çalışan programları çalıştırmayı desteklemesidir. PelicanHPC canlı(live) CD veya önyüklenebilir özellikte olabilir.[2] ISO uzantılı dosyayı üçüncü parti bir program üzerinden çalıştırabilir veya ISO dosyasını bir CD/DVD’ye yazarak bilgisayara kurulumu yapabiliriz.[2] Görüldüğü üzere PelicanHPC işletim sisteminin kurulumu basit düzeydedir. PelicanHPC cd ile açıldığında hangi arayüz ile çalışacağını sormaktadır. Bu sayede pelicanı istediğimiz şekilde çalıştırabiliriz. PelicanHPC bir sunucu-istemci mantığı ile dizayn edilmiştir, Göze çarpan özelliklerinden bir tanesi clientların ağdan açılarak yüklemelerinin yapılabilmesidir. Bu sayede sunucu kurulumundan sonra istemci bilgisayarlara cd’den önyükleme işlemine gerek duymaz. Bundan dolayı kurulumu ve ayarları kolaydır.

2. İçerdiği Materyallar

PelicanHPC paralel kod yazma ve test yapmak için çeşitli araçlar içerir. OpenMPI C, C ++ ve Fortran programlarını derleyebilir. Scipy ve NumPy [2] bilimsel hesaplama için Python tabanlı uygulamaları vardır. PelicanHPC ayrıca Octave içinde MPI kütüphane rutinlerine sahiptir. PelicanLinux internetten indirebileceğiniz bir çalışabilir cd olarak dağıtılmaktadır. Pencere yöneticisi olarak Fluxbox kullanılmaktadır. Sistem ise Debian'dan alınmış olup bütün salkım sistemleri aynı alt yapıyı kullanımaktadır. Yani doğru paketleri yükleyerek mevcut Linux sürümünüzü değiştirmeden salkım sistemi oluşturabilirsiniz. Pelicanlinux salkıma bağlı diğer bilgisayarları 'PXE Boot' denilen bir yöntemle açmasını sağlar, 'PXE Boot' ise genel olarak, modern ağ kartlarını bilgisayarın işletim sistemi açılmadan kendi başlarına 'dhcp'(Dinamic Host Configuration Protocol) (Otomatik İp Adresi Dağıtma İşlemi) ile ağdan ip almalarına olanak sağlayan bir protokolle donatılmışlardır. Bios(Basic İnput Output System)(Temel Giriş Çıkış Birimi) ayarlarını yaptıktan sonra bilgisayarı ağ kartı ile açmak istenirse ağ kartı kendi mac adresini kullanarak ağda yayın yapan bir 'dhcp' sunucusu bulup ondan bilgisayarın açılması icin gerekli olan çekirdek dosyalarını indirebilir. Bu sayede salkıma katılacak bilgisayarlar cd olmaksızın sadece ağ kartı üzerinden açılarak calışmaya katılabilirler.[1]



3. PelicanHPC İşletim Sisteminin Yapılandırılması
PelicanHPC işletim sistemini kurmadan once yapılması gereken işlemler vardır. Bunlardan bir tanesi pelicanı sanal bir bilgisayara mı, yoksa gerçek bir bilgisayara kurmamıza karar vermek olacaktır. Genel olarak pelican işletim sistemi bilgisayara üçüncü parti yazılımın kurulması ile sanal programın(virtual box vb.) üzerine kurulmasıdır. Diğer önemli konu ise pelican işletim sisteminde dhcp özelliği mevcut olduğundan, kurulumu yapılacak ortamdaki dhcp hizmetinin devre dışı bırakılmasıdır. Pelican işletim sistemini kurmadan once sunucu olarak yapılandırılacak bilgisayara en az iki adet ağ kartının takılı olması gerekmektedir. Bilgiyarların birbirine bağlanabilmesi için bir adet switch(anahtar) cihazı unutulmamalıdır.
3.1 Kurulumu
Pelicanlinux'ü sitesinden indirip bir cd'ye yazdıktan sonra bilgisayar açılır. Bilgisayar açılırken öncelikle sunucu bilgisayarın kurulumu, sonrasında ise istemci bilgisayarların kurulumu yapılmalıdır. PelicanHPC işletim sisteminin ekran görüntüsü resim-1 de gösterilmiştir.[2]

Resim-1 PelicanHPC işletim Sistemi Logosu


Bilgisayara pelicanHPC cd’si takılıp bilgisayar başlatılır. Bilgisayar açılırken BIOS’una girilir ve buradaki boot(açılış) menüsünden ilk açılış sırası cdrom olacak şekilde gerekli düzelteme yapılır. Yapılan işlemler kaydedilir ve bilgisayar yeniden başlatılır. Bundan sonra bilgisayar cd yardımı ile açılır. Pelicanın cd açıldıktan sonra gelen bilgi ekranı aşağıdaki resim-2’ de gösterilmiştir.


Resim-2
Start Debian Live seçilerek kurulum işlemi başlatılır. Sonraki bölümde ise Deneyimli kullanıcı ile ilgili bilgi vermektedir. Ok tuşuna basılarak devam edilir. Aşağıdaki Resim-3’deki ekran görüntüsü gelecektir.

Resim-3 Kurulum Ekranı


Özel yapılandırılmamış pelicanHPC işletim sistemi kullanmıyorsanız YES seçilerek devam edilir. Bu sayede kullanıcı yapılanıdırması ve kopyalama işlemi başlamış olur. Resim-4’de ekran görüntüsü gösterilmiştir.

Resim-4
Sonraki bilgi ekranında ise şifre değiştirme ikazı gelecektir.Aşağıdaki Resim-5’te şifre değiştirme ekranı gösterilmiştir. Bu bölümde isteğimiz şifreyi pelicanHPC işletim sistemine verebiliriz. Burada belirleyeceğimiz şifre pelican kurulumu tamamlandıktan sonra pelican işletim sistemine giriş için kullanılacaktır. Herhangi bir şifre belirtmeden ok tuşuna basıldığında ise şifre PleaseChangeMe olacak ve bu şekilde işletim sistemine giriş yapılacağı unutulmamalıdır.

Şekil-5


Şifre değiştirme işleminden sonra pelicanHPC’nin ilk ekranı karşımıza gelecektir. Aşağıdaki resimde-6’da pelicanHPC’nin ilk kullanıcı girişi ekranı gösterilmiştir.

Resim-6
Kullanıcı işletim sisteminin kurulumun devam edebilmesi için pelicanHPC’ye giriş yapması gerekmektedir. Pelican login bölümüne “user” kullanıcı adı, sonrasında ise “password” şifre bölümüne ise önceden oluşturulan şifreyi yazarak giriş işlemi gerçekleşir.

Giriş işleminin doğruluğu ekranda görülen ”user@pelican” ile anlaşılır. Giriş ekranında da belirtilen pelican_setup işlemi ile kuruluma devam edilir. Pelican_setup işlemi yapıldıktan sonra ekrana Resim-7’de belirtilen bilgi ekranı gelecektir.

Resim-7
Gelen kurulum bilgi ekranında bize hangi ağ kartına nodeların bağlanacağını sormaktadır. İlgili ağ kartı seçilerek yükleme işlemine devam edilir.

Resim-8’de gösterilen bilgi ekranı ile nodlar ile bilgi vermekte, ayrıca ağda başka dhcp sunucunun olup olmadığı sorulmaktadır. Ağda başka bir dhcp hizmet sağlayıcısı yoksa “YES” seçilerek işleme devam edilir. Ağda başka dhcp hizmet sağlayacı varsa sistemde çakışmanın olacağı bilgi ekranında belirtilmiştir.


Şekil-8
MPI çalıştırma ile ilgili bilgi ekranı Resim-9’da gösterilmiştir. “YES” seçilerek yüklemeye devam edilir.


Resim-9
Diğer nodların açılmasına dair bilgi ekranı Resim-10’da gösterilmiştir. “No” seçilerek nodların açılışının kontrolü yapılabilir.


Resim-10
Nodlardan kaçtane açıldığına ait bilgi ekranı ile yükleme işleminin tamamlandığı dair bilgi ekranı Resim-11’de gösterilmiştir.


Resim-11
Nodlar açıldıktan sonra Resim-6’de gösterilen bilgi giriş ekranı gelecektir. Nodlar “User” ve “password” bilgileri ile sisteme giriş yapar.




4. Örnek Uygulama
Birinci uygulama olarak, PelicanHPC işletim sistemi ile gelen octave uygulaması çalıştırılır. Uygulama diğer nodlardan açılarak test edilir. Bu sayede işletim sisteminin sorunsuz çalıştığının test işlemi de yapılmış olur. Nodlara ait bilgi ekranı Resim-12’de gösterilmiştir.

Resim-12

İkinci uygulama olarak, Hello World uygulamasının döngü sayısını 1000000 kez ekrana yazdırarak nodelar arasında paralel çalıştıroyor. Kod örneği Resim-13’te gösterilmiştir.


#include

#include

int main(int argc, char** argv)

{

int myrank, nprocs;



long loopSize = 1000000;

MPI_Init(&argc, &argv);

MPI_Comm_size(MPI_COMM_WORLD, &nprocs);

MPI_Comm_rank(MPI_COMM_WORLD, &myrank);


printf("Hello from processor %d of %d\n", myrank, nprocs);
int i ;

for ( i = 0; i < loopSize; i++ )

{

printf( " i = %d pId= %d \n ",i,getpid() );



}

MPI_Finalize();

return 0;

}

Resim -13




7. Sonuç
Bu proje de linux tabanlı pelicanHPC işletim sisteminin kurulması için gerekli şartları ile donanımı sunucu ve istemcilere kurulumunun nasıl yapıldığını gördük. Nodların kurulum işleminden sonra sunucu bilgisayarla iletişime geçerek sistemin çalıştığını ve örnek uygulamaları çalıştırırarak paralel çalıştığının testinide yaptım.
Referanslar:
[1] Enixma 2008 Yılı Aralık Dergisi
[2] PelicanHPC Resmi Sayfası.




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2016
rəhbərliyinə müraciət

    Ana səhifə