• Sonuç bulunamadı

Dağıtık Hesaplama ve Dağıtık Sistemler

N/A
N/A
Protected

Academic year: 2021

Share "Dağıtık Hesaplama ve Dağıtık Sistemler"

Copied!
59
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Dağıtık Hesaplama ve Dağıtık Sistemler

Mustafa NUMANOĞLU

(2)

Konular

■ Giriş

■ Dağıtık H esaplam a Nedir?

■ Dağıtık Sistem Nedir?

■ D ağıtık Sistemlerin Nitelikleri Nelerdir?

■ Ö rnek Dağıtık Sistem ler

■ Dağıtık Sistemlerin Zorlukları Nelerdir?

■ Ö zet

(3)

Giriş

■ Bilgisayar ağları her alana yayılmıştır.

■ Mobil telefon ağları

■ Kurum sal ağlar

■ Fabrika ağları

■ Kam pus ağları

■ Ev ağları

■ Araç-içi ağlar

■ Uçak ve trenlerdeki yerleşik ağlar

(4)

Giriş

Dağıtık hesaplama bilişim bilim inde dağıtık sistem leri inceleyen bir bilim dalıdır. Dağıtık sistem birden fazla otom atik bilgisayarın bir ağ üzerindeki iletişimidir. Ağdaki bilgisayarlar belirli bir hedefe ulaşm ak için birbirleriyle

etkileşim içerisindedirler. Dağıtık sistemi

çalıştıran bilgisayar program ına dağıtık program denir.

Bu tür program ları yazm a işlem ine dağıtık programlama adı verilir.

■ Dağıtık hesaplam a aynı zam anda dağıtık sistem leri

kullanarak hesaplam a yöntem iyle problem leri çözm eye denir. Dağıtık hesaplam alarda bir problem birden fazlaya parçaya bölünür ve her bir parça farklı bir bilgisayar

(5)

Dağıtık Hesaplama (Distributed Computing)

■ Dağıtık hesaplam a yöntem inde işlem parçaları, ağ (network) üzerinde birbirine bağlı işleme ünitelerine

dağıtılır. Bağlantı bu şekilde ağ üzerinde olduğundan son derece ölçeklenebilir bir sistem dir. Dağıtık hesaplam a

sistem leri de kendi içinde üç ana kısma ayrılır:

■ C luster Com puting (Bilgisayar Kümeleri)

■ M assive Parallel Processing (Yüksek Düzeyde Paralel İşleme)

■ Grid Com puting (Izgara Hesaplam a)

(6)

Cluster Computing

■ Bu yöntem de bilgisayarlar ağ üzerinde birbirine

bağlanarak tek bir bilgisayar gibi çalıştırılırlar. Bu yöntem le birleştirilen bilgisayarların her biri bu ağdan bağım sız da çalışabilen (standalone) bilgisayarlardır. Bilgisayar

küm elerinin en çok kullanılan tipi Beowulf kümeleridir.

Beow ulf küm elerinde günlük hayatta alışık olduğum uz

bilgisayar kasaları, ethernet kullanılarak TCP/IP üzerinden yerel alan ağı ile birbirine bağlanır. Dünyanın en hızlı ilk 500 bilgisayarı içinde en çok kullanılan yöntem budur.

Hesaplam ada küme bilgisayar kullanımı 1994 senesinde N ASA’da Beow ulf projesi ile başlamıştır. 16 Intel 486 DX4 işlemci ethernet ile bağlanmıştır.

(7)

Cluster Computing

■ Yüksek performanslı hesaplama, artık küme bilgisayarlarla hesaplama halini almıştır. Küme bilgisayar, birlikte çalışmak üzere bağlanmış birden fazla sunucudan oluşur. En önemli dezavantajı kullanıcıya tek sistem arayüzü sunamamasıdır.

(8)

Cluster Computing

■ Küme hesaplam anın tanım ından da belirtildiği gibi kümeli sistem kullanıcıya tek bir sistem olarak görünm ektedir;

fakat burada dikkat edilm esi gereken sistem deki tüm bilgisayarların kullanıcıların kullanım ına açık olduğudur.

Ayrıca küme hesaplam ada tüm bilgisayarlar dış dünyaya açıktır. Bu tür sistem ler için bir yerel ağa bağlı NT iş

istasyonları kümesi örnek olarak verilebilir.

(9)

Cluster Computing Avantajları

■ Birden çok bilgisayarın kaynakları kullanıldığından bir bilgisayar sisteminin kullanılmasından elde edilebilecek çok daha yüksek seviyede başarım ve işlem gücü elde edilmesi küme

hesaplamanın sistemlerde kullanılmasını cazip kılan en önemli özelliktir.

■ Küme hesaplama çökmelere karşı etkin bir koruma sunmaktadır.

Bir bilgisayarın çökmesi durumunda o bilgisayara verilmiş olan iş hemen başka bir bilgisayara yönlendirilerek yapılmakta olan işin aksaması önlenmektedir.

■ Kümeli sisteme bir bilgisayar dahil edilmek istendiği zaman bu bilgisayarın işletim sistemi sistemdeki diğer bilgisayarlardan kopyalanarak kurulabilmekte ve ufak ayar değişiklikleriyle bu

(10)

Cluster Computing Dezavantajları

□ Küme hesaplam aya tabi tutulacak sistem ler doğaları gereği paralel işlem e uygun olm alılar ve bu tür

uygulam aların sayısı oldukça sınırlıdır.

□ Küme hesaplam a bilgisayar ağlarının gelişm esi sonucu ortaya çıkm ış bir hesaplam a türüdür. A ncak küme

hesaplam adaki en büyük sorunlar ağ iletişim inden kaynaklanm aktadır.

(11)

Massive Parallel Processing (Yüksek Düzeyde Paralel İşleme)

■ Yüksek düzeyde paralel işlem (MPP), aynı

programın iki veya daha fazla işlemci tarafından

ortaklaşa işlenmesi biçimidir. Her işlemci programın farklı iş parçacıklarını işler ve her işlemcinin kendisi

kendi işletim sistemine ve özel belleğe

sahiptir. MPP'de yer alan farklı işlemcilerin iş

parçacıklarını işlemeyi düzenlemelerine izin vermek için bir mesajlaşma arabirimi gereklidir. Bazen, bir uygulama, uygulama üzerinde işbirliği içinde çalışan binlerce işlemci tarafından ele alınabilir.

(12)

Massive Parallel Processing (Yüksek Düzeyde Paralel İşleme)

■ MPP, ilgili tüm işlemciler arasında belirli bir

veritabanı fonksiyonlarının paylaşılmasını gerektiren karmaşık bir süreçtir. MPP sırasında veri yollarının bir araya getirilmesi yoluyla işlemciler arasında

mesajlar değiş tokuş edilir. MPP genellikle karar destek sistemleri ve veri ambarları gibi

uygulamalarda bulunur. Süper bilgisayarlar da MPP mimarisinin örnekleridir.

(13)

Grid Computing

■ Distributed com puting olarak adlandırılan dağıtık bilgi işlem e yöntem inin sanallaştırılm asını sağlayan çözüm m im arisine kısaca Grid Com puting denilm ektedir.

■ Buradaki tem el am aç dağıtık bilgi işleme ve veri

kaynaklarının kullanm akta olduğu işlemci güçleri, ağ kapasiteleri ve depolam a kapasiteleri ile tek büyük bir sistem yaratm aktır. Yaratılan bu sistem tam am en

birbirinden bağım sız çalışm akta olan ve birbirine

benzem eyen sistem lerin bir araya gelerek oluşturduğu sanal bir işleme gücüdür. Bilgi sistem leri kapasitelerine sonsuz bir kullanım imkanı sunm aktadır.

(14)

Grid Computing

■ Grid Com puting, ana yapısı açık standartlardan ve protokollerden oluşm aktadır. Open Grid Services

A rchitecture (OGSA) olarak adlandırılan bu açık mimari heterojen ve coğrafi dağınık çevrelerin birbirleri arasında haberleşm elerine imkan tanır.

■ Grid Com puting ile organizasyon içindeki bilgi işleme gücü ve veri kaynakları optim ize olarak kullanılır, bunun

için büyük kapasiteler iş yüklerine ayrılarak

(paylaştırılm ası am acıyla) bütün kaynaklar tarafından işlenir, böylece en optim um kullanım sağlanm ış olur.

(15)

Grid Computing

■ Grid com puting dağıtık ve sanal bir yapıdır. Merkezi yoktur.

■ Grid Com puting açık standart ve protokoller ile kurulur.

■ Grid Com puting genel iş hedeflerine göre belirlenm iş bir servis kalitesi çerçevesinde çalışmalıdır.

■ Grid Com puting, bilgi teknolojileri dünyasında bir devrim değildir, aslında halen kullanılm akta olan dağıtık bilgi

işleme, peer-to-peer, W eb ve sanallaştırm a teknolojileri gibi bir çok kavram ın evrim geçirm esidir.

(16)

Dağıtık Sistem Nedir?

“Ağ üzerindeki bilgisayarlarda bulunan donanım veya yazılım bileşenlerinin yalnız mesaj göndererek

haberleştikleri sistem.” [Coulouris]

“Dağıtık bir sistem, kullanıcılara tek bir sistem olarak

görünen, bağımsız bilgisayarlar bütünüdür.” [Tanenbaum ]

■ Örnek: W W W , Intranet (organization), P2P sistem ler (N apster gibi)

- Bankalar (Bankam atikler) - Bilet rezervasyonu

■ Dağıtık işletim sisteminde birden fazla CPU (işlemci) olmasına rağmen kullanıcı bunu tek işlemci olarak görür.

(17)

Leslie Lamport’un Tanımı

“Dağıtık bir sistem, hiç haberim olmayan bir makine çoktuğu için, üzerinde hiçbir ış yapamadığım bir

sistemdir. ”

Leslie Lamport; dağıtık sistem lerde

■ Tim ing (zam anlam a)

■ M essage ordering (mesaj sıralam a) ve

■ Clock synchronization

üzerinde çalışan tanınm ış bir araştırm acıdır.

■ Kullanıcı çalıştırdığı program ları nerede çalıştırdığını ve dosyaların nerede yerleşm iş olduğunu bilmez. Bu tür işlem lerin hepsi sistem tarafından otom atik yapılır.

(18)

Dağıtık Sistem Nedir?

■ Dağıtık sistem, birden fazla bilgisayar ve/veya sunucunun birbirleri arasında iletişim kurması ve birbirleri ile replika şekilde bir ağ bütünü olarak çalışmasına denir.

■ Dağıtık sistem, bir ağ üzerine kuruludur. Yazılımla, ağdaki bileşenler arası uyumluluk ve kullanıcı açısından saydamlık sağlanır.

Dolayısıyla, dağıtık sistemin diğer ağlardan farkı donanım değil, yazılım katmanından işletim sisteminden kaynaklanmaktadır.

■ Bu büyük ağda bulunan donanımlar kullanıcıya tek bir bilgisayar gibi davranır ve en iyi performansı sağlamayı amaçlar.

■ Dağıtık sistemlerin önemli bir amacı ise, kaynakları paylaşmaya

duyulan gerekliliktir. Bu kaynaklar donanımsal bileşenler (hdd, yazıcı) olabileceği gibi, dosyalar, veri tabanı, gibi servislerdir.

(19)

Merkezi ve Dağıtık Sistem Yapısı

(20)

Dağıtık Sistemin Karakteristik Özellikleri

■ Dağıtık sistemler ortaya çıktıkça belli özellikleri sağlamak ile yükümlü olurlar. Bu karakteristik özellikleri sağlıyor olmak, dağıtık sistemlerin en büyük ve en zor problemidir.

Yüksek Erişebilirlik: Dağıtık sistemlerin, erişebilirliğinin

olabildiğince yüksek olması beklenir. Başarısız bir işlem olsa bile, işlemi tetikleyen kaynağın mutlaka sisteme bir şekilde erişimi olması beklenir.

Güvenlik: Dağıtık sistemlerde, işlemlere ve veriye erişim yetkilendirilir.

Performans: Dağıtık sistemlerin, kendi performanslarının

farkında olması beklenir. Belli sistem yoğunluklarında alacağı aksiyonların belirli olması sistem tasarımında önemlidir.

(21)

Dağıtık Sistemin Karakteristik Özellikleri

■ Açıklık: Dağıtık sistem ler genişletilm eye açık olmalıdır.

Sistem e kolaylıkla alt sistem bileşenleri eklenebilm elidir.

■ Ö lç e k le n e b ilirlik : Dağıtık sistem ler kaynak kullanımı konusunda kolayca ölçeklenebilm elidir. Kaynak

kullanım ına göre sistem in verim li çalışm aya devam etm esi bir şekilde sağlanm alıdır.

■ T u ta rlılık : Sistem in tutarlı olması beklenir. Aynı anda, aynı veri kaynağına erişen sistem lerin uyumlu ve tutarlı çalışması gerekm ektedir.

(22)

Ağlar ve Dağıtık Sistemlerin Karşılaştırılması

■ A ğ : veya geniş alandaki bilgisayarları bağlam ak ve protokoller arası mesaj alışverişi yapm ak için

kullanılan ortamdır. Ağ birimleri görülebilirdir ve açıkça IP adresleriyle adreslenm iştir.

■ D a ğ ıtık S is te m : Birçok bağım sız bilgisayarın varlığı belirgin değildir. Ancak,

■ Açıklık, güvenilirlik, gibi birçok problem ortaktır, ancak farklı katm anlardadır.

■ Ağlar, paket yönlendirm e vs üzerine

odaklanırken, dağıtık sistem ler uygulam alara odaklanır.

■ Her dağıtık sistem bir bilgisayar ağı tarafından sağlanan servislere dayanır.

(23)

Dağıtık Sistemlerin Kullanım Amaçları

■ Kullanıcıya yönelik (neden dağıtık sistem?)

■ Kullanıcı ve kaynakların kolayca bağlanması

■ Şeffaflığın sağlanması

■ Teknik hedefler (nasıl başarılır?)

■ Açık olarak

■ Ölçeklenebilir olarak

■ Bu hedeflere bakmak şu soruyu cevaplamaya yardımcı olur:

■ “Dağıtık bir sistem kurmak, uğraşmaya değer mi?”

(24)

Dağıtık Sistemlerin Gerekliliği

■ İşlevsel ayrım:

■ Kapasite ve amaç bakımından farklı bilgisayarların varlığı:

■ İstemciler ve Sunucular

■ Veri toplama ve veri işleme

■ Doğal dağıtıklık:

■ Bilgi:

■ Farklı bilgiler farklı kişiler tarafından oluşturulup kontrol edilir (Web sayfaları gibi)

■ İnsan:

■ Bilgisayar destekli işbirliği (sanal ekipler, mühendislik, sanal ameliyat)

■ Süpermarket zincirleri için perakende ve stok sistemleri

(25)

Dağıtık Sistemlerin Gerekliliği

■ Güç dengesizliği ve yük çeşitliliği:

■ İşlem yükünün farklı bilgisayarlar arasında dağıtılm ası.

■ Güvenilirlik:

■ Farklı yerlerde uzun süreli koruma ve veri yedeklem e (çoğaltma).

■ Ekonomi:

■ Birçok kullanıcı arasında yazıcı paylaşımı ile sahip olm a masrafının azaltılması.

■ Bir bilgisayar ağından süper-bilgisayar elde etme.

(26)

DS Tanımının Getirdikleri

■ Dağıtık sistem lerdeki bilgisayarlar ayrı kıtalar üzerinde, aynı bina veya aynı oda içerisinde bulunabilir. DS’in getirdikleri:

■ Birlikte ve birbirinden bağımsız çalışan sistemler

■ İşlerini birbirinden bağımsız yaparlar

Aynı zamanda program çalıştırır, bütün bir işleme kaynağı gibi görünür, birlikte çalışırlar

İşlemler mesaj alışverişiyle anlaşırlar.

■ Heterojen (çeşitlilik, farklılık): networks, hw, os, PLan

■ Ortak saat yok: Bilgisayarlar saatlerini kısıtlı derecede senkronize edebilir

■ Bağım sız bozulma: biri bozulsa da diğerleri çalışmaya

(27)

Dağıtık Sistemlerin Altında Yatan Temel Prensipler

■ Dağıtık sistemlerin altında yatan temel prensipler :

■ Processes (İşlemler)

■ Communication (İletişim)

■ Naming (İsimlendirme)

■ Synchronization (Senkronizasyon)

■ Consistency (Tutarlılık)

■ Fault Tolerance (Hata Payı)

■ Security (Güvenlik)

■ Dağıtık sistemlerdeki bazı temel kavramlar:

■ Client - Server (İstemci-Sunucu)

■ Object - Based Systems (Nesne-Tabanlı Sistemler)

■ File Systems (Dosya Sistemleri)

(28)

Dağıtık Sistemlerin Nitelikleri

■ Paralele işlemler

■ Birlikte çalışan bağımsız bileşenler

■ Mesaj gönderme ile iletişim

■ Ortak bellek yok (No shared memory)

■ Kaynak paylaşımı

■ Yazıcı, veri tabanı, diğer servisler

■ Genel sistem durumu belirli değil (No global state)

■ Hiçbir işlem, sistemin genel durumuna dair bir bilgi edinemez

■ Ortak saat yok

■ İşlemler için sadece kısıtlı derecede saat eşitleme mümkün olabilir

(29)

Dağıtık Sistemlerin Amaçları

1. Kullanıcılarla kaynakları birleştirmek: Erişim servisleri uygulama çalıştırır.

■ Belirli kaynaklar:

■ Yazıcılar, bilgisayarlar, işleme gücü, veri

■ Neden paylaşım?

■ Ekonomi

■ İşbirliği, Bilgi değiş-tokuşu (grup çalışması)

■ Paylaşım problemleri

■ Güvenlik

■ İstenmeyen işbirlikleri

2. Şeffaflık: Kaynaklar ve işlemlerin ağ üzerinde dağıtık olduğu açık değildir.

3. Açıklık: Servislerin sentaks ve semantikleri ile ilgili standart kurallar 4. Ölçeklenebilirlik: Daha fazla kullanıcı/kaynak, coğrafya, yönetim 5. Uzun süre bozulmadan çalışabilirlik.

(30)

Paralel Sistemlerden Farkı

■ Multiprocessor (çok işlemcili) sistemler: DS değildir.

■ Shared memory (ortak bellek)

■ Bus-based interconnection network (kablolu bağlantı)

■ Örnek: İki veya daha fazla CPU'lu SMP'ler (symmetric multiprocessor)

■ Çoklu bilgisayar sistemleri: DS değildir.

■ No shared memory (ortak bellek yok)

■ Homojen donanım ve yazılım

■ Massively Parallel Processors (MPP)

■ Tightly coupled high-speed network

■ PC/Workstation clusters

(31)

Örnek Dağıtık Sistemler

■ Internet: birbirine bağlı çeşitli bilgisayar ağları.

■ Uygulamalar iletişimi mesajlarla sağlar.

■ Dağıtık sistem kullanıcıları www, email, dosya gönderme gibi servislerden faydalanır.

■ Intranet: bir organizasyon tarafından yönetilen alt ağ.

Yerel güvenlik politikasıyla sınırlıdır.

■ Uydu bağlantısı, fiber-optik kablolar gibi hızlı iletim kapasitesi olan ağ altyapısı ile bağlıdırlar.

■ Kablosuz ağlar

(32)

Genel internet uygulamaları ve servisleri:

Müzik, radyo, TV kanalları, video konferans erişim i için m ultim edia servisleri, ve çoklu kullanıcı desteği.

intranet

% ISP

\

a

BT

ı □ a

\

B backbone(omurga)

uydu bağlantısı

s '

PC: = ım sunucu: B ağ bağlantısı:

£ı £ B B B

r *

B H

□ □ □

mmu

b

(33)

Genel Bir Intranet:

İnternetin bir alt parçası olup, ayrıca yönetilir ve kaynakların ağ içerisinde paylaşımını destekler (dosya/depolama sistemleri ve yazıcılar)

print and other servers

Web s e rv e r

Local area network

email server

File server

the rest of the Internet

/

emai l serv er Desktop computers

print

other servers

(34)

Gezgin ve Dağınık Bilgi İşleme: Dağıtık Bir Sistemdeki Taşınabilir ve El Aletleri

I nternet

Uygun konumlara yerleştirilmiş (yazıcı gibi) kaynakları

(35)

Kaynak Paylaşımı ve Web: Açık Protokoller, Ölçeklenebilir Sunucular, Takılabilir Tarayıcılar

www.google.com

O

W eb servers

www.cdk3.net O '

www.w3c.org

File system of www.w3c.org

_ A c tiv ity ,h tm i. . .

http://w w w.google.com /search?q=kindberg

Browsers

Internet

http: //www. cdk3.net/

^0

http://www.w3c.org/Protocols/Activity.htm l

(36)

World Wide Web kaynakları

■ World Wide Web kaynakları ve diğer servisler URL’ler ile isimlendirilir.

■ Web Sayfaları paylaşılan kaynaklara örnektir

■ Bu kaynaklar W eb sunucuları tarafından yönetilir

■ Web, istem ci-sunucu yapısı üzerine kuruludur.

■ Web tarayıcısı: İstemci programı,

■ Web sunucusu: İstenen web sayfalarını içeren yerel dosyalara (kaynaklara) erişir ve istemci tarayıcısına iletir.

■ URL - Uniform Resource Locator

(37)

URL

■ Örn: http://w w w .dcs.qm w .ac.uk/research/distrib/book.htm l

■ İlk kısım : Kullanılacak protokol. (:’dan önceki kısım)

■ Örnekteki protokol http’dir ("HyperText Transport Protocol”).

■ İk in c i kısım : W eb sunucusunun dom ain ismi. (// ile / arası).

■ Örnekteki domain ismi: www.dcs.qmw.ac.uk.

■ K a la n kısım : (Tek ‘/ ’tan sonraki kısım). O dom ain

üzerindeki kaynağı (dosyayı) gösterir - W eb sunucusunun kullandığı üst dizinden itibaren isimlendirilir.

research/distrib/book.htm l.

(38)

İş Örnekleri ve Zorluklar

■ Online kitapçı (World Wide Web üzerinde)

■ Müşteriler kendi bilgisayarlarıyla sizin

bilgisayarınıza (web sunucunuza) bağlanabilir:

■ Stokunuza bakabilir

■ Sipariş verebilir

(39)

İş Örnekleri ve Zorluklar

- Ya . . . ?

■ Müşteriniz çok farklı bir donanım sistemi kullanıyorsa? (PC, MAC,...)

■ ... farklı bir işletim sistemi? (Windows, Unix,...)

■ ... farklı bir veri gösterim biçimi? (ASCII, E B C D IC ,.)

Çeşitlilik (networks, h/w, os, prog lan, impl)

■ Veya . . . ?

■ İşinizi ve bilgisayarlarınızı Güney'e taşımak isterseniz (hava şartlarından dolayı)?

■ Müşterileriniz Güney'e taşınırsa (daha muhtemel)?

Konum / Taşınma / Dağılım şeffaflığı

(40)

İş Örnekleri ve Zorluklar

- Ya . . . ?

İki müşteri aynı ürünü aynı anda sipariş verirse?

■ Concurrency (Aynı anda kullanım)

■ Veya . . . ?

■ Stok bilginizi tutan veri tabanı çökerse?

■ Sipariş esnasında müşterinizin bilgisayarı çökerse?

■ Fault tolerance (Hata payı)

(41)

İş Örnekleri ve Zorluklar

■ Y a . . . ?

■ Birileri veri çalm ak için sistem inize girm eye çalışırsa?

■ ... bilgi çekerse?

■ ... m üşteriniz sipariş verir de, sonradan verm edim diyerek ürün teslim ini reddederse?

■ S e c u rity (G ü v e n lik )

■ Veya . . . ?

■ Öyle başarılı olursunuz da, m ilyonlarca insan aynı anda online m ağazanızı aynı anda ziyaret ederse?

■ S c a la b ility (Ö lç e k le n e b ilirlik )

(42)

İş Örnekleri ve Zorluklar

■ Sistem kurulurken ...

■ Bütün yazılımı tek başınıza mı yazmak istersiniz (network, database,...)?

■ Güncellemeler, yeni teknoloji takibi?

Reuse (tekrar kullanılabilirlik) ve Openness (açıklık) (Standartlar)

(43)

Kısaca Zorluklar

■ Heterogeneity (Çeşitlilik)

■ Çeşitli bileşenler birbiriyle uyumlu şekilde çalışabilmelidir.

■ Distribution Transparency (Dağınıklık Şeffaflığı)

■ Dağınıklığın varlığı mümkün oldukça kullanıcıdan saklanmalıdır.

■ Fault Tolerance (Hata Payı)

■ Bir bileşenin bozulması (kısmi bozukluk) tüm sistemin bozulmasına sebep olmamalıdır.

■ Scalability (Ölçeklenebilirlik)

■ Sistem, artan kullanıcı sayısına rağmen verimli çalışmaya devam edebilmelidir.

■ Sisteme yeni kaynaklar eklenerek performans artışı

(44)

Heterogeneity (Çeşitlilik)

■ Çeşitli bileşenler birbiriyle uyumlu şekilde çalışabilmelidir.

■ İşletim sistemleri

■ Donanım mimarileri

■ İletişim mimarileri

■ Programlama dilleri

■ Yazılım arayüzleri

■ Güvenlik ölçüleri

■ Bilgi gösterimleri

(45)

Dağıtık Bir Sistemde Şeffaflık

■ Ş effaf DS: Kullanıcılara, tek bir bilgisayar sistemi gibi görünür, bağımsız bilgisayarlar topluluğu olarak değil.

■ Şeffaflık çeşitleri

■ Erişim: Veri gösterimindeki farklar, ve kaynaklara nasıl erişildiği gizlenir. Yerel ve uzak kaynaklara erişim aynı işlemlerle sağlanır. Örn., Network File Systems (Ağ Dosya Sistemleri)

■ Konum: Bir kaynağın bulunduğu yer gizlenir.

Kaynaklara, fiziksel konumları bilinmeden erişilir.

Alan adının (domain name) makine adresinden ayrımı gibi.

■ Migration (Taşınma): Kaynağın yer değiştirme

(46)

Dağıtık Bir Sistemde Şeffaflık

Relocation (Yeniden konumlandırma): Kaynağın, kullanım esnasında, yer değiştirme durumu gizlenir.

■ Migration / relocation şeffaflığı, bir sistemdeki kullanıcıların veya uygulamaların işlemlerini etkilemeden taşınabilmelerine olanak sağlar.

■ Çalışma esnasında (runtime) bir isim

sunucusundan (name server) bir başkasına geçiş yapma

■ Bir vekil veya işlemin (agent/process) bir düğümden (node) diğerine taşınması gibi

(47)

Şeffaflık Düzeyi

■ Şeffaflık

■ Her zaman istenmez: Farklı kıtalarda bulunan kullanıcılar (context-aware), time-zone (zaman- dilimi), hız

■ Her zaman mümkün olmaz: Hataların gizlenmesi (bir bilgisayar yavaş mı, bozuk mu)

■ Yüksek şeffaflık ile performans arasındaki denge

(48)

Şeffaflık Çeşitleri

■ R e p lic a tio n (K o p y a la m a ): Bir kaynağın birden fazla yerde yedeğinin (kopyasının) tutulduğu gizlenir.

Kopyalanm ış kaynaklara, sadece bir kopya varm ış gibi erişilir. G üvenilirlik ve perform ans kopyalarla artırılır, ama kullanıcıların veya uygulam a geliştiricilerinin kopyalardan haberi olmaz.

■ C o n c u rre n c y (B irlik te ça lış m a ): Bir kaynağın birden fazla kullanıcı tarafından paylaşıldığı gizlenir. Bir işlem, diğer bazı işlemlerin de aynı kaynaklara erişm ekte

olduğunun farkında olm am alıdır

■ F a ilu re (B o zu lm a ): Bir kaynağın bozulm a veya

düzelm e durum u gizlenir. Bozulm alar olsa da, görevler tam am lanabilir. Mesaj iletim tekrarı, bir ağ sunucusu düğüm ünün bozukluğu, web sitesini çökertm em ek

(49)

Şeffaflık Çeşitleri

■ P e rs is te n c e (S ü re k lilik ): Bir yazılım kaynağının bellekte veya disk üzerinde olma durum u gizlenir.

■ P e rfo rm a n s : Yük değişim ine göre perform ansı artırm ak için sistem in tekrar yapılandırılm ası sağlanır. Örn.,

bileşenlerin dinam ik o arak eklenip kaldırılması. Kullanıcı sayısı artınca, doğrusal yapılardan basamaklı

(hierarchical) yapı ara geçilm esi.

■ S c a lin g (Ö lçe kle m e ): Sistem in ve uygulam aların, sistem yapısında veya uygulam a algoritm alarında değişikliğe

gerek olm adan genişletilm esine olanak sağlar.

■ Ağ şeffaflığı: erişim + konum şeffaflıkları

(50)

Bozulma Şeffaflığı: Hata Payı

■ Bozulma: Sunulan bir servisin artık tarifine uygun çalışmaması

■ Hata: Bozulma sebebi (bileşen bozulması gibi)

■ Hata Payı: Hatalara rağmen bozulmama

■ Örn: e-mail mesajlarının sonradan iletilmesi

(51)

Hata Payı Mekanizmaları

■ Hata Algılama

■ Checksums (sağlama), heartbeat (kalp atışı), ...

■ Hata Maskeleme

■ Bozuk mesajların tekrar gönderimi, fazlalık, ...

■ Hataya Müsamaha

■ Exception handling (istisna işleme), timeouts (zaman aşım ları),.

■ Hatadan Kurtulma

■ Rollback (geri sarma) m ekanizm aları,.

(52)

Ölçeklenebilirlik

■ Sistem, küçük bir Intranet’ten Internet’e kadar uzanan birçok farklı ölçekte verimli olarak çalışabilmelidir.

■ Kaynak ve kullanıcı sayısında belirgin bir artış olsa da etkili olarak çalışmaya devam edebilmelidir.

■ Zamanla her şey çoğalır, kullanıcılar artar, bilgisayar sayısı büyür, veri miktarı fazlalaşır, ...

■ Sistemler nasıl ölçeklenebilir olur? Sadece donanım eklemekle mümkün değildir. Bir makinenin 20 kullanıcıya hizmet vermesi, iki makinenin 40 kullanıcıya hizmet vereceği anlamına gelmez.

■ Ölçeklenebilirlik, bir sistemin artan iş yüküne rağmen işlevselliğini düzgün bir şekilde devam ettirebilmesidir.

(53)

Concurrency (Birlikte Çalışma)

■ Resource (Kaynak):

■ Yalnız bir kullanıcı ^ kısıtlı verim

■ Çoklu istemci talepleri: Birlikte erişim

■ Paylaşılan kaynaklara çoklu erişim in desteklenip yönetilm esi:

■ Birlikte çalışılan ortam daki bir nesnenin güvende olması için;

■ İşlemleri, verileri tutarlı kalacak şekilde, senkronize olmalı (eşitlenm eli) (örn. Banka hesabı).

■ Bu, dağıtık olm ayan sistem lerde sem afor kullanım ından daha zordur.

(54)

Openness and Interoperability (Açıklık ve Birlikte işlerlik)

■ A çık sistem: "... düzenli geliştirilm iş uygulam a

yazılım larının, küçük değişikliklerle, çok çeşitli sistem lere taşınabilm esini ve yerel ve uzak sistem lerdeki diğer

uygulam alarla birlikte işleyebilm esini sağlam ak ve kullanıcılarla, taşınabilirliği kolaylaştıran bir tarz ile etkileşm ek için, arayüzler, servisler ve desteklenen

form atlara yeterli açık ta rif veren bir sistem dir." (POSIX Open System s Environm ent rehberi).

■ A çık tarif/standart geliştiriciler - topluluklar:

■ ANSI, IETF, W 3C, ISO, IEEE, OMG, Ticari ortaklıklar,...

■ Yeni servisler, var olan bileşenler bozulm adan eklenebilir.

(55)

Güvenlik

■ Kaynaklar yetkili kullanıcılarca erişilebilir ve istekleri doğrultusunda kullanılabilir.

■ Confidentiality (Gizlilik)

■ Yetkisiz bireylerce görülmeye karşı koruma.

■ Örn. Bilgiye yetkili erişim sağlamak için kullanılan ACL’ler (Erişim kontrol listeleri).

■ Integrity (Bütünlük)

■ Değişime veya bozulmaya karşı koruma.

■ Örn. Bir para isteğinde hesap numarası veya miktar değerinin değiştirilmesi

(56)

Güvenlik

■ Availability (Ulaşılabilirlik)

■ Kaynak erişim yollarındaki çakışmalara karşı koruma.

■ Örn: Servis saldırılarının reddi

■ Reddedilememe

■ Bir bilginin gönderilme / alınma delili

■ Örn: Dijital imza

(57)

Güvenlik mekanizmaları

■ Encryption (Şifreleme)

■ Örn: Blowfish, RSA

■ Authentication (Doğrulama)

■ Örn: Password (şifre), açık anahtarla yetkilendirme

■ Authorization (Yetkilendirme)

■ Örn: Erişim kontrol listeleri

(58)

Özet

■ Dağıtık sistemler her yerde bulunur.

■ Internet, dünyanın her bir yanındaki kullanıcıların her bir yandaki servislere erişimlerini sağlar.

■ Kaynak paylaşımı dağıtık sistem kurmaya teşvik eden etmenlerin başta gelenidir.

■ DS kurulumu birçok zorluğu beraberinde getirir:

■ Çeşitlilik, Açıklık, Güvenlik, Ölçeklenebilirlik, Hata denetimi, Birlikte çalışma, Şeffaflık.

■ Dağıtık sistemler küreselleşmeyi sağlar:

■ Topluluk (Sanal takımlar, kuruluşlar, sosyal ağlar)

■ Science (e-Science) (Bilim)

■ Business (e-Bussiness) (İş)

(59)

Kaynaklar

DISTRIBUTED SYSTEMS

CONCEPTS AND DESIGN

Georçe Coulourls Jeen Oollımore rım Kıntfbarg

Referanslar

Benzer Belgeler

Kontrol grubu için cinsiyete göre yapılan ön-test-son-test karşılaştırması, deney grubu öğrencileri içinde yapılmış ve elde edilen sonuçlara göre deney grubundaki kız

kimyasaliara ihtiyaç olnıaksızın boyanıanın sağlanmasıdır. Özel lik le 1970' 1 i yll larda çözücülü boyanıa geleceğin boyama prosesi olarak görülmüş,

TÜRK KÜLTÜRÜ ve HACI BEKTAŞ VELİ ARAŞTIRMA DERGİSİ / 2010 / 56 351 İNSANA SINIRLI BİR ANLAYIŞIN İÇİNDEN BAKMAK GÖRMEMEKTİR.. hayatına

TRANSATLANTİK TİCARET VE YATIRIM ORTAKLIĞI’NIN KAPSAMI TTYO ile ticaret ve yatırımların serbestleştirilmesine ve pazarlara erişimin kolaylaşmasına yönelik olarak

yüzyılda Anadolu’ya, Ankara’ya uzanarak günümüze.

Bu çalışmada farklı oranlarda (%1-20) Palm yağı (PY) Drosophila melanogaster günlük diyetine eklenerek yaşama oranı ve gelişim süresi üzerine etkisi

Groups isomorphic to the automorphism group of such a compact bordered Klein surface with this maximal number of automorphisms are called M ∗ -..

Tez çalışmasının son aşamasında karbon dioksit buhar basınç termometresi geliştirerek, 217 K ile 293 K arasında gazın termo-fiziksel özellikleri kullanılarak