Eş Zamanlı Yazılımlarda Güvenilirlik Analizi : Lieraür Taraması Erku Tekeli Çukurova Üniversiesi, Kozan Meslek Yüksekokulu, Adana eekeli@cu.edu.r Öze: Son yıllarda yüksek başarımlı hesaplamalara olan ihiyaçlar ve donanım bileşenlerindeki eknolojik gelişmeler eş zamanlı (paralel) yazılım eknolojilerinin de gelişmesini eiklemişir. Belirli bir anda ek bir bileşenin çalışığı sıralı (seri) uygulamalar için kullanılan güvenilirlik analizi yönemleri eş zamanlı yazılım sisemleri için yeersiz kalmışır. Yapılan çalışmada eş zamanlı yazılım mimarisi emelli güvenilirlik analizini yönemleri incelenmişir. Anahar Sözcükler: Yazılım Güvenilirlik Analizi, Sisem Güvenilirlik Analizi, Eş Zamanlı Yazılım, Paralel Hesaplama A Sudy on Archiecure-Based Sofware Reliabiliy Analysis of Concurren Sofwares Absrac: In recen years, echnological advances in high-performance compuaions and hardware componens have also riggered developmen of concurren (parallel) sofware echnologies. Reliabiliy analysis mehods are used for sequenial applicaions running in a single componen a a given ime has been inadequae for concurren sofware sysems. In his sudy, archiecure-based sofware reliabiliy analysis mehods abou concurren sofware sysems were invesigaed. Keywords: Sofware Reliabiliy Analysis, Sysem Reliabiliy Analysis, Concurren Sofware, Parallel Compuing 1. Giriş Kullanıcılar arafından bir sisemin ömrü, özellikleri ile ilgili verilen hizmein iki durum arasındaki geçişine göre algılanmakadır. Durumlardan ilki verilen hizmein sisem fonksiyonunu yerine geirdiği haasız hizme, ikincisi ise verilen hizmein sisem fonksiyonunu yerine geiremediği haalı hizmeir [7]. Haalı bir hizmeen haasız hizmee geçişi onarım olarak anımlarken başarısızlığı ise haasız hizmeen haalı bir hizmee geçiş olarak anımlayabiliriz. Buradan yola çıkarak güvenilirliği haasız hizmein sürekli olarak verilmesinin ölçümü olarak anımlayabiliriz. Elsayed e göre [1] güvenilirlik, bir ürün veya hizmein kesini olmadan asarım çalışma koşulları alında belirli bir zaman periyodu için düzgün (haasız) çalışması olasılığıdır. R d k, k ade giriş nokası içeren bir işleim sırasında sisem başarısızlığı olmamasının olasılığı olsun. R d k kesikli zaman sisem güvenilirliğini; R d k = 1 p k (1) olarak gösermek mümkündür. Burada p, önceki girişlerde başarısızlık olmadığı durumlarda sisemin başarısızlık üremesi şarlı olasılığıdır. e, bir giriş seçimi ile ilişkili işleim süresini olsun. Sürekli zaman sisem güvenilirliği;
R = lim e R d k = e λ (2) eşiliği ile verilir. Burada, λ = lim e başarısızlık oranı olarak kabul edilmişir. Eğer p, g c (p) yoğunluk fonksiyonuna sahip sürekli bir rasgele değişken olduğunu ve λ nın da g c (λ) yoğunluk fonksiyonuna sahip sürekli bir rasgele değişken olduğunu varsayarsak kesikli ve sürekli durumlarda güvenilirlik için aşağıdaki karma dağılımlar elde edilir. p e Eş zamanlı sisemlerde güvenilirliği en az bir bileşenin çalışması olasılığını belirleyerek hesaplayabiliriz. R = P x 1 + x 2 + + x n = 1 P x1 P x 2 x1 P x 3 x1x 2 (5) Sisemdeki bileşenlerin başarısızlıklarını birbirinden bağımsız kabul edersek (5) eşiliği aşağıdaki şekle dönüşür. R = 1 P x1 P x 2 P x 3 P x n = 1 R d k = 1 1 p k g c p dp (3) n i=1 P x i (6) R = e λ 2. Eş Zamanlı (Paralel) Sisemler g c λ dλ (4) Eş Zamanlı (Paralel bağlı) bir sisemde bileşenlerden bir veya daha fazlası başarısız olsa bile kalan bileşen veya bileşenler sisemin düzgün bir şekilde işlemesine imkân verecekir. Yani eş zamanlı sisemin güvenilirliği herhangi bir bileşenin çalışıyor olması olasılığıdır denilebilir. Eş zamanlı bir sisemin güvenilirlik blok diyagramı şekil 1 e göserilmişir. [1] 2.1. Markov Analizi Yönemi Markov analizi yönemi karmaşık sisemlerin analiz edilmesine imkân anıyan bir yönemdir. Bu yönem Markov Zincirleri eorisine dayanır. Sisem bileşenlerinin çalışma, haa veya amir durumunda olmasına göre analiz yapılır. 2.1.1. Durum Uzayı Diyagramı Durum uzayı diyagramı bir sisemin güvenilirlik durumlarının grafiksel göserimidir [5]. Şekil 2 de başarısızlık oranı λ, amir oranı µ olan ve paralel olarak konumlanmış iki eş bileşen göserilmekedir. Bu sisemin durum uzay diyagramını oluşurmaya çalışalım. λ,µ λ,µ Şekil 1. Eş zamanlı bir sisemin güvenilirlik blok diyagramı Şekil 2. Paralel konumlanmış iki eş bileşenden oluşan sisem Bu sisemde 3 durum oluşabilir. i. Durum (D) : İki bileşen de çalışıyor. ii. Durum 1 (D1) : Bileşenlerden biri çalışıyorken diğeri haalı durumda
iii. Durum 2 (D2) : Her iki bileşen de haalı durumda Durum uzayı diyagramında her bir durum bir düğüm nokası ile belirilir. Bir durumdan diğer bir duruma geçiş ise durumlar arasına çizilen oklar ile göserilir. Şekil 3'e paralel konumlanmış iki eş bileşenin durum uzayı diyagramı görülmekedir. a ij = dır. Geçiş marisinin özellikleri şunlardır. i. Geçiş marisi kare marisir. ii. Süunların oplamı 'dır. iii. Marisin köşegen elemanları durum diyagramındaki çevrimleri göserir. İki eş bileşenin paralel olması durumunda geçiş marisi 3x3 boyuunda olacakır. T = 2λ μ 2λ λ + μ λ (7) Şekil 3. Paralel konumlanmış iki eş bileşenin durum uzayı diyagramı Sisem herhangi bir zamanda bu durumlardan yalnızca bir anesinde bulunabilir. Ayrıca bir durumdan diğer bir duruma geçiş sadece 1 ade bileşenin başarısızlığı ile veya amiri ile mümkündür. D durumundan D1 durumuna geçilirken iki bileşenden herhangi birisinin başarısızlığı yeeceğinden geçiş oranı λ+λ = 2λ 'dır. D1 durumunda haalı çalışan bileşen amir edildiğinde ekrar D durumuna geçilir ki bu durumda geçiş oran µ'dür. Yine D1 durumunda iken çalışan ek bileşen de başarısızlığa uğrarsa D2 durumuna geçilir ve geçiş oranı λ'dır. Bir durumda kararlılığı gösermek için diyagramda durumların üzerine çevrimler çizilir. Bu çevrimler negaif bir sayıyla göserilir ve değeri ilgili durumdan ayrılan geçiş oranlarının oplamıdır. 2.1.2. Geçiş Marisi Durum uzayı diyagramından faydalanılarak oluşurulan marise geçiş marisi denir. Marisin elemanı olan a ij, durum j'den durun i'ye geçiş oranını göserir. Eğer geçiş yoksa 2.1.3. Paralel konumdaki iki eş bileşenin MTBF'si P (), P 1 () ve P 2 (), anında sırasıyla D, D1, D2 durumlarında olma olasılığı olsun. +Δ anında; P (+Δ) = P () - P ()2λΔ + P 1 ()µδ (8) (8) eşiliğinde; P ()2λΔ, Δ süresince D1 durumuna geçme olasılığını, P 1 ()µδ ise Δ süresince D1 durumundan D durumuna geçilme olasılığını göserir. Aynı şekilde P 1 (+Δ) ve P 2 (+Δ) olasılıkları da aşağıda göserilmişir; P 1 (+Δ)=P ()2λΔ +P 1 () -P 1 ()(µ+λ)δ (9) P 2 (+Δ) = P 1 ()µδ + P 2 () (1) Sisemin paralel yapısı sebebiyle D ve D1 durumlarında sisem çalışır vaziyee olduğundan sisemin anındaki güvenilirliği; R() = P () + P 1 () 'dir. (11) Bu durumda MTBF (başarısızlıklar arasındaki oralama zaman);
MTBF = R P d = P d + 'dir. (12) Δ, 'a yaklaşığında (8), (9), (1) eşilikleri aşağıdaki hale dönüşür. P = 2λP + μp 1 (13) P 1 = 2λP λ + μ P 1 (14) P 2 = λp 1 (15) Bu üç eşiliği maris formunda yazarsak; P P 1 P 2 = 2λ μ 2λ λ + μ λ. P P 1 P 2 (16) Eşiliğin her iki arafının inegralini alıp çözersek; P d = λ+μ (17) 2λ 2 P 1 d = 1 λ (18) davranışsal özelliklerini modellemek gerekir [8]. Bu modellerin analizi sisemin güvenilirliğini ekileyebilecek asarım sorunlarını oraya çıkarabilir. Mimari bazlı güvenilirlik analizleri üzerine yapılan çalışmalar çoğunlukla belirli bir anda ek bir bileşenin çalışığı sıralı (seri) uygulamaları konu almışır. Seri yazılımlarda yordamsal (prosedürel) programlama eknikleri kullanılmakadır [2, 11]. Faka günümüzdeki birçok yazılım uygulamasında genellikle nesne abanlı ve bileşen bazlı yazılım gelişirme paradigmaları kullanılmakadır. Bu uygulamalarda bileşenlerin eş zamanlı (paralel) çalışmasına da sıklıkla raslanmakadır [6]. Şekil 4, üç bileşenli eş zamanlı bir uygulama mimarisinin durum uzayı diyagramıdır. C i, sisemin i inci bileşeni olsun. Diyagramın her durum nokasında belli sayıda bileşen eş zamanlı olarak çalışmakadır. <DUR> durumu, hiçbir bileşenin akif olmadığı durumu gösersin. Hiçbir bileşen akif olmadığı için <DUR> durumunda bir başarısızlık olması söz konusu değildir. sonuçları bulunur. (17) ve (18) eşiliklerini (12) eşiliğinde yerine koyarak MTBF bulunur. MTBF = P d + P d = λ+μ 2λ 2 + 1 = 3λ+μ (19) λ 2λ 2 2.2. Eş Zamanlı Yazılım Uygulamalarının Mimari Bazlı Güvenilirlik Analizi Yazılım mimarisi bir dizi bileşen, bağlanılar ve yapılandırmaları içeren kavram olarak anımlanır [9]. Modern yazılımlar genellikle performansı arırmak ve/veya haaya dayanıklılık sağlamak için eş zamanlı (paralel) yazılım mimarisi kullanımı gibi farklı mimariler kullanabilmekedir. Bir yazılım bileşeninin fonksiyonunu mimari açıdan modellemek için yapısal ve Şekil 4. Eş zamanlı çalışan C 1, C 2 ve C 3 bileşenlerinden oluşan sisem mimarisinin durum uzayı diyagramı Şekil 4'deki sisemde güvenilirlik hesaplamasının nasıl yapılabileceğine bakalım.
k, sisemde en az 1 bileşenin çalışığı durumların sayısı olsun. n ise oplam bileşen sayısını belirsin. C i bileşenindeki haaların λ i başarısızlık oranı ile üssel olarak dağıldığını varsayalım. π j, sisemin j inci durumda olma olasılığı olsun. π j, durum uzayı diyagramı kullanılarak Sürekli Zaman Markov Zinciri (Coninuous Time Markov Chain - CTMC) modelinin oluşurulup MATLAB yazılımı (veya benzeri bir yazılım) kullanılarak çözülmesi ile elde edilebilir [4]. Toplam çalışma süresinin olduğunu varsayalım. Bu durumda j durumunun oralama çalışma süresi j = π j olacakır. Durumdaki akif çalışan bileşenlerin çalışma süreleri ise j /c j olacakır. Burada c j, j durumundaki akif bileşen sayısıdır. Böylece bir bileşenin sisemdeki oplam çalışma süresi ise şu şekilde bulunabilir; Burada; I i,j = ω i = k j =1 π j c j I i,j (2) 1, 1 i n, 1 j k ve C i durum j de akif ise, diğer durumlarda Bileşen i için beklenen güvenilirlik ise aşağıdaki gibidir; R i = e λ iω i = e λ i k π j =1 j I c i,j j (21) (21) eşiliğinden faydalanarak sisemin güvenilirliğini aşağıdaki gibi bulabiliriz. R = n e n λ k i j =1 π i=1 j I c i,j j 3. Sonuç ve Öneriler n i=1 = i=1 R i = e λ iω i (22) Eş zamanlı yazılımların mimari emelli güvenilirlik analizinde en büyük sıkını bileşen sayısının armasıyla durum uzayı diyagramında durumların sayısının üssel olarak armasıdır. n ade bileşene sahip eş zamanlı bir uygulamada 2 n ade durum oluşacakır. Bu da modelin kurulması ve hesaplanmasını zorlaşıracakır. 4. Kaynaklar [1] Elsayed E.A., Reliabiliy Engineering, Addison Wesley Longman Inc., Reading, Massachuses, (1996) [2] Gokhale, S.S., Trivedi, K.S., Analyical Models for Archiecure-Based Sofware Reliabiliy Predicion: A Unificaion Framework, IEEE Transacions on Reliabiliy 55(4), 578-59, (26). [3] Goseva-Popsojanova K., Trivedi K.S., Archiecure based approach o reliabiliy assessmen of sofware sysems, Performance Evaluaion, 45(2-3): 578 59, (21) [4] Hirel C., Tuffin B., Trivedi K.S., SPNP: Sochasic Peri Nes. Version 6., Lecure Noes in Compuer Science 354-357, (2) [5] Ireson W.G., Coombs C.F., Moss R.Y., Handbook of Reliabiliy Engineering and Managemen, McGraw-Hill Comp., (1995) [6] Kharbouly R.E., Gokhale S.S., Archiecure-based Reliabiliy Analysis of Concurren Sofware Applicaions using Sochasic Reward Nes, The 23rd Inernaional Conference on Sofware Engineering and Knowledge Engineering SEKE 211, Miami, (211) [7] Lyu M.R., Handbook of Sofware Reliabiliy Engineering, IEEE Compuer Sociey Press and McGraw-Hill, (1996) [8] Medvidoviç N., Taylor R.N., A Classificaion and Comparison Framework for Sofware Archiecure Descripion Languages, IEEE Transacions on Sofware Engineering 26(1), 7-93, (2). [9] Ramamoorhy S., Rajagopalan S.P., Sahyalakshmi S., Componen-Based Heerogeneous Sofware Archiecure Reliabiliy (Cohar) Modeling, Inernaional
Journal on Compuer Science and Engineering Vol. 2, No. 4, 128-1285, (21) [1] Roshandel R., Calculaing Archiecural Reliabiliy Via Modeling And Analysis (Phd Thesis), Universiy of Souhern California, (26) [11] Wang W.L., Wu Y., Chen M.H., An Archiecure-Based Sofware Reliabiliy Model, Pacific Rim Inernaional Symposium on Dependable Compuing, (1999)