Aktualności:

Nowy polski projekt BOINC - Universe@Home

Menu główne

aplikacja zaaktualizowana do wersji 3.17

Zaczęty przez Ufol, 29 Listopad 2011, 20:38

Ufol

Jakie są wasze wrażenia? Pobrałem ją dzisiaj i odpaliło mi aplikację zajmującą 600 mega ramu. Pokazuje, że jest w wersji x64 bitowej, ale czy Rosetta potrafi efektywnie wykorzystać potęcjał x64, czy to tylko pic na wodę fotomontarz? Liczył ktoś już na aplikacji w wersji 3.17? Jeżeli tak, to powiedzcie, czy to jakiś przełom, czy kolejna aktualizacja bez szczególnego znaczenia.

Aegis Maelstrom

Zgodnie z zapowiedzią daną Ufolowi powtórzę odpowiedź na szerokim forum, może się większej liczbie kamratów przyda.  :parrrty:

Co do kwestii zużycia pamięci przez Rosetta@home,  generalnie nie jest ono kwestią konkretnej wersji aplikacji, tylko samej jednostki obliczeniowej (Work Unit). Jest to wypadkowa typu zadania, protokołu obliczeniowego który został zażądany i cząsteczki chemicznej (czy ew. cząsteczek), którymi się bawimy optymalizując ich strukturę.

Rosetta@home ma jednostki różnej wielkości, ale to ilość RAM jest ważnym czynnikiem w rozwoju projektu, np. zwiększaniu złożoności i poprawie skuteczności wyliczeń.
Przez długi czas przewidywane wymagania jednostek co do pamięci były stosunkowo niskie, później (o ile pamiętam jakoś w 2008/2009) zmieniły się na 512 MB na jednostkę, a (sądząc po historii Unofficial BOINC Wiki) w lipcu 2011 zostały podniesione do 1 GB. Z tego co wiem, przeciętne zużycie pamięci jest znacznie mniejsze i można z pwodzeniem uczestniczyć w R@h z mniejszą ilością RAM, niemniej rekomenduje się zostawienie przynajmniej tyle pamięci.

Rosetta@home wg opisów na swoim forum stara się wykorzystywać optymalnie dostępne komputery. R@H stara się mieć jednostki o różnej pamięciożerności, trzymać zużycie rozsądnie małe oraz pilnować, by przy rozsyłce dostosowywać pamięciożerność jednostek do możliwości maszyn (czyli komputerom uboższym w RAM podsyłać mniej RAMochłonne jednostki.

Niestety, nie zawsze się to udaje, bo np. pamięciochłonność nie zawsze jest prosto przewidywalna. Stąd częste raporty o błędach.
Trzeba pamiętać, że ze swej natury Roseta@home, oficjalnie projekt stabilny, tak naprawdę jest wieczną eksperymentującą betą. Wynika to z pierwotnego i wciąż podstawowego celu projektu: opracowywania nowych protokołów optymalizacji i testów na nowych cząsteczkach.
To nie jest np. przesiewanie liczb przy szukaniu liczb pierwszych, które jest algorytmem prostym i o łatwym do przewidzenia zachowaniu. Rosetta jest znacznie bardziej skomplikowana i opiera się na rozwoju oprogramowania: jest to jedna z przyczyn (obok wysokiego "ugałęziowienia" kodu i wymogów co do RAM) braku wersji GPU.

Co do konkretnej wersji aplikacji Rozetki i związanych z nią problemów: błędy najlepiej zgłaszać bezpośrednio im, na forum technicznym projektu. Wątek poświęcony wersji 3.17 znajduje się tu: http://boinc.bakerlab.org/forum_thread.php?id=5835 , można też ostatecznie zgłaszać w wątku ogólnym: http://boinc.bakerlab.org/forum_thread.php?id=5701 czy zakładać specyficzne wątki.

Od siebie dodam, że rzeczowy opis problemu można wrzucić na forum BOINC@Poland ku przestrodze dla polskojęzycznych użytkowników, natomiast aby kontaktować się bezpośrednio z użytkownikami anglojęzycznymi a nawet administracją najlepsze jest forum Rozetki.

Przy zgłoszeniach warto podawać jak najwięcej szczegółów: co widać w komunikatach BOINC i np. raporcie jednostki po przeliczeniu, jak zachowuje się przeliczanie i jednostka (np. na animacjach), jakie zużycie pamięci, zasobów, konfiguracja sprzętu itd. Generalnie liczyć można na moderatora forum, pisze jako Mod.Sense - natomiast o ile się orientuję jest to również ochotnik, nie związany bezpośrednio z zespołem Davida Bakera.

Co do samych wersji aplikacji - faktycznie Rosetta posiada wspiera wersje dla Linuksa i Windows na x86-64. Nie wiem jednak jak z wydajnością. Przeglądając stare wątki na forum można znaleźć ogólnikowe informacji ochotnika, który parę lat temu zajrzał do kodu, że sama 64-bitowość specjanie Rozetcie nie pomaga (np. z jednej strony są 64-bitowe rejestry pamięci, ale z drugiej np. wskaźniki zajmują 2 razy więcej cache procesora, a o ile mi wiadomo Rosetta lubi mieć go sporo). Natomiast w ocenie człowieka przydatne mogą być różne zestawy instrukcji i dodatkowych szerszych rejestrów (jak wszystkie SSE...)

To chyba temat na ciekawy wątek na forach Rosetty@home.

Mam nadzieję, że takie podsumowanie komuś pomoże :)

Miłego liczenia!

pawg

Po aktualizacji rozetta nie działa. Wzystkie WU mają status "Błąd"!



_Aleksander_

Z moich obserwacji wynika, że 3.17 zawiera o wiele więcej WU, które kończą się błędem niż poprzednia wersja. Mam jeden komputer z lekko podkręconym CPU, na którym nawet długie LLR Primegrida przechodzą bez zająknięcia, a prawie połowa WU Rosetta@Home wywala się po kilku sekundach pracy. Nic nie było zmieniane, instalowane, aktualizacje wyłączone, a nowych WU nie chce liczyć i już. Czytałem, że generalnie Rosetta@Home bardzo intensywnie korzysta z pamięci RAM w sensie używania, nie tylko alokowania zasobów. Może więc to minimalne podkręcenie CPU nie sprawia różnicy, ale automatyczne przetaktowanie pamięci skutkuje błędem w przeliczaniu WU.

pawg

Ale przynajmniej u ciebie nie powoduje zawieszeń kompa.



Ufol

Liczyłem tylko dobę, więc doświadczenia skromne. Nic mi się nie wysypało. Do Rozetty wrócę tak w okolicach Bożego Narodzenia, bo wyścigi mi się na łeb zwaliły. Ciekawy jest problem wykorzystania x64. Taki Simap potrafi wykorzystać 64 bity, liczy o jakieś 40% szybciej. Czy można powiedzieć, że cały projekt służy rozwojowi pozostałych białkowców, ponieważ przyczynia się do powstawania aplikacji lepiej imitujących autentyczne reakcje chemiczne?

_Aleksander_

Komputera to może nie zwiesza, ale na jednej maszynie linuksowej zauważyłem, że jak trafi się taki feralny WU, to zanim się wywali to potrafi "zablokować" zadania na kilku innych rdzeniach. Przez narzędzie boincview widać wtedy jak jeden WU z Rosetta@Home jest w stanie jakiegoś zawieszenia i brak postępu mimo upływającego czasu. W tym samym czasie pozostałe rdzenie są bez przypisanych zadań. Oczywiście bufor maszyny jest wtedy pełny i WU czekają, ale jakoś nie mogą rozpocząć liczenia. Nie mogę sprawdzić oznaczenia serii tych problemowych WU, bo Rosetta@Home trzyma bardzo krótką historię przeliczonych WU, a ta maszyna od dobrych kilku dni młóci WCG...

Aegis Maelstrom

Cytat: Ufol w 03 Grudzień 2011, 00:10
Liczyłem tylko dobę, więc doświadczenia skromne. Nic mi się nie wysypało. Do Rozetty wrócę tak w okolicach Bożego Narodzenia, bo wyścigi mi się na łeb zwaliły. Ciekawy jest problem wykorzystania x64. Taki Simap potrafi wykorzystać 64 bity, liczy o jakieś 40% szybciej. Czy można powiedzieć, że cały projekt służy rozwojowi pozostałych białkowców, ponieważ przyczynia się do powstawania aplikacji lepiej imitujących autentyczne reakcje chemiczne?
Pisząc o rozwoju innych projektów masz na myśli SIMAP czy Rosettę?

Z tym wzajemnym korzystaniem, o ile wiem, sprawa jest złożona.

Po pierwsze, nie ma jednej aplikacji biochemicznej czy nawet jednego problemu obliczeniowego. Inne podejście optymalizacyjne ma Rosetta, a inne np. QMC (wbrew szufladkom "biologia" i "chemia" to są dość podobne projekty, tylko optymalizują różne cząsteczki i na różnym poziomie szczegółowości).

Co do SIMAP i Rosetty, to są bardzo różne projekty. SIMAP szuka podobieństw między białkami oraz domen białek przy użyciu odpowiednich uznanych algorytmów i ich implementacji: FASTA i InterPro. Rosetta szuka trójwymiarowych postaci białek dla zadanego wzoru chemicznego i chce zoptymalizować proces takiego szukania. Różne zadania, różne algorytmy. Ale: ponieważ w ramach ostatnich CASP wyszło, że metody korzystające z wiedzy o już rozpoznanych białkach do przewidywania nowych szybko się rozwijają, Rozetka miała iść także w tym kierunku i teoretycznie ta baza o podobieństwach białek itp. mogłaby im się przydać. Trzeba by o to spytać zespół Davida Bakera (Rosetta@home).

Co do projektów BOINC na pewno korzystających z Rosetty: z cała pewnością z pewnej wersji oprogramowania Rosetty korzysta podprojekt World Community Grid Human Proteome Folding (zarówno obecna faza druga, jak i zakończona faza pierwsza). Ponieważ Baker Lab dzieli się Rosettą z innymi instytucjami (i o ile pamiętam, z uniwersytetami bezpłatnie, a od pewnego czasu mieli nawet udostępniać R@h do obliczeń naukowcom z zewnątrz), więc z rozwoju tego oprogramowania mogą skorzystać i inne ośrodki badawcze.

Z innych, niezależnych projektów "białkowych":

Najbardziej zbliżone do siebie są Rosetta i POEM (oba szukają postaci 3D zwiniętej cząsteczki białka - czyli fachowo konformacji - w dodatku opierając się na tej samej hipotezie termodynamicznej Anfinsena (ang. Wikipedia)). Można powiedzieć, że aplikacje Rosetty (obecnie miniRosetta) i POEM to dwa konkurujące ze sobą programy (z zastrzeżeniem, że Rosetta jest projektem znacznie większym i ma więcej funkcjonalności, jak dokowanie). Diabeł tu jednak tkwi w szczegółach: oba programy wykorzystują różne szczegółowe strategie (tzw. protokoły w Rozetcie). O ile dobrze zrozumiałem tę wypowiedź na forum POEM@home, duża różnica tkwi w przedstawieniu i symulacji tego "co doprowadza białka do zwijania się" (np. wspomnianych chapterones, czyli - za pl.wiki - białek opiekuńczych). POEM chwali się stosowaniem własnych mechanizmów symulujących działanie biofizycznego pola siłowego (część kolegów pamięta ze studiów analizę przebiegu (stochastycznych) procesów różnicowych/różniczkowych, portrety fazowe itp. - to myślenie w tym kierunku). Więcej szczegółów POEM i R@h trzeba by wydrzeć z gardła. ;D

Innymi w miarę zbliżonymi projektami są Rosetta i Docking@home - dzielą zagadnienie dokowania i symulacji interakcji białko - ligand. O ile się jednak orientuję, metody są dość różne: Docking również korzysta z koncepcji minimalizacji energii, ale chyba w inny sposób - piszą o potencjale Lennarda-Jonesa i symulacji dynamiki  molekularnej (np. tu i tu). Znając Rozetkę, stosują eklestyczne podejście; trzeba podpytać naukowców o ocenę różnic w podejściu.

Oczywiście naukowcy to naukowcy - jeżdżą na konferencje (nawet się tam spotykają, jak np. Rozetowcy z POEMowcami), publikują, wzajemnie się od siebie uczą.

Pozostałe znane projekty są różne od SIMAP i Rosetty.

Najbardziej zbliżone do R@h są chyba rzeczy korzystające z AutoDocka.
Inne są jeszcze bardziej odmienne. Folding@home zajmuje się stricte dynamiką molekularną i symulacją samego zwijania się białek (co w dokładnym wydaniu jest znacznie bardziej obliczeniochłonne; a nawet Folding robi duże uproszczenia). A np. Help Conquer Cancer zajmuje się automatyczną analizą milionów zdjęć rentgenowskich skrystalizowanych białek i poprawie technik krystalizacji (jak widać nośny tytuł jest dość odległy od faktycznej pracy; od tego badania podstawowego do leku na raka droga baardzo daleka - niemniej osobiście im wybaczam ten chwyt marketingowy i liczyłem właśnie ten projekt; ci którzy raczą przeczytać opis projektu powinni zrozumieć, jak ważna jest ta dziedzina badań).

Z tych wszystkich powodów powiązania między projektami są dyskusyjne i nawet niejasne dla liderów poszczególnych projektów - a co dopiero dla takiego laika jak ja. W przyszłości chciałbym pobombardować fora projektów pytaniami o powiązania i szczegóły i przygotować większą kompilację. Wydaje mi się, że przejrzysty opis kto co i z kim mógłby zachęcić większą liczbę ludzi. Gdyby ktoś chciał pomóc, zapraszam, bo czasu może mi nie starczyć. Napisanie tego krótkiego wstępu do ca. 2 godziny. Mam nadzieję, że nie ma w nim wielu błędów. :)

Ufol

Pisząc o tej współpracy między białkowcami miałem na myśli Wcg, bo w nazwie którejś aplikacji znalazłem słowo Rosetta. Jeżeli Simap liczy za pomocą całkowicie odmiennej aplikacji, to faktycznie ma się nijak do Rozetty. W tym kontekście moje rozważania o x64 można z miejsca wyrzucić do kosza.

Troll81

Aegis zrób s tego arta na wiki. Widac że masz sporą wiedzę.  :whip: :whip: :whip: marsz do pracy bo przeciągniemy pod kilem  :attack:

Krzysiak

Witam
Postanowiłem trochę policzyć Rosette ale mam problem/pytanie

Czy to normalne że ten projekt tak zamula CPU w porównaniu z Prime jest tragedia

Często też sam menadżer BOINC gubi połączenie i się zawiesza

O co może biegać lub da się z tym jakoś walczyć ?


>>Moja szczegółowa sygnatur<< %)                                      >> Spis moich odkrytych liczb pierwszych << :whistle:

Aegis Maelstrom

Cytat: Troll81 w 03 Grudzień 2011, 21:54
Aegis zrób s tego arta na wiki. Widac że masz sporą wiedzę.  :whip: :whip: :whip: marsz do pracy bo przeciągniemy pod kilem  :attack:

Dzięki Trollu. :) Z tą wiedzą to przesada - mam tylko Internet i nie zawaham się go użyć!  :D
Co do artykułu porównawczego: w wolnym czasie bardzo chętnie, aczkolwiek:
1) to będzie bardzo pracochłonne
2) to musi podlegać poprawkom i aktualizacjom. Muszę pobombardować naukowców z różnych proektów by wyjaśnili kilka kwestii, a z ich odpowiedziami i czasem różnie bywa. Poza tym, przydałby się biolog obliczeniowy, który mógłby to uformować swoją ekspercką wiedzą; mi takiej brak.


Co do pytań Krzyśka - co dokładnie rozumiesz pod pojęciem "zamula"? Fakt faktem, Rosetta jest intensywna obliczeniowo, gdy chodzi o CPU i RAM (choć akurat pamiętam też pewne podprojekty PrimeGrid, które umiał żreć CPU niczego sobie).
I co to znaczy "gubi połączenie" - masz problem z serwerem, czy menedżer BOINC traci kontakt z liczącą aplikacją (to pierwsze jest niezależne od aplikacji, to drugie zdażało mi się sporadycznie przy różnych projektach, w Rosetcie chyba też, ale dawno temu i to był rozpoznany i naprawiony błąd którejś wersji).

Potrzebne są precyzyjne opisy problemów, najlepiej najpierw na forum R@h, potem zachęcam i tu.

Ufol

Temat nieco się postarzał, bo aplikacja obecna to 3.20, ale zmian nie zauważyłem. Te moje nudzenie o x64 nic nie jest warte. Windows siedem widzi aplikację w procesach jako 32 bitową. W przeciwieństwie do Computing for clean water, czy innych aplikacji 64 bitowych.