Tworzenie projektu... czyli powstanie i ewolucja Enigma@Home

Zaczęty przez TJM, 27 Lipiec 2007, 16:22

Troll81


Peciak

#1121
Coraz częściej serwer Enigmy jest wyłączony  :(
i obliczenia panie dziejku leżą

,,Z szanowania wzajemnego wypływa moc wielka w chwilach trudnych."

TJM

Ano dzieją się takie cuda, że mnie chyba kur***ca weźmie niedługo.
14 dni problemów z linią ADSL - w końcu odwiedzili mnie technicy, linia w słabo-średniej kondycji, pewnie zaszkodziły majowe podtopienia. Częściowo winny też router, niestety buble typu darmowy livebox odpadają, więc musi zostać stary. Nie ma ktoś zbędnego routera klasy SpeedTouch 516 lub wyżej, ewentualnie z softem podobnej klasy ? Mam ST510/v4, niestety obecne parametry łącza są na granicy jego sprawności.


Ostatnie 2 dni - spore opady deszczu, nie wycięte drzewka mokre dotykają do idącej na moją ulicę linii 15kV. Kończy się to widowiskowym 'bzzzzzzzyyyyyyyymmmmmppppp' albo 'fuuuuuuuuuuummmmmmmmmmmmmmmm' i czasami ginie prąd gdzie się to zgłasza ?.

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.


Troll81


TJM

Serwer dziś dość wolno chodzi, bo kopiuję dane między tabelami w bazie.
Rozważam też opcję wyrzucenia paru tabel z archiwalnymi danymi do osobnej bazy, którą backupował będę ręcznie po każdej większej zmianie (tam wyrzucam np. nieaktywne dane WU, czasami mogą się jeszcze przydać).
Powód prosty - coby zaoszczędzić czas i płyty do backupu. Co 2-3 backup nagrywam na DVD, te płyty po paru miesiącach idą do niszczarki więc szkoda marnować więcej niż jedną na raz i nagrywać w kółko to samo (niektóre tabele nie zmieniają się przez miesiące).
Tymczasem jakieś 2 miesiące temu dodałem w bazie łącznie tylko dwie kolumny, coby serwer łatwiej mógł zarządzać zadaniami - w ten sposób skraca się czas reakcji na koniec zakresu, nowe zadania lub wycofanie jakiegoś tekstu np. w razie błędu czy jego złamania. Malutka modyfikacja a wielkość backupu wzrosła z 6 do 12GB %)

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

Can-D

Hmmm,mam wszystkie proce intela, od PIV,mobilki,celerony,C2D,kończąc na i7 - odpaliłem benchmark,znaleziony klika stron dalej, najszybsze czasy mam na apce od Athlon_Thunderbird'a na wszystkich procach  :ph34r:

Kiedy serwer będzie miał jakieś wu?

TJM

Nie wiem, pewnie jutro. Na razie borykam się z drobnymi problemami.
Z tą aplikacją od Thunderbirda raczej bym uważał, bo z tego co pamiętam sypała się na innych procach  :ph34r:

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

TJM

Jednak nie jestem pewien, czy pojawią się dziś zadania.
Muszę w końcu rozwiązać parę dziwnych problemów które się ostatnio pojawiły, bo ziarnko do ziarnka uzbierało się tego trochę i zaczyna mnie pomału denerwować.
Największym problemem jest to, że serwer nie wysyła zadań które teoretycznie wysłać powinien i w chwili obecnej nie wiem dlaczego.
Ponadto zaczął ostatnio dziwnie się zachowywać i zastanawiam się, czy nie ma czasami jakichś problemów sprzętowych. Praktycznie z dnia na dzień zaczęły się kłopoty z niektórymi skryptami, część rzeczy działa niesamowicie wolno a inne wcale.
Być może proc się przegrzewał i to dlatego, bo parę dni działał praktycznie na pasywnym chłodzeniu - blok wodny zaczął się rozszczelniać  i wróciłem do chłodzenia powietrzem. Dopiero dziś znalazłem jakiś wiatrak żeby tam wcisnąć.


W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

Can-D

A szkoda,bo poza i7,to na reszcie maszyn bufory mam puste.

Apka z Thunderbirda narazie się trzyma.A coś na 64 bity jest,bo w nawale tych stron to już ciężko odnaleźć.

TJM


W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

TJM

Jakby jeszcze mało było problemów, pada jeden z dysków w serwerze. Na szczęście nie padł całkiem, tylko po prostu zaczął się wyłączać podczas pracy - po kilku restartach udało mi się skopiować wszystkie dane, więc obejdzie się bez odtwarzania z backupu.

EDIT: w zasadzie to nie pada dysk tylko chyba płyta w serwerze - błędy pojawiają się losowo na wszystkim co wisi na SATA.
Dziś nic nie dam rady zrobić bo późno wróciłem i padam na pysk, jutro jeśli będę wcześniej spróbuję kompleksowego czyszczenia, gorzej jeśli to nic nie da.

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

TJM

Stary serwer poległ, jednak płyta zaliczyła zgon, gwarancji już nima i całość działa teraz na zapasowej maszynie, która nawet nie jest taka najgorsza.
W ciągu paru dni wszystko powinno dojść do ładu.

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

Peciak

widziałem wczoraj na ircu zdjęcie nowego serwera  ???
Macgaiwer przy TJM jest "taki malutki"

,,Z szanowania wzajemnego wypływa moc wielka w chwilach trudnych."

TJM

Spoko to tylko wygląda tak strasznie, jak będę miał trochę czasu wywalę jakieś niepotrzebne kable i uporządkuję dziada %) Obecnie jest dość chaotyczny bo musiałem robić sporo przekładek, płyta ma tylko 4 złącza SATA (i jedno jakieś NV-RAID spod którego dysków linuks nie widzi); musiałem zrezygnować z jednego dysku i chwilowo nie ma gdzie wpiąć iRAMa.

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

sesef

Cytat: Piotr R. (Peciak) w 14 Sierpień 2010, 08:32
widziałem wczoraj na ircu zdjęcie nowego serwera  ???
Macgaiwer przy TJM jest "taki malutki"

Ważne ze wszystko chodzi :) Serwer nie ma aż tak dużych wymagań na Athlonie X P 1800+ z dwoma rozpadającymi się dyskami ATA też chodził bez problemów  XD

TJM

Serwer nie ma wymagań póki baza jest mała.
U mnie do lokalnych celów spokojnie powinno wystarczyć to co teraz.
Niestety gdy serwer pracował głównie jako wrapper dla M4 nie było juz tak wesoło - wtedy każdy WU miał swój wpis w 2 tabelach i rezultaty trafiały do kolejnych 2, musiałem wszystko trzymać żeby odsyłać do serwera. Trzymanie tego co odesłał klient, po weryfikacji okazało się 'tańsze' w kwestii użycia zasobów serwera niż generowanie tego jeszcze raz przy łączeniu się do serwera M4.
Sama tabela workunitów miała wielkość liczoną w setkach MB, a tabele rezultatów były zawsze około 3-5 razy większe.

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

TJM

Możliwe że serwer będzie jutro wyłączony jakiś czas lub nawet w nocy samoczynnie zdechnie.
Dzieją się jakieś cuda z prądem, napięcie sobie skacze, podejrzewam że jak to raz na jakiś czas bywa - drzewka podrosły i dotykają gałęziami pobliskiej linii 15kV z której mam zasilanie, w takim wypadku pewnie jutro przyjadą przycinać.

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

TJM

Projekt chwilowo zatrzymany, patchuję serwer do najnowszej wersji softu po czym będę poprawiał błędy w kodzie, żeby poprawić błędy generowanego HTMLa i błędy polskiego tłumaczenia, które z jakiegoś powodu w wersji 2100+ mocno się pogorszyło (mnóstwo dziwnych tłumaczeń jak z translatora).

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

Peciak

1 września 2010 pojawiła się nowa wersja aplikacji do Enigma 0.76b
Jak maja się do tego wcześniejsze optymalki ?
Co należy zrobić aby efektywnie liczyć ten projekt?
zresetować projekt
czy też
zresetować projekt i wgrać optymalki ?
optymalki są stare czy powstały jakieś nowe ?

,,Z szanowania wzajemnego wypływa moc wielka w chwilach trudnych."

TJM

Nic nie trzeba robić, zmienił się tylko wrapper i zmiany są raczej czysto kosmetyczne - dotyczą danych zwracanych do serwera w stderr i paska postępu.

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

TJM

Od dziś można zgarnąć więcej - serwer uwzględnia teraz czas przetwarzania zadania i stabilność maszyny, można w porywach dostać mnożnik 1.25 do punktów za zadanie.
Maszyna która nie psuje zadań dostaje stały bonus 1.1 (wykorzystuje to mechanizm z nowszych wersji serwera, samoczynnie resetujący status przy zwracaniu błędnych zadań), natomiast czas przetwarzania liczony jest od momentu upłynięcia około 2 godzin od wysłania, w tym momencie dostępny jest dodatkowy mnożnik 1.15 który liniowo maleje aż do 1.01 w 50-tej godzinie od wysłania.

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

Peciak

Czyli pobierz próbkę oblicz ją jak najszybciej i oddaj. Nie trzymaj nic w zapasie  :(

,,Z szanowania wzajemnego wypływa moc wielka w chwilach trudnych."

TJM

Dokładnie taka strategia najlepsza jest z punktu widzenia serwera i całego projektu.
Pierwsza sprawa - nowe zadania wysyłane są gdy wróci część starych [dotyczy to zwłaszcza pierwszego kompletu WU z każdego zestawu] - to dlatego, żeby ustalić priorytety.
Druga sprawa - w każdej serii WU największe szanse na złamanie tekstu są w pierwszych kilku przejściach, może być tak, że ktoś będzie kisił już złamany tekst przez parę dni a w tym czasie reszta projektu będzie marnować moc CPU.
Trzecia sprawa - za duże kolejki to marnowanie zasobów, w momencie złamania KEJNQ u ludzi w kolejkach było praktycznie drugie tyle zadań co przeliczonych, a to oznacza że około 50% mocy która poszła na ten tekst zostało praktycznie zmarnowane a ponadto z tydzień czasu walczyłem z powracającymi resendami. BOINC niestety nie ma mechanizmów zdalnego anulowania zadań, o ile klient się regularnie nie zgłasza.
Czwarta sprawa - podstawowe kredyty pozostają niezmienione, jak ktoś chce mieć 10-dniową kolejkę to jego wybór - więcej zadań na wypadek padu projektu lub końca zadań na serwie, ale też parę % mniej kredytów.

Zresztą zastanowię się jeszcze czy tego nie wyłączyć, ciekawy bajer korzystający z nowych funkcji API, ale jednocześnie obciążenie generowane przez validator rośnie prawie 2 razy.

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

TJM

Wczoraj wypuściłem najbardziej zwaloną serię zadań w historii projektu. Pomyliłem się w nazwie zadania i w rezultacie musiałem na głowie stawać, żeby serwer akceptował rezultaty. Niektóre oznaczane są jako invalid, nie należy się tym przejmować, bo serwer i tak przyznaje za nie kredyty.
Przez durny bug znikło parę rekordów z bazy rezultatów i serwer będzie musiał przemielić to jeszcze raz.

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

TJM

Niejako rykoszetem przedostał się nowy system punktacji, ponieważ stary dobry --credit_from_wu w obecnej wersji serwera jest zbugowany.
Jest to tak zwany "New credit system" i na razie przyznaje średnio ok. 2x więcej od starego systemu, ale to się może w każdej chwili zmienić bo system przydziela sobie kredyty sam, co jest w pewnym stopniu zaletą (odpada połowa żmudnej kalibracji dla nowych WU).
Niestety systemowi zdarzają się wybryki typu 20x więcej kredytów lub 1000 razy mniej niż powinien i jak na razie nikt nie zna na to lekarstwa  XD

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

Troll81


TJM


W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

Troll81


TJM

O projekcie miesiąca można z góry zapomnieć, serwer raczej nie będzie miał dostatecznej liczby zadań żeby obsłużyć zwiększone zapotrzebowanie.
Czasy wrappera niestety minęły i teraz nad każdą serią i pomiędzy seriami trzeba się soldnie nasiedzieć, ostatnimi czasy średnio co drugi dzień nie ma zadań bo za szybko znikają.



W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

Peciak

Z rozrzewnieniem wspominam czasy kiedy próbek było tyle że można było je sobie policzyć kiedy się chciało...
Nie zapowiada się abym dociągnął do 200.000  :(

,,Z szanowania wzajemnego wypływa moc wielka w chwilach trudnych."

TJM

Nic na to nie poradzę, przede wszystkim maszyna i koszt utrzymania całości skutecznie limitują ilości zadań.
Co 2-3 tygodnie po prostu muszę robić przerwę i czekać aż trochę zadań zejdzie, a raz na jakiś czas dłuższą przerwę i czyścić bazę oraz katalogi upload/download ze śmieci które zawsze tam zostają. Inaczej nie wyrabia sprzęt, wszystko zaczyna mulić i pojawiają się problemy.
Ponadto backupy bazy (części "online") robią się za duże i za długo się je generuje.
Dodatkowo w chwili obecnej stać mnie na jakieś 0,7-1M zadań na miesiąc, powyżej tego muszę dopłacać do transferu i/lub w lawinowym tempie spadają fundusze na NFSie (hosting prepaidowy), co ostatnimi czasy zaskutkowało mi już wyłączeniem domeny na kilka dni.

Dwie osobne kwestie to czas potrzebny na wygenerowanie nowych zadań i bugi w serwerze, przez te ostatnie muszę zadania z błędami ręcznie wyszukiwać i zaznaczać do powtórnego przeliczenia, bo serwer nie robi tego z automatu.

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

Troll81

wydłużyć zadania?

a na jakim sprzęcie pracujesz? Może byśmy go wspólnymi siłami podremontowali??

TJM

Zadania są zawsze maksymalnej długości dla danego tekstu. Jest to tak zwany "full length" czyli jeden przebieg po wszystkich ustawieniach maszyny dla stałej kombinacji rotorów. Są tylko dwie możliwości dalszego wydłużania: dwie kolejne kombinacje rotorów w maszynie (bardzo ciężkostrawne dla validatora, dużo bardziej podatne na błędy od "zwykłych" zadań, całkowita utrata kompatybilności z niektórymi starszymi wrapperami aż do niemożności uruchomienia włącznie); oraz druga możliwość - więcej niż jeden przebieg, co "tylko" stwarza problemy dla niektórych wrapperów, po stronie serwera zmniejsza prawie 2-krotnie miejsce (jeden rezultat w bazie zamiast dwóch), ale też dwukrotnie zwiększa straty przy różnych problemach. 


W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

TJM

No, chyba udało mi się poprawić wreszcie problem z transitionerem - dziwne że nikt tego nie zgłosił bo chyba od kilkuset wersji był bug w kodzie, ciekawe czy przejdzie mój proponowany fix.
Wreszcie WU przetwarzają się do końca i baza zaczyna się oczyszczać, już była tak spuchnięta, że chwilami serwer rzucał errory 500.


Jak do jutra nic się nie posypie, może pod wieczór będzie kolejna seria WU.

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

TJM

Projekt znów prawdopodobnie jakiś czas będzie bez zadań, w logice obsługi zadań/rezultatów są bugi i żebym na głowie stał przy kompie, nie dam rady ich sam naprawić, nie ma wystarczającej dokumentacji żeby w ogóle wiedzieć co pozmieniać i jak to powinno działać. Moje maile i tickety są totalnie olewane, nawet nikt nie raczył mi odpisać czy rzeczywiście jest to bug, czy coś źle robię. W związku z tym całą obsługę błędów muszę wywalić o poziom wyżej, do oprogramowania i skryptów sterujących serwerem, bo tak jak obecnie zostać nie może - 1 na 10 WU kończy z poważnymi błędami, a dużo poprawnych wyników jest skreślanych jako błędne, baza puchnie od błędów i serwer już ledwo chodzi.

EDIT: Jest tu jakiś znawca c++ ? Potrzebowałbym lekko rozszerzyć jeden ze standardowych validatorów przychodzących z serwerem, żeby mieć coś do wstępnej walidacji na czas wyłączenia obecnego.

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

Peciak

Pojawiły się próbeczki
czuje się jak w simapie....

,,Z szanowania wzajemnego wypływa moc wielka w chwilach trudnych."

TJM

Teraz przez dłuższy czas raczej nie braknie, chyba że ze względu na pady serwera. Przez te wszystkie bugi baza niesamowicie spuchła, trochę czasu minie zanim db_purge wyleczy wszystkie problemy.

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

Ufol

Jak często Enigma zapisuje wyniki obliczeń? Mam na myśli checkpointy w obecnej wersji projektu. Z tego co zrozumiałem, to aplikacja miała różne po   stacie i niejednokrotnie się zmieniła. Stąd moje pytanie. ps. Pogratulować projektu! :respect:

TJM

Zależy od wersji aplikacji, co bardziej standardowe zapisują co 120 sekund, ale bywały wersje które zapisywały po 10 minutach.

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.