GridAE: Yapay Evrim Uygulamaları için Grid Tabanlı bir Altyapı Erol Şahin Bilgisayar Mühendisliği Bölümü, Orta Doğu Teknik Üniversitesi Ankara, Türkiye 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA İçerik Giriş Doğal Evrim Yapay Evrim PES: Tek Bilgisayar Kümesi için Paralel Evrim Sistemi GridAE: Yapay Evrim Uygulamaları için Grid Tabanlı bir Altyapı 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA Giriş Yapay Evrim (YE), mühendislik ve robotbilimden sosyal bilimler ve genetiğe kadar değişen alanlardaki karmaşık problemlerin çözümü için nispeten yeni bir yaklaşımdır. Doğal evrimde kullanılan yöntemlerden esinlenen YE, bir aday çözümler popülasyonu yaratır ve verilen problem için bu çözümlerin iyiliğini (fitness) hesaplar. Adayların iyilik değerlerini temel alarak, çaprazlama ve mutasyon gibi genetik işlemler kullanılarak yeni bir aday çözümler nesli yaratılır. 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA Giriş Yeni nesil yaratma işlemi, daha iyi çözümleri daha çok kullanarak (survival of the fittest) yeni neslin kötü çözümleri içerme olasılığını azaltır. İşlem yeterince iyi bir çözüm bulununcaya kadar tekrarlanır. Her evrim işlemi çok sayıda iyilik hesaplaması gerektirir. 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA Doğal Evrim Bir popülasyon çok çeşitli bireylerden oluşur. Bireylerin özellikleri genleri tarafından belirlenir. Daha iyi bireyler ortalamanın üzerinde iyilikte yavru verme eğilimindedirler. Yavrular, daha iyi bireylerin genlerinin çaprazlanmasıyla oluşurlar. 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA Yapay Evrim Bir çözümler popülasyonu oluştur. Önceden tanımlanmış bir “iyilik fonksiyonu” kullanarak her bir çözümün kalitesini hesapla. Ortalamanın üzerinde çözümler üretmek için daha iyi çözümleri kullan. Daha iyi çözümlerin çaprazlanmasıyla oluşturulmuş yeni çözümler elde et. 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA Benzerlik PROBLEM ÇÖZME Problem Aday Çözüm Kalite EVRİM Çevre Birey İyilik (Fitness) İyilik hayatta kalma ve üreme şansı Kalite yeni çözümler üretme şansı Eiben ve Smith’in sunumundan alınmıştır. 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA Uygulama Alanları Mühendislik Bilgisayar Grafiği Tıbbi Görüntüleme Kontrol Sistemleri Robotbilim ... 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA Evrimsel Robotbilim Problem: Robota istenilen görevi yaptıracak bir denetleyici nasıl tasarlanmalı? Elle kullanılan bir denetleyici tasarlamak genellikle zor yada imkansızdır. Değişik denetleyici seçeneklerini değerlendirmek için gerçekçi simülatörler kullanılır. 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA Evrimsel Robotbilim Algılayıcı verisi Kromozom 010101 100111... Denetleyici Denetleyici Denetleyici parametrelerine çevir Robotlardaki denetleyiciyi kullan Harekete Getirici Çıktı 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA Gelişen Denetleyiciler ........... Krom.1: 1010001110... Nesil n Krom.2: 0011110101... ......... Seç Çoğalt Mutasyona uğrat Nesil n+1 Krom.1: 0101011001... Krom.2: 1100110111... ........... Popülasyon n ......... Popülasyon n+1 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA Fizik Tabanlı Simülasyon Avantajlar Gerçek robotlu deneylerden daha hızlı ve güvenilir Gerçekçi Dezavantajlar Yüksek işlem gücü ihtiyacı! 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA Tek Makine Kısıtlamaları Hesaplama gereken: Bayağı Diferansiyel Denklemleri Çözmek Daha çok çarpışma ile karmaşıklığı arttırmak Tek bilgisayar için gereken yaklaşık zaman: Bir tek evrim için, dakikalar mertebesinde 100 kromozom ve 100 nesil için toplam zaman > bir hafta (tek makinede) 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA Problem / Çözüm YE’nin işlemsel gereksinimleri, bir tek bireyin hesaplamalarındaki berimsel gereksinimlerle orantılıdır. Bu durum büyük bir dar boğaz yaratmakla beraber tüm işlemin paralelleştirilmesi için bir fırsat oluşturuyor. 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA PES: Bilgisayar Kümeleri için Paralel Evrim Sistemi • Geçmiş çalışma: Soysal O., Bahceci E., and Sahin E. “PES: A system for parallelized fitness evaluation of evolutionary methods”, in Yazici and Sener (eds.), Proc. of the 18th ISCIS, LNCS 2869, 889-896, Springer-Verlag, 2003. 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA PES’in Mimarisi Sunucu Clients Sunucu Birimi PES-S Yapay Evrim İyilik Hesaplaması PES-C Client Birimi PES-C Client Birimi PES-C Client Birimi 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA PES’in İletişim Modeli PES-S PES-C PES Ağ Adaptörü PES Ağ Adaptörü PVM / MPI PVM / MPI Makina Makina 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA PES-S PES-S Görev Üreticisi Sunucu Birimi Görev Yöneticisi Yapay Evrim En İyi Çözümler Konfigürasyon Yöneticisi 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA PES-C Client Birimi Görev Simülatör İyilik İyilik Hesaplayıcısı PES-C 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA PES’de İşlemci Yükü Dengeleme Dinamik simülasyon Değişen sayıda çarpışma Değişken görev karmaşıklığı Değişken işlemci yükü Dörtgenler ve Altıgenler: görevler Dik çizgiler: Yeni nesil başlangıcı 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA PES’de Hata Tahammülü 2. işlemcide hata oluyor 15. saniyedeki ‘ping’ işleminde tespit ediliyor 19. saniyede görev yeniden başlıyor Kırmızı çizgiler: Ping Mavi çizgiler: Nesil Sayılar: Görev numarası 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA PES’de Verim ve Hızlanma 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA PES’de 128 İşlemci ile Nesil Boşluğu 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA GridAE: Yapay Evrim Uygulamaları için Grid Tabanlı bir Altyapı Bu çalışma YE uygulamaları için Grid tabanlı bir altyapı geliştirmeyi amaçlamaktadır PES’in fikir ve deneyimini Grid üzerine taşıyarak. Bu altyapı evrim hesaplamalarını Grid üzerine dağıtacak YE kullanıcısı için saydam bir arayüz oluşturacak. Altyapının analiz, tasarım, gerçekleştirme ve test etme aşamalarında, evrimsel robotbilim problemleri (örneğin özerk robotlar için denetleyiciler geliştirmek), yol gösterici olarak temel uygulama alanımız olacak . 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA GridAE Mimarisi Web Arayüzü Uygulama Birimi Yönetici bölümü GridAE-S Uygulama Birimi . . . Uygulama Birimi İşçi bölümü GridAE-C ... ... İşçi bölümü GridAE-C Görev Grubu Yönetimi EDG gLite 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA Tesekkurler.. 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA GridAE Çalışma Birimleri PES Altyapı Görev Grubu Yönetimi GridAE-S GridAE-C Web Arayüzü Evrimsel Robotbilimi Uygulaması Test Etme, Hata Ayıklama & Arıtma 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA GridAE Takvimi PES tamamlanmış durumda. Görev Grubu Yönetimi alt katmanı, 2006 yazında geliştirildi. SEE-Grid-2’nin GridAE’ye desteği, Ocak 2007’de resmen başladı. Proje 10-12 ay sürecek. 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA Görev Grubu Yönetimi Tamamlandı! Görevleri (GridAE ‘işçi’lerini) grup olarak teslim etmek ve yönetmek için kullanılacak İçerdiği komutlar: edg-jobgroup-submit edg-jobgroup-status edg-jobgroup-cancel glite-jobgroup-submit glite-jobgroup-status glite-jobgroup-cancel Bağımsız bir ara katman başka projelerde de kullanılabilir 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK, ANKARA