poniedziałek, kwietnia 24, 2006

Pożycz mi swój procesor ;-)

Dziś może być trochę niezrozumiale, ale jak zwykle w poniedziałek jestem na nogach od 2:20 ;-)

Kilka lat temu zastanawiałem się czy można by było "kraść" moc procesorów, tudzież opłacać mocą CPU odwiedzanie stron WWW.

Dlatego też postanowiłem dziś poprekursorować ;-) [nic mi nie wiadomo by ktoś już się tym zajmował, ale przyznam, że nie szukałem zbyt dokładnie ;-)]

Celem dzisiejszego eksperymentu [którego większa część została wykonana wczoraj ;-)] jest stworzenie mechanizmu do "kradzieży" mocy obliczeniowej cudzych procesorów tak by te "skradzione" procesory szukały liczb pierwszych.
Ponieważ nie mam chwilowo dostępu do serwera, na którym mógłbym przechowywać dane to eksperyment będzie niepełny o przesyłanie danych do serwera.

Zacznijmy od wyjaśnienia co kryje się pod terminem "kradzieży czasu procesora".
W skrócie chodzi o wykorzystanie procesora osoby odwiedzającej stroną do przeprowadzenia pewnych obliczeń, w tym przypadku obliczeń prowadzących do wyszukiwania liczb pierwszych.

W celu przeprowadzanie "kradzieży" należy spreparować odpowiedni kod w JavaScript i osadzić go na naszej stronie. W celu osadzenia wykorzystam ten plik.









Po lewej mamy kod działający ciągle, po prawej mamy kod, który udaje przesyłanie do serwera danych.

Jak widać powyżej w ciągu czytania tego wpisu osadzony kod "ukradł" już trochę czasu procesora osoby czytającej... i o to właśnie chodzi ;-)


Istotnym problemem w trakcie tworzenia kodu "kradnącego" moc procesora jest to by "okradany" komputer nie cierpiał na tym zbytnio i by użytkownik nie odczuwał problemów związanych z kradzieżą mocy.
Dlatego też ograniczamy się do tego by pojedyncza "iteracja" trwała około 50 ms [można eksperymentować z większymi czasami, ale w pewnym momencie stają sie odczuwalne dla użytkownika].


Jeżeli wydaje się komuś, że mnie się nudzi i robie dziwne rzeczy to radze spojrzeć tutaj ;-) Tym to się dopiero musi nudzić ;-)



Podobne postybeta
Android Market jest.... taki sobie ;-)
Refleksja nad punktem 11
Celeron M353 900MHz vs. Intel Atom 1.6GHz, czyli o tym czemu jest remis? ;-)
Ułuda prawdopodobieństwa, czyli jak użyć Bayesa do "wnioskowania"
Klauzula samoluba?