Baslık

advertisement
GRID HESAPLAMA TEMEL KAVRAMLAR VE GRID ÜZERİNDE
VERİ YÖNETİMİ
Fatih Türkmen
İzmir Ekonomi Üniversitesi
Bilgisayar Bilimleri Fakültesi
[email protected]
ÖZET
Makalede Grid Hesaplama, gelişme evreleriyle
beraber
fazla
detaya
girmeden
gereksinim
nedenleriyle sunulur. Grid üzerindeki son gelişmelerin
ipuçları verilir ve bu gelişmeler hakkında yorumlar
yapılır. Ayrıca Grid sistemlerinin birinci sınıf
vatandaşı olarak tabir edilen veri ve onun yönetimi
hakkında varolan yaklaşımlar tartışılır.
ABSTRACT
In this survey, I present the Grid Computing basics
with its development phases and the reasons. The
clues of the latest developments and the tendencies in
this field are given with comments. Current
management approaches of data defined as the first
class citizens of Grid systems are discussed.
Anahtar Kelimeler: Paralel Hesaplama, Grid
Hesaplama, Globus, Gridbus, Yüksek Performanslı
Hesaplama, Anlamsal Grid
1. GİRİŞ
Matematik, fizik, kimya gibi doğa bilimlerinde güçlü
bilgisayar kullanım ihtiyacı ve;
 Simülasyon,
 Görüntü işleme,
 Güvenlik uygulamaları,
 Veri madenciliği,
gibi yüksek hesaplama gücü ve büyük miktarlarda
veriyle ilgilenmeyi gerektiren problemler/çalışmalar
içeren alanlara olan ilginin artması, bu tip
uygulamaların geliştirme ve çalıştırma ortamlarına
olan ilgininde artmasına ve yüksek hesaplama
kapasitesine
sahip
sistemlerin/ortamların
oluşturulmasına sebep olmuştur. Bazı deneylerde
günlerce hatta aylarca sonuç beklenmesi, kullanılan
sistemlerin
nasıl
daha
performanslı
hale
getirilebileceği konusunda araştırma yapılmasına ve
yüksek performanslı hesaplamanın açık (çözülememiş)
bir problem olarak kalmasına neden olmuştur [1].
Önceleri daha çok tercih edilen ya da zorunda
bırakılan, çok yüksek hesaplama kapasitesine sahip
çok işlemcili süper bilgisayarların kullanımı, maliyet,
geri kazanç ve bilgi erişimi gibi bazı pratik
nedenlerden dolayı yerlerini sıradan (ya da sıradana
yakın) bilgisayarların bir araya getirilmesiyle
oluşturulan
kümelere
(clustering)
bırakmıştır.
Özellikle DEC şirketinin VMS (Sanal Bellek
Sistemi)’ine çıkış zamanına karşılık gelen 1980’li
yıllardan itibaren akademik ve endüstriyel alanlarda
daha az maliyetli sistem arayışı hız kazanmıştır [2].
2. PARALEL HESAPLAMA
Bilgisayarların daha etkin kullanılması amacıyla
yapılan paralelleştirme çalışma ve uygulamalarına,
bilgisayar sistemlerinin hemen hemen her seviyesinde
rastlamak mümkündür. Birbirinden kısmen ya da
tamamen bağımsız işlemlerin (process) birbirine
paralel biçimde çalıştırılması prensibine dayanan
paralelleştirme, işlemcilerin ya da diğer bilgisayar
parçalarının
tasarım
aşamalarından,
binlerce
bilgisayarın bir araya getirilmesiyle oluşturulan
bilgisayar kümelerinin oluşturulmasına kadar birçok
yerde yoğun şekilde kullanılmaktadır.
Sadece paralel ortamlar için tasarlanan homojen
bilgisayarların maliyetleri, heterojen ve sıradan
bilgisayarların biraraya getirilmesi ve farklı kümeleme
tekniklerinin kullanılmasıyla minimum seviyeye
çekilmiştir. Beowulf kümeleme [3] bu yöntemlerden
en popüler olanıdır. Sıradan (commodity off the shelf)
olarak tanımlanan bilgisayarların belirli standart ve
konseptler kullanılarak biraraya getirilmesi olarak
tanımlanan Beowulf kümeleme özellikle Linux gibi
açık sistemler için önerilmiştir.
Kümeleme konseptlerine uygun şekilde bir araya
getirilen bilgisayarlar üzerinde paralel uygulamaların
çalıştırılabilmesi için, paralel bleşenlerin (components)
iletişimini sağlayacak yazılımsal mekanizmalara
ihtiyaç vardır. Bu amaçla endüstri standardı olan MPI
[4] (Mesaj Gönderme Arayüzü) ve yoğun olarak
kullanılan PVM [5] (Paralel Sanal Makine) gibi
paralel programlama kütüphaneleri geliştirilmiştir. Bu
kütüphanelerle geliştirilen uygulamalarda birbirine
paralel çalışan öbeklerin (node) yaptıkları işler
arasında küçük farklar dışında fazla farklılık yoktur.
Temel olarak bir bütün öbekler üzerinde çalışacak bir
sistem tasarlanır ama bu sistemin tasarım süreci
zordur.
Paralel uygulamalar, kendilerine adanmış (dedicated)
ortamlara ihtiyaç duyarlar. Dağıtık sistemlerin aksine
senkronizasyon ve iletişime daha fazla vurgu söz
konusudur. Bu karakteristik özellikler paralel
sistemlerin maliyetlerini artıran temel faktörlerdir.
hesaplama
kaynaklarının,
kullanıcıya
konum
şeffaflığıyla (location transparency) sunulmasındadır.
3. DAĞITIK HESAPLAMA
Merkezi (centralized) sistemlerden farklı olarak
dağıtık
sistemler,
fiziksel
olarak
dağılmış
bilgisayarların biraraya getirilmesi ve koordine şekilde
çalıştırılmalarıyla elde edilirler. Dağıtık sistemlerde,
paralel sistemlerden farklı olarak senkronizasyon
yerine, koordinasyona vurgu vardır. Ayrıca paralel
sistemlerden farklı olarak dağıtık sistem öbekleri
birbirlerinden tamamen farklı işler yapabilirler. Bu
nedenle farklı öbeklerden elde edilen sonuçların
birleştirilmesi ya da uygun şekilde değerlendirilmesi
gereklidir.
4.1 Grid Hesaplama - Elektrik Soketleri
Analojisi
Dağıtık sistemlerin günümüzdeki örneklerine özellikle
bu sistemlere uygun altyapıya sahip Internet ortamında
rastlanmaktadır. Bunların en popüler olanı, tipik bir
dağıtık sistem olan DNS (Domain Name Service)
sistemidir. DNS sunucularının birer öbek olarak
düşünülebileceği DNS sisteminde, istemcilerden gelen
herhangi bir sorguya cevap koordine bir şekilde
hiyerarşik olarak verilir. Diğer popüler bir dağıtık
sistemde SETI (Search for Extraterrestrial Intelligence
at Home) [6] projesidir. Dünya dışı yaşamın
araştırıldığı SETI projesinde uydulardan ve
teleskoplardan alınan büyük miktarlardaki veriler,
Internet’e bağlantısı olan ve SETI ekibi tarafından
geliştirilmiş bir ekran koruyucu uygulaması çalıştıran
PC’ler aracılığıyla değerlendirilmektedir. Bunlara ek
olarak Kazaa, Naspter gibi P2P uygulamaları dağıtık
sistemlerin günümüzdeki yaygın örnekleridir.
Evlerimizde ya da işyerlerimizde kullandığımız
elektrik soketleri Grid Hesaplama’nın çıkış noktası
olarak varsayılır. Bu soketleri, arka tarafında (daha
ilerisinde) ne olduğunu bilmeksizin elektrik
ihtiyacımızı karşılamak amacıyla kullanırız. Tek
ihtiyacımız olan şey elektronik aletimizi çalıştıracak
yeterli bir akımdır. Aynı şekilde Grid Hesaplama’da
amaç ihtiyaca bu yaklaşımla bir çözüm sunmaktır.
Grid ortamları büyük ölçekli (large scale) yani yüksek
hesaplama gücü gerektiren problemlerin çözümünde
kullanılırlar. Elektrik soketlerinde olduğu gibi, Grid
ortamının sağlaması gereken, ortam detaylarının Grid
kullanıcısından saklanmasıdır. Grid kullanıcısı, ortam
detayları ki bunlar ortam öbeklerinin yazılımsal
özellikleri , işletim sistemleri gibi, ya da donanımsal
özellikleri ile ilgilenmemelidir. Kullanıcı kendi işi
üzerinde yoğunlaşmalıdır.
4. GRID HESAPLAMA
4.2 Grid Ortamları
Grid Hesaplama, yüksek performans isteyen
uygulamaların geliştirilmesi için gerekli mimarinin
(architecture) bulunması çabalarının son ürünüdür.
Temelini elektrik soketlerinin çalışma mantığından
alan Grid Hesaplama’nın, Internet’in çalışma
yapısında ve anlaşılmasında bazı önemli değişiklikler
yapacağı düşünülmektedir.
Grid Hesaplama’nın önerilmesinden itibaren birçok
laboratuar ve akademisyen grubu Grid ortamı
geliştirmeye çalışmıştır. Bu çalışmalardan en
önemlilerinden biri; ürün olarak Globus aracını veren,
Amerika’daki Argonne Ulusal Laboratuar’larında
çalışan Ian Foster ve ekibinin çalışması, diğeri
Avustralya’daki Melbourne Üniversitesi, Dağıtık
Sistemler Laboratuar’larında çalışan Raj Kumar Buyya
ve ekibinin geliştirdiği GridBus sistemidir. Globus
daha fazla olmakla beraber her iki sistem hem
akademik hem de endüstriyel alanlarda kullanım
bulmuştur.
Grid konsepti coğrafik olarak ayrık süper ya da
sıradan bilgisayarların birbirlerine bağlanması
amacıyla ortaya çıkmış olmasına rağmen günümüzde
orjinal amacını aşmış; işbirlikçi mühendislik
(collaborative engineering), yüksek verimli hesaplama
(high-throughput computing) ve dağıtık super
hesaplama (distributed supercomputing) gibi alanlarda
kazançlar sağladığı görülmüştür [7]. Grid Hesaplama
da sanal organizasyon (virtual organization) kavramı
vardır. Bu kavram sistemlerin ve bu sistemlerin
kaynaklarının fiziksel özelliklerinden bağımsız, sanal
olarak bir bütünmüş gibi algılanmasını temsil eder.
Buradaki vurgu birbirinden çok farklı konumlardaki
Şekil 1 Sanal Organizasyonlar
4.2.1 Globus
Grid dünyasında de facto standart olarak gelişimine
devam eden Globus, NASA, NSF, deprem ve dünya
araştırmalarının
yapıldığı
birçok
laboratuarda
kullanılmaktadır [8]. Globus sistemi; içerdiği
elemanlar (components) ve yazılımlarla kabul gören
genel Grid modelini şekillendirmektedir. Globus temel
olarak; güvenlik, bilgi altyapısı, kaynak yönetimi, veri
yönetimi, iletişim, hata düzeltimi ve taşınabilirlikle
ilgili yazılımlar içermektedir. Globus sistemi tek
başına çalışabilen komple bir Grid sistemi olarak
kullanılabileceği gibi, uygulama geliştirmek içinde
kullanılabilir.
Architecture) ve OGSI (Open Grid Services
Infrastructure) standartlarının son versiyonları Web
Servisleri standartlarıyla uyumlu hale getirilmiştir.
Böylece OGSA ve OGSI standartları W3C, IETF ve
OASIS spesifikasyonlarına uyumlu hale gelmiştir.
Globus, Linux işletim sistemi gibi açık kaynak olarak
gelişmiştir. Böylece gelişmeye daha açık ve hızlı
uyumlu hale getirilmesi sağlanmıştır.
Globus sistemi kullanılarak geliştirilen bilgisayar
bilimleri projelerinden bazıları; Condor [9], SciDAC
CoG [10], GridLab[11] ve GriPhyN[12]’dır. Bu
projelerden Condor’da, dağılmış şekilde bulunan
bilgisayar kaynakları üzerinde Yüksek Verimli
Hesaplama
(High
Throughput
Computing)’yı
destekleyici mekanizma ve poliçelerin geliştirilmesi,
denenmesi ve kurulması amaçlanmaktadır. SciDAC
CoG projesinde, Grid sistemleri tarafından sağlanan
servislerin daha üst seviyelerde erişilebilmesini
sağlayarak, gelişmiş bilimsel uygulamaların, Web
portallarının ve problem çözme ortamlarının
oluşturulmasını kolaylaştırmak amaçlanmaktadır.
GridLab çalışmasında araştırmacıların çalışmalarını
test edebilmeleri amacıyla bir Grid test ortamı
(testbed) yaratılmıştır. Son olarak GriPhyN projesinde
özellikle fizik olmak üzere temel bilim dallarında Peta
büyüklüklerde verilerin analizi ve işlenmesinde Grid
teknolojilerinin
kullanımı
araştırılmakta
ve
geliştirilmektedir.
4.2.2 Gridbus
Globus sistemine göre daha basit olan Gridbus,
Globus sistemine alternatif olmaya çalışmakla beraber
Grid mimarilerinde yeni açılımlar yapmaya
çalışmaktadır. Globus sisteminden farklı olarak
Gridbus,
Microsoft
.NET
platformunu
da
desteklemektedir. Gridbus sistemi de açık kaynaklı
olarak geliştirilmektedir.
Gridbus projesiyle geliştirilen projelerden birisi
ekonomik ve talep bazlı beyin aktivite analizi
yapılması amaçlanan NeuroGrid projesidir. Projede
Gridbus sistemiyle beraber çalışan Nimrod-G [13]
kaynak brokeri (resource broker) kullanılmaktadır. Bir
diğer projede ilaç tasarımı için kullanılan moleküler
modellemenin yapıldığı Virtual Laboratory projesidir.
Bu projede de Nimrod-G kaynak brokeri
kullanılmıştır.
4.3 Grid Son Gelişmeler
Altyapısı, model uygunluğu nedeniyle potansiyel en
büyük ortam olarak Internet’in farkedilmesiyle Grid
standartlarında Internet standartlarına doğru bir
yöneliş gözlenmektedir. Özellikle Grid servis
mimarislerini yansıtan OGSA [8] (Open Grid Services
Şekil 2 OGSA ve Globus
4.4 Servis Tabanlı Hesaplama
İstemci-sunucu mimarisini bazı önemli değişiklikler
yaparak temel alan servis tabanlı yaklaşımda, merkezi
sunucu yaklaşımından ziyade daha dağıtık, servis bazlı
yaklaşım söz konusudur. Sağlanan servisler sadece bir
prosedür ya da fonksiyon kullanımı olabileceği gibi,
komple işlem sonucu veren programlar/uygulamalar
olabilirler.
Servis tabanlı yaklaşıma sahip olan Grid hesaplama,
katılımlı (anticipated) ya da katılımsız (unanticipated)
servis kullanımı sağlayarak, zaman ve mekandan
bağımsız,
birlikte çalışabilirliği (interoperability)
gerektirmektedir. Grid sistemi üzerindeki özel
öbeklerin belirli arayüzlerle verdiği servisler, belirli
kurallar dahilinde ve servisi tüketen öbekle sunan öbek
arasında
yapılan
anlaşmalara
uygun olarak
sunulmaktadır. Servisle ilgili işlemlerin otomatik hale
getirilmesi amacıyla, varolması olası olan birçok
sürecin
modellenmesi
ve
gerçekleştirilmesine
çalışılmaktadır. Örnek olarak, anlaşma (negotiation),
programlama (scheduling) ya da kaynak rezervasyonu
(resource
reservation)
işlemlerinin
otomatikleştirilmeye çalışılması verilebilir.
4.5 Anlamsal Grid
Internet ortamında bilimsel çalışmaların çok daha
kolay ve hızlı olarak yapılabilmesini amaçlayan EScience fikrinin gelişmesiyle, Grid sistemlerinde içsel
bazı değişiklikler beklenmektedir. Bunlardan bir tanesi
Grid sistemlerinde Semantic Web teknolojilerinin
(ontolojilerin) kullanılmasını öngören yeni açılım
Semantic Grid’tir. Makine işlenilebilirliği (machine
processability) ve özelleşmeyi (specilization) sağlayan
ontolojiler, araştırmalar da zaman kaybına neden olan
birçok rutin sürecin otomatikleştirilmesini sağlayacak
ve bilimadamlarının daha iyi iletişimine olanak
sağlayacaktır. Örnek olarak bir bilim adamı, kendisiyle
ilgili olan bir deneyin sadece ilgilendiği kısmının
verilerinin, otomatik olarak kendisine gönderilmesini
talep edebilecektir.
5. GRID ÜZERİNDE VERİ YÖNETİMİ
Grid uygulamalarının, yüksek performans isteyen
uygulamalar olmalarının temel sebeplerinden bir
taneside, üzerinde çalıştıkları yüksek miktarlardaki
verilerdir. Nükleer araştırmaların yapıldığı Avrupa
Nükleer Araştırma Organizasyonu (CERN, European
Organization for Nuclear Research)’nda yapılan
deneyleri düşündüğümüzde ortaya çıkan terabyte hatta
petabyte seviyelerindeki veriler, Grid üzerindeki veri
yönetiminin önemini vurgular. Örnek olarak bu
laboratuarlarda 2007’te aktif hale gelmesi beklenen
LHC (Parçacık Hızlandırıcı)’de yapılması düşünülen
CMS (Compact Muon Spectrometer) deneyinden 1 PB
(Peta Byte, 1015 Byte) saf bilgi ve 2 PB civarında özet
log verisi elde edilmesi hesaplanmaktadır [14].
5.1 Varolan Yaklaşımlar
Projeye ve projedeki ihtiyaca bağlı olarak değişmekle
beraber Grid üzerinde veri yönetiminde en çok
kullanılan yaklaşımlar; Uzak Girdi/Çıktı (Remote I/O)
ve Veri Bölümleme (Data Staging) dir. Bu
yöntemlerden Uzak Girdi/Çıktı yönteminde, veriye
uzak noktada erişme söz konusudur. Veri kullanılmak
üzere bulunduğu yerden başka bir yere taşınmaz.
Günümüzdeki
web
tabanlı
istemci/sunucu
uygulamalarına çok benzeyen bir şekilde veri noktası
ile uygulama noktası arasında sürekli gidiş geliş
sözkonusudur. Veri bölümlemede veri iki şekilde;
öncel bölümleme(pre-staging) ve sonra bölümleme
(post-staging)
yapılır.
Öncel
bölümlemede,
uygulamanın ihtiyacı olan veri çalıştırılmadan önce
çalışacak olan öbeğe getirilir. Bu bir tip ön belleğe
alma (caching) mekanizması olarak değerlendirilebilir.
Geç bölümlemede ise, uygulamanın çalışması bittikten
sonra veri, talep olmamasına rağmen, tahminlere ya da
varolan poliçelere dayanarak farklı bir öbeğe transfer
edilir. Bölümleme genel olarak veriyi işlemlere ya da
işlemleri veriye taşımak olarak tanımlanır.
5.2 Örnek Projeler
Grid üzerinde veri yönetimi konusunda halihazırda
devam eden birçok çalışma vardır. Bunlar arasında
Condor [9] projesi içerisinde geliştirilen Stork [15] ve
Chirp [16] yer almaktadır. Chirp sistemi özellikle
Uzak Girdi/Çıktı konusunda çalışır ve bu konuda
protokol spesifikasyonu içermektedir.
5.2.1 Stork
Stork, Wisconsin Universitesi tarafından GriPhyN
(Grid Physics Network) projesi kapsamında
geliştirilen,
özelleşmiş
bir
veri
taşıma
programlayıcısıdır. Önceden manuel olarak ya da
küçük programcıklarla yapılan veri taşıma işlemlerinin
programlanabilmesi,
izlenebilmesini
ve
yönetilebilmesine olanak sağlayan Stork, Grid
üzerindeki veri yönetimi problemlerinin/ihtiyaçlarının
çoğuna çözüm bulur [15].
5. SONUÇLAR
Etki olarak Internet’ten sonra “The next big thing”
olarak tanımlanan Grid Hesaplama, Internet’in olası en
büyük hesaplama ortamı olarak düşünülmesiyle
beraber yeni açılımlara sahip olmuş ve bu,
araştırmacıların Internet standartlarını, varolan Grid
sistemlerine entegre etmeye çalışmalarına neden
olmuştur. Grid sistemlerinin son versiyonlarında
desteklenen Web Servisleri standartları bu akımın
göstergesidir. Zaman içerisinde yapılacak çalışmalarla
Internet’in bir Grid ortamı haline dönüşebileceği
düşünülmektedir.
Grid üzerinde birinci sınıf vatandaş olarak tanımlanan
ve yüksek performans ihtiyacının doğmasına neden
olan, yüksek miktarda veri işleyebilme yeteneği Grid
sistemleri üzerinde özel bir öneme sahiptir. Grid
üzerinde sadece veri yönetimiyle ilgilenecek, varolan
Grid sistemleriyle uyumlu sistemler tasarlanmıştır.
Buradan hareketle Grid sistemlerinde verinin önemini
koruyacağı,
dolayısıyla
veri
yönetimini
kolaylaştıran/sağlayan araçlara ve yöntemlere olan
ihtiyaç devam edeceği söylenebilir.
KAYNAKLAR
[1] http://en.wikipedia.org/wiki/Unsolved_problems_in_co
mputer_science
[2] http://searchdatacenter.techtarget.com/sDefinition/0,290
660,sid80_gci762034,00.html
[3] http://www.beowulf.org
[4] http://www-unix.mcs.anl.gov/mpi
[5] http://www.csm.ornl.gov/pvm/pvm_home.html
[6] http://www.seti.org
[7] M. Baker, R. Buyya, D. Laforenza, “Grids and Grid
technologies for wide-area distributed computing”, Vol.
32, Issue 15, pp. 1437-1466, 2002
[8] http://www.globus.org
[9] http://www.cs.wisc.edu/condor/
[10]http://www.doecollaboratory.org/research2/cogkits/hom
epage.html
[11]http://www.gridlab.org/
[12]http://www.griphyn.org/
[13]http://www.csse.monash.edu.au/~davida/nimrod/nimrod
g.htm
[14]K. Holtman et al., “CMS Requirements for the Grid”, in
Proceedings of 2001 Conference on Computing in High
Energy Physics (CHEP 2001), Beijing, China; Science
Press, September 2001
[15]T. Kosar, M. Livny, “Stork: Making Data Placement a
First Class Citizen in the Grid”, 24th IEEE International
Conference on Distributed Computing
(ICDCS2004), Tokyo, Japan, March 2004.
[16]http://www.cs.wisc.edu/condor/chirp/
Systems
Download