Witam.
Przedstawię problem na
przykładzie*:
Od niedawna projekt SIMAP korzysta z aplikacji HMMER która to relatywnie duże jednostki ( ~ 4-6 MB ) liczy w tempie ekspresowym ( ~ 4-6 min ). Mam ustawione pobieranie na zapas ( ~ 6h ). Problem polega na tym, że menadżer BOINC:
:arrow: cały czas ciągnie nowe jednostki - ale to da się przeżyć ;-)
:arrow: nie wysyła wykonanych jednostek - lista transferów wypełnia się ukończonymi jednostkami które ... czekają na wyschnięcie źródła jednostek do policzenia w projekcie SIMAP ;-)
"Przyczyną" jest to, że HMMER liczy mniej więcej tyle jednostek/min ile jest w stanie ściągnąć menadżer BOINC w tym samym czasie.
A teraz
prawdziwa przyczyna:
BOINC (5.4.11) wrzuca wszystkie transfery do jednej listy. Na dokładkę obsługuje tą listę w pokraczny sposób:
:arrow: transfery do wysyłki umieszcza na jej początku
:arrow: po ukończeniu transferu następnym obsługiwanym transferem jest kolejny ( po ukończonym ) na liście ( a nie pierwszy )
Najlepszym rozwiązaniem były by dwie listy - jedna wysyłkowa druga odbiorcza działające niezależnie.
Innym rozwiązaniem ( które mogę sobie sam napisać ) to zmiana obsługi tej listy transferowej tak aby:
:arrow: menadżer BOINC zawsze zaczyna od pierwszego nieobsłużonego elementu na liście transferów
:arrow: (lub) ukończone jednostki trafiały ( tak jak nowe jednostki ) na koniec listy transferów
* specjalnie podkreślam - bo problem jest ogólny ;-)
PS. Pytanie ;-) : Czy zgłosić to jako buga? (lub) Czy istnieje proste rozwiązanie tego problemu?
PPS. Ale się naprodukowałem :-)
najprostsze rozwiazanie (ale nienajlepsze i nienajszybsze) to wstrzymywac wszystkie transfery i wznawiac po kolei te konkretne:P
nie nazwalbym tego bugiem, ale faktem jest, ze mozna by zglosic to do developerow BOINCa, ze to moze byc uczazliwe rozwiazanie...
Od ręcznego nap...wstrzymywania ~ 80 transferów wolę jednak jednorazową modyfikację źródła ;-) ( to chyba C :? ).
Poczekam, może jest jednak inne rozwiązanie.
no to wtedy najlepiej zaciagnac sobie climate'a i zostawic w spokoju transfery:P
aczkolwiek, skoro takie problemy istnieja, to wez to zglos do tych co sie zajmuja pisaniem BOINCa niemalze zawodowo:P
Ech... najprostszym rozwiązaniem okazało się zrestartowanie daemona BOINCa :evil:
Pozdrawiam.
lol 8O
A najdziwniejsze jest to, że długość obliczenia jednostki po restarcie BOINCa ( daaaawno go nie restartowałem ) wzrosła z 5 min do ... 78 min 8O .
Resetuję projekt :evil:
78? to nie jest tak duzo... wez sprawdz czy te 5 minutowe przypadkiem nie generowaly bledow...
NA stronie autorzy napisali ze ze względu na to ze paczki liczyły siue tak szybko wprowadzili
łuższe ( 1,5 godzinne) paczki.
Więc wsystko ok.
Za przeciętną jednostkę liczącą się ~ 6 min dostawałem ~ 5 punktów ( granted credit: 4.96 && claimed credit: 0.91 ) ... a w tym momencie za jednostkę liczącą się 80 minut dostaje 9 punktów (claimed credit: 13.32 ).
Chciało by się wręcz powiedzieć : "Pier*le - nie robię!" ;-)
Pozdrawiam.