Berkeley Ağ Hesaplama için Açık Altyapı
BOINC
| |
---|---|
MacOS için BOINC istemcisi | |
Temel veri
| |
geliştirici | Berkeley Üniversitesi |
Yayın yılı | 10 Nisan 2002 |
Mevcut sürüm |
7.6.22 ( 1 Ocak 2016 ) |
işletim sistemi | Windows , macOS , Linux , Android |
Programlama dili | C ++ |
kategori | Dağıtılmış bilgi işlem |
Lisans | GPL / LGPL ( Ücretsiz Yazılım ) |
Almanca konuşan | Evet |
boinc.berkeley.edu |
Network Computing Berkeley Open Altyapı (kısa BOİNC ) bir olduğunu yazılımı - platformu için dağıtılan bilgisayar .
BOINC platformu geliştirilen, Berkeley Üniversitesi ve mümkün internet veya intranet yoluyla ulaşılabilir bilgisayarlar binlerce kullanılmayan bilgi işlem gücünü yapmak mümkün kılar. Bu, çoğunlukla kar amacı gütmeyen ve üniversiteler veya diğer kurumlar tarafından desteklenen projeler şeklinde gerçekleşir. Şu anda hesaplama açısından en yoğun projeler, Samanyolu'nun doğru bir 3B modelini oluşturmak için hesaplamaları, dünya dışı yaşam arayışını , yerçekimi dalgalarının hesaplanmasını , iklim gelişiminin tahminlerini ve yeni ilaçlara araştırma için protein katlanmasının simülasyonunu içeriyor .
Detaylar
BOINC'in geliştirilmesi sırasında, SETI @ home gönüllü hesaplama projesinden elde edilen deneyimler kullanıldı. Platformun bir özelliği, proje yönetiminin bilimsel içerikten ayrılmasıdır.
Bu platformun kullanıcıları bir istemci programı yükler ve ücretsiz bilgi işlem zamanlarını bir veya daha fazla projeye dağıtmak için kullanabilir. Bazı dağıtılmış bilgi işlem projelerinin büyük bir abone tabanının kaynaklarını tüketmek için yeterli işi olmadığı için, bu, yalnızca bir projeye bağlı istemciler üzerinde önemli bir gelişmedir. SETI @ home classic , hesaplama için on iki defaya kadar bazı çalışma paketleri yayınlayarak bu sorunu çözdü, ancak doğru, bilimsel olarak kullanılabilir sonuçlar elde etmek için yalnızca üç sonuç gerekiyordu. Birkaç projeye katılan bir BOINC istemcisiyle, mevcut bilgi işlem gücü daha etkili bir şekilde kullanılabilir.
BOINC, 18 Kasım 2003'ten beri GNU Genel Kamu Lisansı altındadır . Program kodunu yayınlamanın amacı , özgür yazılım topluluğunun aktif yardımı ile çeşitli platformlar için daha geniş bir destek sağlamak ve güvenliği artırmaktır.
6.4.5 sürümünden itibaren, Nvidia CUDA teknolojisini desteklemektedir. Bu, grafik kartlarının hesaplama gücünü CUDA desteği ile kullanmayı mümkün kılar . 6.10.x sürümünden itibaren, ATI akış teknolojisi desteklenir ve CUDA gibi, ATI Technologies grafik kartlarında hesaplamalara izin verir .
Şu anda (Mayıs 2020 itibariyle) yaklaşık 150.000 katılımcı ve yaklaşık 800.000 aktif bilgisayar ile platform, güne bağlı olarak dalgalanan ortalama 32 PetaFLOPS işlem gücüne sahiptir . Uyumlu bir grafik kartıyla iş paketlerinin hesaplanmasını destekleyerek, bilgi işlem gücü geçmişte önemli ölçüde artmıştır.
Bileşenler
Katılımcı tarafı
- Çekirdek müşteri
- Çekirdek istemci, abone bilgisayarında arka planda çalışan bir komut satırı programıdır. Bilimsel uygulamaları katılımcının özelliklerine göre kontrol eder ve izler, iş paketlerini tamponlar ve projenin zamanlayıcıları ve veri sunucuları ile iletişim kurar. Windows'a ek olarak, çekirdek istemci teorik olarak herhangi bir Unix benzeri işletim sistemine de taşınabilir, ancak ilgili platform için herhangi bir bilimsel uygulama yoksa kendi başına oldukça yararsızdır.
- BOINC yöneticisi
- BOINC yöneticisi, çekirdek istemciyi yapılandırmak ve izlemek için bir grafik kullanıcı arabirimidir. WxWidgets araç setini temel alır ve bu nedenle wxWidgets tarafından desteklenen tüm platformlarda çalışabilir.
- Boinc komut satırı arayüzü
- boinc_cmd programı , çekirdek istemcinin komut satırı aracılığıyla kontrol edilmesine izin verir, örneğin herhangi bir grafik kullanıcı arayüzü yoksa ( sunucularda olduğu gibi ).
- Proje uygulamaları
- Her proje, çekirdek istemciden indirilen ve iş paketlerini hesaplamak için kullanılan uygulamaları sağlar. Bunlar, paylaşılan bellek kullanılarak çalıştırma sırasında çekirdek istemci tarafından izlenir. Bu izlemeye yönelik işlevler, BOINC tarafından sağlanan programlama arayüzünde (BOINC-API) sağlanır.
Daha eski program sürümlerinde, çekirdek istemci hem grafik BOINC yöneticisine hem de komut satırı arayüzüne entegre edilmiştir. Mevcut versiyonlarda, ayrı çekirdek istemci, paylaşılan hafıza yoluyla kontrol programları ile iletişim kurar.
Sunucu tarafı
İlgili proje tarafından sağlanan arka uç , bir web sunucusuna, kodlama dili olarak PHP'ye ve bir MySQL veritabanına dayanmaktadır . Büyük projelerde, arka uç hizmetleri birkaç sunucuya dağıtılabilir. Bazı projeler arka uç için PHP yerine Perl veya ASP kullanır, bunlar Berkeley tarafından belirlenen iletişim protokolünü taklit eden projelerin şirket içi geliştirmeleridir.
- Planlayıcı
- Planlayıcı, projenin web sunucusundaki bir CGI programıdır. İş paketlerini katılımcı müşterilere atar ve iş bittiğinde başarı / başarısızlık hakkında kısa bir mesaj alır. Veritabanında tüm faaliyetlerin kayıtlarını tutar.
- Veri sunucusu
- İstemcilerin programlayıcı tarafından atanan iş paketlerini indirdiği ve sonuç dosyalarını yüklediği basit bir HTTP sunucusu.
- Doğrulayıcı
- Doğrulayıcı (her proje için farklı bir program), istemciler tarafından döndürülen sonuç dosyalarının doğruluğunu kontrol eder. Bu genellikle bir iş paketinin birkaç katılımcı tarafından yedekli olarak işlenmesi nedeniyle olur. Doğrulayıcı daha sonra sonuçları karşılaştırır. İdeal olarak aynıdırlar.
- Asimilatör
- Projeye özel bir program. Doğrulanmış sonuç dosyalarını alır ve bunları daha ileri bilimsel analizler için hazırlar. Bu amaçla, sonuçlar örneğin başka bir veri tabanında arşivlenebilir.
- Dosya silme
- Sonuçlar "asimile" edildikten sonra, istemcilerin girdi ve çıktı dosyaları veri sunucusu için gereksizdir ve bunların sayısı da performansına zarar verebilir. Artık gerekli olmayan dosyalar, dosya silici ile sunucudan silinir.
- Geçiş Yapan
- Geçiş yapan kişi, hayali bir boru hattı boyunca iş paketlerinin ilerlemesini izler . Örneğin, doğrulamanın başlayabilmesi için bir iş paketi için yeterince fazla sonuç olduğunu bulduğunda doğrulayıcıyı tetikler.
Fonksiyonlar
BOINC çerçevesinin davranışı, farklı projelerin ihtiyaçlarına göre uyarlanabilir. Yalnızca bazı projeler tarafından kullanılan özellikler şunları içerir:
- Homojen artıklık
- Bazı bilimsel uygulamalar, farklı katılımcı bilgisayarlarda ortaya çıkabilecek sayısal farklılıklara duyarlıdır. Bunun nedenleri işletim sistemlerinde, işlemcilerde veya kullanılan derleyicilerde olabilir . Yuvarlama veya kayan nokta uygulamasındaki küçük farklılıklar tamamen farklı sonuçlara yol açabilir. Örneğin, Predictor @ home durumunda, Intel ve AMD işlemcilerin genellikle farklı protein katları hesapladığı bulundu . İşlemcilerin hiçbiri "yanlış" hesaplamamıştı, çünkü protein yapıları zaten sadece istatistiksel olarak tahmin edilebilir, ancak farklılıklar doğrulayıcıyı altüst edecek kadar önemliydi. LHC @ Home , yeni bir platformdan bağımsız matematik kitaplığı ile sorunu kendisi çözdü. BOINC tarafında, yalnızca aynı platformlara bir iş paketi atamak mümkündür. "Windows / AMD" için bir iş paketi daha sonra yalnızca bu ekipmana sahip bilgisayarlar tarafından işlenir.
- Yerellik planlama
- Bazı projelerde, iş paketlerinin girdi dosyaları çok büyüktür. Bu, projenin ağ bağlantısını zorlar. Bununla birlikte, bazı projeler, birçok iş paketi için aynı girdi dosyalarının gerekli olması avantajına sahiptir. Ağ trafiği daha sonra Yerellik Planlaması aracılığıyla azaltılabilir . Bu durumda, bir istemciye, gerekli girdi dosyalarına zaten sahip olduğunu belirttiği tercihli iş paketleri verilir. Bu teknoloji şu anda çoğunlukla Einstein @ home tarafından kullanılmaktadır .
- Trickles
- ( Damlacıklar için İngilizce ) proje uygulamasının zamanlayıcıya çok uzun süren hesaplamaların ilerlemesi hakkında bilgi verebileceği küçük XML dosyalarıdır. Örneğin ClimatePrediction.net , tamamlanması haftalar hatta aylar sürebilen iş paketlerini kullanır. Ancak kullanıcılar kredi puanları için bu kadar uzun süre beklemek istemiyor. Bu numaralarla, çekirdek müşteri planlayıcıya işin ilerleyişi hakkında bilgi verir, böylece paket devam ederken kredi puanları verilebilir.
- Veri arşivleme
- Projeler, katılımcı bilgisayarın sabit sürücüsünü, katılımcı tarafından belirlenebilecek bir sınıra kadar eski giriş veya çıkış verilerini arşivlemek için kullanabilir. Ancak proje, katılımcının işbirliği olmadan verilere erişemez. Bu seçenek zaman zaman ClimatePrediction.net tarafından kullanıldı, birkaç 100 MB aralığındaki veri hacimlerini içeriyordu. Artık yalnızca BOINC ile dağıtılmış arşivlemeyi ele alan proje konseptleri var, ancak şimdiye kadar böyle bir proje kamuya açık değil.
güvenlik
İstemci güvenliği
BOINC istemcisi, sözde korumalı modun kullanılacağı şekilde yapılandırılabilir . BOINC örneği korumalı alan modunda çalışır . Bu amaçla en düşük haklara sahip bir kullanıcı hesabı kullanılır.
Kredi
Sözde krediler, başarılı bir şekilde hesaplanan ve geçerlilik süresi içinde geri bildirilen çalışma paketleri için verilir. Bu sanal noktalar, yatırılan hesaplama sürelerinin katılımcılar ve ekipler arasında karşılaştırılmasını sağlar. Kredi miktarı, bir yandan proje tarafından (sabit krediler) veya diğer yandan hesaplama süresi ve hesaplama bilgisayarının hızına bağlı olarak belirlenebilir.
Projeler
Bilgisayara yalnızca BOINC yazılımının yüklenmesi gerekir. Bir veya daha fazla projeye kaydolduktan sonra BOINC, gerekli proje yazılımını bağımsız olarak indirir ve gerçek hesaplama sürecini başlatır. Artık çok çeşitli projeler mevcuttur ve yenileri sürekli geliştirilmektedir.
İnternet linkleri
- BOINC - Resmi Web Sitesi
- BOINC Wiki seti-germany.de adresinde
- Android için BOINC - Android cihazlarda BOINC
Bireysel kanıt
- ↑ 7.6.22 sürümünü yayınlayın . 1 Ocak 2016 (erişim tarihi 21 Temmuz 2020).
- ↑ boincstats.com'da aktif kullanıcıya genel bakış
- ↑ boincstats.com'da aktif ana bilgisayara genel bakış
- ↑ boincstats.com'daki BOINC hizmetlerine genel bakış
- ↑ Proje sayfasında BOINC güvenliği
- ↑ BOINC proje sayfasındaki kredilerin açıklaması