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

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

TJM

Do aplikacji testowej trafia mix, niektóre zadania są "normalne" te same co na głównej, inne typowo testowe.
Póki co limit generowanych zadań jest ustawiony bardzo nisko, żeby w razie jakiejś wtopy za wiele nie odkręcać, ale na razie wszystko wygląda dobrze.

spiro

Od paru dni na viście nie pobiera nowych WU. Zresetowałem projekt i niestety bez bez zmian  :(
Tak, wiem, ale na razie mogę liczyć tylko na viście.

pawg




TJM

Batch który leciał na CPU się zakończył i zadań nie ma do momentu aż przejdzie do archiwum, wtedy będę mógł odpalić kolejny. Muszę trochę dbać o wydajność serwera, coby mi się nie rozleciał  %) GPU są w lepszej sytuacji, bo tam mimo, że czasowo krótsze, to tak naprawdę WU są znacznie (setki razy) dłuższe niż na CPU, jest ich mniej w batchu i dzięki temu można między batchami przechodzić płynnie bez przestojów.

Tymczasem KLDIO który leciał jako drugi w kolejności batch na GPU, został złamany i to w dość nietypowy sposób:
http://www.enigmaathome.net/forum_thread.php?id=1101

P.S. Jeśli jeszcze ktoś nie zauważył, aplikacja OpenCL jest i działa dobrze. Aktualnie jest oznaczona jako "beta bety" bo ma dodatkowo w nazwie test, ale w wolnej chwili przeniosę pod główną aplikację.

Argento

Cytat: TJM w 02 Sierpień 2017, 18:14
Tymczasem KLDIO który leciał jako drugi w kolejności batch na GPU, został złamany i to w dość nietypowy sposób:
http://www.enigmaathome.net/forum_thread.php?id=1101

TJM, czy KLDIO, to akronim?


--
Pozdrawiam
Z poważaniem
Argento

Ufol

Zadania dla ati niekiedy się wysypują i to w dosyć denerwujący sposób. Właśnie przed chwilą okazało się, że po przemieleniu paczki z cudowną aplikacją, wypluło mi błąd po dwudziestu godzinach. Zaznaczyłem oczywiście opcję pt. Run test applications. Niestety trudno wskazać, które zadania się posypią. Dotychczas miałem pecha trafić dwie takie próbki. Co ciekawe pozostałe używające aplikacji w identycznej wersji przeliczyły się bez awarii.

Ufol

No i skończyło się rumakowanie. Zdaje się, że liczydło pt. cuda w
wersji 1.10 ostro się wykrzacza. Kolejna próbka z błędem po upływie 14:47:57, czyli 15 godzin mielenia poszło w... Pewnie kolejna też zalicza się do trefnych, bo pokazuje 100% i nadal się tzw. przetwarza. Upłynęło dokładnie 11:14:14. Ubijam zadanie, bo nic już z tego dobrego się nie wykluje. Wyłączyłem cudowne próbki w preferencjach. Ciekawe, jak pracuje druga gpowa aplikacja.

tito

Ufol - masz 2 karty (AMD i NVidia) w jednym pudle?
Zresztą na forum projektu raportują od czasu do czasu, że niektóre karty nie liczą poprawnie - tylko nikt nie wie dlaczego.

Ufol

Nvidię mam w laptopie a ati w stacjonarnym. Łapka na razie dosyć rzadko używam. Jeżeli go odpalę na deko dłuższy czas, to chętnie sprawdzę mielenie Enigmy również na nim.

TJM

Drugi tekst poległ pod zmasowanym natarciem, ten jest mocno uszkodzony ale myślę że eksperci go poprawią -
mi się udało znaleźć tylko 1 błędną parę na plugboardzie i przekręconą przy czytaniu z odręcznego pisma literę.
http://www.enigmaathome.net/forum_thread.php?id=1109

Troll81


mimeq

czy tak jak w przypadku KLDIO wiemy kto ? :D

About an hour ago Dave GPU (uid 68703) returned a plaintext of KLDIO 90:


TJM

Zawsze wiadomo kto odesłał dany wynik, w tym przypadku nie wpisałem tego od razu bo sprawa jest bardziej skomplikowana. Tekst jest mocno zniekształcony i nawet ten najlepszy wynik znalazł się dopiero przy ręcznym przeglądaniu, ponad 2 dni po tym jak został odesłany. Jednak znając go, po fragmencie popatrzyłem wstecz i pierwsza wersja, jeszcze bardziej zniekształcona, była odesłana ponad tydzień wcześniej, jednak czytelność była praktycznie żadna i nie było szans tego zauważyć, co najwyżej gdyby uważnie czytać zwrócone unikatowe wyniki jeden po drugim. W wolnej chwili wyciągnę info kto odesłał tą pierwszą wersję i potem tą "lepszą".

Tymczasem na forum pojawiło się tłumaczenie i poprawki błędów: http://www.enigmaathome.net/forum_thread.php?id=1109#6481
Jak widać nie udało się znaleźć lepszych ustawień maszyny, czyli błędy powstały już na etapie nadawania lub odbioru wiadomości.
Tutaj można zobaczyć jak wygląda taki formularz z pismem odręcznym http://cryptocellar.org/bgac/16071941_214.pdf

mimeq



TJM

Odznaki bym chętnie dodał, tylko nie mam kiedy się za to zabrać.
Ciśnienie jest na wiele rzeczy (aplikacje na dość popularne platformy, których nie ma od miesięcy, różne poprawki na stronie itp).
Tymczasem ostatnio praktycznie cały dostępny czas pochłaniają mi prace nad automatyczną analizą wyników.
O ile dla enigmy M4 wiele się nie działo i nawet na pieszo można było czytać co lepsze unikatowe wyniki, to dla obecnie załadowanych tekstów, z maszyny typu H, rezultaty (unikatowe) wracają w takich ilościach, że nie ma mowy o czytaniu tego na piechotę.

Oczywiście jest hillclimb i jego score, można się spodziewać, że rozwiązanie będzie miało wysoki. Ostatnie 2 pokazują, że może tak być ale nie musi, może być daleko poza top. Wystarczy, że w tekście będą jakieś pomyłki albo przekręcone litery, score może spaść na tyle, że mimo czytelnych fragmentów tekstu wynik będzie nisko. Dlatego szukam sposobów, żeby takie wyniki znaleźć, więcej info tutaj: http://www.boincatpoland.org/smf/enigmahome-78/poszukiwanie-igly-w-stogu-siana/

Jeśli znalazłby się ktoś chętny do pociągnięcia tematu odznak od strony grafiki/designu to ze stroną techniczną jakoś sobie poradzę w tzw międzyczasie.


pawg

Próbki z serii "g4-vroln72-2_0" dla GPU kończą się po kilku sekundach chwilowym blackscreenem i komunikatem, że sterownik przestał działać ale odzyskał sprawność. Inne serie liczą się bezproblemowo...



Ufol

Zatem, wnioskując z wypowiedzi przedmówcy, miałem szczęście. Zaciągnąłem deko próbek nvidiowych i przemieliły się bezbłędnie. Pytanie za przysłowiowe sto punktów, ile jeszcze zadań wygeneruje Enigma@Home? Gdyby było ich dużo, np. na rok, przy obecnym tempie obliczeń, to moglibyśmy ogłosić, iż istnieje pierwszy polski projekt na gpu. Tzn. działający zarówno na Ati, jak i na Nvidii. To zaś wielce by się przydało w promowaniu boincowania na krajowym podwórku.

TJM

Czołem (się barany witają, jak mawiał mój dowódca plutonu),

Muszę pisać jeszcze raz, ponieważ wcześniej w trakcie tworzenia wiadomości wylogowało mnie i szlag trafił co wpisałem.
Ostatnie wydarzenia w postaci:
https://cryptocellar.org/bgac/the-mvueh-break.html
https://cryptocellar.org/bgac/the-fmngi-break.html
https://mvueh-enigma-solved.carterl.chatgpt.site/

zerwały mi czapkę z głowy, zwłaszcza rozpracowanie MVUEH przez GPT-6 - AI zebrało do kupy niezbędne informacje (dostępne dla wszystkich - wystarczyło na to wpaść), napisało sobie narzędzia i cyk - złamało wiadomość.
Zacząłem analizować możliwości, jak AI mogłoby pomóc w sytuacji, kiedy nie da się zastosować metod jak powyżej, tzn klasyczny hillclimb. Wdałem się w dyskusję z paroma dostępnymi mi AI, głównie GPT-6, który znalazł parę błędów i udzielił istotnych wskazówek.

- Jednym z błędów znalezionych przez GPT-6, jest wada w słownikach używanych przez projekt. Wada na szczęście nie jest krytyczna, paradoksalnie może w niektórych przypadkach nawet zwiększyć szanse na znalezienie rozwiązania, ale po weryfikacji okazuje się, że w przypadku złamanej w 2013 poprawa słowników powoduje skrócenie średniego czasu obliczeń o ok. 25-35%. Co ciekawe, GPT-6 po wklejeniu słowników od razu znalazł błąd i wskazał skąd się bierze, co więcej - kiedy powiedziałem mu, jakiego oprogramowania używałem, wskazał że faktycznie błąd wynika z samego programu.

- Drugim błędem, jaki GPT-6 znalazł jest błąd po stronie samego serwera, który powoduje że w niesprzyjających warunkach mniej więcej co 30-ty zwrócony wynik ginie w nicości i mimo, że zadanie było zaliczone, nie brało udziału w dalszych czynnościach. W skrajnym przypadku, gdyby to trafiło akurat na zadanie zwracające złamany tekst, nie byłby on ujęty w statystykach i nie pojawiłby się w wynikach. Na szczęście, wszystkie wyniki od samego początku istnienia projektu są w archiwum, puściłem na nich analizę i nie ma żadnego który nie miałby co najmniej 1 duplikatu (to zupełnie naturalne - ze względu na wielokrotne powtórzenia, po paru przebiegach wyniki zaczynają się pojawiać ponownie - niektóre miały nawet po kilkadziesiąt powtórzeń). GPT-6 znalazł błąd na podstawie samej analizy wyników, ale nie widział źródeł i w związku z tym nie powiedział gdzie leży, możliwe że na przestrzeni lat został naprawiony (nawet niechcący), ponieważ dotyczy głównie najstarszych zadań.

- Poważnym błędem jest sama skala projektu i zasada działania aplikacji - część z nich startując, inicjuje generator liczb losowych na podstawie czasu, tutaj poważnym problemem jest to, że potencjalnie w tym samym czasie w całej "sieci" startuje wiele zadań - te, które wystartują mniej więcej w tym samym momencie, są dokładnymi kopiami (robią od początku do końca to samo). Skala problemu jest niemożliwa do oszacowania, ale po dłuższej dyskusji z AI doszedłem do wniosku, że należy spodziewać się, że od 5 do 15% wyników to para idąca w gwizdek.

- Kolejnym bardzo poważnym błędem jest to, że aplikacja zwraca tylko 1, najlepszy wynik - tymczasem istnieją udokumentowane przypadki, kiedy złamany tekst - na dodatek poprawny bez błędów - ma niższy score niż najwyższe pochodzące ze śmieci. Tutaj przeciwdziałaniem mogłoby być większe fragmentowanie zadań (mniejsza część keyspace na strzała, bez restartów), zwracanie również pliku results.txt (ogromne uderzenie w wydajność serwera), ewentualna modyfikacja aplikacji i wdrożenie dodatkowej analizy wyników po stronie serwera, w tym analizy heurystycznej przez AI.

- Rozwinięciem w/w byłaby modyfikacja aplikacji - na szybko nawet parę modyfikacji wprowadziłem, ale bez szczegółowych testów nie miałbym odwagi użyć tego "produkcyjnie" - żeby potencjalnie nie marnować mocy obliczeniowej/energii na aplikacje zwracające błędy.

Ze względu na w/w rozważam częściową reaktywację projektu po paru latach - w zasadzie to serwer jest cały czas online, tylko ma rozpięty VPN - muszę to przemyśleć, na razie wygrywającą opcją jest wykorzystanie go dla małej grupy komputerów/GPU zasilanych z PV i dalsze przetwarzanie solo (nie trzeba wyważać otwartych drzwi). Z tym, że nie wiem czy w pojedynkę da się wygenerować odpowiednią ilość mocy obliczeniowej, nawet korzystając z dzisiejszych GPU. RTX 4070 przelatuje przez 1 zestaw rotorów  w około minutę, kombinacji jest ok. 1300 więc w najlepszym wypadku zrobiłby 1 przebieg dziennie - gdyby okazało się, co niewykluczone, że do złamania tekstu potrzebne będzie kilka tysięcy - jest to czas działania na parę lat.

Po dyskusji z AI - wszystkie wskazują na fakt, że zamiast liczyć po prostu "jak leci" należy wdrożyć silny postprocessing, analizować zwrócone wyniki i zwiększać priorytet wskazanych ustawień. To oznacza większe wymagania co do serwera, mniej zadań w toku, ale mimo wszystko potrzebna jest spora moc obliczeniowa - od wczoraj posiedziałem kilka godzin, wyciągnąłem z serwera wszystkie istotne wyniki i poddałem analizie nowymi narzędziami - wskazane zostało kilkadziesiąt potencjalnych ustawień maszyny do dalszych poszukiwań, na 2-3 kompach odpalając ręcznie to jest z rok czekania.

Co mnie zniechęca do wznowienia działań to:
- RODO srodo - średnio chce mi się analizować jakie są obecnie wymagania, a jednak w świetle obowiązujących przepisów spora baza danych chociażby maili to już jest potencjalny problem;
- cyberbezpieczeństwo - strach dziś wystawiać cokolwiek na świat nie monitorując tego 24/7/365
- chroniczny brak czasu - nie dość, że dalej pracuję w służbie zdrowia, gdzie człowiek dymany z każdej strony (nie to, co lekarze) - to jeszcze zacząłem studia na nowym kierunku + roczne szkolenia
- wymagany nakład pracy - dalsze działanie "na pałę" wykorzystując samą moc obliczeniową raczej nie ma sensu, ewentualnie do wykorzystania jako zadania "w tle", natomiast należałoby się skupić na nowych procedurach - sterowaniem przebiegiem i analizą wyników.

tito

Beee. (odgłos barana)
Twój post lekko mnie z rana zszokował - forum pada, zespół idzie tylko siłą rozpędu, cały BOINC też ledwo dycha, a tu TJM pisze o projekcie uznanym za martwy, a nawet rozłożony.
Całość Twojego posta pięknie podsumowuje ostatni akapit - pomimo chęci brak czasu załatwi sprawę i reaktywacji nie będzie.
Jakbyś jednak potrzebował trochę mocy CPU/GPU to z pewnością chętnych znajdziesz.

TJM

Też się tego obawiam, tym bardziej że lata lecą i o ile kiedyś mogłem siedzieć i dłubać coś do 3 w nocy a potem rano iść do roboty, teraz znacznie szybciej padam, a nawet jeżeli nie padnę, kolejnego dnia z rana jestem jak zombi.
Bardziej obawiam się jednak, że rozpocznę jakieś prace, a ktoś przy udziale AI lub bez wpadnie na jakiś ciekawy pomysł i uda mu się złamać P1030680 bez udziału poważniejszej mocy obliczeniowej. Wydaje mi się to dość mało prawdopodobne, ale kto wie. AI potrafi wygrzebać informacje z samego dna Internetu, co za tym istnieje pewne ryzyko, że ktoś będzie drążył temat i AI odnajdzie gdzieś jakieś zapisy dotyczące potencjalnej treści tej wiadomości, wygeneruje criby i następnie odnajdzie ustawienia maszyny symulatorem bomby.

Tymczasem wokół tematu Enigmy ostatnio zrobił się rozgłos więc pewnie próbujących coś wskórać nie brakuje. Dziś pojawił się link https://cryptocellar.org/bgac/the-awtzk-znlzt-breaks.html - tutaj ktoś dla odmiany ręcznie uczciwie pracując, złamał 2 wiadomości zaszyfrowane na M3.

Tymczasem tutaj https://www.youtube.com/watch?v=JsBZOcqZerk na końcu rzucają rękawicę właśnie na P1030680

Co pocieszające, to że przez weekend przepchnąłem wszystkie wyniki projektu przez różne filtry, heurystykę i statystyki - przynajmniej na razie nie wydaje mi się, żeby gdzieś w wygenerowanych rezultatach było rozwiązanie które nie zostało wykryte. Natomiast trochę przerażające jest to, ile tych wyników jest - dla jednej z większych serii zadań 12,5 miliona unikatowych stringów (2000 przebiegów po wszystkich ustawieniach, bez rozwiązania). Depesza która została złamana w 2013, dla porównania miała tylko ok. 50 przebiegów w 2 seriach, z czego część zdążyła się policzyć rozpędem, ponieważ serwer nie mógł łatwo zatrzymać już wysłanych zadań.

Rozważam poczekać trochę na rozwój sytuacji i jeżeli nikt magicznie wiadomości nie złamie, może odezwać się do prawdziwych ekspertów z deklaracją dostarczenia mocy obliczeniowej w zamian za pomoc w wyznaczeniu kierunku działań.