190 likes | 545 Views
Eray Özkural, Bora Uçar, Cevdet Aykanat Bilkent Üniversitesi Bilgisayar Müh. Böl. Bağımsız Sık Kalem Kümesi Madenciliği: Ön Sonuçlar. Kuşbakışı Sunum. Sık Kalem Kümesi Madenciliği Kalem Dağıtımı Noclique Algoritması Başarım Sonuçlar. Sık Kalem Kümesi Madenciliği Problemi.
E N D
Eray Özkural, Bora Uçar, Cevdet Aykanat Bilkent Üniversitesi Bilgisayar Müh. Böl. Bağımsız Sık Kalem Kümesi Madenciliği: Ön Sonuçlar
Kuşbakışı Sunum Sık Kalem Kümesi Madenciliği Kalem Dağıtımı Noclique Algoritması Başarım Sonuçlar
Sık Kalem Kümesi Madenciliği Problemi Bir işlem veritabanında, destek eşiğinin üstünde sıklıkta geçen kalem kümelerinin keşfi Örnek işlem veritabanında 3 destek eşiği için sık kalem kümeleri: { {a,d}, {b,e}, {g,a}, {g,d}, {a,g,d}, {g,e} }
Arama Uzayı Arama problemi olarak görmemizi sağlar Downward Closure Lemma: sık kalem kümelerin altkümeleri de sıktır
Kalem Dağıtımı 2'li sık kalemkümelerinin çizgesi, Gf2 T Gf2 4 destek için Gf2 hesaplanması
Düğüm Ayracı ile Çizge Parçalama Bir kombinasyonların optimizasyonu problemi Çizgeyi en ufak düğüm kümesiyle hemen hemen eşit parçalara böl:
İki işlemci için kalem dağıtımı Çizge parçalamadan kalem dağıtımı çıkarıyoruz T1 T2 Set of frequent patterns :
Kalem Dağıtımı Özellikleri İşlemi iki bağımsız parçaya böler Veriyi seçici biçimde yineler Veri yinelemesini minimize eder Dağıtımı hesaplamak için sadece Gf2 gerekir
K-işlemci için Dağıtım İki-yollu dağıtımın özyinelemeli uygulaması I (A,B,S) (A1,B1,S1) (A2,B2,S2)
NoClique Algoritması Genel bir koşut algoritma k-yollu dağıtımın doğrudan uygulaması Adımları GF2 hesaplaması Çizge parçalaması ve kalemlerin dağıtılması Veritabanının yeniden dağıtılması Bağımsız madencilik
GF2 Hesabı Veritabanını koşut olarak tara ve F'i hesapla GF2 için veritabanını bir daha koşut olarak tara Bu safha Count-Distribution gibi çalışır Yerel işlemlerin kalemlerini say Sayıları değiş İşlemci i
Kalem kümesi dağıtımı K-yollu dağıtım için koşut özyinelemeli algoritma Bütün kalemler ve bütün işlemcilerle başlar Her adım o andaki işlemci grubu ile 2-yollu dağıtım yapar İşlemcileri ve kalemleri yük tahminine göre ikiye ayırır Özyineleme her grupta bir işlemci kalana kadar devam eder
Kalem Kümesi Dağıtımı İdeal bir çalışma 4 nodes I (A,B,S) (A1,B1,S1) (A2,B2,S2) 2 nodes 2 nodes
Yük dengeleme Bir kısmın işlem yükünü nasıl tahmin ederiz? Tahmin fonksiyonlarıyla Veri miktarı 3'lü kalemkümelerinin yaklaşık sayısı Ardışık madenciliğin zamanını tahmin eden bir fonksiyon Hangisi daha iyi? Ucuz olmalı Kesin olmalı
Veritabanını YenidenDağıtma Her işlemci kendine atanan kalemleri alacak şekilde yeniden düzenle Yatay veritabanını bir kere tara (koşut) Her işlemi böl Her işlemci için, kalem kümesiyle kesişimi hesapla Gönderme bufferına ekle Toplu bir iletişimle hedef işlemcilere gönder (AAPC)
Bağımsız Madencilik Her işlemci kendi kısmını bağımsız biçimde işler Herhangi bir ardışık madencilik algoritması kullanabiliriz Deneyler için birçok ardışık algoritma kullanıldı
Optimizasyonlar Yerel budama Dağıtık çizge veri yapısı Asenkron iletişim
Başarım 32 işlemcili Beowulf sistemi Skynet'de denendi Sentetik veritabanları için sonuçlar alındı KDCI için hızlanmalar:
Sonuçlar Madencilik işini yukarıdan-aşağıya bölmek için yeni bir kalem dağıtımı metodu bulduk K-yollu dağıtımı ve bağımsız madenciliği uygulayan bir koşut algoritma geliştirdik Deneylerde iyimser hızlanmalar elde ettiğimizi gösterdik