Help Conquer Cancer - 200-300% normy!

Zaczęty przez lukaszja, 04 Maj 2010, 23:38

lukaszja

Warto zauważyć, że praktycznie ostatni "anty-rakowy" projekt WCG - Help Conquer Cancer - zmodyfikował aplikacje (do wersji 6.08) co dało obliczeniom potężnego "kopa" - od 200 nawet do 350%. Najlepiej widać to na przykładzie Linuxa 64bit. U mnie z ok 6 godzin do niecałych 2...
Polecam link:
http://www.worldcommunitygrid.org/forums/wcg/viewthread_thread,28759

PS Projekt Help Fight Childhood Cancer za kilkanaście dni zostanie ukończony :respect:

Pigu

Cytat: lukaszja w 04 Maj 2010, 23:38
PS Projekt Help Fight Childhood Cancer za kilkanaście dni zostanie ukończony :respect:

skąd ta informacja?

lukaszja

Cytat: Pigu
skąd ta informacja?

Z forum projektu:
http://www.worldcommunitygrid.org/forums/wcg/viewthread_thread,28975

Pigu

no to z niebieskiej odznaki dupa :(

lukaszja

#4
Cytat: Pigu w 04 Maj 2010, 23:52
no to z niebieskiej odznaki dupa :(

Mi z kolei zabraknie jednostek do 2 lat w HFCC, Tobie widzę, też... :wth:
Czy o to Ci chodziło z "niebieską odznaką"?
pozdr, luke

Pigu


Troll81


apohawk

A Rosettę zawsze można liczyć  XP
No good deed goes unpunished.

MarcinB

Czym się smucić :D Oto chodzi żeby jak najszybciej liczyć dany projekt. Pamiętajmy że celem są badania nad lekami a nie odznaki same w sobie :P

Ania

Cytat: MarcinB w 14 Marzec 2012, 00:08
Czym się smucić :D Oto chodzi żeby jak najszybciej liczyć dany projekt. Pamiętajmy że celem są badania nad lekami a nie odznaki same w sobie :P

Hm, oprócz pkt są też odznaki, które niektórzy zbierają ... spróbuje to włożyć jakoś do opt....  :)   i wyciągnąć ten wątek na górę w celu uaktywnienia expertów od WCG co obecnie się liczy i jak głównie od strony GPU ?

stiven

W skrócie:

W WCG odznaki są przyznawane za czas obliczeń. Czyli nie ważne na jakim sprzęcie ważne by liczyć. Optymalizacja w celu zdobywania odznak polega na liczeniu WCG na najsłabszym posiadanym sprzęcie lub włączeniu w biosie Hyper-threading. Aplikacje WCG są słabo, przepraszam za słowo, zoptymalizowane więc liczenie ich z włączonym HT daje prawie dwukrotne zwiększenie mocy przerobowych.

O odznakach więcej na wiki:
http://www.boincatpoland.org/wiki/Odznaka

Statusy poszczególnych podprojektów zebrane są tu:
http://www.boincatpoland.org/smf/the-world-community-grid/zestawienie-statusow-podprojektow-wcg/
Można podejrzeć, które podprojekty mają próbki i na ile dni ich starczy.

Odnośnie liczenia na WCG na GPU to obecnie jest dostępna aplikacja dla podprojektu Help Conquer Cancer. Wszystko co potrzebne zostało już w tym wątku napisane.
Eksperci już się uaktywnili i przygotowali app_info pozwalające liczyć więcej niż 1 próbkę naraz na GPU. Jest już ono dostępne kilka wpisów wcześniej. Naturalnie każdy kto chce go użyć musi potestować ile próbek naraz poradzi jego karta i czy cpu nadąży. 

Ania

#11
Dzięki za podsumowanie  :p_arr:

Cytat: stiven w 17 Listopad 2012, 07:54
W skrócie:
W WCG odznaki są przyznawane za czas obliczeń. Czyli nie ważne na jakim sprzęcie ważne by liczyć. Optymalizacja w celu zdobywania odznak polega na liczeniu WCG na najsłabszym posiadanym sprzęcie lub włączeniu w biosie Hyper-threading. Aplikacje WCG są słabo, przepraszam za słowo, zoptymalizowane więc liczenie ich z włączonym HT daje prawie dwukrotne zwiększenie mocy przerobowych.

Hyper-threading - trudne słowo. Przeczyatałam że dziala na Intelu. Czy również jeśli na komputerze  (dwurdzeniowym) zostaną uruchomione 4 maszyny wirtualnych to mamy przyznany czas za 4 jednostki ? Czy ten temat był już omawiany ?

Czy da się zmusić jednostki WCG do tego aby minimalnie obciązały proces i chodziły równolegle do innych procesów na CPU (jednak w tle do nich). Coś w stylu 0,1CPU dla WCG i 0,9 Primaboinca ?

Szukam i się uczę dlatego pytam.

stiven

Tak. HT działa na intelu ale nie na każdym. Uruchomienie maszyn wirtualnych powinno dać właśnie taki efekt, o którym mówisz ale nie jestem pewien bo osobiście nigdy nie próbowałem.

Jeśli chodzi o sztuczkę z minimalnym obciążaniem CPU to tak prosto się tego nie da zrobić. BOINC Manager powinien w takim przypadku zliczyć rzeczywisty czas CPU i nici z naginania czasoprzestrzeni. Można za to zrobić coś innego: liczyć WCG na maszynach, które w międzyczasie robią co innego. WCG to projekt wyjątkowo słabo zamulający proca (to że pokazuje się 100% CPU to nie cała prawda). Kiedyś doszedłem do tego, że można z dobrym skutkiem liczyć WCG oraz specjalny podprojekt Primegrid (nie działa on po boinc tylko ma swoją oddzielną aplikację).

Ania

Jeśli tak mało zamula procesor i może być liczony równolegle z innymi do dlaczego nie działa równolegle na wszystkich maszynach w SKB@P ? Niejako dodatkowo - liczy się czas jego  działania z małym wpływem na procesor.

Odnośnie maszyn virtualnych to czy tam proces (BOINC na VM) ma świadomość że chodzi na części rzeczywistego procesora ? Ktoś może to już próbował i ma pewne wyniki ??

Troll81

to czy aplikacja jest świadoma istnienia w wirtualce to już zależy od aplikacji. Natomiast liczenie WCG wspólnie z innymi projektami to nie jest zbyt dobry pomysł. W odpowiedniej konfiguracji na odpowiednim sprzęcie da się. Ale choć WCG nie wygrzewa tak procesora jak niektóre projekty to wszak wykorzystuje CPU.

Po prostu niektóre projekty (np primegrid) wykorzystują każdy element procesora (włącznie z pełnym wykorzystaniem pojemności pamięci cache). WCG na przykład cache nie wykorzystuje tak intensywnie gdyż jego próbki są zbyt duże by się zmieścić. Muszą więc wędrować do RAM. A to oznacza że spora powierzchnia procesora nie pracuje i mniej się grzeje. ponadto opóżnienia w przesyle danych z/do pamieci RAm powodują że komputer mniej zamula. Co nie oznacza że procesor pracuje mniej.

To tak jak jechać samochodem. Czy jedzie jedna osoba czy cała rodzina auto jest wykorzystane. Tu raczej nie chodzi o wydajność lecz o architekturę aplikacji. Podobnie z tą optymalizacją. WCG pewnych rzeczy nie wykorzystuje a z innych korzysta intensywnie. tak czy siak procesor zajęty.

Ania

Ale to właśnie chyba wspaniałe miejsce do optymalizacji aby połączyć 2 rożne zadania na CPU tak aby pracując razem dały więcej punktów niż każdy z nich osobna na połowie czasu pracy procesora.

Troll81

to nie tak do końca działa. Sama wirtualka też zżera zasoby i w efekcie masz 80% mocy procesora do podziału na dwa projekty.

Ania

To jaki w końcu czas się liczy  :wacko:

Mamy 2 procesory jeden jest 2x szybszy od drugiego. Na każdym z nich uruchamiany tą samą próbkę.
Jeden liczy 4 godz, drugi 8 godz.
Jaki czas jest zaliczany przez WCG ?

Troll81

zliczasz czas pracy procesora przy czym to ze liczysz próbkę 8 godzin nie znaczy że procesor tyle jej czasu poświęcił. W międzyczasie oglądałaś film i czytałaś forum więc i na to komputer poświecił czas. Ogólnie czas liczenia nie koniecznie równa się czasowi jaki poświęcił CPU. Dlatego im mniej robisz na komputerze tym mniejsza jest różnica pomiędzy oboma czasami.

to tyle jeśli chodzi o punkty. natomiast jeśli chodzi o odznaki to tu WCG uznało że liczy się tylko czas. Na jednym liczysz próbkę 4 godziny i tyle ci zostanie zaliczone a na drugim 16 godzin i tyle zostanie ci zaliczone. W efekcie jeśli chcesz trzaskać odznaki to licz na jak najmniej wydajnym sprzęcie :D

oczywiście niektórzy podchodzą do tematu normalnie i licza na tym co mają bez kombinowania. Tak jest uczciwiej.

stiven

Cytat: Ania w 17 Listopad 2012, 22:50
To jaki w końcu czas się liczy  :wacko:

Mamy 2 procesory jeden jest 2x szybszy od drugiego. Na każdym z nich uruchamiany tą samą próbkę.
Jeden liczy 4 godz, drugi 8 godz.
Jaki czas jest zaliczany przez WCG ?

Nie da się podać prawidłowej odpowiedzi. WCG bierze pod uwagę "CPU Time" i tylko ten czas podaje na stronie z wynikami. Troll już napisał od czego on zależy ale aby jeszcze bardziej przybliżyć sprawę to zajrzyj sobie na swoje wyniki z jakiegoś innego projektu. Znajdziesz tam wartości "Run time" i "CPU time". To właśnie o tych czasach mowa. Można zastosować wiele prostych sztuczek, które wydłużą "Run time" jednak zupełnie nic to nie da jeśli chodzi o zdobywanie odznak. Najprościej wydłużyć "CPU Time" zmniejszając taktowanie procesora. będzie wówczas po prostu wolniej liczyć. Jest to jednak proces zupełnie odwrotny do optymalizacji ;)

Ania

Na przykładach najprościej.

Mamy 2 identyczne komputery z procesorami jednordzeniowymi.

Na jednym uruchamiamy 1 WU.
Na drugim uruchamiamy 2 VM i w każdym po jednej próbce WU.

Ile jednostek punktowych i odznak zdobędzie każdy z tych komputerów w tym samym rzeczywistym czasie.
Przyjmijmy że obsługa dwóch środowisk VM zajmie 10% czasu procesora.

Troll81

na pierwszym kompie dostaniesz 100% punktów na drugim 90% punktów. To uproszczenie procesu punktowania ale tak się to będzie rozkładać. Natomiast na drugim komputerze dwa razy szybciej zrobisz odznaki.

Ania

Cytat: Troll81 w 22 Listopad 2012, 15:14
na pierwszym kompie dostaniesz 100% punktów na drugim 90% punktów. To uproszczenie procesu punktowania ale tak się to będzie rozkładać. Natomiast na drugim komputerze dwa razy szybciej zrobisz odznaki.

Dokładnie to podejrzewałam. Dzięki.

Czy to jest etyczne ? 
Czy używanie HT jest bardziej etyczne od używania VM ?

Karlik

Cytat: Ania w 22 Listopad 2012, 15:16Czy używanie HT jest bardziej etyczne od używania VM ?
Zależy co rozumiesz przez "etyczne", na pewno "uczciwsze". Najogólniej HT korzysta z drugiej/kolejnej jednostki obliczeniowej FIZYCZNEJ w czasie kiedy pierwszy proces musi czekać na zakończenie obliczeń. Wszystko zależy od samego problemu i sposobu implementacji.
Przykładowo
x=a+b
y=c+d
z=x+y
x i y mogą być liczone niezależnie, więc liczenie y nie czeka na zakończenie x'a. Za to z musi poczekać aż x i y skończy, w tym czasie ktoś inny może wykorzystać drugą jednostkę arytmetyczną.
x=a+b
y=x+c
z=y+d
Teoretycznie w wyniku z ma tę samą wartość, jednak żadnego etapu nie da się zrobić równolegle, tak z naszego punktu widzenia drugi proces może korzystać z drugiego ALU.
To tak w dużym uproszczeniu.

stiven

To już musisz sama ocenić. Chyba nikt w drużynie nie będzie Ci mówił co masz robić i jak, chyba że dopuścisz się jakiejś wyższej formy oszukajstwa. Jak chcesz sobie uruchamiać vm aby szybciej dostać odznakę to proszę bardzo. Jak dla mnie te odznaki i cyferki to tylko dodatek do zabawy a nie cel sam w sobie. Fajnie, że są ale bez przesady.

Samo korzystanie z HT przy WCG daje dobre efekty ale gdy testowałem np PrimeGrid to okazywało się (zgodnie z tym co dało się przewidzieć), że jest spadek wydajności.

Troll81

HT w niektórych przypadkach da przyrost wydajności a w niektórych mały spadek. To tak obosieczny miecz. podobnie z wirtualkami. Jeśli odznaki mają być celem samym w sobie to wg mnie nie warto marnować prądu.

Ania

Cytat: Karlik w 22 Listopad 2012, 15:30
Cytat: Ania w 22 Listopad 2012, 15:16Czy używanie HT jest bardziej etyczne od używania VM ?
Zależy co rozumiesz przez "etyczne", na pewno "uczciwsze". Najogólniej HT korzysta z drugiej/kolejnej jednostki obliczeniowej FIZYCZNEJ w czasie kiedy pierwszy proces musi czekać na zakończenie obliczeń.

Nie wiem co znaczą te cudzysłowy przy słowach - czy zmieniają ich znaczenie.
Natomiast wydaje mi się, że HT nie onacza fizycznej dodatkowej jednostki obliczeniowej jak piszesz.
Jeśli procesor na 2 rdzenie i ma HT to ma 2 jednostki obliczeniowe i 4 kolejki zadań do realizacji po 2 podpięte do każdej jednostki obliczeniowej.
Jeśli byłyby to fizycznie odrębne jednostki to jaki byłby sens mówienia że są tylko 2 rdzenie ?

Karlik

Cudzysłowy wstawiłem, bo odnosiłem się do pojęć a nie do tego co oznaczają. Po prostu często każdy ma własne pojęcie moralności/etyki.

A co do rdzeni i jednostek obliczeniowych to wskazówka do dalszym poszukiwań: rdzeń i jednostka arytmetyczno-logiczna to dwie różne rzeczy. Jeden rdzeń może posiadać więcej ALU. Rdzeń w naszym rozumieniu oznacza całą strukturę dekodującą rozkaz, wysyłającą dane do obliczeń dla ALU (czy innych specjalizowanych jednostek obliczeniowych), obsługującą cache itd.
Normalnie rdzeń sam sobie korzysta z poszczególnych ALU, przy HT możesz wymusić rozdzielenie tego ;]

Ania

Cytat: stiven w 22 Listopad 2012, 15:36
To już musisz sama ocenić. Chyba nikt w drużynie nie będzie Ci mówił co masz robić i jak, chyba że dopuścisz się jakiejś wyższej formy oszukajstwa. Jak chcesz sobie uruchamiać vm aby szybciej dostać odznakę to proszę bardzo. Jak dla mnie te odznaki i cyferki to tylko dodatek do zabawy a nie cel sam w sobie. Fajnie, że są ale bez przesady.

Samo korzystanie z HT przy WCG daje dobre efekty ale gdy testowałem np PrimeGrid to okazywało się (zgodnie z tym co dało się przewidzieć), że jest spadek wydajności.

Ocenić oczywiście że ocenię sama. Ale pytam aby znać zdanie innych. W poprzednich odpowiedziach dawałeś informację, że to nic nie da. Okazuje się że jednak daje i to wcale nie tak mało.
Tak więc proszę o rozważniejsze pisanie słów :)

Z Twojego postu wynikasz że działanie pod VM traktujesz jako formę oszustwa ?

Ania

#29
Cytat: Karlik w 22 Listopad 2012, 16:15
A co do rdzeni i jednostek obliczeniowych to wskazówka do dalszym poszukiwań: rdzeń i jednostka arytmetyczno-logiczna to dwie różne rzeczy. Jeden rdzeń może posiadać więcej ALU. Rdzeń w naszym rozumieniu oznacza całą strukturę dekodującą rozkaz, wysyłającą dane do obliczeń dla ALU (czy innych specjalizowanych jednostek obliczeniowych), obsługującą cache itd.
Normalnie rdzeń sam sobie korzysta z poszczególnych ALU, przy HT możesz wymusić rozdzielenie tego ;]
Za wikipedią:
"Hyper-threading służy zwiększeniu wydajności obliczeń prowadzonych równolegle (czyli wykonywaniu wielu zadań jednocześnie) przez mikroprocesory. Dla każdego fizycznego rdzenia procesora system operacyjny przypisuje dwa procesory wirtualne (ang. virtual processors), a następnie dzieli obciążenie obliczeniami między nimi jeżeli jest to możliwe....
Hyper-threading funkcjonuje poprzez duplikowanie pewnych fragmentów procesora – tych, które przechowują stany procesów (architectural state) – ale nie jest to duplikowanie głównych zasobów wykonawczych. "

Ania

Mam jeszcze jedno pytanie czy jeśli uruchomię na 1 kompie:
1 WU WCG
1 WU NFS
i nadam priorytety zadaniom odpowiednio (WCG - niski (10%CPU), NFS - wysoki(90%CPU)) czym pośrednio osiągnę efekt powyższy ... to jaką jest to formą oszukaństwa ?

Szopler

Ciekawe w jaki sposób chcesz to zrobić? :)
Za dużo kombinowania - szkoda czasu dla jakichś tam ikonek czy innych znaczków. Lepiej tłuc projekt na maksa, a znaczki z czasem same przyjdą.

stiven

Cytat: Ania w 22 Listopad 2012, 16:19
Cytat: stiven w 22 Listopad 2012, 15:36
To już musisz sama ocenić. Chyba nikt w drużynie nie będzie Ci mówił co masz robić i jak, chyba że dopuścisz się jakiejś wyższej formy oszukajstwa. Jak chcesz sobie uruchamiać vm aby szybciej dostać odznakę to proszę bardzo. Jak dla mnie te odznaki i cyferki to tylko dodatek do zabawy a nie cel sam w sobie. Fajnie, że są ale bez przesady.

Samo korzystanie z HT przy WCG daje dobre efekty ale gdy testowałem np PrimeGrid to okazywało się (zgodnie z tym co dało się przewidzieć), że jest spadek wydajności.

Ocenić oczywiście że ocenię sama. Ale pytam aby znać zdanie innych. W poprzednich odpowiedziach dawałeś informację, że to nic nie da. Okazuje się że jednak daje i to wcale nie tak mało.
Tak więc proszę o rozważniejsze pisanie słów :)

Z Twojego postu wynikasz że działanie pod VM traktujesz jako formę oszustwa ?

Proszę Cię nie wkładaj w moje usta czegoś czego nie napisałem. Nie dawałem informacji, że "to" nic nie da.
Nie, nie traktuję vm jako oszustwa. Jak masz czas i ochotę stawiać vm tylko po to aby szybciej dostać odznakę za czas obliczeń to proszę bardzo. Twój sprzęt i rób z nim co chcesz. Nie oczekuj jednak nadzwyczajnych efektów, których nikt tu nie obiecał.

Tobas

Aniu jak chcesz mieć za wszelką cenę komplet odznak WCG, to postaw sobie wirtualkę, albo kilka z jednym rdzeniem,
następnie w cc_config.xml wpisz linijkę <ncpus>x</ncpus> (w sekcji options),
gdzie x oznacza ilość rdzeni, które ma widzieć serwer projektu.

Wpisując sobie w to miejsce 64 (znamy takich co tyle dawali) masz liczone 64 próbki na raz na jednym rdzeniu.
Fakt, że będą się liczyły baaardzo długo (uważaj, aby nie przeholować z deadline) ale za to odznaki się szybciutko pokolorują ;)

Troll81

pytanie na co to komu? czy będąc świadoma że w ten sposób zyskałaś odznaki będziesz z nich dumna?
Bo może inni nie będą wiedzieć ale Ty będziesz. a wszak robimy to niejako dla siebie. Dla naszej własnej satysfakcji. Wydaje mi się że po początkowych zachwycie (mam tyyyyyyyle odznak) przyjdzie czas ze przestane cię to cieszyć.
Wiesz te wszystkie punkty i odznaki są po to byśmy mogli się nimi cieszyć. Jak utracisz te radość to nie zostanie nic poza rachunkiem za prad....

Ania

#35
Cytat: Szopler w 22 Listopad 2012, 16:49
Ciekawe w jaki sposób chcesz to zrobić? :)
Za dużo kombinowania - szkoda czasu dla jakichś tam ikonek czy innych znaczków. Lepiej tłuc projekt na maksa, a znaczki z czasem same przyjdą.

To akurat jest bardzo proste. Każdy proces jest osobnym procesem i pod Menedżerem Zadań można wybrać odpowiedni priorytet (jest ich 6 - poziomów - przynajmniej u mnie) do procesu.  (podobnie w Linux - tam pamiętam, że poziomów jest więcej ale nie wiem gdzie to się ustawia).
Mówimy o CPU

stiven

I uważasz, że w ten sposób rozmnożysz czas CPU czy może jednak spowodujesz tylko wydłużenie obliczeń? Lubisz kombinować ale Troll już chyba najzgrabniej jak się da napisał co z takich kombinacji wynika.

Ania

Na tym samym sprzęcie będę w stanie uzyskać więcej "nagród".
+ satysfakcje że postawiłam VM
+ wiele doświadczeń z szukania rozwiązania, dociekań, sprawdzania .... typowe dla badacza.

Odznaki i pkt będą przykładową "wisienką na torcie".

Dzięki teżmu, że szukam wiem trochę więcej. Wiem co to HT i niektórzy też już wiedzą. To moim zdaniem wiecej warte niż proste liczenie 500 000 protein, które z założenia ma niewielkie szanse na sukces.


Szopler

Do zdobywania odznak nie trzeba VM. Wystarczy w cc_config.xml sztucznie zwiększyć ilość rdzeni widzianą przez klienta boinc i liczyć N x więcej zadań niż normalnie w N+? dłuższym czasie.

Ania

I kolejna ciekawa informacja !!!   
To właśnie sprawia mi satysfakcję !  Znajdowanie rozwiązań ! (nie muszę sama je wymyśleć) - ważne aby do nich doprowadzić.