Deadlock

9 2 Deadlock?nternet dünyasında mutlu mutlu dolanırken girdişiniz bir sitede birden, oradan-buradan yüz adet pencere çıkar, taray?c?nız bir anda iptal olur ya, bir de uygulama hatası verir ya, hatta hemen program yaratıc?sına bir hata raporu yollanmanız istenir ya üstüne bir de… Ben hep yollarım açıkçası. Tekrar aynı hatayla karı?la?tı??mda ise ac? gerçek -bildişim halde – bir tokat gibi tekrar tekrar çarpar suratıma: Evet, kimse benim hata raporlarım? önemsemiyor!

Bu hayal k?rıklıklarını gidermek için, ?sviçre’de bulunan EPFL’deki (École Polytechnique Fédérale de Lausanne-?sviçre’deki iki federal teknoloji enstitüsünden biri) Laboratuvarı yeni bir IT arac? geliştirdi:

ba????kl???ndan bağlayal?m:

Deadlock ba????kl???, deadlock’tan bir kere nasibini almış programların ileride yine karı?laşabilecekleri deadlock sorunlarını önleme yeteneğinin geliştirilmiş halidir. Bildişimiz ba????klık yani.

??te, Dimmunix ise yaz?l?m sistemlerine – programc?lardan ya da kullanıc?lardan hiçbir deste?e ihtiyaç duymaksızın-  deadlocklara karı? ba????klık sistemi kazand?ran bir araçtır.

Dimmunix, hatalardan ö?reniyor, kendi kendine yetiyor ve aynı hatay? bir daha kesinlikle tekrar etmiyor. (Bir sürü pencerenin Web taray?c?nıza hücum etmesi sonucu taray?c?nızın çökmesi mesela.)

Dimmunix, EPFL’deki Dependable Systems Laboratuvarı’nda geliştirildi fakat ?u anda laboratuvarın resmi sitesinde açık kaynak olarak erişimi mümkün. Dimmunix, teori dışında pratikte de sistemlere uygulandışında (JBoss, MySQL, ActiveMQ, Apache HTTPD, MySQL JDBC, Java JDK, Limewire gibi) en dü?ük performanstayken bile etkili bir ?ekilde çal??tı??nı kanıtlad?. Örnek vermek gerekirse 100 hatanın tümünü savu?turmay? başard?. Çok iyi değil miş

Peki nasıl işliyorı

“Başarısızlık ba????kl???” olarak adland?rılan yakla??m, bugla ilk karı?la?tı??nda çal??maya bağl?yor. Bir nevi bug?n imzasını kaydediyor, daha sonra bilgisayarın verdişi reaksiyonu gözlemliyor ve tüm bunları tek bir iz olarak kaydediyor. (Mesela; bir Web sayfasında gezerken karı?m?za çıkan bir dosyaya tıkl?yoruz, aç?yoruz ve tam bu anda sayfa Flash’? ça??rıyor, o anda bir ?eyler oluyor vee taray?c?m?z kilitlenip kal?yor.) Sonraki seferde ise Dimmunix aynı hatay? tanıyor, araya giriyor ve uygulamay? sorunsuzca çal??tırıyor. Böylece o sinir bozucu deadlocklardan kurtulmu? oluyoruz.

Dimmunix ile Web taray?c?m?z virüsle karı?la?tı??nda donup kalmamay? ö?reniyor.

Dimmunix ekibinin lideri Prof. George Candea (bir MIT ve Stanford geçmişi olan Roman bilim adam?) sistemi, insan ba????klık sistemine benzetiyor ve ?öyle devam ediyor:

“Vücudumuz bir kere enfekte oldu?unda ba????klık sistemi antikor üretiyor. Sonrasında, ba????klık sistemi aynı patojenle bir kez daha karı?la?tı??nda vücut onu tanıyor ve en etkili ?ekilde hastalıkla nasıl savaşabileceğini biliyor. Bu da onun gibi.”

“Dimmunix, kodlanmış bir ?eyi değiştirmeye ya da hataları tamir için u?ra?m?yor. Programa hiç karı?m?yoruz aslında. Dimmunix’in yaptı??, program? detay detay analiz edip, deadlocklara kapılmadan çal??ması için yönlendirmek.”  diyerek devam ediyor Candea.

Dimmunix’in son sürümü ise bir ad?m daha ileri gitmiş. Cloud computing olay?ndan esinlenerek ba?ka bir sisteme bağl? bir merkezden ald??? bilgi ve deneyimlerle, tamir ve bug raporlarını dişer sistemlerle paylaşabiliyor.

Tabii ki bu ortak çal??ma birçok riski beraberinde getiriyor. (Gizlilişin himayesi, daha etkili sald?rılar vs.) Prof. Candea,  gizlilik için endişe olmadışını çünkü deadlock izlerinin sadece uygulamanın parmak izini ta??rmışçasına davrandıklarını, bilgi içermediklerini söylüyor.

Kaynaklar: