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) Dependable Systems Laboratuvarı yeni bir IT aracı geliştirdi: DIMMUNIX
Deadlock 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.
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) Dependable Systems Laboratuvarı yeni bir IT aracı geliştirdi: DIMMUNIX
Deadlock 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.
Yorumlar