Paralel Hesaplama - Beowulf Cluster

Benzer belgeler
AHTAPOT Firewall Builder Kurulumu

Linux altında komut satırında...

SparkleShare. Çağrı Emer. Ekim, 2011

man komut man ls (ls komutu hakkında bilgi verir.) man pwd (pwd komutu hakkında bilgi verir.)

Bilindik engelleme yöntemlerinin dışında olan, kurumsal web filitreleri nasıl aşılır?

Dosya/Dizin İzinleri. Okuma (r) Yazma (w) Çalıştırma (x) Dosya içeriğini görebilir mi? (Klasörler için) dosya listesini alabilir mi?

Nagios Network Monitör Uygulaması -2

Linux Dosya ve Dizin Yapısı

Komut Penceresi ile Çalışmaya Başlamak

Sun Solaris Jumpstart Sistemi

Apache üzerinden Red Hat 5 yüklenmesi

AHTAPOT Ansible Kurulumu

Messenger Sunucularının Kurulum Dokümanı

Linux işletim sistemlerinde dosya hiyerarşisinde en üstte bulunan dizindir. Diğer bütün dizinler kök dizinin altında bulunur.

Temel Linux Eğitimi 1., 2. ve 3. Bölümler

NFS (Network File System) & NIS (Network Information System) H. Coşkun Gündüz cgunduz@cs.bilgi.edu.tr

Useroam Kurulum Rehberi

BIND ile DNS Sunucu Kurulumu

Veri Tabanı Yönetim Sistemleri Bölüm - 02

LİNUX. Dosyalar ve dizinler

AÇIK KAYNAK İŞLETİM SİSTEMLERİ - BÖLÜM 1. Temel komutlar,dosya ve Dizin İşlemleri, Kullanıcı ve Grup İşlemleri

sunucu uygulaması Devrim Sipahi

Ubuntu üzerine phpbb forum yazılımının 3.2 sürümünün kurulumu. Ocak, 2017

Pardus ta Komutlarla Çalışmak

Sun Solaris ve RBAC ( Role Based Access Control List)

Temel Linux Bilgileri Türk Standardları Enstitüsü Yazılım Test ve Belgelendirme Dairesi Başkanlığı

Linux Dosya Yapısı. Eren BAŞTÜRK.

Aktif Dizin Logon/Logoff Script Ayarları Versiyon

HUAWEI Cihazlara Erişim Yöntemleri

Yrd. Doç. Dr. A. Burak İNNER

Temel Linux Eğitimi. İçindekiler

Linux ta komutlar hakkında yardım almak için aşağıdaki komutlar kullanılır : - man - info - whatis - apropos

Useroam Kurulum Rehberi

Yrd. Doç. Dr. A. Burak İNNER

Küme Bilgisayarlarda PBS Kuyruk Sistemi

JasperReports Server ve Ireport raporlama Sistemi Kurulumu / Kullanımı 1. Bölüm 2. Bölüm 1- JasperReports Server ve Ireport Nedir?

Subversion Sürüm Kontrol Sistemi Kurulumu ve Apache Yapılandırması. Çağrı Emer

Windows 7 - IIS 7.5 üzerine PHP ve MySQL kurulumu

LİNUX. Dosyalar ve dizinler

Ev Kullanıcıları İçin KVM

LİNUX SERVER TEMEL KOMUTLAR

Oracle Enterprise Linux 5 Kurulumu

3. DOSYA SİSTEMİ VE ÇALIŞMA MANTIĞI

DBMAIL KURULUMU BELGESI (Howto Install Dbmail) Yazan: Ozgur Karatas

Linux İşletim Sistemleri. Eren BAŞTÜRK.

Useroam Kurulum Rehberi

Autofs. Hüseyin Kaya

FreeBSD Erişim Kontrol Listeleri

PBS Betiği Hazırlama ve PBS Komutları. Feyza Eryol

3CX Phonesystem Türkçe Anonsları Windows ve Linux İşletim Sistemlerinde Aktif Etme

Debian GNU/Linux'da BootSplash & Grub Temalarının Kurulumu

SpamTitan CD'den kurulum

Project Vesta Documentation

Sözü fazla uzatmadan bu durumlar için bir çözüm yolunu sizlere paylaşmak istiyorum..

Küme Bilgisayarlar. Enabling Grids for E-sciencE. Onur Temizsoylu. Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi ODTÜ, Ankara

AHTAPOT Merkezi Güvenlik Duvarı Yönetim Sistemi Kontrol Paneli

BİLGİ İŞLEM DERS 3. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ

Grid Site Kurulumu

Linux Temelli Zararlı Yazılımların Bulaşma Teknikleri, Engellenmesi ve Temizlenmesi

Kazanımlar. Linux nedir? Linux dizin yapısı. Linux kabuğu nedir? Temel kabuk komutları. Bash programlama. Dosya işlemleri. Süreç yönetimi.

Sanal Makine Kurulumu (VirtualBox)

Temel Li nux Eği t i mi Böl üm

AHTAPOT Merkezi Yönetim Sistemi ile Kurulum Yapılması

1. Bilgisayarınızda kullandığınız Web tarayıcı programını (Internet Explorer, Mozilla Firefox vb.) çalıştırınız.

Kabuk Programlama (Bash)

Virtualaze Unify Kurulumu

İşletim Sistemleri. Discovering Computers Living in a Digital World

Linux Ubuntu Kurulumu

AirTies Kablosuz Erişim Noktası (Access Point) olarak kullanacağınız cihazı bilgisayarınıza bağlayarak ayarlarını yapabilirsiniz.

Useroam Sonicwall Kurulum Rehberi

Genel Programlama II

Table of Contents

2. SCADA PROGRAMI. TEOS' un size sunduğu bir çok hizmet içerisinde en önemlilerini şöyle sıralayabiliriz:

İSTANBUL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ SİSTEM PROGRAMLAMA DERSİ. Öğr.Gör. Mehmet DEMİR

PBS Betiği Hazırlama ve PBS Komutları

Güvenli Kabuk: SSH. Burak DAYIOĞLU, Korhan GÜRLER

Toplu Kayıt Kullanıcı Kitapçığı

Linux Kullanıcı Yönetimi/Denetimi

Linux Sunucuları için Güvenlik İpuçları. Korhan Gürler, Burç Yıldırım

PHP (II) Formlar. Dosya İşlemleri. 2002, Sanem SARIEL PHP Ders Notları 2 1. Formlar

NETFİLTER VE LİNUX TABANLI BİR FİREBOX TASARIMI

1- TC Kimlik Doğrulama

Web Servis-Web Sitesi Bağlantısı

IPCop ile Ağ Güvenliği ve Yönlendirme. Kerem Can Karakaş.

İÇERİK YÖNETİM SİSTEMİ (CMS) Bir web sitesi yayınlamak için yapılması gerekenler:

BlackBerry Admin Service

Linux Kurulumu (Sürüm 1.52) İçindekiler

1. PROGRAM KURMA 1.1 LİNUX PROGRAMLARINI KURMA Yazılım Merkezi ile Program Kurma

*nix' lerde Etkin ve Pratik Arama Yöntemleri

FreeBSD Üzerinde VLAN Kullanımı

vsphere Client(viClient) ile ESXI Kontrolü

KANTAR UYGULAMASI Kurulum Kılavuzu

Linux Terminal Sunucu LKD

FOUR FAİTH ROUTER LARDA IPSEC GÜVENLİ HABERLEŞME KILAVUZU

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1

Clonezilla Server ile Ağ Üzerinden Çoklu İmaj Yükleme

Linux Terminal Sunucusu. Afşin Taşkıran

FreeBSD Üzerinde VLAN Kullanımı

Türkiye Linux Kullanıcı Grubu NFS & NIS. Kerem ERZURUMLU. kerem@linux.org.tr. 1. Linux ve Özgür Yazılım Şenliği.

SAMBA Linux Dosya Sunucusu

Transkript:

Paralel Hesaplama - Beowulf Cluster Bahadır Demircioğlu Ekim, 2013

Ev kullanıcıları büyük hesaplama gücüne ihtiyaç duyduğunda sahip oldukları işlemci gücü ya da RAM miktarı yetersiz gelecektir. Bu sorunları aşmak için 1994 senesinde Donald Becker ve Thomas Sterling tarafından Beowulf adını verdikleri çalışma başladı. Bu çalışmanın amacı düşük maliyetli ev bilgisayarları ile süper hesaplamalar yapabilecek kaynakları elde etmekti. Hazırladıkları ilk yapıda çoğumuzun adını dahi duymadığı Pentium I ve 486 sınıf üzerinde Linux olan makineler kullandılar. Bu çalışmalar sayesinde elimizde çok pahalı kaynaklar olmadan da büyük hesaplamalar yapabileceğimiz kanıtlanmış oldu. Bu çalışmaların tek dez avantajı ise hesaplama düğümlerinin birbirleri ile haberleşirken network üzerinde kaybettikleri zaman. Elimizde çok büyük kaynaklar yoksa ve bunları karşılayacak maddi bir desteğimiz de yoksa sanırım bu kayıp gözardı edilebilir. Daha detaylı bilgi almak isteyenler [ˆ1] adresine göz gezdirebilirler. Anlatıma başlamadan önce biraz iştah kabartması için birkaç fotoğraf göstermek istiyorum :) 1

Elimde şu an için dört adet ev kullanıcı bilgisayarı bulunmakta. Bundan dolayı Beowulf yapısını bir adet ana makine ve üç adet hesaplama düğümünden oluşturacağım. Ana makineden hesaplarımızı vereceğiz, aynı zamanda bu makine hesaplama düğümleri ile birlikte hesap işinede katkı sağlayacaktır. (İsterseniz, ilk çalışmanız için, fiziksel makinenizde sanal makineler oluşturup bu işlemleri adım adım yapabilirsiniz.) Öncelikli olarak makinelerim için tanımlamalarım; İş teslimi yapacağımız ana sunucumuz; 1 hostname ip 2 node0 192.168.1.10 Hesaplama düğümleri olarak adlandıracağımz makineler; 1 hostname ip 2 node1 192.168.1.11 3 node2 192.168.1.12 4 node 192.168.1.13 1) İlk iş olarak makinelerimizin birbirini hostname lerinden tanıması için hosts dosyalarımızı değiştirelim. /etc/hosts dosyalarına aşağıdaki satırları ekleyelim. Bu dosya 4 makinede de aynı olacak. Burada dikkat edilmesi gereken ilk nokta, hostnamelerin doğru olması, ikincisi ise 127.0.0.1 kesinlikle sadece localhost olarak kalacak. 1 1 2 7. 0. 0. 1 l o c a l h o s t 2 192.168.1.10 node0 3 192.168.1.11 node1 4 192.168.1.12 node2 5 192.168.1.13 node3 2

Şekil 1: 3

2) Hesaplamalarımızı yapmak için her makinede bir adet kullanıcı oluşturalım. Bu kullanıcıların adlarının aynı olması karışıklığı önleyeceği gibi işimizi de kolaylaştıracaktır. Bunun için dört makinede; 1 sudo adduser mpiuser uid 999 Bu kullanıcılara istediğin şifreyi verebilirsin. Karışıklığı önlemek adına hepsine aynı şifre verirseniz işiniz bir adım daha kolaylaşacaktır. Dikakt edilmesi gereken nokta ise her makinede oluşan kullanıcıların ID lerinin aynı olması ve 1000 den düşük olması gerekliliği. 3) Hesaplarımızı mpiuser kullanıcısı üzeriden vereceğimiz için makinelerimiz bu kullanıcı üzerinden haberleşecek. Bunun için her makinedeki mpiuser kullanıcılarını şifresiz olarak ssh üzerinden haberleşmesini sağlayacağız. Öncelikle node0 üzerinde bu işlemleri yapalım. mpiuser kullanıcı hesabına giriş yapalım. Burada dikkat etmemiz gereken şey; /root dizinine değil de /home/mpiuser dizinine düşmemiz gerektiği. 1 su mpiuser Şifresiz haberleşmeyi sağlamak için ssh anahtarı oluşturacağız. Bize şifre soracaktır, boş bırakabilirsiniz. 1 ssh keygen t rsa Şimdi oluşturduğumuz bu anahtarı hesap düğümleri makinelerimize gönderelim. 1 ssh copy id node1 2 ssh copy id node2 3 ssh copy id node3 Deneme yapamak için; 1 ssh node1 dediğimizde şifre istemeden node1 makinesine (192.168.1.11) ve mpiuser kullanıcısına eriştiysek sorun yok demektir. Diğer nodelar için de bu işlemleri tekrarlayacağız. node1 için; 1 su mpiuser 2 ssh keygen t rsa oluşan anahtarı bu sefer node0, node2, node3 e göndereceğiz. 1 ssh copy id node0 2 ssh copy id node2 3 ssh copy id node3 node2 için; 1 su mpiuser 2 ssh keygen t rsa oluşan anahtarı bu sefer node0, node1, node3 e göndereceğiz. 1 ssh copy id node0 2 ssh copy id node1 3 ssh copy id node3 node3 için; 4

1 su mpiuser 2 ssh keygen t rsa oluşan anahtarı bu sefer node0, node1, node2 ye göndereceğiz. 1 ssh copy id node0 2 ssh copy id node1 3 ssh copy id node2 Bu şekilde artık bütün makinelerimiz şifresiz olarak mpiuser kullanıcıları üzerinde haberleşir duruma geldi. 4) Hesaplama yaparken her makinede hesaplama dosyalarının bulunması gerekmekte. Bunun için ben bir dizini hesaplama dosyalarımı koyacağım yer olarak seçiyorum ve bu dizinin diğer makineler ile aynı olmasını sağlamak için nfs dosya sistemini kullanacağım. Her makineye gerekli paketleri yükleyelim ve bir adet dizin oluşturup bu dizine mpiuser kullanıcısı sahibi yapalım. Bu komutları tüm makinelerde vereceğiz. 1 sudo apt get i n s t a l l nfs kernel server 2 sudo mkdir / mirror 3 sudo chown mpiuser : mpiuser / mirror Aynalama işlemi için ise /etc/exports dosyası içine aşağıdaki satırı ekleyelim. 1 / mirror * ( rw, sync, no_subtree_check ) Artık her makinede servisi yeniden başlatıp aynalama işlemini başlatabiliriz. 1 sudo / etc / i n i t. d/ nfs kernel server r e s t a r t 5) Eğer makinelerde güvenlik duvarınız çalışıyor durumda ise makinelerin birbirine sorun çıkartmaması için gerekli kuralları verelim. Her makineye; 1 sudo ufw allow from 192.168.1.10/192.168.1.13 6) Şu dakikadan sonra elimizde birbiri ile şifresiz olarak haberleşen 4 adet makine bulunuyor. Ben bu dört makineyi paralel hesaplama için kullanacağımdan dolayı makinelerime mpich2 kütüphanesini kuracağım. Her makinede; 1 sudo apt get i n s t a l l mpich2 mpd 7) Son olarak geriye mpich2 için yapılandırma dosyalarımızı oluşturmak kaldı. Bunun için bu dosyaları node0 üzerinde oluşturup diğer makinelere gönderelim. 1 mpiuser@node0 : ~$ touch ~/mpd. hosts 2 mpiuser@node0 : ~$ touch ~ /.mpd. conf mpd.hosts dosyası içine her makinedeki çekirdek sayısı kadar hostname yazacağız. Örneğin benim ana makinem 4 çekirdekli ve hesaplama makinelerim iki çekirdekli ise mpd.hosts dosyamın içeriği; 1 node0 2 node0 3 node0 4 node0 5 node1 6 node1 7 node2 8 node2 9 node3 10 node3 5

.mpd.conf dosyamın dosya izninin 600 olaması gerekiyor ve bu dosya içine bir gizli kelime yazmamız gerekiyor. 1 mpiuser@node0 : ~$ chmod 600 ~ /.mpd. conf dosya içeriği ise; 1 secretword=kelime_buraya_gelecek Artık ana makinede oluşturduğumuz bu dosyaları diğer makinelere gönderelim. 1 mpiuser@node0 : ~ $scp p.mpd. conf node1 : / home/ mpiuser / 2 mpiuser@node0 : ~ $scp p.mpd. conf node2 : / home/ mpiuser / 3 mpiuser@node0 : ~ $scp p.mpd. conf node3 : / home/ mpiuser / 1 mpiuser@node0 : ~ $scp p mpd. hosts node1 : / home/ mpiuser / 2 mpiuser@node0 : ~ $scp p mpd. hosts node2 : / home/ mpiuser / 3 mpiuser@node0 : ~ $scp p mpd. hosts node3 : / home/ mpiuser / Bu noktadan sonrası yapacağınız hesaplamalar doğrultusunda değişmektedir. Bunun için [ˆ2] adresinde Paralel Programlama bölümü altındaki başlıkları incelemenizde fayda var. Kaynak [ˆ1]: http://yclept.ucdavis.edu/beowulf/aboutbeowulf.html [ˆ2]: http://wiki.uhem.itu.edu.tr/wiki/ana_sayfa 6