Yüksek Başarımlı Hesaplama Laboratuvarı
Bilişim Enstitüsü 1999 yılında Türkiye'de bu alanda kurulmuş ikinci enstitüdür. Farklı disiplinleri bir arada bulunduran çalışmaların bilişimsel gereksinimlerini karşılanması amacıyla, 2001 yılında Türkiye’de ilk defa İTÜ Bilişim Enstitüsü bünyesinde Hesaplamalı Bilim ve Mühendislik (HBM) programı kuruldu. Bu kapsamda, 2001-2009 yılları arasında Devlet Planlama Teşkilatı (DPT) tarafından desteklenen program bünyesinde, Türkiye’de ilk defa kapsamlı ve gelişmiş sunucu sistemlerini bünyesinde barındıran Yüksek Başarımlı Hesaplama laboratuarı kurulmuştur. Yeni hesaplamalı teknik ve yöntemler üretmek için gerekli araştırma ve geliştirme aktivitelerini destekleyerek akademik çalışanları ve endüstri kuruluşlarını bir araya getirmek amacıyla hizmet veren laboratuar, İTÜ Bilişim Enstitüsü Hesaplamalı Bilim ve Mühendislik Yüksek Lisans ve Doktora Programı bünyesinde yer almaktadır. İTÜ Yüksek Başarımlı Hesaplama Laboratuarı, hesaplamalı bilim ve mühendisliğin gelişmesi için gerekli hesaplamalı teknolojilerin geliştirilmesi ve bunların kullanımı için gerekli kaynak ve servisleri sağlamayı amaçlamaktadır. Bu laboratuarın bir diğer amacı da sadece hesaplamalı bilim ve mühendislik alanında başta İTÜ olmak üzere akademik camiada kritik kitleyi oluşturmaktır.
Mars Sunucu Sistemi :
1. DONANIM ÖZELLİKLERİ
Mars hesaplama küme sistemi, temelde farklı iki mimariye sahip yapılardan oluşmaktadır. Bu farklı mimariler HP ProLiant DL360 grubu ve HP ProLiant BL2x220c G5 serisi blade şasedir. Bu sistemlerin teknik ayrıntıları aşağıdaki gibidir:
Makina Türü | HP ProLiant DL360 | HP ProLiant BL2x220c |
Toplam düğüm sayısı | 16 | 26 |
İşlemci özellikleri | 2x Dual Core | 2x Quad Core |
İşlemci | Intel(R) Xeon(R) CPU 5160 @ 3.00GHz | Intel(R) Xeon(R) CPU E5430 @ 2.66GHz |
Toplam Çekirdek Sayısı: | 64 | 208 |
Cache Boyutu | 4096 KB | 6144 KB |
Bellek | 8 GB, DDR2, Synchronous, 667 MHz, DIMM | 16GB, DDR2, Synchronous, 667 MHz, DIMM |
Toplam Disk Alanı: | 6.5 TB |
Bellek Mimarisi | Düğümler arası dağıtık, düğüm içi paylaşımlı |
Performans Ağ Bağlantısı | InfiniBand (4x, DDR, 16 Gbit/s) |
İşletim Sistemi | RHEL 5.2 (Tikanga) |
2. YAZILIM BİLGİSİ
@page { margin: 0.79in } P { margin-bottom: 0.08in }
Yazılım | Üretici | Sürüm | Lisans Bilgisi |
LSF HPC | Platform | 7.2 | Lisanslı |
Gaussian | Gaussian | 0.9 | Lisanslı |
Fluent | Fluent Inc. Joins ANSYS Inc. | 6.2 | Lisanslı |
Kütüphane | Üretici | Sürüm | Lisans Bilgisi |
Intel CMKL | INTEL | 9.1 | Lisanslı |
Intel MKL | INTEL | 11.1.069 | |
Intel Trace Analyzer & Collector | INTEL | 7.0.1 | |
MVAPICH | The Ohio State University | 1.1.0 | GNU |
OpenMPI | | 1.2.8 | GNU |
OpenMP | | 2.5 | GNU |
Derleyiciler | Üretici | Sürüm | Lisans Bilgisi |
Intel Compiler Suite C/C++/Fortran | INTEL | 9.1.047 11.1.069 | Lisanslı |
GNU C/C++ | GNU | 3.4.6 4.1.2 | GNU |
GNU Fortran 95 | GNU | 4.1.2 | GNU |
scp dosya_adi \ kullanici_adi@mars.be.itu.edu.tr :/gonderilecek/dizin/
scp dosya_adi \ kullanici_adi@160.75.90.222 :/gonderilecek/dizin/yolu/
3. SİSTEME ERİŞİM
Sistemin kullanıcı arayüzü olan mars.be.itu.edu.tr (160.75.90.222) makinasına uzaktan ssh ile bağlanılmaktadır. Mars sistemine erişim örnekleri aşağıdaki gibidir:
3.1. Linux/Unix/MacOS işletim sistemlerinden Mars küme sistemine erişim:
Makina adiyla erişim:
ssh mars.be.itu.edu.tr –l kullanici_adi
ssh kullanici_adi@mars.be.itu.edu.tr
IP ile erişim:
ssh 160.75.90.222 –l kullanici_adi
ssh kullanici_adi@160.75.90.222
3.2. Windows işletim sisteminden Mars küme sistemine erişim:
Mars küme sistemine Windows işletim sistemlerinden erişebilmek için Putty programını (http://www.putty.org/) adresinden indirebilirsiniz. Hostname (veya IP address) kısmına mars.be.itu.edu.tr ya da 160.75.90.222 IP’sini bağlanarak erişebilirsiniz. Gelen ekranda “Login as” kısmına kullanıcı adınızı ve “password” kısmına şifrenizi yazarak sisteme bağlanabilirsiniz.
4. DOSYA AKTARIMI
Sistemine dosya aktarımı Linux/Unix ve MacOS işletim sistemlerinden scp ya da sftp komutları yardımıyla yapılabilirken, Windows işletim sistemi için WinSCP (http://winscp.net) programından faydalanılabilir:
4.1. Linux/Unix/MacOS işletim sistemlerinden Mars küme sistemine dosya aktarımı:
Yerel makinadan Mars kümesine dosya aktarımı:
Komutlar yerel makina üzerinde çalıştırılmalıdır.
scp kullanici_adi@mars.be.itu.edu.tr :/alinacak/dosya /yerel/dizin/
scp kullanici_adi@160.75.90.222 :/alinacak/dosya /yerel/dizin/
4.2. Linux/Unix/MacOS işletim sistemlerinden Mars küme sistemine dizin aktarımı:
Yerel makinadan Mars kümesine dizin aktarımı:
Komutlar yerel makina üzerinde çalıştırılmalıdır.
scp –r dizin_adi kullanici_adi@mars.be.itu.edu.tr :/gonderilecek/dizin/
scp –r dizin_adi \ kullanici_adi@160.75.90.222 :/gonderilecek/dizin/yolu/
Mars küme sisteminden yerel makinaya dizin aktarımı:
Komutlar yerel makina üzerinde çalıştırılmalıdır.
scp –r kullanici_adi@mars.be.itu.edu.tr :/alinacak/dizin /yerel/dizin/
scp –r kullanici_adi@160.75.90.222 :/alinacak/dizin /yerel/dizin/
4.3. Windows işletim sistemlerinden Mars küme sistemine dosya/dizin aktarımı:
Windows işletim sistemi için WinSCP (http://winscp.net) programından faydalanılabilir:
WinSCP programı çalıştırıldığında gelen ekranda “hostname” kısmına mars.be.itu.edu.tr ya da 160.75.90.222 yazılmalıdır. Kullanıcı adınız ve şifrenizi yazarak sisteme erişelebilir. Şekilde de gösterildiği gibi ikiye bölünmüş pencere çıkacaktır. Bu pencerenin sol tarafı yerel makinadaki dosyalarınızı gösterirken, sağ tarafı Mars küme sistemindeki dosyalarınızı ve dizinlerinizi göstermektedir. Sürükle-bırak yöntemiyle dosya/dizin aktarımı kolayca gerçekleştirilmektedir.
5. KUYRUK BİLGİSİ:
Mars küme sisteminde iş çalıştırabilmek için LSF (Load Sharing Facility) yazılımı kullanılmaktadır. Bu yazılımla herbir kullanıcıya ayrı ayrı kuyruk tanımlanabildiği gibi birden fazla kullanıcının aynı kuyruk yapısı içerisinde olması da sağlanmaktadır. Mars küme sistemindeki kuyruk yapısında herbir kullanıcının ihtiyacına göre bir ya da birden fazla kuyruğun üyesi olması mümkündür. Mars küme sisteminde tanımlanan kuyrukların uzantıları hangi mimarinin kullanılacağını belirtmektedir. Örneğin kuyruk_adi.dlq şeklinde tanımlanan bir kuyruk HP ProLiant DL360 düğümlerini kullanabilirken, kuyruk_adi.bladeq şeklinde tanımlanan kuyruk blade şaşesi içerisindeki düğümleri kullanabilmektedir. Eğer kuyruk, kuyruk_adi.allq şeklinde tanımlanmışsa Mars küme sistemi üzerinde bulunan heriki mimari yapısını da kullanabilmektedir.
Komut | Açıklama |
bqueuesuall | Mevcut kuyrukları listelemektedir |
bqueuesukullanici_adi | Kullanıcının kullanabileceği kuyrukları listelemektedir |
bjobs [-a] | Bjobs çalışan işlerin durumu hakkında bilgi verirken, “-a” parametresi ile yakın zamanda sonuçlanmış işler hakkında da bilgi vermektedir. |
Mars küme sistemi üzerinde seri iş çalıştırma örneği:
bsub q kuyruk_adi o cikti.%J e hata.%J ./program.x
Job <9427> is submitted to queue <kuyruk_adi>.
Burada %J iş numarası anlamına gelip standart ekran çıktılarının yönlendirildiği “cikti” ve standart hata çıktılarının yönlendirildiği “hata” isimli dosyanın sonuna eklenmektedir.
6. MPI İŞİ DERLEME ve ÇALIŞTIRMA:
Mars küme sistemi üzerinde MPI haberleşmeleri için infiniband performans ağ bağlantısını kullanan MVAPICH 1.1.0 MPI kütüphanesi kuruludur. Bu kütüphanenin farklı derleyiciler ile derlenmiş sürümleri sistem üzerinde bulunmaktadır. mpi-selector komutu yardımıyla aşağıda belirtilen MPI kütüphanelerinden birini seçmek mümkün olmaktadır.
impi_intel-3.0
impi_intel-3.1
mvapich_gcc-1.1.0
mvapich_intel-1.1.0
mvapich_pgi-1.1.0
openmpi_gcc-1.2.8
openmpi_intel-1.2.8
openmpi_pgi-1.2.8
Sistem üzerinde mvapich_intel-1.1.0 tanımlı durumdadır. Bu tanımlama
mpi-selector --set mvapich_intel-1.1.0 --yes |
komutuyla yapılmaktadır.
MPI programı
mpicc program.c –o program.x |
komutuyla derlenebilir. MPI programının LSF kuyruk sistemi üzerinden çalıştırılması
bsub -q kuyruk_adi \
-n islemci_sayisi \
-o %J.cikti \
-e %J.hata \
-a mvapich \
mpirun.lsf ./program
komutuyla gerçekleştirilir. Burada, koyu ile gösterilenler komutun olmazsa olmazları olup açık
tonla gösterilenler ihtiyaca göre belirlenmelidir.
7. FLUENT İŞİ ÇALIŞTIRMA:
Mars küme sistemi üzeriden Fluent 6.3.26 sürümü bulunmaktadır. Fluent işi çalıştırabilmek için aşağıdaki adımlar izlenmelidir:
- Fluent yazılımı Mars küme sistemi üzerinde “/RS/progs/Fluent.Inc” dizini altında kuruludur. Yazılımı kullanabilmek için kullanıcı .bash_profile dosyasına “path” tanımlamasını yapmalıdır.
export LM_LICENSE_FILE= 7241@lmserver.be.itu.edu.tr
export FLUENT_ARCH=lnamd64
export PATH=$PATH: /RS/progs/Fluent.Inc/bin
LSF ilgili tanımlamalar yer almaktadır. Fluent journal ve veri dosyalari Fluent arayüzü ya da kelime işleme (text editor) yardımıyla oluşturulduktan sonra, fluent.lsf (Fluent LSF betik dosyası) oluşturulan dosyalar ile aynı dizin içerisinde olmalıdır. Ilgili satırlar düzenlenerek LSF sistemine iş gönderilir.
#!/bin/sh
# Calisacak isin adi
#BSUB -J FLUENT
# Checkpoint dizisinin tam yolu (full path)
#BSUB -k /RS/home/groups/admins/akinci/fluent_test/ckp
# Kuyruk adi
#BSUB -q kuyruk.adi.q
# Standart ekran ciktilarinin yonlendirilecegi dosyanin adi
#BSUB -o %J.out
# Standart hata ciktilarinin yonlendirilecegi dosyanin adi
#BSUB -e %J.err
# Cekirdek sayisi
#BSUB -n 2
PATH1=/RS/home/groups/admins/akinci/fluent_test
$PATH1/fluent_fl
fluent.lsf dosyası hazırlandıktan sonra LSF kuyruk sistemine aşağıdaki komut yardımıyla gönderilir.
bsub < fluent.lsf
8. GAUSSIAN İŞİ ÇALIŞTIRMA:
Mars küme sistemi üzerinde Gaussian09 yazılımı “/RS/progs/gaussian” dizini altında yeralmaktadır. Gaussian yazılımını kullanabilmek için kullanıcının gaussian grubuna üye olması gerekmektedir. Bu işlem için sistem yöneticisine başvurulmalıdır. Gaussian09 yazılımının kullanılabilmesi için kullanıcı ev dizininde yer alan .bash_profile dosyasında aşağıdaki satırların tanımlanması gerekmektedir:
g09root="/RS/progs/gaussian"
GAUSS_SCRDIR="."
export g09root GAUSS_SCRDIR
. $g09root/g09/bsd/g09.profile
LSF kuyruk sistemi üzerinde iş çalıştırabilmek için gerekli olan LSF betiği gaussian.lsf olarak isimlendirilmiştir.
#!/bin/bash
# gaussian.lsf betigi
# -----------------------------------------------------------------
# Version : v1.0
# Hazirlayan : Ozden AKINCI [ ozden.akinci@be.itu.edu.tr ]
# -----------------------------------------------------------------
#
# Calisacak isin adi
#BSUB -J gaussian_test
# Standart ekran ciktilarinin yonlendirilecegi dosyanin adi
#BSUB -o %J.out # LSF stdout dosyasi ismi
# Standart hata ciktilarinin yonlendirilecegi dosyanin adi
#BSUB -e %J.err # LSF stderr dosyasi ismi
# Kuyruk adi
#BSUB -q hpccq # kuyruk ismi [kullanicinin ismi olan kuyruk]
# Cekirdek sayisi
#BSUB -n 4
# Kac makina kullanilacagi bu deger 1 olarak durmalidir.
#BSUB -R "span[hosts=1]"
# ----------------------------------
# Gaussian09 ayarlari
g09root="/RS/progs/gaussian"
GAUSS_SCRDIR="."
export g09root GAUSS_SCRDIR
. $g09root/g09/bsd/g09.profile
# Gaussian09 ayarlari bitti
#
# Asagidaki satirda ilgili girdi (*.com, *.gjf) dosyasini yaziniz.
PATH1=/RS/home/groups/admins/akinci/Gaussian_test
g09 $PATH/gaussina.deneme.com
9. NWCHEM İŞİ ÇALIŞTIRMA:
Mars küme sistemi üzerinde NWCHEM programını kullanabilmek için kullanıcınn gaussian grubuna üye olması gerekmektedir. Kullanıcı aşağıda belirtilen komutu ev dizininde çalıştırmalıdır.
ln -s /RS/progs/nwchem-6.0-bin/etc/default.nwchemrc .newchemrc
Kullanıcı .bash_profile dosyasına aşağıdaki satırı eklemelidir:
export PATH=$PATH:/RS/progs/nwchem-6.0-bin/bin