Gruppal ile Tatile kn
 
Makaleler
Türkçe English
Nisan 2002'de Microsoft Türkiye'nin davetlisi olarak Microsoft'un Cambridge'teki Araştırma Merkezi'ne (MSR Cambridge) düzenlenen tanıtım gezisine Bilişim Cumhuriyeti adına katılmıştım.

MSR Cambridge'te elde ettiğim izlenimleri içeren yazı dizisinin II. bölümü.

Microsoft Cambridge Araştırma Merkezi İzlenimlerim - Bölüm II
29 Nisan 2002

MSR Cambridge yetkilileri tarafından yapılan teknoloji sunumları arasında bana en çarpıcı geleni, gerçek anlamda P2P servislerinin verilebilmesini sağlayacak ölçeneklenebilir ve kendi kendini organize edebilen bir dağıtık sistem modeliydi.

Napster, Gnutella gibi popüler P2P servislerinde kullanıcıların birbirleri ile etkileşime geçmeden önce merkezi bir bilgi tabanı üzerinden kimde ne tür bilginin bulunduğunu sorgulayarak, ihtiyaçlarına cevap verebilecek nitelikte bilgi barındıran noktalar ile iletişime geçtiklerini görüyoruz.

Bu yapının temelde getirdiği problem merkezi bilgi tabanının online olamaması durumunda işleyişin tamamen sekteye uğraması ve merkezi bilgi tabanı üzerindeki yükün dengelenmesi için çok büyük miktarda verinin değişik sunucular üzerinde replike edilmesi ihtiyacıdır.

MSR Cambridge araştırmacılarından Andrew Herbert ve ekibi, tek bir merkeze bağlı kalmadan etkin bir P2P servisinin verilebilmesi için; IP tabanlı adresleme yerine içerik tabanlı adresleme yönteminin kullanıldığı, merkezi bir önbellek (cache) yada proxy yerine birbirlerine yakın olan noktaların lokal önbelleklerinden faydalanılabilen, yük dağılımı ve kesintisiz işleyiş için merkezi replikasyon yerine içeriğin birbirine komşu noktalar arasında replike edildiği ve bilgilerin doğru adreslere yönlendirilebilmesi için herbir noktanın kendisine komşu olan noktalara hangi yoldan ulaşabildiğini tuttuğu bir sisteme dayanan yeni bir P2P altyapısı üzerinde çalışıyorlar.

IP tabanlı adresleme yerine önerilen içerik tabanlı adresleme yönteminde belirli bir içeriğe IP adresi bilinen makinaların merkezi bir sistem üzerinden sorgulanarak ulaşılması yerine içeriğin tek yönlü bir hash fonksiyonundan geçirilerek, ona ait bir anahtar üretilmesi ve sistem üzerinde o anahtar ile adreslenebilmesi esasına dayanıyor.

Pastry Algoritması olarak adlandırılan bu yöntem, IP ve URL tabanlı adresleme yöntemlerinin makina odaklı yönlendirme yapması nedeniyle P2P uygulamaların ihtiyaç duyduğu zengin içerik yönlendirmesine cevap veremediği için geliştirilmiş. Her bir noktanın, kendisine komşu olan noktalara erişmek için oluşturduğu kapsayan ağaç yapısı (spanning tree), network yöneticilerin çoğu zaman kabusu haline gelen IP multicast uygulamasının da kolaylıkla yapılabilmesine imkan sağlıyor.

Bir başka deyişle Pastry yöntemini, içeriğin tek yönlü bir hash fonksiyonundan geçirilmesi sonucu elde edilen anahtar ile adreslenerek, IP tabanlı fiziksel yönlendirmenin üzerine oturtulması (network overlay) olarak ifade edebiliriz. Noktalar arasında oluşturulan komşuluk matrisi ile herbir noktanın yönlendirme tablosunda O(log(N)) (N = toplam nokta sayısı) kadar kayıt bulunuyor.

Pastry algoritması ideal bir network overlay de bulunması gereken efektif işleyiş, kendi kendini organize edebilme, ölçeneklenebilir olma ve tek noktadan çökmeme özelliklerini içeriyor. Sisteme yeni bir nokta eklendiğinde, çıkartıldığında ya da offline olduğunda, noktalarda bulunan yönlendirme tablolarındaki kayıtlar, dış müdahale gerektirmeden kendilerini güncelleyebiliyorlar. Her bir noktanın, 128 bit uzunlukta olan ve komşuluk matrisinde temsil edilmesini sağlayan bir numarası var.

Birbirlerine komşu olan yada birbirlerinin yakınında bulunan noktaların numaraları birbirlerine yakınsıyor. Bu yakınsama, IP bazında fiziksel bir yakınlık olmasını gerektirmiyor (numara bazında komşu olan 2 nokta IP bazında dünyanın diğer uçlarında olabilir). Fiziksel katman ile etkileşimi sorduğumda Andrew Herbet, noktaların belirli aralıklarla komşu noktaları ping'leyerek cevap süresine göre fiziksel yol hakkında bilgi sahibi olduklarını ifade etti.

Sunumlardan bir diğeri de MSR Cambridge'te görüntü işleme üzerine yapılan çalışmaların bir kısmını içeriyordu. Prof. Andrew Blake ve ekibi, mümkün olduğu kadar az kullanıcı etkileşimi ve manuel düzeltme ile görüntüler üzerindeki objelerin arka plandan (background) ayrıştırılması (JetStream), başka resimlerin üzerine o resme ait arka planda sırıtmayacak şekilde yerleştirilmesi (Bayesian Matting) ve fondan istenilen objelerin iz bırakmadan silinebilmesini sağlayan (Airbrush) yöntemlerini tanıttılar. Windows XP ile beraber bir "deneyim" haline dönüşen Windows kullanımı, bu çalışmaların olgunlaşması ile beraber, son kullanıcıların Adobe Photoshop gibi profesyonel programlarda bulabildikleri ileri görüntü işleme tekniklerine kolaylıkla ulaşmasını sağlayacak.

MSR Cambridge doğal diller ve programlama dilleri konusunda yaptığı çalışmalar ile diğer Microsoft araştırma merkezleri arasında önplana çıkıyor. Bu çalışmaların meyvalarından birisi de C# ve .Net platformu için geliştirilen ve veri yapılarını (data structure) üzerinde kuvvetli tip kontrolü (strong type checking) sağlayan "Generics" kavramı.

Veri tiplerinin özellikle tanımlanmadığı programlama dilleri ile uygulama geliştirilirken sık karşılaşılan sorunlardan birisi, belirli bir veri tipi düşünülerek kullanılan bir değişkene programın çeşitli yerlerinde farklı tiplerde verilerin atanması ve çoğu zaman derleyicinin atanan veriyi doğru veri tipine normalize etmesinin beklenmesi ve bu işlemin yetersiz kaldığı durumlarda hataların debug edilmesi için harcanan büyük emek ve zamandır.

Don Syme ve ekibi, C# ve sonraki aşamalarda diğer .Net dillerinde de kullanılması planlanan Generics kavramı ile herbir veri yapısının içerebileceği veri tipinin açıkça belirlenmesini ve program içerisinde yapılan atamalarda kuvvetli tip kontrolü yapılarak veri tipi uyumsuzluğundan kaynaklanabilecek hataların asgariye indirilmesini hedefliyor. Generics kavramını, kurşunsuz benzin ile çalışan bir otomobile motorin koymaya kalkıştığımızda bizi otomatik olarak durdurması gibi düşünebiliriz. C# ürün geliştirme ekibi kuvvetli veri tipi kontrolünü programlama dili içine yerleştirmek istemiş ancak bir türlü olması gerektiği gibi yapamayınca MSR Cambridge devreye girmiş ve veri tipleri konusundaki uzmanlıklarını kullanarak generics kavramını C# diline entegre etmişler.

© 2003 İlker Atalay, Bilişim Cumhuriyeti
  • Microsoft Cambridge Araştırma Merkezi İzlenimlerim - Bölüm I

  • Diğer Makaleler




  • Home
         ICQ #: 7318385