Dağıtık uygulama çatılarının karşılaştırılması (Hadoop, GridGain, Hazelcast, DAC) Bölüm I
Merhaba arkadaşlar;
Bu yazıda dağıtık uygulama çatılarının karşılaştırılması üzerine bir araştırmayı paylaşmak istiyorum.
Amaç : Mümkün olan en hızlı, tutarlı, kaynak dostu şekilde uygulama işlemlerini ufak parçalara bölmek.
Öneri 1 : JMS, RMI ile uygulamaları kendi başınıza haberleştirerek, yükü sunucular üzerinde paylaştırmak?
Öneri 2 : Hadoop, GridGain, Hazelcast, DAC gibi dağıtık uygulama çatıları kullanarak, yük dağılımını daha güvenilir bir ortama devretmek?
Tekerleği yeniden icat etmeye gerek olmadığına göre (eğer mevcut tekerlek işinizi görüyorsa) , Öneri 2 ‘ den faydalanmak daha mantıklı.
Test ortamı :
Aynı Local ağ üzerinde bulunan, 8’er işlemciye sahip, 5 adet Intel sunucudan oluşuyor. (Her bir makinada Quad-Core Xeon E5410 2.33GHz işlemci ve 4GB RAM mevcut)
Test metodu : Benchmark testi, ‘Counting Monotone Boolean Functions’ adı verilen çok fazla sistem kaynağı harcayan bir matematiksel problem üzerine kurulu.
Framework’ ler üzerinde üç farklı görev sayısı denenmiş, 341 – 2705 ve 33700 . Görevlerin tamamlama sürelerini milisaniye cinsinden, ayrıntılı olarak aşağıdaki tablodan erişebilirsiniz.
Kütüphane sürümü | Görev sayısı: 341 | Görev sayısı: 2705 | Görev sayısı: 33700 |
DAC 0.7.1 | 305 834.70 | 299 507.70 | 304 971.93 |
GridGain 2.1.1 | 372 279.70 | 338 310.40 | 350 744.00 |
Hazelcast 1.8 | 348 716.70 | 321 922.70 | 335 363.30 |
DAC 0.9.1 | 306 076.20 | 299 815.70 | 305 303.30 |
Hadoop 0.20.1 | 467 042.70 | 384 331.60 | 365 660.40 |
CPU :
Network (alınan):
Network (gönderilen):
Özet :
Bu bölümde, problemin tüm node (sunucu) lar arasında, yük paylaşımını ve bunu ne kadar sürede tamamladığı üzerine duruldu. Hemen hemen tüm framework’ ler süre bazında yakın sonuçlar verdi. Hadoop , görevlerin icrasında %20-%30 kadar daha yavaş işlem gördü. Ama bu Hadoop’ un kötü olduğu anlamına gelmez, çünkü Hadoop’ un asıl odaklandığı nokta büyük data’ ların dağıtıklaştırılması. Tabloda da görüldüğü üzere, görev sayısı ve akabinde veri miktarı artınca, süre bazında Hadoop’ un performansının arttığı görülüyor. 2. Bölümde bu framework’ lerin fail-over durumuna karşı yetenekleri değerlendirilecektir.