bilgiz.org

Raspberry pi İle süper biLGİsayar yapimi m. Akçay1, T. Orak1

  • Anahtar Sözcükler
  • Keywords
  • 2. Süper Bilgisayarlar ve Tanımı
  • 3. Raspberry Pi Beowulf Cluster
  • 3.4. Raspberry Pi Yapılandırması
  • 3.5 Cluster Üzerinde Program Çalıştırma Örnek herhangi bir dosya oluşturulur. Test.c adında içerisinde sadece ekrana basma komutu olan bir dosya oluşturulur.
  • ve bu cluster yapısının çalıştığını gösterir.
  • 4. Sonuçlar ve Öneriler Bu çalışma ile
  • Süper bilgisayarlar sadece üniversitelerin bünyesinde bulunmayıp birçok ticari firma bu hizmeti çok daha ucuza verebilecek.
  • Veri indirme/yükleme gibi işlemler çok daha hızlı yapılacak.
  • Kaynaklar [1] Brown, E., "Top 10 Linux and Android Hacker SBCs of 2015", https://www.linux.com/news/top-10-linux-and-android-hacker-sbcs-2015, June 10, 2015.
  • , Son Erişim 30 Ekim 2016. Ekler: Şekil 1.



  • Tarih01.10.2017
    Büyüklüğü45.67 Kb.

    Indir 45.67 Kb.

    RASPBERRY Pİ İLE SÜPER BİLGİSAYAR YAPIMI
    M. Akçay1, T. Orak1

    1 Dumlupınar Üniversitesi, Bilgisayar Mühendisliği Bölümü, Kütahya

    Makcay26@gmail.com


    Özet: Raspberry pi kullanarak yapılan süper bilgisayarlar esnek oldukları için bu konudaki çalışmalara ilgi artmaktadır. Bu sayede süper bilgisayar kullanımı için ayrılan kaynaklar kullanıcıların kendilerinin oluşturdukları bilgisayarlar ile yapılabilir. Temel olarak Beowulf küme (Cluster) yapısını kullanılmaktadır. Küme (Cluster) yapısıyla kullanılan Raspberry Pi kartları kaynaklarını ortak kullanarak hesaplama yapmaktadır. Linux işletim sistemi alt yapıda kullanıldı. Bunun iki sebebi var;

    1) Dünyadaki en hızlı 500 bilgisayarın 499'u linux tabanlı

    2) Linux işletim sisteminin esnek ve Raspberry Pi ile beraberinde gelmesi.

    Bu çalışmada Raspberry Pi ile süper bilgisayar yapımı tecrübeleri aktarılacaktır.


    Anahtar Sözcükler: Raspberry Pi, beowulf cluster, linux, hpc.
    Abstract: The supercomputer made by using Raspberry Pi is increasing interest in working on this issue because they are flexible. This enables the computer resources are allocated for the use of users they have created themselves supercomputers. Basically Beowulf cluster (Cluster) structure is used. Cluster of Raspberry Pi cards are used to make calculations using the structure of public resources. Linux operating system was used in the substructure. There are two reasons for this;
    1) the world's fastest 500 computers, 499 linux based
    2) come in with flexible and Raspberry Pi of the Linux operating system.

    This work will be transferred to our experience with the Raspberry Pi-made supercomputers.


    Keywords: Raspberry Pi, beowulf, cluster, Linux, hpc.
    1. Giriş
    Son yıllarda açık kaynak donanım ve yazılımlara (Open Source Hardware ve Software) olan ilgi artmaktadır. Özellikle hobi kullanıcıları ve proje geliştiricilerinin tercih ettiği ürünlerden olan Raspberry Pi kullanımı her geçen gün artmaktadır.

    LinuxGizmos ve Linux sitesinin desteği ve 1,721 katılımcı ile yapılan 2015’in en iyi SBC (Single Board Computer)’si anketinde Raspberry Pi B 2455 puan ile birinci seçilmiştir [1]. Bunun etkisiyle Raspberry Pi ile süper bilgisayar gibi cluster yapıları kurmak giderek artmaktadır. Özellikle son dönemlerde Raspberry vakfının duyurduğu Raspberry Pi Zero dünya üzerinde sadece 5$'a satılmaktadır.

    Süper bilgisayarlar bilindiği gibi kiralaması, kurulması çok maliyetli olduğu için günümüzde kişisel olarak pek fazla kullanılmamaktadır. Kullanım alanları genellikle fazla zaman gereken hesaplama maliyeti fazla işlerdir. Özellikle teknik üniversitelerin bünyesinde bulunan süper bilgisayarlar belli bir ücret karşılığında kira ile çalıştırılmaktadır. Yani 50 işlemci ihtiyacı olan ve hesaplarınıza göre 5 saatlik bir işiniz varsa bunun için 250$ kadar bir ücret ödemeniz gerekmektedir. Fiyat/performans için çok iyi gibi dursa da bu ücreti 5 saat için vermek çoğu kullanıcı / kurum / işletme için pek mantıklı gelmemektedir. Bazılarına göre süper bilgisayarı çalışan kurum için almak mantıklı olsa da çok maliyetli olduğundan (bakım, onarım, yazılım) bu yol da pek tercih edilmemektedir.

    Gelecek yıllarda Raspberry Pi vakfı çok daha ucuza bilgisayar kartı üretmeyi hedeflediğini ve bu hedefini başardığını varsayarsak gelecekte yüzlerce bilgisayarı bir arada işlem yaptırabilmek çok daha kolay olacaktır.

    Bu çalışmada özellikle süper bilgisayarların çok ucuza mal olabildiğini, herkesin nasıl süper bilgisayar sahip olabileceğini, süper bilgisayarların kullanım ücretlerinin gelecek yıllarda nasıl düşeceğini Raspberry Pi kartı kullanılmasıyla incelenecektir. Bu sayede gelecekte birçok yerde kullanılabilecek cluster mantığı ve kişisel süper bilgisayarların temellerini açıklanacaktır.
    2. Süper Bilgisayarlar ve Tanımı
    Süper bilgisayar basit olarak; yoğun paralel işlemciler, yüksek başarımlı vektör işlemciler ve öbek (küme, cluster) bilgisayarların oluşturduğu sistem (her bileşen olmak zorunda değil) olarak tanımlanabilir. Süper bilgisayarlar bilimde, deney ve hesaplamayı birleştiren hesaplamalı bilim gibi yeni metodolojilerin oluşmasını sağlamıştır. Günümüzde süper bilgisayarlar saniyede yüzlerce trilyon işlem yapar hale gelmiştir. Örneğin, dünyanın en hızlı süper bilgisayarından biri saniyede 136,8 trilyon kalıcı işlemle Amerika'da Lawrance Livermore National Laboratuary isimli ulusal laboratuvarın kullanımındadır. Tteorik sınır bu rakamın üzerinde olup adı geçen makina için saniyede 183,5 trilyon işlemdir. Süper bilgisayarlar ilk defa 1960'larda Seymour Cray tarafından Control Data Corporation da tasarlandı [2].

    En hızlı süper bilgisayar ise Sunway TaihuLight isminde Üst500 listesinde yer almaktadır [3]. Çin'de üretilen bu bilgisayar, NRCPC tarafından 10,649,600 çekirdek ile Sunway SW26010 260C 1.45GHz işlemci kullanılarak üretilmiştir. Elektrik tüketimi 15,371.00 kW tır [4].


    3. Raspberry Pi Beowulf Cluster
    Raspberry Pi B ile süper bilgisayar yapımı Boise State Universitesi doktora öğrencisi olan Joshua Kieper tarafından 2013’da yapıldı. Wireless algılayıcılar (sensors) arasında veri paylaşım ağındaki veri işlenmesini kolaylaştırmak için bir sisteme ihtiyaç duyması ile bu projeye başlandı. Kieper bu projeyi yaparken 32 Raspberry Pi kullanmış. Daha sonraları 100 tane Raspberry Pi ile yapılanları da ortaya çıktı.
    3.1. Donanım Kurulumu
    Gerekenler:

    4 tane Raspberry Pi B+ (En az 2 tane olsa da yeterli)

    4 tane Micro USB Power Kablo

    4 tane MicroSD Kart

    1 tane Netgear Switch (8 Port)

    1 tane Power USB-Hub

    4 tane Ethernet Kablo

    2 tane Raspberry Pi B+ Kılıf (Zorunlu değil)


    Ethernet kablolarını Switch ile bağlantısı yapılır. Raspberry Pi B+’lara enerji sağlamak için USB Hubtan Micro USB’lere bağlantı sağlanır. Koruyucu bir kutuyla tüm Raspberry Pi B+’lar üst üste eklenerek daha düzenli olmaları sağlanır. Şekil 1 de kurulan bağlantı görülmektedir.
    3.2. Yazılım Kurulumu
    Raspberry Pi işletim sistemi olarak Raspbian’nı kullanmakta. Bu sistem Linux kaynaklı bir işletim sistemidir. İşletim sistemini kurmak için resmi sitesinden Raspbian’ın güncel versiyonu indirilmelidir. Raspbian iso dosyası indirildikten sonra iso dosyasını microSD kartlara yazdırılmaktadır. Bunun için iso yazdırma programları kullanılır.

    İlk kez Raspberry Pi ye işletim sistemi kurulurken 1 adet HDMI bağlantılı monitör ve klavyeye ihtiyaç vardır. İşletim sistemi için gerekli güncellemelerin yapılabilmesi için Raspberry Pi ethernet kablosu ile internet bağlantısı sağlanmalıdır. İlk kurulumda klavye ve monitöre ihtiyaç vardır. Kurulum yapıldıktan sonra ssh bağlantısı yapabilecek bir program kullanılacaktır.

    Expand Filesystem menüsüne girilir. Overclock bölümünde çıkan pencere onaylanır. Modest 800MHz ARM ayarı seçilir. Ana menüden Advanced Options bölümüne ve daha sonra açılan sayfada ikinci satırdaki A2 Hostname bölümüne girilir ve açılan yeni sayfadaki alana isim verilir. Hostname ismi verildikten sonra Advanced Options’tan A3 Memory Split seçeneği seçilir ve 64’ü 16 olarak değiştirilir. Bir sonraki işlemde Advanced Options’tan A4 SSH bölümünü seçiyoruz ve Enable seçilir. Bu sayede uzaktan erişime bilgisayarı açılmış olur. Finish seçeneğinden sonra sistem kedini yeniden başlatır. Modemin verdiği ip adresini uzaktan erişim için kullanılır ve verilen hostname ile giriş yapılır.
    3.3. MPICH Kurulumu
    SSH protokolü ile bağlandığımız bilgisayarlara aşağıdaki komutlar sırasıyla uygulanır [5].
    sudo apt-get update

    mkdir mpich2

    cd ~/mpich2

    wget http://www.mpich.org/static/download...ich-3.1.tar.gz

    tar xfz mpich-3.1.tar.gz

    sudo mkdir /home/rpimpi/

    sudo mkdir /home/rpimpi/mpi-install

    mkdir /home/pi/mpi-build

    cd /home/pi/mpi-build

    sudo apt-get install gfortran

    sudo /home/pi/mpich2/mpich-3.1/configure -prefix=/home/rpimpi/mpi-install

    sudo make

    sudo make install

    cd ..


    nano .bashrc

    PATH=$PATH:/home/rpimpi/mpi-install/bin


    Üsteki kodları yazdıktan sonra klavyeden ctrl+6+X tuşuna basılır ve çıkan yeni menüye Y seçeneği seçilir. Ardından gelen File Name

    to Write: bölümüne .bashrc yazılır ve kaydedilir.


    Reboot kodunu yazıp onayladığımızda putty bağlantı koptu hatası verecektir. Putty ekranını uyarıdan sonra kapatıp tekrar Raspberry Pi ye bağlantı sağlanır ve aşağıdaki kodlar yazılır.
    o mpiexec -n 1 hostname
    Bu kod’u bilgisayara yazınca Raspberry Pi’nin adını verecektir.
    MPI4PY Kurulumu için aşağıdaki kodlar sırasıyla yazılır:
    sudo aptitude install python-dev

    wget https://mpi4py.googlecode.com/files/mpi4py-1.3.1.tar.gz

    tar -zxf mpi4py-1.3.1.tar.gz

    cd mpi4py-1.3.1

    python setup.py build

    sudo python setup.py install

    export PYTHONPATH=/home/pi/mpi4py-1.3.1

    mpiexec -n 5 python demo/helloworld.py


    3.4. Raspberry Pi Yapılandırması
    Raspberry Pi cluster image dosyası SD kartına kopyalanır ve bilgisayarlar switch’e bağlanır. Güç kablosu takıldıktan sonra bilgisayarlara güç verilir. IP adresi üzerinden bilgisayarlara uzaktan erişilir ve cluster yapısına uygun isimler verilir. Nmap kurlumu yapılır.

    Sudo apt-get install nmap

    ifconfig

    sudo nmap –sn IP_adresi

    Nmap ağdaki bilgisayarları görmemizi sağlayan bir araçtır. Bu sayede cluster yapısında olanlar görülebilmektedir. Bulunan IP adresi vim machinefile dosyasının içine yazılır.

    Test için aşağıdaki komut girilir.

    mpiexec –n 1 hostname

    Yukarıdaki komut girildikten sonra bilgisayarın ismi görülür ve bilgisayarların birbirleriyle otomatik olarak giriş yapmasını sağlamak amacıyla ssh-keygen kullanılır. Komutlar şu şekilde girilir;

    ssh-keygen

    cd ~


    cd .ssh

    cp id_rsa.pub makineadi

    ssh makineadi@ipadresi

    Yukarıdaki kodda yazılan IP adresi ikinci bilgisayarın IP adresidir. Bunlar bütün bilgisayarlara uygulanır. Yukarıdaki işlemler bitince aşağıdaki kodları sırayla uygulanır.

    scp makine1ip:/home/pi/.ssh/makine2

    cat pi02>>authorized_keys

    scp makine2ip:/home/pi/.ssh/makine3 .

    cat pi03>>authorized_keys

    scp makine3ip:/home/pi/.ssh/makine4 .

    cat makine4>>authorized_keys

    cd ~

    mpiexec –f machinefile -n 4 hostname


    Son komutta yapılan işlem sonucunda 4 tane bilgisayarın isimleri görülmektedir ve bu sayede birbirleriyle iletişim halinde olduğu anlaşılmaktadır.
    3.5 Cluster Üzerinde Program Çalıştırma
    Örnek herhangi bir dosya oluşturulur. Test.c adında içerisinde sadece ekrana basma komutu olan bir dosya oluşturulur.
    scp –r test.c machineip1:/home/hostname

    scp –r test.c machineip2:/home/hostname

    scp –r test.c machineip3:/home/hostname

    scp –r test.c machineip4:/home/hostname
    mpiexec –f machinefile –n 5 mpicc test.c
    Yukarıdaki komut ile 5 tane ekran çıktısını görülür ve bu cluster yapısının çalıştığını gösterir.
    mpiexec –f machinefile –n 25 mpicc test.c
    Farklı bir ekran çıktısı ve 25 tane test programının çıktısını görülebilir.
    Çok daha farklı programlar da çalıştırmak mümkündür. Bunu Raspberry Pi yani Linux tabanında çalışan programlarla yapmak mümkündür. Python gibi uygulamalar da çalıştırılabilmektedir.

    4. Sonuçlar ve Öneriler
    Bu çalışma ile

    Rasbperry Pi Cluster ile uzun sürede çözülmesi beklenen problemler çok daha kısa sürede çözülmüş olacak.

    Süper bilgisayarların maliyetleri düşecek ve bu sayede kiralanan süper bilgisayarlar çok daha ucuza kiralanabilecek.

    Süper bilgisayarlar sadece üniversitelerin bünyesinde bulunmayıp birçok ticari firma bu hizmeti çok daha ucuza verebilecek.

    Bulut Teknolojisi maliyetini çok aza indireceğinden internet üzerinden sanal disk satın alma işlemleri çok daha ucuz olacak.

    Gelecekteki grid teknolojilere öncü olabilecek.

    Veri indirme/yükleme gibi işlemler çok daha hızlı yapılacak.

    Bilişim konusundaki araştırmalar sadece belirli bir imkânı olanların değil birçok kişiye hitap edecek şekilde yapılacak.


    • Geliştirilen model önemli kazanımları olacaktır. Bundan sonra farklı uygulamalar için bu yapının kullanılması gerekmektedir
    Kaynaklar
    [1] Brown, E., "Top 10 Linux and Android Hacker SBCs of 2015", https://www.linux.com/news/top-10-linux-and-android-hacker-sbcs-2015, June 10, 2015.
    [2] Süper Bilgisayar, https://tr.wikipedia.org/wiki/S%C3%BCper_bilgisayar, Son Erişim 30 Ekim 2016.

    [3] top500,

    https://www.top500.org/lists/2016/06/, Son Erişim 30 Ekim 2016.
    [4] Sunway TaihuLight, https://www.top500.org/system/178764, Son Erişim 30 Ekim 2016.
    [5] How to Make a Raspberry Pi Supercomputer,

    http://www.instructables.com/id/How-to-Make-a-Raspberry-Pi-SuperComputer/step4/Installing-MPICH/, Son Erişim 30 Ekim 2016.
    Ekler:


    Şekil 1. Raspberry Pi ile süper bilgisayar yapımı






        Ana sayfa


    Raspberry pi İle süper biLGİsayar yapimi m. Akçay1, T. Orak1

    Indir 45.67 Kb.