středa 7. prosince 2011

Počítání BOINC projektů na Androidu (Native Android BOINC Client)


Pokud vlastníte chytrý telefon a využíváte ho "chytře", jistě jsem si již museli položit otázku, jak využít plný potenciál svého zařízení. Grid computing je asi nejvyšší level na který se můžete dostat a pokud by šlo přímo o BOINC, tak prakticky lepší využití neexistuje.
Dnes si předvedeme jak funguje bezprecedentní aplikace pro počítání na Androidech.
Oficiální stránky autora: http://krzyszp.info/ (nejsou moc v dobrém stavu)
Samotné stažení apk souborů: http://krzyszp.info/matszpk/android případně
 http://dl.dropbox.com/u/8477841/nativeboinc.apk
Zdrojáky naleznete zde.

Zprovoznění aplikace je velice jednoduché. Samotná logika se neliší od stolního BOINC manageru. Samotný "server" stále běží a počítá, a s clientem se bud připojíte na localhost, nebo na vzdálený boinc na pc. Teoreticky by mělo být možné se na telefon připojit ze stolního BOINC manageru.

Při prvním spuštění si musíte nastavit heslo pro "server" (pravděpodobně pro vzdálené připojení), aplikace zkontroluje aktualizace a nabídne vám seznam projektů, které v současné době podporuje, jsou to: Primegrid, Enigma@home, MilkyWay@home a Radioactive@home(pouze když máte sensor radiaktivity a telefon s usb hostem + nějaký special ovladač). Do budoucna jistě přibydou další projekty.

Vtip je v tom, že přidat project můžete jen z telefonu, pokud se o to pokusíte přes BAM (ano, aplikace umí správu a synchronizaci před BAM), tak se projekty stáhnou, ale ne pro ARM CPU. Výpočet tedy není možné spustit.




Aplikace je ve verzi 0,2 alfa, není tedy ještě úplně stabilní a zatím mi cca 2x spadla, počítání to naštěstí neovlivnilo, neboť jsou cca každou minutu ukládány checkpointy. Výdrž baterie při běhu ale nepočítání je zatím netestována.
 
 
Výkon:
 
Další zajímavou kapitolou je výkon, to je také docela překvapivé. Zde jsou hodnoty z integrovaného BOINC benchmarku který slouží k rozdělování kreditů.
 
BOINC na Androiu - Desire S -single core 1GHz, 500MB RAM

Naměřená rychlost operací v plovoucí řádové čárce 515.72 milionů op/sek
Naměřená rychlost celočíselných operací 1080.23 milionů op/sek,
Spotřeba 3W (pravděpodobně, viz odkaz)


Intel Atom D510 dual core + HT 1,6GHz, 4GB RAM

Naměřená rychlost operací v plovoucí řádové čárce 720.57 milionů op/sek
Naměřená rychlost celočíselných operací 1849.87 milionů op/sek 
Spotřeba 56-60W (vlastní měření)

Jak je vidět, je telefon s ARM procesorem extrémně efektivní v poměru výkon/spotřeba. Když uvážíme že Android telefonů je prodaných něco kolem 400 000 000, je to skutečně velká výpočetní základna.

Pokud by se vylepšilo současné chování, tj že při zapojení nabíječky začne telefon automaticky počítat projekt, má tato myšlenka skutečný potenciál. A až se začnou objevovat 2 či 4 jádrové mobilní procesory, či grafické čipy které bude moci BOINC využít, nastane dost možná úplně nová éra grid computingu. Přece jen dnešní chytré telefony tráví v nabíječce většinu jejich života. S klidným svědomím a nulovým úsilím. se můžete dostat na 8 hodin výpočtů za den, pokud dáváte telefon an noc nabíjet.

Také musíme čelit tomu, že současné superpočítače strčí celý BOINC grid s jeho výpočetním výkonem do kapsy. Do budoucna bodu mít tablety a telefony ve výpočtech stle silnější slovo.

Pohled na projekt: Můžete si zobrazit kredity celkem, zařízení a RAC celkem a zařízení

Úkoly můžete pozastavovat či odmítat jako na PC, jen počítací doby jsou trochu větší.



Komunikaci s BAM či projekty můžete sledovat stejně jako na PC

 
Widget na ploše umožňuje základní ovládání a přepnutí do speciálního "spořičče/lock screenu" který zobrazuje logo boinc a postup výpočtu.


Rozhodl jsem se také otestovat za jak dlouho výpočet dokáže vycucnout baterii, průběh naleznete níže:
test:  7.11 10:52 100% baterie výpočet probíhá
7.11 12:06 96%   baterie výpočet probíhá

Postřehy a poznámky: Nefunguje na Androidu 2.1
Na disku aplikace i s projekty zabírá 26MB, je nepřesunutelná na SD
Počítání telefon moc nezpomaluje, v hrách a aplikacích je to neznatelné, jen Sence má trochu delší odezvu. Mám nastaveno že při 25% využití CPU se počítání pozastaví
Testováno na telefonu Desire S

Žádné komentáře:

Okomentovat