Menu

Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.

Pokaż wiadomości Menu

Wiadomości - mariotti

#1
Cytat: Rysiu w 21 Wrzesień 2013, 13:44
Niestety nie. Potem może dopiszę taką funkcjonalność.

Średnia z głosów na dzień dzisiejszy wynosi ok. 4.2 (z 57 głosów). Niestety na oko najliczniejsza grupa to zera.
Choć dominanta niska, to średnia całkiem wysoka.
#2
Archiwum / potwierdzenie u tego samego usera?
18 Wrzesień 2013, 03:14
Cześć

Dodałem kilka zadań testowych, ot tak, żeby po przerwie sobie przypomnieć jak to wszystko działa.
Zadania dodały się dobrze, klient, nawet w starej wersji, ładnie pobrał programy i zadania, i
policzył. Nic, tylko się cieszyć. Jednak przyjrzałem się bliżej wynikom i widzę, że ja, jako jeden i
ten sam login, na jednym i tym samym komputerze, dostałem jedno i to samo zadanie dwa
razy - drugi raz do potwierdzenia. Wydaje mi się to dziwne, bo przecież jakbym chciał oszukiwać, to
bym dwa razy wysłał identyczny-błędny wynik w odpowiedzi na identyczne taski.

Co powiedzie na ten temat?

Pozdrawiam

P.S.
Proszę, chwilowo nie dodawajcie  perfta do swoich aplikacji liczących.

P.S.2
Może dla pewności wyrażę się dobitniej. :) Teraz będę eksperymentował na
kodzie tego projektu. Oznacza to, iż może stać się wszystko, ze sformatowaniem
dysku i uszkodzeniem płyty głównej włącznie. Oczywiście takie ekstremalne
błędy są bardzo mało prawdopodobne, ale do póki nie przetestuję programu u
siebie, to lepiej nie pobierajcie go na swoje komputery.
#3
Cytat: Rysiu w 08 Wrzesień 2013, 18:31
Jeżeli to możliwe to proszę także userów B@P o udział w ankiecie: http://atom.oproject.info/bse/index.php#pull.
Można gdzieś zobaczyć wyniki tej sondy?
Pozdrawiam
#4
Takie jeszcze naszły mnie pytania, na które nie znam odpowiedzi:
1) Jaka jest łączna moc obliczeniowa wszystkich komputerów na świecie? Chodzi mi tylko o te komputer, na które
     w praktyce da się napisać dowolny program i uruchomić.
2) Jaka jest moc obliczeniowa wszystkich domowych komputerów na świecie?
3) Jaka jest moc obliczeniowa wszystkich komputerów z BOINC?
4) Jaki procent mocy obliczeniowej w BOINC stanowią domowe komputery?

Pozdrawiam
#5
Cytat: flaku w 08 Wrzesień 2013, 23:00
Właśnie nie rozumiem dlaczego uważasz giełdę za coś skomplikowanego. Na giełdzie nie musi być wykresów, ciągłych notowań, skomputeryzowanych programów sprzedaży. Giełda kwiatowa jest pełnoprawną giełdą taką jak każda inna.
Jakaś funkcja kup/sprzedaj po danej cenie, opcja doładowania konta i wypłaty z niego w stylu allegro i mamy giełdę jak ta lala ;)
Jakbym rzucił okiem na projekt techniczny, to może bym zmienił zdanie. Te fragmenty
projektu, które sobie wyobrażam, są w moim odczuciu trudne. Generalnie w przypadku
giełdy trzeba zadbać o większą ilość szczegółów niż w przypadku lotto.

Pozdrawiam
#6
Cytat: Karlik w 08 Wrzesień 2013, 23:44
Mam wrażenie, że rozmawiacie o [...] chciał z niego korzystać.
Moja obawa wynika właśnie z trudności zaprojektowania  i wdrożenia takich mechanizmów.
#7
Cytat: flaku w 08 Wrzesień 2013, 13:36
Nie da się analizować zmian cen w oderwaniu od popytu.
Tak, oczywiście.

Cytat: flaku w 08 Wrzesień 2013, 13:36
Przy wzroście podaży ruch cen zależy od krzywej popytu, która moim zdaniem w tym przypadku nie musi być malejąca.
Nie musi, ale w moim przekonaniu będzie malejąca z małymi wyjątkami. Te wyjątki to jakiś sukces obliczeniowy,
jakaś reklama projektu, nie wiem co jeszcze. Ciężko z tym dyskutować, to prawie jak fakt. Lepiej od razu
przejść do sposobów rozwiązania tego problemu.

Pierwsza propozycja (jeszcze nie przemyślana): Odznaka ma datę i ilość przeliczonych WU. Spowoduje to podobny
efekt do zamknięcia projektu. Wraz z końcem roku kończy się możliwość uzyskania odznaki. A stare odznaki jak wino ;-)

Druga propozycja: tak samo jak w bitcoin. Liczydłowi liczą i generują kredyty. Można zdefiniować malejącą
funkcję f(k), gdzie k jest ilością policzonych WU w danym projekcie. Jeśli liczydłowy pierwszy raz podpina
się do projektu, to wraz z otrzymanym WU otrzymuje liczbę k, która jest ilością policzonych WU. Ostatecznie
wartość f(k) mówi liczydłowemu, ile będzie musiał policzyć WU aby otrzymał odznakę. Potem wystarczy odznaki
wrzucać na giełdę czy aukcje. Powinna być możliwość wymiany jednych odznak za drugie, jak i odznak za
gotówkę. Jednak widać wady: rzucanie się na nowe projekty, szybkie zamykanie projektu i otwieranie podobnych
obliczeń pod inną nazwą. Generalnie zbyt trudne. Wersja boinc-lotto wydaje się pod każdym względem lepsza.

Cytat: flaku w 08 Wrzesień 2013, 13:36
Ale nam nie potrzeba inwestorów liczących po to, aby potem odsprzedać ludziom chcącym wspierać naukę. No dobrze, nie zaszkodziliby. Odrobinę przyspieszyliby obliczenia, ale dla mnie ważniejsi są ludzie którzy będą liczyć za pieniądze. Nie widzę potrzeby istnienia na giełdzie boinc takich inwestorów.
Albo nie rozumiem, albo przeczysz sam sobie. Jeśli są ważni ludzie którzy będą liczyli za
pieniądze i jeśli decydujemy się na giełdę, to musi być ktoś kto od nich odkupi policzone kredyty na
tej giełdzie.  Na giełdzie odkupuje inwestor z myślą o dalszym zysku lub fundator z myślą o
pozostawieniu sobie na zawsze. Jeśli nie widzisz potrzeby istnienia inwestorów, to nie widzisz potrzeby
istnienia giełdy, bowiem fundator może funkcjonować w wielu innych wersjach dofinansowania. Inne rozwiązani
niż giełda wydają się prostsze, bardziej przejrzyste, bardzie stabilne.



Cytat: flaku w 08 Wrzesień 2013, 13:36
Czy taki był zamysł pierwotny to nie wiem. Wiem, że jeśli to co opisałeś jest prawdą to jeszcze bardziej warto wprowadzić giełdę. Nie opisałeś niczego innego jak mechanizmu mającego zachęcić do liczenia w projektach, które rokują na jakieś wielkie odkrycie. Pamiętaj jednak, że giełda nie podąża ślepo za wynikami. Jeśli sukcesu danego projektu będą oczekiwali wszyscy, po osiągnięciu tego sukcesu cena kredytów nie skoczy.
Czy jest potrzebny aż tak skomplikowany, trudny w realizacji, niebezpieczny i nieprzewidywalny
mechanizm jak giełda? Nie lepiej zrobić lotto ze stałą ilość zwycięzców? Gdy więcej ludzi będzie
liczyło z kuponem i/lub gdy więcej fundatorów wpłaci pieniądze, to wygrane większe? A cegiełki
fundatorów i odznaki liczydłowych i tak i tak można by jeszcze dodatkowo wrzucać na allegro.



Cytat: flaku w 08 Wrzesień 2013, 13:36
Tu nie chodzi o żadną zmowę, tylko o przewidywanie przyszłości. Takie zmowy nie byłyby zbyt opłacalne. Najprostszy na świecie przykład: Tego lata jest dużo zboża, a spekulanci przewidują nieurodzaj za rok. Kupują więc zboże dziś i sprzedają w następnym roku.
Sprzedadzą szybciej niż planowali, wystarczy że się nadarzy inna atrakcyjna sposobność wydania pieniędzy.


Cytat: flaku w 08 Wrzesień 2013, 13:36
Dzięki temu oni mają pieniądze, a zboże zebrane w roku obfitym będzie zjedzone dopiero wtedy, gdy zboża będzie brakowało. Problem w tym, że takie rzeczy ciężko przewidzieć. Komu się uda, ten zgarnia kasę. Przykład najprostszej zdrowej spekulacji.
Zgadza się, ale w BOINC przewidywania w z dużym prawd. będą trafne - spadek z
powodu inflacji. Więc lepiej szukać fundatorów niż inwestorów, którzy kupią od
razu z myślą o zatrzymaniu na wieczność.

Cytat: flaku w 08 Wrzesień 2013, 13:36
Nie pisz mi, że chodzi o zachęcanie nowych gdy moja wypowiedź odnosi się do zacytowanej przeze mnie wypowiedzi o zmianie wyboru projektów przez STARYCH liczących.
Sorry, najwyraźniej czegoś nie zrozumiałem.

Pozdrawiam
#8
Cytat: flaku w 07 Wrzesień 2013, 20:41
Fundatorzy też mogą działać poprzez giełdę. Nie widzę przeszkód.
Mogą, ale nie chodzi o to czy teoretycznie to jest możliwe, ani nawet fizycznie, tylko
o to, czy dane rozwiązanie dofinansowania jest proste, jasne, wygodne. Możemy
zrobić też tak, że fundatorami mogą zostać osoby które odbyły lot na księżyc - dziś
jest takie coś możliwe.


Cytat: flaku w 07 Wrzesień 2013, 20:41
Do całego dalszego wywodu: Ktoś tutaj przespał lekcje ekonomii. Zwiększona podaż nie zawsze obniża cenę, ponieważ cena jest
określana przez użyteczność krańcową, która nie zawsze maleje ze wzrostem podaży. Przykład z samochodami nie jest trafiony, ponieważ
produkcja większej ilości samochodów zaspakaja potrzeby konsumentów na samochody.
Nie przespałem.  Założyłem że jest oczywiste iż nie mówię w oderwaniu od popytu.


Cytat: flaku w 07 Wrzesień 2013, 20:41
Ludzie myślą: mam już samochód, nie chcę drugiego.
To jest przykład popytu.


Cytat: flaku w 07 Wrzesień 2013, 20:41
Pamiętaj, że prawa ekonomii są niezmienne i działają zawsze.
Ależ bym zrobił tutaj piękny wywód, szkoda że nic by nie wniósł do dyskusji.


Cytat: flaku w 07 Wrzesień 2013, 20:41
Nawet teraz, gdy giełdy nie ma. Nie widać analogicznego spadku zainteresowania starymi dużymi projektami takimi jak
WCG, tylko dlatego że ktoś ma już dużo punktów w WCG.
To jest mój argument. Nie ma spadku zainteresowania starymi/dużymi projektami, bo ludzie w wolontariacie
liczą. Można przypuszczać że będzie podobnie z pomaganiem finansowym. Liczydłowi pomagają
wytrwale mocą obliczeniową, fundatorzy będą wytrwale pomagali zastrzykiem gotówki. Dla
inwestorów giełdowych miejsce może jest, ale ja go nie widzę.


Cytat: flaku w 07 Wrzesień 2013, 20:41
W skrócie: Jeśli na giełdzie stare projekty miałyby być poszkodowane tylko dlatego, że ich punktów jest już dużo, to byłyby także poszkodowane już teraz.
Chodzi o to, że nie będą atrakcyjne dla inwestorów szukających realnej szansy na zysk.



Cytat: flaku w 07 Wrzesień 2013, 20:41
Jeśli na giełdzie ludzie myśleliby "mam już dużo punktów w WCG, nie potrzebuje więcej"(a z tego bierze się spadek ceny przy zwiększonej podaży), to w obecnej sytuacji myśleliby tak samo i porzucaliby WCG, bo już mają dużo punktów tego projektu na koncie.
Nie chodzi o spadek zainteresowania u ludzi liczących już teraz w wolontariacie. Wolontariusze nie
porzucają projektów, bo godzą się liczyć całkowicie darmowo. Nie porzucają, bo są ludźmi o
wysokiej świadomości naukowej i przy okazji mają trochę zasobów do wykorzystania. Chodzi o
zaprzęgnięcie nowych osób jakąś marchewką. Nowe osoby które przeanalizują giełdę boinc w
moim przekonaniu nie znajdą marchewki.

Cytat: flaku w 07 Wrzesień 2013, 20:41
Zapotrzebowanie nie jest "stałe" w tym sensie o którym myślisz. W związku z powyższymi argumentami myślę, że nie wystąpiłaby większa dyskryminacja starych produktów niż teraz. Jeśli chodzi o inwestycję to pamiętaj że ostatecznie wartość każdego kredytu będzie się opierała na prestiżu. Nawet jeśli projekt nie jest zakończony, to jest warty tyle, jaką. wartość przypisują mu ludzie którzy chcą mieć kredyty dla idei. "Inwestorzy" jedynie próbują przewidywać tą wartość, sami jej nie dodają.
Sytuacja którą opisałeś jest jak najbardziej realna. Chodzi o to, że będą takie
występowały rzadko. Od czasu do czasu jakiś projekt zakończy się sukcesem i
nie będzie sensu dalej liczyć. Sukces przyczyni się do prestiżu, a koniec obliczeń
spowoduje koniec inflacji - idealna perspektywa dla inwestorów. Jednak takie
możliwości będą pojawiały się rzadko. Jeśli jakiś projekt w oczywisty sposób
będzie rokował zgodnie  z powyższym, to z kolei wyssie inwestorów z innych
projektów. Takie wyssanie spowoduje zwiększoną podaż w innych projektach.
Zwiększona podaż jeszcze bardziej obniży cenę kredytów. Mądrzy inwestorzy
przewidzą takie sytuacje i nie zainwestują w gorsze (pod tym względem) projekty,
będą czekali cierpliwie na tłusty kąsek - czy na pewno o takie pomaganie
finansowe chodzi?




Cytat: flaku w 07 Wrzesień 2013, 20:41
Spekulanci są potrzebni nie tylko ze względu na płynność. Zwłaszcza na giełdach towarowych biorą czynny udział w decydowaniu o tym, kiedy dane zasoby mają być wykorzystane.
Musieliby działać w zmowie - może działają, aż tak się nie znam. Generalnie im więcej
spekulantów, tym większe prawdopodobieństwo, że ktoś przyjmie po danej cenie ofertę, a
to oznacza większą płynność wprost z definicji. Jak wszyscy spekulanci zrobią zmowę
cenową, to będzie jak mówisz.


Cytat: flaku w 07 Wrzesień 2013, 20:41
Na giełdach papierów wartościowych to zjawisko także występuje, chociaż jest mniej oczywiste. Na giełdzie Boinc mieliby raczej małe pole do popisu, zgadzam się. jednak pamiętajmy że to nie z myślą o nich chcemy tworzyć giełdę. Ale tak jak mówisz, również wątpię aby upowszechniły się takie działania jak krótka sprzedaż czy opcje.
Mało spekulantów oznacza małe szanse na sprzedaż w krótkim terminie po dobrej cenie.


Cytat: flaku w 07 Wrzesień 2013, 20:41
Tak mi wpadł do głowy jeden problem. Komu przypisać osiągnięcie naukowe takie jak na przykład odkrycie liczby pierwszej. Fundatorowi czy liczącemu? Chyba liczącemu biorąc pod uwagę to, że kupowałoby się już przeliczone punkty. Chyba, że giełda funkcjonowałaby na tej zasadzie, że kupujemy punkty, które dopiero mają być przeliczone.
Czyli wkraczamy w drugi etap motywowania. Nie poprzez pieniądze, ale poprzez
przypisania osiągnięć naukowych - nie mam głowy na to w tej chwili.


Cytat: flaku w 07 Wrzesień 2013, 20:41
Nie zgodzę się. Ludzie już teraz mogą kopać bitcoiny, a wybierają boinc. Ci, którzy teraz chcą liczyć dla nauki nie będą chcieli sprzedawać swoich kredytów, bo wtedy będą mieli poczucie że nie zrobili nic dla nauki [...]
Chodzi o zachęcenie NOWYCH użytkowników środkami finansowymi.


Cytat: flaku w 07 Wrzesień 2013, 20:41
Sądzę, że największym problemem będzie to, czy zainteresowanie giełdą będzie na tyle duże aby poświęcać czas ludzi na jej stworzenie.
Nie wiem, ale myślę że aukcje wystarczą w zupełności, zarówno do odznak za liczenie jak i cegiełek za wspieranie finansowe.


Pozdrawiam
#9
Cytat: krzyszp w 06 Wrzesień 2013, 23:53
Wiesz, komercja jest wszędzie teraz, miałem jakąś nadzieję, że BOINC się przed tym obroni, ale chyba jednak nie...
Osobiście nie widzę nic złego w samej komercjalizacji takich czy innych przedsięwzięć. Kłopoty
mogą pojawić się w kolejnym kroku za pieniądzem: chciwość, wykorzystywanie, oszustwa, manipulacje...
Zdrowy projekt obliczeń rozproszonych z wspomaganiem finansowym to same korzyści.


Cytat: krzyszp w 06 Wrzesień 2013, 23:53
Naprawdę, nie rozwiałeś moich wątpliwości... Ale oczywiście, nie mam zamiaru "zawracać kijem Wisły", to po prostu takie luźnie uwagi...
Kilka faktów jest, których podważyć się nie da. Na temat pozostałych, możemy jedynie gdybać.

Cytat: krzyszp w 06 Wrzesień 2013, 23:53
Tak gwoli wyjaśnienia - w projekcie przytoczonym powyżej nie mam statusu jakiegoś fundatora - po prostu akurat wtedy go liczyłem.
Tak też zrozumiałem. Chodziło mi o to, że Twoje zasługi w żaden sposób nie ulegną dewaluacji
przez grubych fundatorów. W wersji lotto, zdobywanie i znaczenie odznak nie ulega najmniejszej
zmianie.

Pozdrawiam
#10
Cytat: krzyszp w 06 Wrzesień 2013, 23:32
Właśnie tutaj jest problem - czy ludzie "działający" w BOINC się nie odwrócą?
Raczej się nie odwrócą. Ale prawie na pewno zmieni się sposób wybierania
projektów. Przestaną patrzyć co jest ciekawe, zaczną patrzyć co jest opłacalne.


Cytat: krzyszp w 06 Wrzesień 2013, 23:32
Podam przykład -  kiedyś masę prądu i pieniędzy poświęciłem na jakiś projekt, a teraz pojawi się gość, co sypnie kasą i będzie miał sygnaturkę wskazującą, że "od zarania" w tym działa... Będzie mi przykro...
Lotto nie ma tego problemu. Wartość odznaki liczydłowych się nie zmieni. Fundatorzy
dostaną odznaki z innej kategorii. Zdobywałbyś tak samo zasługi poświęcając prąd,
czas i pieniądze, a dodatkowo byś mógł wybrać wersję z kuponem lub bez kuponu,
a nawet po wybraniu bez kuponu, byś miał jakąś malutką szansę na bonus w postaci
kilka tys usd od jakiegoś fundatora.

Pozdrawiam
#11
Cytat: krzyszp w 06 Wrzesień 2013, 23:10
Zgadzam się z Wami obydwoma :)
Jedna uwaga - ostatnio powstają hurtowo odznaki (badge) w projektach. Na giełdzie mogły by sporo być warte odznaki z projektu NagrzewanieStali@Home - wartość kolekcjonerska... Nie lekceważyłbym tego...
Może trudność zdobycia odznaki powinna rosnąć proporcjonalnie do ilości
"wypuszczonych kredytów" w projekcie? Zapobiegłoby to inflacji, ale ludzie
by się rzucali na młode projekty. A może to dobrze? Powstaje nowy projekt, to
ludzie mu będą chętniej pomagali tak długo aż trudność zdobycia odznaki
wyrówna się ze starymi projektami? Nie wiem, to tylko takie luźnie przemyślenia.



Cytat: krzyszp w 06 Wrzesień 2013, 23:10
Od razu wyjaśnienie - mam mieszane uczucia odnośnie giełdy, pomijając koszt infrastruktury i administracji, nie jestem pewien, czy komercjalizacja tej idei była by dobrym pomysłem, nie mam jeszcze zdania ani na "tak", ani na "nie".
Ja też nie wiem, to co piszę w dużej części stanowi swobodne rozważania.

Pozdrawiam

#12
Cytat: flaku w 06 Wrzesień 2013, 12:12
Boinc lotto jest ok. Nie widzę przeszkód aby obie koncepcje działały równolegle.
Ostatecznie zadecydują użytkownicy. Jeśli znacznie więcej ludzi zostanie
zainteresowanych z powodu giełdy, to nie ma sensu robić lotto i na odwrót.

Gra na giełdzie zyskała sobie bardzo pozytywny wydźwięk, często w mediach
osoby mające coś wspólnego z giełdą są stawiane w dobrym świetle, itd. Giełda
może być bardzo chwytliwym hasłem.  Hazard kojarzy się zupełnie inaczej, choć
ma wiele z giełdą wspólnego. Więc mamy plus dla giełdy. Jednak słabo sobie
wyobrażam przekonanie inwestorów, a to oni są ważni. Myślę że lepiej jakby
zamiast inwestorów byli fundatorzy.


Cytat: flaku w 06 Wrzesień 2013, 12:12
Pamiętaj, że to, że na świecie jest taki ogrom talerzy nie jest zasługą ludzi, którzy chcieli aby na świecie było jak najwięcej talerzy, a tych ,którzy chcieli mieć talerze dla siebie. Jeśli będziemy produkować talerze dla siebie, to wcale nie będzie ich więcej, bo wydajne fabryki zostaną zamknięte.
Do pewnego stopnia "chęć posiadania" i "chęć zwiększenia ilości na świecie" są zbieżne. Liczydłowy
albo jest człowiekiem o wysokiej świadomości społeczno/naukowej, albo chce coś mieć w zamian za
obliczenia - zresztą jedna możliwość drugiej nie wyklucza. Co komu po wysokiej świadomości, jak nie
ma pieniędzy na prąd. Jednak nie czuję, aby ten tok rozumowania zaprowadzi nas daleko. Może spróbujmy
zebrać fakty? Co jest faktem? Faktem jest że liczydłowi liczą charytatywnie. Faktem jest że pieniądze
zachęcą większą rzeszę liczydłowych. Jest też taki fakt, że jeśli jedna metoda jest dużo skuteczniejsza
od drugiej, to szkoda wysiłku i czasu na realizację drugiej. Jakie jeszcze są ważne fakty? Jakie są jeszcze
metody na zachęcanie? Czy wiemy coś jeszcze tak prawie na 100%?


Cytat: flaku w 06 Wrzesień 2013, 12:12
Nie byłbym taki pewny co do tej inflacji.
Ja jestem pewny na tyle, na ile można polegać na prawach podaży i popytu. Są
one dość mocne.

Cytat: flaku w 06 Wrzesień 2013, 12:12
Nie mówię że by nie wystąpiła, bo stanu rynku się przewidzieć nie da, jednak są pewne przesłanki, które mówią że sytuacja tutaj różniłaby się odrobinę od innych dóbr.
Moim zdaniem, na takim generalnym poziomie, rynek jest przewidywalny - większa podaż oznacza niższą cenę.


Cytat: flaku w 06 Wrzesień 2013, 12:12
Zazwyczaj spadek cen spowodowany wzrostem podaży jest związany z większą dostępnością do dóbr/wzrostem produktywności. Tutaj takiego zjawiska nie ma. Zdobycie każdego nowego kredytu wymaga ciągle tyle samo pracy.
Wzrost produktywności też jest - szybsze komputery. Ale ok, chodziło o inflację spowodowaną czasem obliczeń.

Cytat: flaku w 06 Wrzesień 2013, 12:12
Z drugiej strony stare dobre projekty mają swoje osiągnięcia, a więc ich kredyty mogłyby być bardziej prestiżowe.
Może się mylę, ale nie mogę się zgodzić. Coby się stało, jakby ilość jakiegoś ferrari robionego
ręcznie, zwiększyła się do ilości jakiś samochodów produkowanych seryjnie? Cena by spadała,
pomimo prestiżu, jakości, itd. Myślę że cena spadłaby do poziomu tych samochodów seryjnych.
Ilość ma ogromne znaczenie na rynku.

Cytat: flaku w 06 Wrzesień 2013, 12:12
Nie zawsze zwiększona ilość skutkuje spadkiem ceny.
O ile wiem, to przy stałym zapotrzebowaniu, skutkuje zawsze.


Cytat: flaku w 06 Wrzesień 2013, 12:12
Weźmy na przykład takie monety bulionowe. Monet starych, ogromnych mennic jest najwięcej. Moneta z liściem klonu, wiedeńskimi filharmonikami czy koalą jest jednak warta więcej niż taka wybita przez nieznaną mennicę właśnie ze względu na pewność zawartości kruszcu. Tak samo tutaj kredyty starych projektów z osiągnięciami mogą mieć wartość wyższą niż nowych, bo każdy wie, że te kredyty "są dobrej jakości".
Nie porównywałbym. Ilość kruszcu na świecie jest mocno ograniczona, prawdopodobnie nigdy nie
zwiększą się możliwości wytwarzania monet, raczej będą malały. Kredyty wręcz przeciwnie,
nabijane są hurtowo.


Cytat: flaku w 06 Wrzesień 2013, 12:12
Jeśli projekt XXX został zamknięty, to spadek ceny jego kredytów nic nie zmienia, bo już i tak nikt nic w nim nie policzy.
Masz rację, że dla projektu nic nie zmieni. Chodziło mi o to, że inwestorzy będą wiedzieli o
takiej możliwości. Jeśli będą wiedzieli, to dla nich nie będzie to żadną inwestycją. Zaraz
skontrujesz mnie, że kupią dla samego prestiżu i wsparcia nauki. Jednak do tego nie
jest potrzebna giełda.

Gdy kiedyś dowiedziałem się, że spekulanci na giełdach są
pozytywnym (wręcz koniecznym) zjawiskiem, to się zdziwiłem. Okazuje się, że wiele
rynków ma zbyt małą płynność, aby mogło dobrze funkcjonować. Funkcjonują tylko
dzięki dużej ilości spekulantów. Czy takie zjawisko na BOINC powstanie? Nie wiem, ale
myślę że nie, bo w większości przypadków cena będzie przewidywalna. Będzie
spadała. Z rzadka, po jakimś sukcesie i zakończeniu wyników, cena podskoczy. Myślę
że te rzadkie skoki nie rozbujają giełdy.

Może się mylę, ale pomysł fundatorów i jakiejś loterii bardziej do mnie przemawia.
Czasami liczę jakieś statystyki dla pewnej hazardowej gry, a tak bym sobie wykupił za
100PLN jakiś żeton, włączył komputer i liczył BOINC :D

Hmmm do czego pieniądze za obliczenia prowadzą? Pewnie szachów też bym nie
liczył, za to bym szukał projektów z najwyższą esperancją z ostatniego miesiąca. Hmmm
może jednak liczenie za pieniądze (bez względu na formę zarabiana) jest bardziej
niemoralne niż mi się początkowo wydawało. A może zasady tego lotto powinny być
zunifikowane, aby nie było konkurencji pomiędzy projektami? Czy taka unifikacja jest
w ogóle możliwa?


Pozdrawiam

#13
Cytat: Rysiu w 31 Sierpień 2013, 12:06
2. Skąd biorą się tutaj realne pieniądze?
Otóż możemy sobie wyobrazić, że pewnego pięknego kwietniowego dnia sprzedaliśmy 10 milionów kredytów w Enigma@Home za 1 000 dolarów (taki był aktualny kurs). Tego samego dnia kupujemy za to 20 milionów kredytów SETI@Home (SETI miało bardzo słaby kurs tego dnia i myśląc, że nadejdzie hossa kupujemy kredyty tego projektu). Następnego dnia Anderson pisze, że w ciągu tygodnia mają zabrać im dostęp do teleskopu z którego pochodzą dane do projektu dlatego najprawdopodobniej w najbliższym czasie zostanie on zamknięty. Coraz więcej osób chce zebrać jak największą ilość kredytów przed zamknięciem projektu dlatego przestawiają swoje CPU/GPU na SETI@Home aby wyciągnąć ile tylko się da. Kurs kredytów w SETI@Home gwałtownie zmienia się (zmienia się ilość chętnych do kupna/sprzedaży kredytów SETI) i przyjmijmy, że wzrasta x2 w porównaniu do kursu gdy kupiliśmy w tym projekcie kredyty. Wtedy sprzedajemy je i otrzymujemy za nie 2 000 dolarów (2x więcej niż 1 000 dolarów za które kupiliśmy kredyty). Teraz kupujemy 10 milion kredytów w projekcie Enigma@Home za 1 000 dolarów (ponieważ kurs w tym projekcie nie zmienił się) i pozostaje nam 1 000 dolarów zarobione na czysto.

Zakup po określonej cenie i sprzedaż po określonej cenie są możliwe tylko w
przypadku notowań ciągłych. Takie notowania ma stosunkowo niewiele instrumentów
finansowych. Zwykle są stosowane sesje i nie widzimy rzeczywistej ceny. Jeśli chcemy
sprzedać/kupić po określonej cenie, to nie mamy gwarancji co do czasu kiedy
uda nam się zawrzeć transakcję. Gdy nie będzie chętnych na nasze warunki,
to nie doczekamy się nigdy. Jeśli chcemy sprzedać/kupić po każdej cenie, to
uprawiamy zwykły hazard. Raczej wpadniemy w pułapki zastawiane przez spekulantów i
zawrzemy transakcje na niekorzystnych warunkach.

Jednak nawet w przypadku notowań ciągłych, giełda ogólnie jest nieprzewidywalna,
równie dobrze można wygrać co przegrać.

Cena kredytu będzie wypadkową z ich ilości na giełdzie i przełożenia na korzyści z
posiadania. Korzyści tutaj oznaczają prestiż. Projekty które generują dużo
kredytów będą bardzo popularne i ich cena będzie niska - każdy będzie mógł
to gdzieś za bezcen znaleźć. Projekty które będą miały mało kredytów - będą
rzadkie, jeśli jeszcze będą dobrze nadawały się do pochwalenia, to osiągną
wysoką cenę. Co się może stać z projektami które trwają długo? Może osoby
które weszły w posiadanie dużej ilości kredytów, będą dążyły do ich
zatrzymania? Może twórcy projektu zarejestrują go pod trochę inną nazwą?
Giełda spowoduje, że im projekt dłużej się liczy, tym kredyty mniej warte - czy
to na pewno będzie dobrze zachęcało do finansowania?

Zapewne pojawi się też inflacja między-projektowa. Załóżmy że projekt XXX został
zamknięty i jest stała ilość kredytów na giełdzie. Wydaje się że osiągnęliśmy
lekko ustabilizowaną sytuację. Jednak może pojawić się moda na kredyty nowego
projektu YYY. Każdy będzie chciał sprzedać XXX, żeby kupić YYY. W końcu
będzie tak dużo kredytów, że każdy będzie miał jakieś i generalnie ich wartość
spadnie. 


Próbuję sobie wyobrazić giełdę BOINC, ale za każdym razem jakoś nie mogę.
Albo widzę za dużo trudności, albo wręcz jakieś rozbieżności. Teraz doszedłem
do rozbieżności pomiędzy ceną kredytu a czasem trwania projektu. Dlaczego
projekty długotrwałe mają być dyskryminowane? Dlaczego osoby które początkowo
wykupiły kredyty długotrwałych projektów mają w dłuższym czasie zostać skazane
na stratę?

Pozdrawiam
#14
Spróbuję w tym wątku, moi wytrwali interlokutorzy, wywiedzieć się od was,
co myślicie o mojej niniejszej próbie nadania hazardowi dobrego oblicza :D

Rysiu, w jednym z poprzednich wątków, poruszył temat zachęty finansowej dla
wolontariuszy w postaci giełdy kredytów. Być może się głęboko mylę, ale
uważam, że giełda choć mogłaby pełnić funkcję dobrej zachęty finansowej, to
jednak jej realizacja w praktyce okaże się bardzo trudna.

Jak w zarysie mógłby ten hazard o zacnej twarzy wyglądać? Poniżej
moja napisana na kolanie, a więc zapewne bardzo niedopracowana, propozycja:
1) Na początku zwyczajnie powstaje aplikacja licząca
2) Wraz z aplikacją liczącą powstaje definicja turnieju, generalnie w każdym
     turnieju biorą udział pieniądze i obliczenia, turniej rozpoczyna się cyklicznie co
     jakiś czas i trwa do końca następnego cyklu
3) Jakiś algorytm na podstawie punktów wylicza zwycięzców i wysokość ich
     wygranych

Co do definicji turnieju. Zarówno definicje turnieju jaki i wszelkie statystyki
ułatwiające oszacowanie szansy na wygraną powinny być całkowicie jawne.
Myślę że powinny być dwie wersje turnieju. Jedna całkowicie darmowa, a
druga płatna. W wersji darmowej praktycznie nic się nie zmienia, liczydłowi
liczą jak liczyli do tej pory, ale mają informację o tym ile mogą wygrać i z jakim
prawdopodobieństwem. W wersji płatnej, przed włączeniem obliczeń, trzeba
jeszcze kupić kupon. Tak samo jak w lotto. Wydaje się to wam idiotyczne?
Nie dość że wydawać pieniądze na komputer, energię elektryczną, to jeszcze
płacić za kupon? Mnie w takim ujęciu też wydaje się to idiotyczne. Więc dlaczego w
ogóle zdecydowałem się to zaproponować? Otóż dlatego, że niedawno widziałem
wynik badań dotyczących obrotów na rynku szeroko rozumianego hazardu. Nie
mogę podać szczegółów, ale kwoty i inne statystyki  powalają z nóg - nie trudno
ulec wrażeniu, że grają wszyscy! Zresztą możemy zrobić anonimową ankietę na
tym forum i zapytać ludzi, jakie kwoty wydali/wygrali w ostatnim roku. Jestem
pewny, że wersja boinc-lotto ma szansę zaistnieć.

W poprzednim akapicie miałem pisać o definicji turnieju, a zabrnąłem w
przekonywanie że wersja z płatnym kuponem może realnie zaistnieć.
Wracając, różnorodne szczegóły turnieju można wymyślać dość łatwo.
Twórcom projektu będzie zależało na przyciągnięciu jak największej
ilości użytkowników, więc sami zadbają o przejrzyste i atrakcyjne zasady. 

Jakie są zalety lotto względem giełdy?

Po pierwsze - mniejsza niepewność. Jeśli projekt jest dofinansowany apriori,
to już przed wzięciem udziału w darmowej wersji znamy wartość oczekiwaną i
odchylenie standardowe wygranych. W przypadku giełdy nie wiemy kompletnie
nic. Albo się znajdzie chętny, albo nie, albo się znajdzie w tydzień, albo za
10 lat, albo będzie chciał kupić po takiej cenie, albo po innej.

Po drugie - turniej może być grą o dodatniej wartości oczekiwanej. Giełda też
może być taką grą, jednak w przypadku giełdy, to się okazuje dopiero gdy się
znajdzie chętny do zakupu. W przypadku turnieju, gdy projekt ma dofinansowanie, a
liczydłowi mają tani sprzęt/energię, będzie można ustalić wartość oczekiwaną i
czasami może się ona okazać dodatnia.

Po trzecie - brak manipulacji spekulacyjnych. Każdy ma jasno określone reguły
turnieju. Gra na małych giełdach (które i tak mogą się okazać wielkimi względem
giełdy BOINC) to hazard z niewielkimi wyjątkami.

Po czwarte - nie ma problemu z handlowaniem "jedną akcją". Często obsługa
transakcji jest kosztowna, więc cena jednej akcji jest wysoka. Liczydłowi
chcący sprzedać jeden kredyty napotykali by na koszty przelewów i zapewne
innych operacji. W przypadku turnieju problem znika sam. Np. nagrody
otrzymuje raz na miesiąc 0.001 uczestników.

Po piąte - zostają zachowane pewne zalety giełdy. Osoby finansujące
projekty mogą otrzymywać jakieś cegiełki i wystawiać je na aukcjach.
Jakby ktoś chciał, zawsze może postawić giełdę takich cegiełek, a nóż
będzie to dobry pomysł.

Po szóste - osoby z małą ilością komputerów nie są narażeni na inflację.
W BOINC chodzi o stworzenie super-komputera z połączenia wielu
komputerów osób prywatnych i małych instytucji. Liczydłowy oferujący
jeden kredyt do sprzedania padałby szybko ofiarą rekinów na giełdzie.
W przypadku turnieju zawsze ma stałą szansę na wygranie.

Na tym kończę i pozdrawiam.
#15
Cytat: krzyszp w 05 Wrzesień 2013, 23:27
Cytat: flaku w 05 Wrzesień 2013, 23:23
Niezbyt rozumiem zdanie "jak instytucje naukowe mogłyby uzyskać budżet równoważny obecnej sieci wolontariuszy?"
Jeżeli dobrze rozumiem, to chodzi o to, że jakaś hipotetyczna instytucja badawcza zamiast na sprzęt, mogła by fundusze rozdzielić pomiędzy wolontariuszy. Generalnie ciekawe podejście dające strategię win-win, czyli każdy coś wygrywa. Problemem by było skłonić tę instytucję do wydania środków na wolontariuszy, skoro oni i tak za darmo liczą ;)
Mniej więcej o to chodziło, ale nie popadajmy też w drugą skrajność. Skłonienie ich nie byłoby problemem, bo
za szansą na jakieś zyski, idzie większa motywacja do obliczeń. Zachęta finansowa robi dobrze - tutaj nie ma
co dyskutować. Problem w tym, że zachęta w formie giełdy, wydaje się strasznie trudna w praktycznej realizacji.

Załóżmy nowy wątek "boinc-lotto", ciekawe jaki będzie przebieg rozmowy :D

Pozdrawiam
#16
Cytat: flaku w 05 Wrzesień 2013, 23:23
Dlaczego uważasz, że lepiej by było gdyby je wydał na własny prąd i komputery?
Trudno powiedzieć żebym tak uważał, zwyczajnie taka myśl mi przemknęła przez głowę.
Jak ją uzasadniam? Otóż BOINC istnieje, liczydłowi liczą w wolontariacie. Nagle
pojawia się ktoś, kto ma pieniądze. Może te pieniądze przeznaczyć na sprzęt do
dalszych obliczeń, a może nimi zapłacić liczydłowym, za to co już dawno policzone.
Uważam że lepiej wydać środki na dodatkowy sprzęt do obliczeń, niż nimi płacić za
to co już i tak policzone.

W powyższe uzasadnienie wkrada się aspekt zachęty. Pieniądze są zachętą dla
liczydłowych, więc policzą więcej - raczej nie podlega to dyskusji. Jednakże
giełda nie jest jedynym sposobem finansowej zachęty. Rodzi się pytanie, czy
istnieją lepsze sposoby niż giełda. Myślę że istnieją. O jakich sposobach
myślę? A chociażby o boinc-lotto. Ludzie wydają każdego dnia miliony na
taką czy inną formę hazardu. Zróbmy boinc-lotto:
1) Ci którzy wolą zapłacić niż liczyć - wpłacają kasę
2) Liczydłowi uruchamiają aplikacje liczące
3) Jakiś algorytm ustala prawdopodobieństw wygrania w zależności od ilości kredytów - ale
     każdy, nawet najsłabszy, niech ma jakieś minimalne szanse.
4) Wygrani otrzymują całą kasę.

ad 2) Mogą być dwie wersje aplikacji liczących. Jedną wersję uruchamia się po prostu. Drugą
aby uruchomić, trzeba jeszcze kupić kupon za 5zł. Gdy ktoś obiera wersję drugą, to wygraną
ma z większej puli - czysty hazard. Po co grać w lotto albo na bukmacherce gdzie marże są
odpowiednio 50% i 3%-20%. Niech grają na obliczeniach które mogą zmienić bieg historii.

ad 3) Algorytm może promować silnych lub słabych. Ja bym promował słabych. Szansę wygrania
          liczydłowego x który ma K kredytów, jako p(K) = K_x^epsilon / sum( K_i^epsilon )

Cytat: flaku w 05 Wrzesień 2013, 23:23
Może ktoś ma prąd po taniości i jest w stanie za te same pieniądze wyliczyć więcej niż kupujący? Może czyjś komputer stoi większą część czasu wyłączony i taki ktoś dostanie pieniądze na prąd i będzie liczył przez resztę dnia, a osoba kupująca kredyty musiałaby w tym celu kupić nowy komputer, co jednocześnie przekłada się na wzrost kosztów. Może wreszcie czyjś komputer jest o wiele bardziej wydajny i lepiej spalić na nim tonę węgla niż na komputerze kupującego? Może ktoś specjalnie kupi jakiś uberwydajny komputer po to by sprzedawać moc obliczeniową wielu osobom, która wyjdzie taniej niż jakby te osoby liczyły osobno. 
To wszystko ogólnie podlega pod szeroko rozumianą zachętę finansową, nie tylko w formie giełdy. Nie
jestem przeciwnikiem zachęty finansowej, zresztą nie jestem też przeciwnikiem giełdy boinc. Myślę
natomiast, że inna forma zachęty finansowej będzie bardziej skuteczna i prostsza w realizacji.


Cytat: flaku w 05 Wrzesień 2013, 23:23
Powodów może być wiele. Nie wiem dlaczego za każdym razem miałoby być lepiej osobiście zainwestować w sprzęt. To tak jakby pisać że po co mamy kupować talerze jak przecież sami możemy sobie z gliny ulepić.
Porównanie do kupna talerzy jest chybione. Nie chcemy kupować talerzy. Chcemy aby
było jak najwięcej talerzy na świecie - tak samo jak chcemy, aby było wykonanych jak
najwięcej obliczeń. Za nowe środki lepiej wyprodukować nowe talerze, niż płacić za już
wyprodukowane.


Cytat: flaku w 05 Wrzesień 2013, 23:23
Na giełdach zawsze są jakieś dobra. Tu się zgodzę. Na giełdach papierów wartościowych towarem są głównie udziały w firmach.
Nie zgodzę się natomiast z tym, że na giełdach zawsze zakupujemy towar w celu przechowania i/lub przetworzenia, lub że trzeba na tym zarabiać. Na giełdach równie dobrze mogą występować dobra konsumpcyjne, które kupujemy po to by ich używać.
Przepraszam, nie chciało mi się już rozpisywać i konsumpcję potraktowałem jako rodzaj przetworzenia.

Cytat: flaku w 05 Wrzesień 2013, 23:23
Dobra na naszej giełdzie byłyby dobrami konsumpcyjnymi. Kupujesz kredyty po to, aby mieć poczucie wspierania nauki. Widać, że ludzie przypisują temu wartość(jeśli inwestują swoje pieniądze w liczenie), a jeśli ludzie przypisują czemuś wartość, to jest to dobro ekonomiczne i nie widzę powodu dla którego nie mogłoby być sprzedawane.
Też nie widzę powodu z którego zasługi we wspieraniu nauki nie mogą być sprzedawane. Wręcz
przeciwnie, uważam że ich sprzedaż powinna być powszechna. Ja tylko i wyłącznie sprzedaż
na giełdzie słabo widzę. Być może się mylę, ale widzę to słabo. Jakby taka sprzedaż mogła
wyglądać? Jakby ktoś wpłacał coś na tę pulę wygranych (w hazardowej wersji), to by otrzymywał
jakiś... medal, dyplom, puchar, itd. Potem to by mógł sprzedać na giełdzie. Jakby projekt przyczynił
się do ważnego odkrycia, to zapewne puchary z nim związane poszłyby w górę. Jakby pucharów
była masa, a sprzedaż/kupno pospolite, to by się opłacało nimi handlować na giełdzie. Na małej
skali lepiej jakieś aukcje urządzać.


Cytat: flaku w 05 Wrzesień 2013, 23:23
Niezbyt rozumiem zdanie "jak instytucje naukowe mogłyby uzyskać budżet równoważny obecnej sieci wolontariuszy?"
Myślę, że giełda mogłaby znacząco wpłynąć na wymyślanie nowych sposobów na tanie wydajne liczenie.
Bez względu jakie jest znaczenie mojego cytatu, każdy rodzaj wsparcia finansowego pozytywnie się przyczyni,
nie tylko giełda. A wsparcie w innej formie wydaje się dużo łatwiejsze do zrealizowania.

Pozdrawiam

#17
Cytat: Rysiu w 31 Sierpień 2013, 12:06
1. Czy to nie zabija idei BOINC?
Na początku można pomyśleć, że tak. Jednak może okazać się, że dużo nowych osób mogłoby zacząć liczyć co byłoby plusem dla projektów i całego BOINC. To, że wyniki swojej pracy użytkownicy będą mogli sprzedać nie jest chyba niczym złym. Mało tego ci co teraz liczą np.: 8h/dobę będą chętniej liczyć całą dobę bo dzięki sprzedaży punktów będą mieli na rachunki.

Moc obliczeniowa BOINC mogłaby drastycznie podskoczyć.

Wystarczy spojrzeć na Bitcoin. Ludzie liczą jakieś "puste" hashowania. Giełda BOINC oferowałaby nam znacznie więcej. Co najważniejsze mielibyśmy do wyboru wsparcie projektu o wartości naukowej. Nie powinno być problemu z zaakceptowaniem nierówności: Bitcoin < Giełda BOINC.

Czy to zachęci ludzi do obliczeń? Trudno powiedzieć. Na pewno niejedną osobę przekona
możliwość odsprzedaży kredytów. Z drugiej strony niestety, jeśli ktoś ma wydawać pieniądze
na zakup kredytów, to lepiej dla BOINC byłoby, jakby je wydał na komputery, energię elektryczną i
liczył sam.

Może lepiej zrobić inną giełdę, na której kredyty jednego projektu byłby wymieniane na
kredyty drugiego projektu? W ten sposób liczydłowi wiedzieliby ile ich kredyty są naprawdę
warte, bez względu na to, czy były liczone na CPU, czy na GPU i bez względu na to, czy
WU dają dużo kredytów czy mało. Coś takiego byłoby kolejnym fajnym wodotryskiem, coś
lepszego niż graficzny wygaszacz ekranu.


Na giełdach mamy zawsze jakiś towar. Nawet na giełdach walutowych, gdzie się wymienia
jedną walutę za drugą, mamy też towar - jest nim.... waluta. Zakupujemy towar w celu
przechowania i/lub przetworzenia. Ostatecznie to możliwość przetworzenia na inne dobra
nadaje rację bytu wszelkim giełdom, nawet wtedy gdy spekulantów jest więcej niż
przedsiębiorców. Na giełdach papierów wartościowych takim towarem są kredyty. Nigdzie
nie ma giełdy bez pokrycia w jakiś dobrach. Co byłoby takim pokryciem w przypadku
giełdy BOINC? Gdy kupuję pszenicę, to liczę np. na nieurodzaj, a co za tym idzie, na zmniejszenie
podaży. Mała podaż oznacza wzrost ceny i zarobek. Gdy kupuję kredyty to jak na tym
mogę zarobić? Nie wiem, ale jeśli kupować dla samego prestiżu, to chyba lepiej zmuszać
ludzi do kupowania komputerów i prowadzenia obliczeń.

Musi być możliwość przetworzenia tego co kupujemy na inne dobra, aby znaleźli się ludzie
chcący to kupić. Czy w przypadku BOINC można jeszcze coś poza wynikami obliczeń
przetwarzać na inne dobra? Jeśli tak, to proszę uświadomcie mnie. Jeśli nie, to
dochodzę do takiego samego wniosku jak w poprzedniej odpowiedzi.

Zastanówmy się jeszcze, czy jest ratunek dla projektów teoretycznych. Jakaś instytucja naukowa
może mieć budżet na pewne obliczenia. Taka instytucja może zamówić projekt
obliczeniowy. Jedna część budżetu pójdzie na wykonanie projektu, a potem ruszają obliczenia.
Po znalezieniu wyników druga część budżetu jest rozdzielona pomiędzy właścicieli
kredytów. Rodzi się jednak pytanie, jak instytucje naukowe mogłyby uzyskać
budżet równoważny obecnej sieci wolontariuszy?


Pozdrawiam
#18
Archiwum / Instalacja serwera BOINC w Debianie 7
05 Wrzesień 2013, 02:54
Moje pliki wyglądają tak:


root@x:/etc/apache2/sites-available# cat perft
<VirtualHost *:80>
        ServerName perft.computers-chess.com
        ServerAlias www.perft.computers-chess.com
        ServerAlias perft-test.computers-chess.com
        ServerAlias www.perft-test.computers-chess.com
        ScriptAlias /perft_cgi /home/perft/www/cgi-bin
        DirectoryIndex index.php
        DocumentRoot /home/perft/www/html/user
        LogLevel debug
        CustomLog /home/perft/www/log_x/apache2 "%h %l %u %t \"%r\" %>s %b \"%{Content-Length}i\"  \"%{Referer}i\" \"%{User-agent}i\"  <<>>  %I"
</VirtualHost>
                                                                                                                                                                                                                                 
root@x:/etc/apache2/sites-available# cat admin_perft
<VirtualHost *:80>                                                                                                                                                                                                               
        ServerName admin-perft.computers-chess.com
        DocumentRoot /home/perft/www/html/ops                                                                                                                                                                                   
        <Directory "/home/perft/www/html/ops">                                                                                                                                                                                   
                AuthUserFile /etc/apache2/passwd/admin_perft                                                                                                                                                                     
                AuthType Basic                                                                                                                                                                                                   
                AuthName "Authorised Users Only"                                                                                                                                                                                 
                Require valid-user                                                                                                                                                                                               
        </Directory>                                                                                                                                                                                                             
</VirtualHost>                   


Pozdrawiam
#19
Archiwum / Instalacja serwera BOINC w Debianie 7
05 Wrzesień 2013, 02:32
Cytat: krzyszp w 05 Wrzesień 2013, 00:49
<Directory "/home/boincadm/projects/kproject/html">
        Options Indexes FollowSymlinks MultiViews
        AllowOverride AuthConfig
        Order allow,deny
        Allow from all
    </Directory>

    <Directory "/home/boincadm/projects/kproject/cgi-bin">
        Options ExecCGI
        AllowOverride AuthConfig
        Order allow,deny
        Allow from all
    </Directory>

To jest zawartość tego pliku, co jest nie do zrozumienia???

Generalnie nie znam szczegółowo składni plików konfiguracyjnych apache.
Np. nie rozumiem dlaczego nie ma hosta zdefiniowanego. Dlatego że nie
przewidują że na serwerze może pracować jeszcze jakaś inna aplikacja
webowa pod inną domeną?

Pozdrawiam
#20
Archiwum / Instalacja serwera BOINC w Debianie 7
05 Wrzesień 2013, 00:37
Cytat: krzyszp w 04 Wrzesień 2013, 19:52
Cytat: mariotti w 04 Wrzesień 2013, 19:41
Cytat: krzyszp w 04 Wrzesień 2013, 18:59
1. Z Apache masz rację, że do sites-enabled jest lepiej dodać, ale mi chodziło o prostotę, zresztą, tam naprawdę ciężko coś zepsuć.
Chodzi o to, że mnie apache nie działał po doklejeniu tego pliku. Mam do tej pory wpisaną konfigurację ręcznie.
Debian 6 czy 7?
A musiałeś zmienić ręcznie coś w tym pliku?
Nie rozumiem nawet tego pliku. Wywaliłem go i napisałem dwa swoje, jeden dla wszystkich, drugi dla operatora.
Pozdrawiam
#21
Archiwum / Instalacja serwera BOINC w Debianie 7
04 Wrzesień 2013, 19:41
Cytat: krzyszp w 04 Wrzesień 2013, 18:59
1. Z Apache masz rację, że do sites-enabled jest lepiej dodać, ale mi chodziło o prostotę, zresztą, tam naprawdę ciężko coś zepsuć.
Chodzi o to, że mnie apache nie działał po doklejeniu tego pliku. Mam do tej pory wpisaną konfigurację ręcznie.

Pozdrawiam
#22
Cytat: Rysiu w 31 Sierpień 2013, 12:06
Chciałbym publicznie poruszyć temat możliwości otwarcia Giełdy kredytów BOINC (BOINC Stock Exchange). Z powodu chęci zapoczątkowania publicznej debaty na ten temat postanowiłem stworzyć wątek na tym forum. Giełda kredytów BOINC działałaby na tej samej zasadzie co zwykła giełda z tą różnicą, że obracałoby się tam kredytami BOINC. Każdy więc mógłby sprzedać lub kupić kredyty wybranego projektu po ustalonym przez prawa giełdy kursie.

Temat jest bardzo rozległy, więc z góry przepraszam, że zamieszczam tylko kilka luźnych i
subiektywnych spostrzeżeń:

U podstaw BOINC leży udostępnianie mocy obliczeń charytatywnie. Wszelkie
możliwości zarobku przeczą tym podstawom. Ktoś by mógł rzec, że jeśli coś
nie zarabia na siebie, to jest niepotrzebne, więc lepiej niech obliczeniami rządzą
prawa pieniądza. Takie stwierdzenie nie jest nawet głupie. Niemniej jednak szanse
na spieniężenie niektórych projektów (zwłaszcza bardziej teoretycznych) mogą pojawić się
dopiero wiele lat po naszej śmierci. Więc giełda, obojętnie w jakiejkolwiek formie
ma szansę bytu,  na pewno wprowadzi jakieś elementy egoistyczne. Pewna ilość
liczydłowych przestanie myśleć "to jest interesujące", a zacznie myśleć "to jest
opłacalne". Takiego Perfta nikt nie policzy w realiach rynkowych, najwyraźniej
sam jestem trochę szalony, że zdecydowałem się włożyć w niego tyle pracy.
Więc pod tym względem mój minus dla giełdy, ale mały minus, bo
często trzeba robić to, co jest potrzebne i opłacalne, żeby przeżyć. Filozofia
mimo wszystko na potem, gdy naglące potrzeby będą już zaspokojone.


Istnieje teoretyczne rozwiązanie problemu inflacji. Z każdego projektu, w
przypadku pozytywnych wyników obliczeń, mogą być jakieś profity. Dlaczego
prawo do tych profitów miałoby przypadać komuś innemu, niż liczydłowym i
twórcom projektu? W rynkowych realiach, gdy ktoś chce wykorzystywać wyniki obliczeń,
to musi zapłacić osobom dysponującym prawami do nich. Początkowo część
udziałów przyznawaliby sobie twórcy projektu, następnie definiowaliby ile
udziałów jest warty jeden WU. Ilość udziałów rosłaby wraz z każdym policzonym
WU. Po znalezieniu rozwiązania byłoby wiadomo, ile udziałów ma
cały projekt. Po każdym wykorzystaniu wyników obliczeń, liczydłowi i
twórcy projektu, otrzymywaliby dywidendy proporcjonalne do swoich udziałów.
Więc potrzebne projekty nigdy by nie popadły w inflację, a niepotrzebne, albo
zbyt drogie, umierałyby śmiercią naturalną z powodu inflacji - takie prawa rynku.

W sumie istnieje już od dawna giełda BOINC - tyle że nie bezpośrednia. Giełda
papierów wartościowych to nic innego, jak giełda kredytów. Można pieniądze
ze sprzedanych akcji w całości wydać na wykonanie projektu i moc obliczeniową.
Potem można czerpać zyski ze sprzedaży wyników obliczeń. W końcu
akcjonariuszom można wypłacać dywidendy z zarobionych pieniędzy, akcjonariusze
mogą między sobą handlować akcjami, itd. Pytanie tylko, czy ktoś by chciał
kupić akcje takiej spółki? Jeśli są tacy chętni i takiej spółki jeszcze nie ma, to
warto ją założyć.

Tak czy inaczej, już są gotowe teoretyczne podstawy jaki i mechanizmy prawno-finansowe,
dające rację bytu takiej giełdzie. Problemy rodzą się na poziomie organizacyjnym i
moralnym. Przykładowo jak kontrolować wykorzystywanie wyników? Co działo się
np. z opatentowanymi algorytmami gif/jpg? Ilu ludzie tak naprawdę płaciło za używanie
tychże algorytmów?

Można zrobić różne eksperymenty myślowe. W takich eksperymentach łatwo pominąć
masę ważnych czynników, ale i tak spróbujmy. Zakładamy np. spółkę akcyjną która
poszukuje leku na jakąś chorobę. Ludzie wykupują akcje. Za zebrane pieniądze kupujemy
milion komputerów i włączamy je na jakiś czas. Po czasie t mamy prawdopodobieństw p(t)
że się udało. Gdy się udało, to sprzedajemy sprzęt komputerowy, hale, generatory energii
elektrycznej, zwalniamy informatyków, a firmom farmaceutycznym sprzedajemy licencję
na wyprodukowanie określonej ilości leku według naszego wzoru. Z zebranych pieniędzy
wypłacamy dywidendy akcjonariuszom. Po takim odkryciu akcje gwałtownie idą w górę i
akcjonariusze mogą je sprzedawać z wielokrotnym zyskiem. A jeśli do odkrycia nie dojdzie?
Wtedy nikt nie będzie chciał kupować kolejnych akcji, zabraknie pieniędzy na utrzymanie
obliczeń, biznes padnie, a akcjonariusze wyrzucą akcje do kosza. W sumie wszystko tak
samo jak w każdej innej spółce... na moje oko, wszystko już jest gotowe, tylko zorganizować
się i przekonać ludzi, żeby kupili akcje. Takie zbiorcze obliczenia pewnie byłby wielokrotnie
tańsze niż na komputerach wolontariuszy, chociażby z tego powodu, że można swoje
elektrownie postawić.


Pozdrawiam
#23
Archiwum / Instalacja serwera BOINC w Debianie 7
04 Wrzesień 2013, 12:57
Cytat: krzyszp w 31 Sierpień 2013, 20:59
Napisałem krótki poradnik jak zainstalować serwer BOINC na Debianie.
Może znajdzie się ktoś, kto by chciał to przepisać i zamieścić na naszej Wiki lub forum w zjadliwej formie (screenshoty)?
Opis jest pod adresem Instalacja serwera BOINC - poradnik.
Moje, raczej drobne, uwagi:

Lista pakietów którą ja instalowałem,  nieznacznie się różni od Twojej, ale
pewnie na Twojej też pójdzie:

m4
make
dh-autoreconf
pkg-config
git
vim

packages needed for BOINC server:
libapache2-mod-php5
mysql-server-5.1
libmysqlclient-dev
php5-mysql
php5-cli
php5-gd
phpmyadmin
python
python-mysqldb
libssl-dev


--------------------------------------------------------------------------------------------
Z poleceniem make_projekt niestety każdy użytkownik który stawia projekt musi
zapoznać się sam, np. gdy chcemy mieć sub-domeny dla strony projektu i admina.
Ja używałem poniższego polecenia. Używałem go też gdy katalogiem bieżącym
był katalog tools, ale nie wiem czy to ma jakieś znaczenie.
./make_project --delete_prev_inst --drop_db_first --project_root /home/perft/www --db_host localhost --db_user root --db_passwd haslo --url_base http://perft.computers-chess.com --html_user_url http://perft.computers-chess.com --html_ops_url http://admin-perft.computers-chess.com perft


--------------------------------------------------------------------------------------------
Ta sztuczka u mnie za cholerę nie działała:
cat
/home/boincadm/projects/kproject/kproject.httpd.conf >>
/etc/apache2/apache2.conf
Musiałem skasować pliki .htaccess z aplikacji webowej BOINC i
ręcznie edytować pliki apache. Tak samo ręcznie musiałem dodać
użytkownika apache przy pomocy programu htpasswd. Potem odpowiednie
linki trzeba podać w plikach apacha.

Druga sprawa, w praktyce uciążliwe wydaje się dodawanie konfiguracji do
głównego pliku apache. Wygodniej dodać nowy plik w katalogu available i
potem link w enabled.

Niestety żeby to zrobić dwie powyższe czynności, to trzeba mieć minimalne
doświadczenie w konfigurowaniu web-serwera.

--------------------------------------------------------------------------------------------
Co do corna, to ja go nigdy nie używałem w BOINC. Po prostu z ręki
wpisałem ./bin/start i działało. W sumie to nie wiem do czego on jest
potrzebny.


--------------------------------------------------------------------------------------------
Nie wiem gdzie domyślnie zapisuje hasła program htpasswd. Ja od razu
zapisałem je w wydzielonym do tego celu katalogu, który jest zupełnie
poza aplikacją webową. Tak jak opisałeś w tutorialu bałbym się używać, ale
nie wiem na pewno, może Twój sposób jest bezpieczny.

Cytat
Tak, ale dojście do tego etapu który jest w poradniku nie było dla niego problemem - schody się pojawiły przy dodawaniu zadań. Ten proces też opiszę, ale to już później.
Na tym etapie też miałem problemy, bo w tutorialu, z którego korzystałem, pakiety były
błędnie podane.


Cytat
Niby proste, a kolega "szachista" męczył się z tym ponad miesiąc z mieszanymi rezultatami
Miesiąc to potrzebowałem na ustalenie dlaczego zadań nie ma dodanych, choć są dodane...



pozdrawiam

#24
Cytat: krzyszp w 03 Wrzesień 2013, 00:10
Myślę, że za bardzo odeszliście w teorię ;)
Odeszliśmy, ale to chyba dobrze :)


Cytat: krzyszp w 03 Wrzesień 2013, 00:10
Mariotti - masz trochę inną wizję środowiska i mam (podobnie jak Karlik) opinię, że celujesz w trochę inną grupę docelową.
Jest inaczej. Przestawiam Wam swoją wizję. Wy piszecie że to zadziała dla innej grypy docelowej. Z
kolei dla mnie to jest znak, że coś zaprojektowałem źle. Chcę aby grupa docelowa była zbliżona, więc
zmieniam niektóre założenia.


Cytat: krzyszp w 03 Wrzesień 2013, 00:10
Spojrzyj na chwilę na BOINC - pomimo swoich wad (które my też zauważamy!) ma kilka sporych zalet:
1. Zintegrowane środowisko.
Co nazywasz zintegrowanym środowiskiem?


Cytat: krzyszp w 03 Wrzesień 2013, 00:10
2. Wspólne API.
Tutaj mam mały zarzut: API jest w starym stylu. O wiele łatwiej programować w takim
API jak udostępnia Java, albo QT.


Cytat: krzyszp w 03 Wrzesień 2013, 00:10
3. Wymaga exec'a, nie całej aplikacji z GUI, driverami, 100mln bibliotek do wyświetlenia tego - w zasadzie manager przejmuje sprawę wyświetlania "wodotrysków" typu pasek postępu, odnośniki.
Tutaj się zgadzam (co nie oznacza, że rozwiązanie o którym myślę, byłoby gorsze w tym względzie)


Cytat: krzyszp w 03 Wrzesień 2013, 00:10
4. Manager zarządza podziałem czasu CPU.
Tutaj też wyszedł mały mankament: nie można ustawić tak żeby Perft optymalnie wykorzystywał zasoby.


Cytat: krzyszp w 03 Wrzesień 2013, 00:10
Najważniejsze:
99% aplikacji napisanych poprawnie może być po prostu cross-compilowane na inne systemy, co było by niemożliwe, gdyby aplikacja miała mieć GUI!!! Zauważ, że aplikacja radioaktywnego została uruchomiona na tunerze tv oraz routerze...
Są rozwiązania przenośne z GUI. Właśnie owa Java albo C++ wraz z biblioteką QT.


Cytat: krzyszp w 03 Wrzesień 2013, 00:10
Niemniej, nie twierdzę ABSOLUTNIE, że Twoje podejście nie ma racji bytu po prostu spróbuj, ja jestem pewien, że jest zapotrzebowanie i na takie rozwiązanie jak proponujesz, tylko to nie będzie zapewne kilka milionów komputerów (ale 10 tysięcy, czy 100tyś, czy nawet... 1 tysiąc to moim zdaniem powód do cholernej dumy).
Mój pogląd się wywrócił do góry nogami. Początkowo myślałem, że da się zrobić w około pół roku, ale bałem
się, że produkt nie będzie miał wzięcia. W tej rozmowie, choć myślałem że tylko będziecie protestować, to
także przedstawiliście mi kilka wad BOINC. Czyli zbiór wad dostrzeganych przeze mnie powiększył się.
W nowym produkcie można te wszystkie wady zniwelować. Z kolei to doprowadza mnie do wniosku, że
produkt byłby znacznie bardziej konkurencyjny niż początkowo myślałem. Jednak uświadomiliście mnie także, że
pewne rozwiązania na skróty nie zdadzą egzaminu. Teraz myślę że produkt miałby wzięcie, ale nie da
się go wykonać w wolne weekendy od niechcenia. Pół roku czasu przewiduję na samą dokumentację i aplikacje
przykładowe. Teraz myślę odwrotnie, produkt stałby się popularny, ale wymaga ogromnego nakładu pracy.

Edit:
Cytat: krzyszp w 03 Wrzesień 2013, 00:10
Tak sobie przeczytałem cały wątek i doszedłem do wniosku, że my chyba Mariotti'ego stopujemy przez nasze nawyki z BOINC... Może lepiej zwolnić i zobaczyć, co Mu wyjdzie? Może to będzie strzał w 10-tkę?
Nie czuję się stopowany. W moim odczuciu odbyliśmy całkiem rzeczową rozmowę, a wcale nie chcę
przez to powiedzieć, że dobiegliśmy już do jej końca. Mój pogląd w tej chwili jest inny niż był na początku
rozmowy. Jestem teraz przekonany że produkt byłby strzałem w 10tkę, ale nie uda się go zrealizować,
ponieważ wymaga kolosalnego nakładu pracy.

Pozdrawiam
#25
Cytat: Karlik w 02 Wrzesień 2013, 22:18
Może się nieprecyzyjnie wyraziłem. Teoretycznie można zdalnemu hostowi udostępnić swoje środowisko graficzne (-X dla ssh przykładowo)
Napiszę jeszcze raz jak ja to rozumiem, może coś mylę, jak coś, to niech mnie ktoś poprawi.
Na komputerze liczącym mamy aplikację liczącą. Aplikacja ma swoje integralne GUI. Na
komputerze liczącym musi być zainstalowany cały soft biblioteczny z którego aplikacja
korzysta, a więc także soft odpowiedzialny za obsługę GUI. Być może biblioteki GUI są
dość duże i ciężkie, ale na pewno nie muszą zawierać sterowników kart graficznych,
monitorów itd. Zapewne biblioteka wyższego poziomu komunikuje się z biblioteką niższego
poziomu, aż w końcu na najniższym poziomie trzeba informacje o grafice przesłać do
x-servera. Więc na komputerze liczącym teoretycznie muszą być tylko biblioteki wszystkich
poziomów plus biblioteka do komunikowania się z x-serverem. Teoretycznie x-servera nie
trzeba instalować. Czy w praktyce spotyka się takie rozwiązania to zupełnie nie wiem. Takie
jest moje wyobrażenie, niech ktoś skoryguje :)


Cytat: Karlik w 02 Wrzesień 2013, 22:18
, ale wtedy z tego co zrozumiałem musiałbym być cały czas podłączony do hosta, który prowadzi obliczenia - wg mnie bez sensu.
Nie wiem czy teraz ja rozumiem. Na kilku serwerach mam X (tyle że akurat bardzo duże i ciężkie), uruchamiam tam programy GUI,
rozłączam się, a po ponownym połączeniu programy GUI nadal pracują. Na pewno nie muszę być cały czas połączony.


Cytat: Karlik w 02 Wrzesień 2013, 22:18
Nakładki faktycznie się pisze po to, żeby ułatwiały życie, ale nie jestem pewien statystyk ile z takowych korzysta.
Też nie mam reprezentatywnych danych, ale z tego co widzę, to korzysta się często. W firmach np. wymagają
aby używać GUI, uzasadniają że to przyspiesza pracę.


Cytat: Karlik w 02 Wrzesień 2013, 22:18
Poza tym weźmy dla przykładu phpMyAdmin - interfejs dla użytkowników MySQL, ale sam serwer potrafi się obyć bez tej nakładki
Rozumiem (z kontekstu) że nie chodzi o to, że potrafi się obyć, ale o to, że nakładki, bez względu czy mówimy o nakładkach GUI, konsolowych,
www, czy jeszcze jakiś innych, nie są jego integralną częścią lecz są aplikacjami zewnętrznymi. Owszem, masz rację, tak jest i w MySQL i w
wielu innych serwerach, nigdy nie twierdziłem inaczej.



Cytat: Karlik w 02 Wrzesień 2013, 22:18
i tak części rzeczy nie jest się w stanie zrobić z niego korzystając , co więcej może być na zupełnie innym serwerze (a sama aplikacja może obsłużyć wiele serwerów o ile wiem). Nie ma chyba oprogramowanie serwerowego, którego nakladka/interfejs graficzny miałby takie same możliwości co konsola/pliki konfiguracyjne.
Jakiej części rzeczy nie da się zrobić? Ma okienko do wpisywania poleceń sql. Polecenia
sql trafiają prosto do serwera bazy danych, tak samo jak trafiają z nakładki konsolowej.
Abstrahując od przykładu phpMyAdmin, generalnie możliwości zależą od tego, ile
pracy włożono w GUI, bez względu na to, czy GUI jest integralną częścią serwera, czy
też jest aplikacją zewnętrzną. Natomiast niepodważalną zaletą aplikacji konsolowych (ale
to powinni podać moi oponenci), jest prosta możliwość używaniach tychże aplikacji w
skryptach powłoki. Aplikacja GUI, aby dorównała i w tym względzie aplikacjom konsolowym,
musi oferować coś w zamian.


Cytat: Karlik w 02 Wrzesień 2013, 22:18
Kwestia priorytetów - zazwyczaj najpierw (pomijając oczywistości typu bezpieczeństwo i stabilność) stawia się na funkcjonalność, dopiero potem na łatwość obsługi dla nie-administratora (bo ten zapewne i tak nie skorzysta z okienek albo w bardzo ograniczonym stopniu) i  w takiej też kolejności się to rozwija. Jeśli się zauważa, że jakaś funkcja jest często wykorzystywana (a nie zawsze jest prosta w obsłudze składniowo przykładowo) to się dorabia do niej jakieś okienka/skrypty - ogólnie gotowce na typowe zastosowania.
No tak, ale jest BOINC, który uchybień funkcjonalnych ma całkiem mało. Natomiast ma trochę uchybień
w dokumentacji, spójności, ma kilka męczących wymagań (np. te nieszczęsne znaki \r). Gdy początkujący
na któryś z tych braków się natknie, to z kolei z powodu rozległości BOINC, nie wie, ani gdzie szukać
problemów, ani jak się doszkolić. Stąd właśnie moja eksplozja w kierunku wygody.

Co do priorytetów. Niestety priorytetem jest także w miarę mały nakład pracy. Rozbudowany projekt
nie doczeka swoich narodzin.


Cytat: Karlik w 02 Wrzesień 2013, 22:18
Ja nie mam nic przeciwko GUI, ale niech będzie opcją a nie koniecznością.
Jest kilka możliwości:
1) Program kompiluje się tylko GUI
2) Program kompiluje się tylko na konsolę
3) Kompilacja warunkowa na GUI albo konsolę
4) Kompilacja tylko na konsolę i zewnętrzna nakładka GUI na konsolę
5) Kompilacja tylko na konsolę i zewnętrzna nakładka TCP-IP.

Osobiście widzę najwięcej zalet w punkcie 3:
1) Są dwie aplikacje do wyboru
2) Mniej pracy niż przy punktach 4 i 5.
3) Zdecydowanie mniej pracy (niż w 4 i 5) dla innych programistów,
    którzy będą chcieli napisać niestandardową aplikację.
Wadą rozwiązania 3 (a także 4) jest to, że nie będzie można bezpośrednio-zdalnie
administrować serwerem. Będzie trzeba najpierw zalogować się przez ssh lub Xa.

Rodzi się niepokojące pytanie: ile czasu potrzeba na napisanie wg punktu 3?
Dwa lata dla jednego programisty?

Cytat: Karlik w 02 Wrzesień 2013, 22:18
Serwer Xów w ogóle jest dość specyficznym oprogramowaniem, bo to od razu dostarcza cały interfejs do obsługi (teoretycznie) każdego rodzaju urządzeń. Obecnie chyba ogranicza się go do sterowania kartą graficzną, myszą i klawiaturą ;) Możliwe, że ktoś napisze coś innego/lepszego, ale jak na razie "konkurencja" jest w powijakach.
W moim rozumieniu, X-server to tylko pośrednik. Pośredniczy pomiędzy tymi urządzeniami które wymieniasz i
aplikacją wykorzystującą  X-server. Za obsługę tych urządzeń odpowiadają sterowniki. Dlaczego zwracam
uwagę na tak drobiazgowe rozróżnienie? Ano właśnie dlatego, że może jednak używanie X nie oznacza
obciążania komputera.


Cytat: Karlik w 02 Wrzesień 2013, 22:18
Już nawet nie chodzi o sam serwer Xów (bo to raptem kilka mega - chociaż po co skoro i tak nikt by nie używał), ale musiałbyś do tego doinstalować cokolwiek co utrzymywałoby sesję graficzną, bo jak by się zachował program po zamknięciu sesji? Żeby cokolwiek znieść do tacki systemowej najpierw takowa musiałaby być, więc na serwerze musiałbyś zainstalować KDE, GNOME czy cokolwiek innego. A to dodatkowe komplikacje dla administratora i obciążenie dla serwera.
Co do sesji to chyba nie ma problemu, albo czegoś nie rozumiem. Natomiast masz rację, że tacka systemowa to element
ciężkich środowisk :/ To jest najlepszy argument przeciw zmuszaniu do GUI :/

Cytat: Karlik w 02 Wrzesień 2013, 22:18
No właśnie problem w tym, że jak na razie opisujesz coś co jest bardziej dedykowanym rozwiązaniem a nie takim "pod strzechy" (tutaj naprawdę duży cudzysłów). Oczywiście jest duża szansa, że znalazłaby się nisza zainteresowanych, ale to zupełnie inny target niż przykładowo BOINC - siłą rzeczy nie robiłbyś mu konkurencji
Więc jaki wniosek? Najlepsze rozwiązanie to takie, w którym i serwer, i klient może zostać skompilowany
warunkowo na aplikację GUI i/albo konsolową? Bo nakładki, choć są bardziej profesjonalne, to jednak
oznaczają większy nakład pracy?

Pozdrawiam
#26
Cytat: Karlik w 02 Wrzesień 2013, 17:46
Pisz w kontekście. Win95 miał GUI, ale nie był aplikacją serwerową a systemem operacyjnym, zresztą sam w sobie był nakładką na DOSa w pewnym sensie ;) Jeżeli chodzi o popularność to spójrz na aplikacje serwerowe: PostgreSQL, Apache, Postfix,... - ile z nich są aplikacjami okienkowymi a ile jest konsolowych (ewentualnie z graficznymi narzędziami konfiguracyjnymi)?
Ależ piszę w kontekście. Kontekst jest taki, czy GUI pomaga czy nie. Napisałeś sam, że pisze się nakładki
graficzne, więc chyba nie po to, aby (tylko) utrudniały. Oczywiście rozwiązanie z zewnętrznym programem
GUI jest ogólnie lepsze. Jednak ta lepszość jest przypłacona nakładem pracy na samo wykonanie, jak i na
rozbudowę o nowe cechy w przypadku projektów niestandardowych. Generalnie szukam kompromisu
pomiędzy dużą funkcjonalnością a małym nakładem pracy.


Cytat: Karlik w 02 Wrzesień 2013, 17:46
Bo większość userów nie administruje serwerami i/lub korzysta z tych aplikacji na domowych komputerkach. Wszystko zależy od zastosowań. O ile szybki wydruk/tekst łatwiej jest napisać w LibreOffice to pracy dyplomowej nie wyobrażam sobie pisać bez LaTeXa.
Jak i GUI nie instaluje się tylko na domowych komputerkach. Xy działały już dawno temu, to z kolei
dowodzi, że X może działać na słabym komputerze - więc argument o zżeraniu zasobów też
wydaje się chybiony. Jest jeszcze kolejny argument na korzyść X. Ile najchudszy X wymaga pamięci
RAM? Dlaczego w ogóle kwestię Xów sprowadzać do GUI? Przecież to trochę różne sprawy. Gdy do
programu GUI podpinamy się ze zdalnego  komputera,  to wyświetlanie grafiki jest po stronie zdanego
komputera. Serwer musi wykonać tylko autoryzację, potem przesyła komunikaty IO, polecenia do wyświetlania
grafiki, itd. Nie wiem ile taki najchudszy X zajmuje zasobów - ta informacja będzie kluczowa.


Cytat: Karlik w 02 Wrzesień 2013, 17:46
Zapewne dlatego, że jak będzie chciał wspierać 10 projektów, które mają sobie liczyć w tle i się sprawiedliwie dzielić zasobami to będzie trzeba instalować 10 aplikacji (do tego w Twojej koncepcji graficznych, które zaśmiecą tackę systemową), już nie mówiąc o komplikacjach dla użytkownika w skonfigurowaniu kto ma sobie ile liczyć w danym momencie.
Czy to na pewno można nazwać śmieceniem? Tacka systemowa po to waśnie jest, aby był szybki i intuicyjny dostęp do wielu
programów przy małym śmieceniu na ekranie. O zarządzaniu wieloma projektami, bez względu czy są na jednym
komputerze, na wielu komputerach, czy są wręcz za maskaradą - już pisałem. Podam przykład w lokalnym kontekście:
1) user klika na dowolną aplikację liczącą w tacce
2) wyskakuje zunifikowany interfejs do ustawień
3) user wciska guzik "pokaż moje aplikacje liczące"
4) po czym z serwera napływa lista jego aplikacji
5) user zaznacza wybrane aplikacje i je konfiguruje, ma też szereg predefiniowanych
    konfiguracji, może ma też kilka kreatorów
6) potem wciska guzik "zastosuj"
7) ustawienia lecą do serwera
8) serwer odsyła każdej aplikacji liczącej ustawienia i każda aplikacja się dostosowuje, zatrzymuje,
    wznawia obliczenia, czy co tam jeszcze.

A jeśli 20 ikonek na tacce stanowi problem, to w sumie można zrobić prostą aplikację, która sama
się wyświetli na tacce i za jej pośrednictwem będzie dostęp do aplikacji liczących.


Cytat: Karlik w 02 Wrzesień 2013, 17:46
W sensie, że jednak będzie możliwość uruchomienia aplikacji na urządzeniach, które nie będą posiadały środowiska graficznego? Takie urządzenia najczęściej nie posiadają nawet karty graficznej, więc po co by im był zainstalowany serwer Xów?
Nie jestem specem od softu liuxowego, ale coś mi się zdaje, że X a wyświetlanie grafiki to
dwie różne sprawy. X chyba tylko dostarcza polecenia do wyświetlania grafiki? Grafikę
wyświetla coś innego i to na komputerze lokalnym. Na serwerze musi być tylko zestaw
oprogramowania z którego aplikacja GUI korzysta. Jest na forum ktoś kto na bieżąco
śledzi rozwój Xów i może się wypowiedzieć?


Cytat: Karlik w 02 Wrzesień 2013, 17:46
Tak, ale wątpię, żeby administratorzy tych maszyn instalowali całe środowisko graficzne tylko po to, żeby woluntaryjnie wspierać jakiś projekt, który będzie wykorzystywał tylko niewykorzystane zasoby.
No więc pomimo że tak bronię GUI, to od początku nie byłem przeciwnikiem alternatywnej
wersji konsolowej.


Cytat: Karlik w 02 Wrzesień 2013, 17:46
Mam wrażenie mariotti, że Ty myślisz o zupełnie innym typie zastosowania takich aplikacji. Taki framework jaki proponujesz może sprawdziłby się, ale tylko pod warunkiem, że byłby uruchamiany na DEDYKOWANYCH urządzeniach. W sensie, że dany komputer/serwer miałby działać tylko i wyłącznie na potrzeby danego projektu (i to tylko jednego). Wtedy jasne, wymaganie posiadania środowiska graficznego i innych dziwnych zależności nie jest problemem, jedynie, że marnowałoby trochę zasobów na wyświetlanie tego, ale to raczej nie problem w tym wypadku (np. z miesiąca obliczeń zrobiłby się dodatkowy dzień). No co najwyżej możnaby dorzucić jakiegoś apache'a cz inne oprogramowanie, ale to ono by było na gorszej pozycji
Chciałbym żeby na, jak to nazywasz, rozwiązania dedykowane, też pasowało.


Cytat: Karlik w 02 Wrzesień 2013, 17:46
Piszesz, że kod BOINCa jest trudny w połapaniu się. Wprawdzie nie znam go jakoś dobrze, ale na własne potrzeby byłem w stanie go poprawić na poziomie funkcji API (nie przewidzieli, że można mieć katalog slots i projects na różnych partycjach) i naprawdę zajęło mi to tylko chwilę (wyszukiwanie grepem w zasadzie i dopisanie może z dwóch/trzech linijek kodu) - najdłużej trwała rekompilacja
Bo były proste zależności. Jakby wiele innych część kodu spodziewało się tego co było przed Twoją zmianą, to
już tak prosto by nie poszło.


Pozdrawiam


#27
Cytat: Tobas w 01 Wrzesień 2013, 22:50
Zgadzam się z przedmówcą. Nie ma mowy o dobrej aplikacji, która będzie wymagała GUI.
Jakie jest uzasadnienie tego, że aplikacja GUI, oznacza kiepską aplikację? Przeciwne
twierdzenie uzasadniam inaczej: Billi Gates zarobił znaaaacznie więcej na windowsie 95
niż na dosie, bo windows był aplikacją GUI. W zasadzie windows 95 był kiepski, ale
pomimo tego odniósł sukces, ponieważ miał GUI, a ludzie chcieli używać aplikacji GUI.

Samo GUI w sobie nie decyduje o tym czy aplikacja jest dobra czy zła, ale może
decydować, że aplikacja będzie miała wzięcie i będzie łatwa obsługa - a to jest
celem nadrzędnym.

Niemniej można pomyśleć o takim napisaniu aplikacji (zarówno serwera jak i
klienta), żeby warstwę GUI mocno oddzielić od warstwy danych i obliczeń (MVC), a
takie oddzielenie z kolei umożliwi napisanie dwóch wersji: gui i konsolowej.

Cytat: Tobas w 01 Wrzesień 2013, 22:50
Bez urazy, ale musisz się trochę ogarnąć w konsoli.
Nie mam kompleksów w tym względzie. Po prostu to jest tak jak z
edycją plików w graficznym programie kate, albo w konsolowym sed.
W kate robi się to bardzo łatwo, intuicyjnie. Sed jest dobry jedynie gdy
pliki tekstowe są proste i jest ich wiele, bo wtedy można zrobić automatyzację.
Myślę że lepiej jest dla userów, jak dostaną narzędzie podobne do kate.


Cytat: Tobas w 01 Wrzesień 2013, 22:50
To naprawdę nie jest żadna magia i wbrew pozorom jest dużo łatwiej / szybciej.
Nie wyobrażam sobie serwera wymagającego GUI. Bo po co?
To dlaczego większość ludzi używa programów GUI, albo wręcz WYSIWYG?
Jaki procent użytkowników używa dziś postscripta, a jaki graficznych edytorów
tekstu?  Niemniej można zastanowić się nad dwiema wersjami UI, jedna graficzna,
druga tekstowa.



Cytat: Szopler w 01 Wrzesień 2013, 22:06
Czyli co? Do każdego projektu będzie osobna aplikacja do uruchomienia bez menadżera projektów? To ja wysiadam i nie biorę udziału... ;)
Dlaczego wysiadasz?


Cytat: Szopler w 01 Wrzesień 2013, 22:06
Rozbicie na klienta i menadżera wynika głównie z potrzeb osób odpalających BOINC na komputerach bez GUI (serwerach/urządzeniach embeded itd.)
Myślę że te potrzeby nadal będą zaspokojone.... być może lepiej.


Cytat: Szopler w 01 Wrzesień 2013, 22:06
Jeżeli framework będzie wymagał GUI do pracy to marnie widzę jego popularyzację wśród liczących a przynajmniej wyeliminowanie z gry wielu mocnych maszyn.
Na mocnej maszynie instalowanie GUI relatywnie mało zasobów zużywa. Ale rozumiem
że czasami ktoś nie będzie chciał instalować GUI. Teoretycznie można zrobić dwie wersje, w
praktyce oznacza to dodatkowy nakład pracy.

Pozdrawiam
#28
Cytat: Szopler w 29 Sierpień 2013, 17:25
Za bardzo kombinujesz... Co ma aplikacja licząca do serwera i jakie konfigurowanie IP serwera w klientach?
Moim zdaniem upraszczam. Teraz BOINC ma serwer składający się z wielu
rodzimych i zewnętrznych programów. Po stronie komputera liczącego
jest podobnie: manager, klient i aplikacje liczące. Chcę to uprościć:
Serwer to jedna aplikacja, klient to druga aplikacja i koniec, nic
więcej, ewentualne dodatkowy serwer pomagający zarządzać ludziom wieloma
klientami gdy są za maskaradą. Czyli maksymalnie 3 programy.


Cytat: Szopler w 29 Sierpień 2013, 17:25
Serwer musi obsłużyć zaledwie kilka zdarzeń:  wyślij aplikację, wyślij WU, przyjmij wynik, sprawdź/porównaj wyniki (walidacja), przyjmij kod błędu gdy coś się wysypie.
Musi wiele więcej. Gdy wydaje się polecenia doświadczonemu pracownikowi, to
taki schemat jak napisałeś wystarczy - pracownik domyśli się szczegółów.
Aplikacja komputerowa - nie. Z założenia nie ma być pobierania aplikacji (chyba
że aplikacja pobierze samą siebie gdy będzie nowa wersja). Generalnie duża
ilość różnych zdarzeń świadczy o dużych możliwościach dostosowania aplikacji
do potrzeb różnych projektów.

Cytat: Szopler w 29 Sierpień 2013, 17:25
Klient podobnie: przyjmij aplikację, przyjmij WU, oblicz, odeślij wynik lub kod błędu i w zasadzie to jest miniumum.
Może i tak, ale nie chodzi o minimum. Chodzi o coś w miarę wypasionego. Do Perfta
minimalny framework w dwa-trzy dni napisałbym, ale nikt inny na tym swojego projektu
nie postawiłby.

Cytat: Szopler w 29 Sierpień 2013, 17:25
Klient podłącza się do www projektu i to wolontariusz decyduje do jakiego projektu się podłącza.
Tutaj wolontariusz będzie ściągał aplikację "na pulpit" i dwa razy na niej klikał. Aplikacja
się uruchomi i przejdzie do tacki systemowej. Jak wolontariusz zainteresuje się bliżej,
to aplikację dostosuje do możliwości swojego komputera. Więc aplikacja będzie musiała mieć
wbity adres serwera, przynajmniej jednego z klonów.


Cytat: Szopler w 29 Sierpień 2013, 17:25
Admin z poziomu serwera do tego nic nie ma. Może najwyżej kogoś zbanować za cheating.
No tak, admin w takim scenariuszu nic do tego nie ma. Ale ktoś czasami będzie chciał
postawić na tym malutki projekt, np. miesiąc obliczeń na 20 komputerach. Może coś
takiego będzie chciał zrobić jakiś student na pracę naukową. Te 20 komputerów
pozyska od znajomych, może z pracy, może ze szkoły, może weźmie też swoje z domu. Wtedy
zmodyfikowaną aplikację zaniesie na te 20 komputerów i zainstaluje sam, zamiast
znajomych zmuszać do ściągania ze strony :)


Cytat: krzyszp w 29 Sierpień 2013, 19:05
Problemy z bazą, które opisujesz wystąpią tak samo, przy plikach tekstowych (a nawet prędzej, w przypadku gdy dwa kawałki kodu będą chciały się do nich dostać w tym samym czasie).
Zgadza się, ale w przypadku jednej aplikacji, bez względu czy konfiguracja będzie
w bazie czy w plikach tekstowych, synchronizacja jest łatwiejsza w wykonaniu i
potem dostosowanie aplikacji do nietypowych projektów też będzie łatwiejsze. W sumie
sama rozbudowa frame-worka będzie też łatwiejsza.

Cytat: krzyszp w 29 Sierpień 2013, 19:05
Niemniej wydaje mi się, że popełniasz błąd w założeniach.
Jeżeli napiszesz serwer, który jednocześnie ma dodawać zadania, walidować wyniki, prezentować dane, itd. to powstanie kobyła potrzebująca xxxMB (setek) megabajtów do pracy... IMHO,
Jak weźmiemy pod uwagę że jest ogromna baza z danymi, to rozmiar aplikacji jest
relatywnie mały, nawet jak ma wiele MB.


Cytat: krzyszp w 29 Sierpień 2013, 19:05
zdecydowanie lepszym rozwiązaniem jest stworzenie zestawu narzędzi przeznaczonych do wykonania konkretnego zadania i "zniknięcia" z pamięci - co zresztą wcale nie wyklucza stworzenia GUI dla całości, wywołującego konkretny programik wtedy, gdy jest potrzebny :)
No tak, ale w takim wypadku otrzymamy... BOINC ;)

Niekoniecznie byłby to BOINC, można wprowadzić wiele istotnych zmian. Po
prostu ja widzę dwa/trzy problemy w takim rozwiązaniu:
1) dużo pracy dla twórców takiego oprogramowania
2) trudne stawianie aplikacji na czymś takim
3) pracochłonna rozbudowa frame-worka

Cytat: krzyszp w 29 Sierpień 2013, 19:05
Oczywiście zgadzam się z Tobą, że niektóre rozwiązania w serwerze BOINC wprawiają w przerażenie, np właśnie braki przy imporcie danych, które Ciebie zastopowały, ale czy nie lepiej w takim przypadku po prostu poprawić tę część kodu i wysłać poprawkę społeczności?
Zastopowało mnie coś innego: pierwszy raz błędy w tutorialu, nie miałem
wszystkich potrzebnych pakietów i nie wiedziałem że są potrzebne. Drugi raz brak
spójności pomiędzy programami narzędziowymi BOINC. BOINC ma programy i API do
dododawania zadań. Program dodający zadanie dodał i wyświetlił że wszystko
jest w porządku. Na stronie www w panelu też było widać że wszystko jest w porządku -
były zadania. Jedna wersja klienta nie wyświetlał że brakuje zadań, ale że
brak miejsca na dysku. A problem miał scheduler, nie widział że zadaia są poprawnie
dodane do bazy, bo mu znak \r przeszkadzał. Zastopował mnie dwa razy brak spójności
pomiędzy programami i dokumentacją.

Czy nie lepiej poprwić BOINC? Wątpię żebym zdołał się połapać w jego kodzie.


Cytat: krzyszp w 29 Sierpień 2013, 19:05
Potwierdzam, że chyba największym minusem serwera BOINC jest... brak porządnego przewodnika po instalacji i konfiguracji oraz dodawaniu projektów, napisanego "dla ludzi".
A może problemem jest właśnie to że są tutiriale? Ja jakiś znalazłem, ale
zamiast trafić na autoryzowaną strone, to robiłem według znalezionego.
Tutorial w sieci powinien być jeden, przygotowany przez autorów, bo tylko
oni wiedzą jak najlepiej używać frameworka... Jako ciekawostkę podam, że
trafialem też na tutorial do BOINCa, w którym autor opisywał "że dobrze to
można zrobić kobiecie a nie postawić serwer" :)


Cytat: krzyszp w 29 Sierpień 2013, 19:05
Mam zamiar nad tym popracować (na tę chwilę udało mi się spokojnie postawić serwer na wirtualce, aczkolwiek nie miałem czasu pobawić się dodawaniem próbek).
Nie wiem czy to dobry pomysł. Byś musiał śledzić zmiany. Jak coś
zmienią, to też powinieneś zmienić w tutorialu, w przeciwnym razie
wprowadzasz kogoś w błąd. Moim zdaniem dobry tutorial mogą zrobić
tylko autorzy.


Cytat: krzyszp w 29 Sierpień 2013, 19:05
Dla Twojej informacji (albo innych chętnych) - stawiałem na Debianie 7 i pierwszy (drobny) problem był taki, że trzeba zdecydowanie pododawać wszystkie wymagane biblioteki zanim zainstaluje się serwer.
m4, make, dh-autoreconf, pkg-config, git, vim oraz:
libapache2-mod-php5
mysql-server-5.1
libmysqlclient-dev
php5-mysql
php5-cli
php5-gd
phpmyadmin
python
python-mysqldb
libssl-dev

Nom pierwsze przez co trzeba przebrnąc w przypadku BOINC, to lista
niezbędnychy pakietów. Drugi problem to dostosowanie webserwera,
uprawnień, itd.


Cytat
Krzychu 100% racji!
Nie widzę problemu by serwer trzymał konfig w bazie danych i konfigurowalny był plikiem wykonywalnym z konsoli. Do tego nakładka graficzna wywołująca konsolowy program z odpowiednimi parametrami linii poleceń... i wszystko.
Bo w dosłownym rozumieniu to nie jest problemem. To bylo napisane w określonym
konteście i z kontekstu wynikalo o jakie problemy chodzi :)


Pozdrawiam
#29
Cytat: krzyszp w 29 Sierpień 2013, 19:49
Ależ ja nie mam awersji do zapisu logów w plikach tekstowych :)
Po prostu preferuję zapis danych konfiguracyjnych w bazie, skoro i tak program ma ją wykorzystywać i o tym piszę ;)
Chyba chodziło o moją awersję :D
Wszystko przeczytałem, ale już padam. Muszę wszystko przetrawić na spokojnie i jutro odpiszę :)
Pozdrawiam
#30
Może macie rację, muszę to wszystko przetrawić. Może ja jestem za bardzo przyzwyczajony do
swojego schematu pisania aplikacji. A może Wy nie bierzecie pod uwagę wszystkiego co program
musi zrobić po zmianie w opcjach. Zwykle tak jest, że coś się przed rozpoczęciem kodowania
wydaje proste i oczywiste.

Właśnie wklepuje w innym projekcie system regułowy do wspomagania decyzji. Początkowo
wydawało się tak prosto: użytkownik zdefiniuje reguły, zrobi test na danych uczących, potem
będzie miał jeszcze edycję parametrów. Okazało się, że na takich założeniach nawet nie
da się pracować, nie przewidzieliśmy około 95% ważnych rzeczy. To oznacza, że mamy
pracy 20 razy więcej niż się początkowo wydawało. Tak miałem prawie przy każdym większym
projekcie :)

Z doświadczenia wiem, że jak ktoś mówi "przecież to tylko tylko zapis i odczyt ustawień", to
powinienem się przygotować na pół roku dodatkowej pracy :) W dużych systemach trudność
wynika z konieczności zgrania wielu drobnych elementów. Każdy pojedynczy element jest
prosty w zaprogramowaniu, ale razem mogą stanowić koszmar.


Cytat
Nie rozumiem o czym piszesz.
Z Twojej wypowiedzi wynika, że autor projektu musiałby edytować pliki serwera. To bez sensu, przecież może pobierać ustawienia standardowe pobierać z serwera, a swoje nietypowe (dodatkowe) ustawienia trzymać "u siebie".
Niektórym nie wystarczy to co oferuje framework. Chcę żeby framework był łatwy do rozbudowania, tak
żeby programista mógł łatwo dodać nowe cechy. Podział na dwie aplikacje oznacza trudniejszą rozbudowę.


Cytat
Wiesz, ja chyba nie rozumiem. Chcesz napisać serwer, który sobie całą konfigurację odczyta z pliku csv i zrozumie przy tym "co poeta miał na myśli" w osobie naukowca, co sobie opracował założenia w arkuszu kalkulacyjnym?
Nie nie, chodzi tylko o zadania do policzenia w pliku csv. Niemniej domyślna konfiguracja ma być
taka, żeby dało się od kliknięcia uruchomić obliczenia rozproszone.


Cytat
Tak czy siak, to wcale nie zmienia faktu, że serwer dalej może przechowywać konfig w bazie danych, co w połączeniu z faktem, że i tak baza jest w użyciu czyni całe rozwiązanie bardziej eleganckim...
Myślę że wszyscy razem potrafimy przewidzieć nie więcej niż 5% problemów jakie się pojawią :) Mnie się to
teraz też wydaje łatwe. Problem w tym, że zawsze przy każdym projekcie takie łatwe się wydawało. Potem w
realizacji okazywało się, że trzeba oprogramować wiele nieprzewidzianych rzeczy.  Przypuszczam że
pojawią się skomplikowane interakcje pomiędzy parametrami i stanem w jakim jest serwer. W pojedynczej
aplikacji ładnie zablokuję edycję parametrów gdy będzie ona z jakiś powodów niewskazana.

W przypadku edycji na bazie co mogę zrobić? Niby pobieram, edytuję i zapisuję. Nie potrafię udowodnić, że
serwer w każdym etapie pracy po takim zapisie nadal będzie pracował stabilnie i poprawnie. Załóżmy że ktoś
wprowadził niepoprawne parametry, co się dzieje dalej? Serwer zwali logi do jakiegoś pliku - znowu żmudna
analiza logów. Po analizie logów znowu konsternacja jak przywrócić poprawne wartości... Żeby zapobiec
wprowadzaniu niepoprawnych parametrów, to trzeba zrobić w managerze jakieś skanowanie stanu serwera i
nie pozwalać na edycję tego co w danej chwili może zaszkodzić. Ale jak serwer padnie, to nie da się z nim
połączyć. Więc manager by musiał mieć dwa tryby edycji: gdy serwer padł i gdy serwer pracuje :) Bez względu
czy powyższy scenariusz jest choć trochę realistyczny, czy jest całkowicie fantastyczny, to tego
typu problemy się pojawia. Z mojego doświadczenia wynika, że tych problemów będzie 10-20
razy więcej niż jesteśmy w stanie przewidzieć. To z kolei przekłada się na wiele dni kodowania, albo
framework znowu będzie wymagał wiedzy magicznej.

Pozdrawiam
#31
Cytat: krzyszp w 29 Sierpień 2013, 16:24
Oj, pojechałeś...
Niby dlaczego? Może być w bazie, plikach tekstowych, zmiennych systemowych - nie musi być w plikach tekstowych...
Ale czy konfiguracja w bazie lub w zmiennych systemowych jest dla użytkownika o
wiele łatwiejsza niż w plikach tekstowych?

Cytat
Możliwość 1 jest diabelnie niewygodna. Trzeba pobrać pliki logów na
lokalny komputer.
Cytat: krzyszp w 29 Sierpień 2013, 16:24
Nie prawda...
Prawda. Na serwerze nie mamy GUI, więc nie mamy wygodnych/dedykowanych
narzędzi do analizy logów. Trzeba logi pobrać na komputer gdzie jest GUI, albo
pisać skrypty na serwerze.


Cytat: krzyszp w 29 Sierpień 2013, 16:24
Znowu nieprawda. Daemon może (np.) co określony interwał odczytywać konfig z bazy...
W dosłownym rozumieniu owszem to jest nieprawda. Przepraszam, ale zafiksowałem się
na kontekście łatwego używania :) Więc czy taka możliwość istotnie przyczyna się do
ułatwienia obsługi i do ułatwienia stawiania aplikacji? Trzeba napisać aplikację, która
połączy się z bazą, wczyta ustawienia, umożliwi edycję ustawień i zapisze w
bazie. W przypadku stawiania aplikacji niestandardowej, programista będzie musiał
zmieniać kod dwóch aplikacji. Z punktu widzenia obsługi, dokładnie to samo co
konfiguracja w plikach tekstowych.


Cytat: krzyszp w 29 Sierpień 2013, 16:24
U jednego z moich klientów pracuje w sumie 5 osobnych programów przechowujących wszystkie informacje konfiguracyjne w jednej tabeli we wspólnej bazie, zmiana jednego powoduje automatyczne uwzględnienie w innych. Każdy z programów co określony (wartością w bazie!) interwał sprawdza zmiany i się dostosowuje. Oczywiście zmiany w danych (nie konfiguracyjne) są z miejsca odczytywane w czasie rzeczywistym (ale to "oczywista oczywistość").
Wyobrażam sobie taki scenariusz najprostszego użycia. Jakiś naukowiec zastanawia
się nad jakimś problemem. Nie bardzo zna się na komputerach, ale ma w domu bądź w pracy
windowsa albo linuxa i coś umie zrobić w edytorze tekstu, a może nawet w arkuszu kalkulacyjnym.
Problem nad którym się zastanawia wymaga skomplikowanego algorytmu, ale znalazł
w sieci gotowy program do liczenia. Następnie ściąga frameworka do obliczeń rozproszonych
wraz z przykładem użycia na zewnętrznej aplikacji liczącej. Najpierw w arkuszu, albo w
notatniku wpisuje zadania dla tej aplikacji. Potem odpala serwer. W serwerze przy pomocy
GUI robi import pliku csv, albo import plików tekstowych. Potem w kliencie podmienia
aplikację liczącą. Niestety musi jeszcze w klientach skonfigurować IP serwera - tego nie
da się przeskoczyć, może jakiś informatyk mu pomoże. W końcu zanosi klienta z aplikacją
liczącą do kumpli, albo na komputery w pracy. Kopiuje pliki na pulpit, raz klika i liczą
mu się zadania w środowisku rozproszonym. Na koniec przez GUI serwera robi eksport
par wejście - wyjście. Bym zapomniał, jeszcze będzie musiał zainstalować bazę danych.

Czy da się taki efekt uzyskać w inny sposób niż serwer GUI?

Pozdrawiam
#32
Cytat: Karlik w 29 Sierpień 2013, 14:40
Ogólnie wymuszanie posiadania Xów czy innego środowiska graficznego na serwerze tylko po to, żeby działał jakiś daemon jest... złym pomysłem (żeby nie powiedzieć dosadniej).
Myślę jakby to było bez Xów. Na razie widzę dwie inne możliwości:
1) konfiguracja musi znaleźć się w plikach tekstowych;
2) konfiguruje się ze zdalnego managera.

Możliwość 1 jest diabelnie niewygodna. Trzeba pobrać pliki logów na
lokalny komputer. Następnie trzeba logi przeanalizować. Potem trzeba
zmienić pliki konfiguracyjne (np. zablokować złośliwe IP). W końcu trzeba
zresetować serwer. Kolejne wady, to brak interakcji z serwerem, chyba
że przez jakieś przerwania, albo komendy tekstowe. Jak znam życie, to
po dwóch latach autor programu nie będzie pamiętał jaka jest składnia
poleceń :)

Możliwość druga oznacza napisanie "dwóch serwerów" w jednym programie.
Jeden pracuje jako serwer dla aplikacji liczących, a drugi jako serwer dla
managera. Więc dochodzi kod drugiego serwera, kod synchronizujący
całość i kod pośredniczący pomiędzy bazą danych - serwerem - managerem.
Oczywiście też dochodzi kod managera. Obawiam się, że drugi sposób wymaga
trzy razy więcej roboty niż jedna aplikacja GUI. Na taki projekt może zabraknąć
rąk do pracy, zwłaszcza że to ma być oprogramowanie napisane bardzo starannie,
bezpiecznie, bez krytycznych błędów, itd.

Jest więcej wad drugiego rozwiązania. Gdy potem na takim frameworku programista
będzie chciał postawić niestandardową aplikację, np. będzie chciał dodać jakieś
opcje, to musi:
1) zmodyfikować serwer aplikacji liczących
2) manager serwera
3) dodać ramki do protokołu komunikacyjnego pomiędzy serwerem a managerem.

Obawiam się, że w ten sposób miniemy się z najważniejszym celem, czyli z
prostotą stawiania aplikacji. Chyba nie ma innego wyjścia, serwer musi być
aplikacją GUI. 

Pozdrawiam
#33
Cytat: Gołąbpocztowy w 29 Sierpień 2013, 12:18
Linia komend jest dużo dużo dużo wygodniejsza niż jakiekolwiek GUI. Zresztą GUI to tylko nakładka która będzie zmieniać wpisy w plikach konfiguracyjnych. Wg. mnie podstawa to linia komend, a GUI to dodatek dla leniwych.
Jest różnie. Czasami łatwiej wpiać treść zadania z klawiatury, a czasami
łatwiej zadanie wyklikać. Gdy łatwiej wpisać, to GUI nie pozbawia nas takiej
możliwości - wpisuje się w okienku tekstowym.

Cytat: krzyszp w 29 Sierpień 2013, 11:52
No tak, ale z góry właściwie odcinasz użytkowników słabszych VPS, dla których postawienie środowiska graficznego oznacza pozbawienie się RAM'u, którego każdy kilobajt jest cenny, jak masz ich 256...
To na pewno racja, GUI zżera dużo zasobów. Może zastanowię się jeszcze raz
nad takim rozwiązaniem.

Kiedyś pisałem aplikację do wspomagania zarządzania małym osiedlem, głownie
do zarządzania miejscami parkingowymi. Ta aplikacja właśnie tak działa. Główna
aplikacja uruchamia się jako usługa windows NT, a konfigurator pracuje jako
okienkowe GUI. Pisaliśmy wraz z kumplem tę aplikację przez ponad rok czasu :D

Pozdrawiam
#34
Cytat: Karlik w 29 Sierpień 2013, 10:39
Cytat: mariotti w 29 Sierpień 2013, 04:05Można, kiedyś czytałem jak, ale od tamtej pory zapomniałem - dlatego serwer powinien być aplikacją GUI.
Możesz dorobić osobny konfigurator w gui, ale sam serwer musi/powinien być konsolowy - z możliwością całkowitego przejścia w tło - cały output/logi powinny się zapisywać w podanych ścieżkach, bez potrzeby przekierowywania standardowego wejścia/wyjścia.
Tak samo klient - GUI może być dodatkiem, ale musi/powinna być możliwość uruchomienia i skonfigurowania bez użycia żadnego narzędzia graficznego. Swoją drogą to mnie trochę irytuje w BOINCu, że konfiguracja jest niejednolita i ciężko do niektórych opcji dokopać się spoza managera.
Wiem do czego zmierzasz i przyznaję Ci całkowitą racje, że tak byłoby profesjonalnie. Jednak rozbijanie
serwera na dwie aplikacje wiąże się z dużym narzutem dodatkowej pracy, albo pojawiają się te wszystkie
problemy, jakie ma BOINC. Nawet jeśli na serwer będą się składały tylko dwie aplikacje, to trzeba pisać
kod odpowiedzialny za ich synchronizację. Z kolei jeśli serwer będzie miał GUI, to bedzie trzeba
tylko(?) instalować środowisko GUI i zalogować się przez jakiś vncviwer - to chyba nieduży kłopot?

Generalnie myślałem o czymś takim, że gdy serwer pracuje, to widać go jako tę ikonkę w trayu. Użytkownik
klika na ikonce i ma pełen, wypasiony panel administracyjny. Np. chce zablokować jakieś IP, to
wchodzi na zakładkę firewalla i wpisuje maskę IP. Chce zobaczyć wyniki usera, to wchodzi na
zakładkę userów, szuka i klika na interesującego go usera, no i ma wyniki. I tak samo z wszystkimi
ustawieniami.

Pozdrawiam
#35
Cytat: goofyx w 29 Sierpień 2013, 00:33
W jakim sensie "dobrze wydzielonej klasy zadań" skoro możesz odpalić na boinc praktycznie każdy projekt.
Chodziło mi nie tyle o klasę zadań, co o klasę sposobów rozwiązywania zadań. Czyli
najpierw mamy różne zadania. Potem każde zadanie ma wiele różnych sposób rozwiązania.
W tych sposobach są sposoby dobre, złe, szybkie, wolne, szeregowe, równoległe,
rozproszone, kwantowe i co tam jeszcze. Jeśli zdecydujemy się na BOINC, to do
uzyskania jednych sposobów napracujemy się więcej, do innych mniej, jeszcze
innych w ogóle nie uzyskamy. Jeśli zadanie da się z góry (czyt. przed startem projektu)
podzielić na pod-zadania, to BOINC jest idealny. Jeśli zadania powstają dynamicznie,
czyli w odpowiedzi na "sytuację obliczeniową", to BOINC niekoniecznie ułatwia
postawienie aplikacji. Po prostu jest to specyficzny framework, do jednych rzeczy jest
idealny, do drugich jeszcze się nadaje, do następnych lepiej go nie używać - pomimo że
teoretycznie można postawić na nim każdą aplikację.


Cytat: goofyx w 29 Sierpień 2013, 00:33
Dokładnie to miałem na myśli pisząc "przerośnięty", choć ty użyłeś lepszego słowa "przestarzały" przez co w skrócie w źródłach panuje lekki chaos.
Ok, myślałem że chcesz powiedzieć coś w rodzaju, że oferuje za dużo udogodnień i
przestają one współgrać z sobą.


Cytat: goofyx w 29 Sierpień 2013, 00:33
ad <- 1
Nie za bardzo rozumiem dlaczego to framework ma dbać o podziała zadania na pod zadania?
Nie ma dbać o podział na zadania. Podając tamten schemat, chciałem zdefiniować
pole zastosowań, w których taki framework istotnie uprości życie programiście i
administratorowi. Niemniej framework może oferować szereg narzędzi do wspomagania
podziału na zadania.


Cytat: goofyx w 29 Sierpień 2013, 00:33
To twórca aplikacji decyduje co jego appka ma robić <- klient uruchamia appke i zadaje jej WU.
Jeszcze prościej to można zrobić, poprzz jakiś najzwyklejszy callback. Twórca wypełni kod funkcji
zwrotnej, albo zostawi kod domyślny, albo zostawi kod programu przykładowego i wio.
Raczej nie ma być podziału na klienta, managera i aplikację liczącą. Jakby było zainteresowanie
takim frameworkiem, to potem doszłoby coś zamiast managera, tak żeby np. jednym klikiem
wyłączyć 100 aplikacji liczących na 30 komputerach.

Cytat: goofyx w 29 Sierpień 2013, 00:33
Chyba, że chodzi ci o tworzenie WU <- ale to też twórca projektu tworzy skrypty i określa jakie WU generuje i co zawierają
Główna idea tworzenia WU byłaby bardzo podobna jak w BOINC. Różnica polegałaby
tylko na lepszej parametryzacji i automatycznej optymalizacji - na razie nie ma sensu
podawać tego drobiazgu - przyjmijmy że tworzenie i dodawanie WU będzie na identycznej
zasadzie jak w BOINC.

Jednak kolosalna różnica będzie w realizacji tej zasady. Chodzi o spójność, o
spójność tak rozumianą, jak jest rozumiana w bazach danych. Czyli albo
work-units jest, albo go nie ma. Albo work-units się policzył, albo czeka na liczenie,
albo wystąpił błąd, albo czeka na odesłanie wyników. Nie może być sytuacji
wieloznacznych, w zależności od punktu analizy. Teraz w BOINC z punktu
widzenia bazy danych WU mogą być, a już z punktu widzenia schedulera ich nie ma, bo
jakiś biały znak uniemożliwia ich podawanie, a cholera wie jaka jeszcze inna interpretacja
może być z punktu widzenia asymilatora... Jak w takich warunkach można mieć pewność, że
dane są takie jak odesłał liczydłowy, a nie takie, ile udało się zapisać bajtów zanim
padło zasilanie na serwerze - przecież pady się zdarzają. Chodzi o jasną i konkretną
sytuację w przestrzeni całego frameworka. Służą do tego celu transakcje, blokady,
semafory, sumy kontrolne, dobre definicje, itd.


Cytat: goofyx w 29 Sierpień 2013, 00:33
w sensie WU chcesz przechowywać na kilku serwerach FTP czy kilku serwerach projektu?
Są dwie możliwości. Jedna jako narzędzie, pełny automat, w pełni odciążający
programistę/administratora. Druga mniej automatyczna, ale bardziej wydajna.
Tę w pełni automatyczną widzę tak:
1) administrator klika w menu sklonuj serwer
2) wpisuje w okienko adres ip nowego serwera
3) wpisuje w okienko ile zadań ma się sklonować
4) serwer przez dłuższą chwilę mieli po dysku, obliczenia przez jakiś czas niestety staną
5) następnie wypluwa pełną konfigurację dla klona
6) na nowej maszynie uruchamiamy klona, podajemy ścieżkę do konfiguracji
7) gotowe - serwer działa dwa razy szybciej
Potem analogiczny automat do zbierania wyników.

Cytat: goofyx w 29 Sierpień 2013, 00:33
a) kilka ftp nie byłoby głupim pomysłem i baaaaaardzo odciążyło by wymagania dla serwera boinc jeśli chodzi o łącze netowe
b) jeśli chcesz mieć WU na kilku różnych serwerach projektu to dochodzi ci problem z synchronizacją danych pomiędzy nimi <- no chyba że wszystkie łączą się do tej samej bazy danych co mija się z celem skalowania serwera projektu
Wspólna baza oczywiście mija się z celem (chociaż niekoniecznie, ale to szczegół na późniejsze rozważania). Jeśli WU będą
powstawały w czasie rzeczywistym, to by musiało być jakieś API do synchronizacji - trudniejsza sprawa, ale można się
zastanowić. Na razie myślałem o podziale bazy zadań na części, czyli głównie o przypadkach, w których przed startem
projektu można wygenerować wszystkie/większość WU.


Cytat: goofyx w 29 Sierpień 2013, 00:33
ad <- 3
czy losowo wybrany serwer jest dobry? i tak i nie.
W przypadku jednego serwera projektu i kilku serwerów ftp z WU można spokojnie napisać prostą funkcje która skieruje klienta na taki ftp jaki chcemy.
Przykładowo mamy 3 ftp i 100 żądań:
a) ftp w domu na neo <- na niego kierujemy 1 żądanie o WU w serii
b) ftp na koncie hostingu <- na niego kierujemy np.: 15 kolejnych połączeń
c) dedykowany serwer ftp <- na niego kierujemy pozostałe 84 żądania
W takim przypadku mamy w miarę dobrze rozłożone obciążenie serwerów <- według mnie. Oczywiście podane liczby są przykładowe.
Miałem kiedyś podobny problem który rozwiązałem w sposób o jakim teraz wspomniałem <- tylko ja miałem jeden serwer zapytań który skierowywał do różnych ftp
Oczywiście losowy wybór jest najprostszym algorytmem. Można zastanowić się nad lepszym niż najprostszy.
Np. klient może dostać informację o ilość zadań od serwera i wybierać z większym prawdopodobieństwem z
tych serwerów, na których zadań jest więcej. Wtedy wystarczy że administrator na lepszych maszynach
zamieści więcej zadań - takich algorytmów równoważenia obciążenia jest sporo, można kombinować.

Cytat: goofyx w 29 Sierpień 2013, 00:33
komunikacja między klientami, ale jak to widzisz?
Mam jakiś pomysł, ale nie wiem czy warto to implementować. Komunikacja (rzecz jasna - tylko w
jakimś ograniczonym zakresie)  według schematu  P2P, to zastosowania dla takich bibliotek jak MPI.
W tym frameworku może się wydarzyć wszystko co najgorsze. Klient chce się skontaktować z innym
klientem, a inny jest za maskaradą, albo ściąga coś ftp i łącze jest zapchane, albo padło mu zasilanie, albo liczy
task w przypadku którego komunikacja nie ma sensu, albo wolontariusz wyłączył komputer...
Komunikacja P2P ma sens raczej gdy ktoś na swojej prywatnej sieci chce liczyć i ma
prawie gwarancje że komunikacja się uda i przyniesie korzyści.

Cytat: goofyx w 29 Sierpień 2013, 00:33
na pewno dobrym pomysłem by było aby zrobić to czego nie ma boinc manager czyli jeśli w sieci mam X komputerów to chciałbym aby jeden komputer łączył się z serwerem ściągał zapas WU dla całęj sieci, a komputery z sieci łączyły się z komputerem mającym dane do przeliczenia.
Tego baaardzo brakuje. Nie mam przypadki, że w firmie tylko jeden komputer jest wystawiony do internetu, a reszta nie ma dostępu.
Dobrze że o tym napisałeś, sam bym nigdy na to nie wpadł! Koncepcyjne jest to całkiem proste,
w realizacji będzie trudniej.

Cytat: goofyx w 29 Sierpień 2013, 00:33
ad <- 2 a jakie pliki ci się powtarzają skoro dane WU mozna przerobić tylko raz na danym komputerze
Np. robimy system do jakiś ciężkich obliczeń. Co jest ciężkim obliczeniem? Powiedzmy
że szukamy optymalnego rozłożenia elementów na jakimś materiale. Przychodzi klient do firmy
która ma usługi CNC. Klient chce szybko wykonaną usługę. Firma chce zaoszczędzić materiał.
Żeby szybko policzyć tak trudne zadanie, potrzeba setek komputerów - to koszt większy niż
potencjalne oszczędności. Ale różnych firm może być 20 i w każdej może być 10 komputerów. Więc
gdy jedna firma nie ma klienta, to pożycza moc obliczeniową pozostałym. Oczywiście im firma
więcej udostępniała, tym potem więcej otrzyma - wszystko nadzoruje frame-work lub aplikacja. Więc
firmy wrzucają zadania do rozproszonego systemu. Definicja zadania powtarza się, więc
w jednym pliku mamy tę definicję. W drugim pliku możemy mieć parametry dla algorytmu, np.
najlepsze dotychczasowe rozwiązanie, zarodek liczb losowych, itd. Dalej klient pyta
serwer o zadanie. Serwer odpowiada że jest zadanie i sklada się z pliku A i B. Klient
pobiera pliki A i B. Potem odsyla wyniki i znowu pyta się o zadanie. Serwer mówi, że jest
zadanie i składa się z plików A i C. Więc klient pobiera tylko C, bo A sobie zapisał na
dysku. Oczywiście do tego dochodzą priorytety, sprawdzanie czy jest miejsce na
zapisywanie takich danych, algorytmy do optymalizacji kolejności zadań z powtarzającymi
się plikami, itd, itd. W BOINC coś takiego jest, ale ciężkie opanowaniu i używaniu - nie
działa automatycznie.

Cytat: goofyx w 29 Sierpień 2013, 00:33
ad <- 3 niby tak, zabezpieczać się trzeba, ale.. nie do końca rozumiem po co aż tak? Jeśli masz wysyłać dane na ftp lub do serwera projektu to po co ssl?
Może ktoś prywatnie liczyć. Może liczyć jakiś swój komercyjny projekt, z ważnymi-tajnymi danymi, a komputery może
mieć rozrzucone po sieci globalnej. Niby można zrobić SSL jako opcję - kto nie będzie chciał, to zrobi zwyczajnie. Ale
z tego co wiem, SSL z automatu kompresuje dane, więc to może nawet oznaczać wygodę dla twórców frameworka.

Cytat: goofyx w 29 Sierpień 2013, 00:33
A jeśli chcesz przesyłać od razu do bazy i wystawiać ją pod publikę to według mnie jest to zły pomysł.
Nie wiem, zależy czy bazy są odporne na ataki z zewnątrz.

Cytat: goofyx w 29 Sierpień 2013, 00:33
ad <- 5 a nie za bardzo komplikujesz? Jeśli serwer ma być przygotowany pod różne projekty, to autorzy projektów są odpowiedzialni za generowanie odpowiednich WU. Nie ma sensu rozdzielać projektu na kilka serwerów skoro np.: liczących będzie 100. Wtedy będzie to przerost formy nad treścią.
Nie wiem, myślę że to czasami może się przydać.

Cytat: goofyx w 29 Sierpień 2013, 00:33
ad <- 6 to co w pkt.5, a to nie przesada?
W prywatnych projektach to przydatna i wygodna rzecz. De facto można użyć
zewnętrznego firewalla, ale... jakoś tak wyszło, że akurat to mam prawie gotowe :)

Cytat: goofyx w 29 Sierpień 2013, 00:33
ad <- 7 aplikacja webowa to dużo powiedziane ;) podobna strona jak jest teraz w każdym projekcie jest chyba w porządku
Tak, o to mi chodziło :)

Cytat: goofyx w 29 Sierpień 2013, 00:33
ad <- 8 API to niby dobry pomysł, ale lepszym jest umożliwienie odpalanie przez serwer innych aplikacji ustawionych przez usera np.: inny exe generuje WU, inny analizuje.
Moim zdaniem, właśnie z powodu wielości niezależnych aplikacji, tak trudno jest zapanować nad
spójnością, że w BOINC nawet nie podjęli takiej próby. Każdy program działa niezależnie, każdy
ma trochę inne problemy, jeden program coś drugiemu poda, drugi nie wie co z tym zrobić,
trzeci nie rozpozna że drugi nie wiedział, czwarty wygeneruje niepoprawny komunikat o błędzie...

Aby zapewnić spójność w środowisku rozproszonym (choćby rozproszenie było tak małe jak
serwer właściwy i manager serwera), to trzeba się naprawdę dużo napracować. W jednej
aplikacji,  na jakimś prostym mechanizmie można wszystko zsynchronizować.
Jeśli w krótkim czasie ma powstać lepsze narzędzie, to może się składało tylko z
dwóch ważnych aplikacji: serwer i klient. Potem dwie dodatkowe aplikacje: aplikacja
webowa i aplikacja do zarządzania wieloma klientami na raz.


Cytat: goofyx w 29 Sierpień 2013, 00:33
A tak naprawdę sama aplikacja obliczająca nie potrzebuje API.
To prawda.

Cytat: goofyx w 29 Sierpień 2013, 00:33
Komunikację między aplikacją a managerem można zrobić na 2 inne sposoby:
Nie ma być podziału na managera, klienta i aplikację liczącą. Po stronie jednostek
obliczających ma być jedna aplikacja kliencka. Tzn framework ma dostarczać
jedną jedyną aplikację po stronie klienta, a programista z poziomu tej aplikacji
może sobie uruchomić tysiąc innych zewnętrznych. Programista będzie mógł też
całe obliczenia zawrzeć "wewnątrz" tej aplikacji z frameworka - jego wybór.


Cytat: goofyx w 29 Sierpień 2013, 00:33
a) manager i apka są połączone ze sobą po porcie tcp/ip i tu następuje prosta komunikacja <- np.: stop/pauza do aplikacji i stan postępu z aplikacji
Owszem prosta, ale można jeszcze prościej, tak jak pisałem powyżej: jedna jedyna aplikacja.

Cytat: goofyx w 29 Sierpień 2013, 00:33
b) w katalogu z projektem, każda odpalona instacja appki obliczającej tworzy plik XML (lub jakikolwiek inny) z informacją, że na slocie 1 appka ma 55% postępu <- a manager może to odczytywać co np.: 30-60 sekund.
Też można prościej: programista wywoluje funkcję API z parametrem 55% i na GUI przesuwa się pasek
postępu.


Cytat: goofyx w 29 Sierpień 2013, 00:33
ad <- 9 ooooo taaaaak <- tego brakuje i to zdecydowanie. Serwer powinien mieć prostego wizarda do wyklikania nowego projektu lub dodania nowej apki <- teraz linuksowcy mogą mnie zgnoić. Ale jako jeszcze prezes fundacji mającej na celu promowanie boinc uważam, że podstawowe czynności na serwerze powinny być MAKSYMALNIE proste i zautomatyzowane.
Dla mnie idealne jest QT. Gdy mam coś zrobić, to przeszukuję bazę gotowych-przykładowych
programów i też swoje programy. Wybieram najbardziej podobny program. Kompiluję, uruchamiam i już
działa. Potem nanoszę swoje wymagania. Tak samo chciałbym mieć tutaj. Copy-paste
programu przykładowego i od razu coś działa. Potem edycja funkcji liczącej - i działa na
innych obliczeniach.


Cytat: goofyx w 29 Sierpień 2013, 00:33
ad <- 10 teraz poniekąd można to ustawić z tego co wiem. Ale to dobry pomysł.
Można, kiedyś czytałem jak, ale od tamtej pory zapomniałem - dlatego serwer
powinien być aplikacją GUI.

Cytat: goofyx w 29 Sierpień 2013, 00:33
ad <- 11 to co w pkt.5 i 6 <- trzeba się zastanowić co tak naprawdę chciałbyś utworzyć? Bo tworzenie czegoś co będzie do wszystkiego skończy się napisaniem serwera który będzie do niczego. Serwer projektu obliczeń rozproszonych powinien być aplikacją wyspecjalizowaną. Jeśli jakiś admin będzie miał pod sobą projekt, który rozrośnie się do skali WCG to znaczy że ma w ekipie kilku ludzi, którzy zajmą musie maskaradą i dopasowaniem serwera do potrzeb projektu itp itd
Większość projektów to proste twory.
Chodzi o kompromis pomiędzy wygodą liczydłowych a nakładem pracy na frame-work. Liczydłowym
trudno jest zarządzać wieloma aplikacjami liczącymi. Programistom trudno jest napisać porządnego
managera. Co gorsza, gdy klient pracuje jako serwer dla managera, to liczydłowy ma problem z maskaradą,
więc nawet jak się napisze managera, to problemy nie znikną... a tu jeszcze manager może być za maskaradą...
Jedyne rozwiązanie jakie znam, a nawet podejrzewam że inne nie istnieją, to jakiś mały zewnętrzny
serwer. Taki serwer może (ale nie musi) być aplikacją www. Przykładowy scenariusz: liczydłowy zaloguje się stronę
www, naciśnie stop, a po 60 sekundach wszystkie jego aplikacje, na wszystkich komputerach, zatrzymają się.
Zaraz ktoś powie, że tylko jeden komputer w sieci lokalnej ma dostęp do www... i to się da obejść, ale niestety
coraz większym nakładem pracy.

Cytat: goofyx w 29 Sierpień 2013, 00:33
Dlatego uważam, że postawienie serwera powinno wymagać tylko i wyłącznie podstaw danego systemu.
W przeciwnym przypadku ludzie będą woleli pocierpieć i uruchomić aplikacje na kilku komputerach na uczelniach <- rezygnując z boinca.
Zapewne tak jest. Wiedzę dodatkową można ograniczyć do znajomość relacyjnych baz
danych i języka programowania, np. Postgres i C++. Resztę podpowie GUI.


Cytat: goofyx w 27 Sierpień 2013, 23:46
No tak, ale jakby udało się aby twój serwer obsługiwał boinc manager to by było dla wszystkich najlepiej.
Wtedy tworzysz tylko serwer bo manager już jest.
To by zapewniło łagodne przejście z jednego systemu na drugi. Przyznaję, że bardzo cwane :D
Szkoda tylko, że już mnie rozbolała głowa na myśl o robieniu tego w taki sposób :D

Pozdrawiam
#36
Cytat: goofyx w 27 Sierpień 2013, 23:46
A ja uważam, że boinc w tej chwili jest sporo przerośnięty przez co jest skomplikowany dla zwykłych śmiertelników.
Chyba mam odmienne zdanie, chociaż nie jestem do końca pewny jak używasz określenia
"przerośnięty". W sumie ja nie widzę żeby było w BOINCu czegoś za dużo, albo czegoś
za mało. Moim zdaniem jest to oprogramowanie stworzone do rozwiązywania dobrze wydzielonej
klasy zadań, a właściwie do dobrze wydzielonej klasy sposobów rozwiązywania zadań.

Osobiście problemy widzę w czym innym.

1) Po pierwsze BOINC powstał dawno temu, na bazie oprogramowania które powstało jeszcze dawniej.
W dodatku większość kodu wygląd tak, jakby napisali go programiści, którzy programowali w
stylu jeszcze starszym niż data powstania BOINCa. Od tamtej pory powstało wiele mechanizmów
ułatwiających proces tworzenia aplikacji, a BOINC z nich nie korzysta.

2) BOINC był łatany, to oprogramowanie początkowo powstało do jednego konkretnego
projektu. Takie łatanie (czasami) jest nawet szybkim sposobem na zrobienie softu, ale
całość jako projekt robi się trudna do ogarnięcia i dalszego rozwijania.

3) BOINC ma różne braki i są z nim różne dziwne kłopoty których nie powinno być w
oprogramowaniu dla mas. Przykładem jest głupi znak \r, który raz w pliku XML może być,
BOINC dodaje zadania do bazy i znak \r mu nie przeszkadza, ale potem ogólnie nie pracuje.
Innym brakiem są raporty o błędach. Raporty często są nietrafione albo niepotrzebne. W
plikach logów są megabajty sieczki przez które strasznie ciężko się przekopać. Ostatnio
wszyscy widzieli, że pokazywał błędy o braku miejsca na dysku, a problemem było zupełnie
co innego.

4) BOINC korzysta z wielu różnych bibliotek i programów zewnętrznych. Wystarczy że
jest problem z jedną biblioteką i całość leży. Dziś całą aplikację można napisać w
oparciu o trzy składniki: baza danych, biblioteka, język programowania. Programista
musiałby zadbać o konfigurację tylko tych trzech rzecz. Konkretnie może to być
PostgreSQL, QT i C++; albo MySQL i Java ze swoimi natywnymi bibliotekami.

5) Konfiguracja przydziału zasobów po stronie komputera liczącego jest przestarzała.
Dobra była, gdy 99% mocy obliczeniowej pochodziło z komputerów jednordzeniowych. Komputery
wielordzeniowe już dawno trafiły pod strzechy. Ten brak dowodzi trudności w rozwijaniu,
inaczej ktoś by to napisał porządnie kilka lat temu.

Cytat: goofyx w 27 Sierpień 2013, 23:46
Co tak naprawdę jest potrzebne aby ruszyć z obliczaniem rozproszonym:
1. serwer:
a) obsługa komunikacji <- wysyłka i odbiór WU
b) pilnowanie WU <- w tej chwili trzeba tworzyć skrypty i je pilnować. Nowy "framework" może mieć obsługę uruchamiania zewnętrznych exeków odpowiedzialnych za poszczególne zadania np.: generowania, przetwarzania  WU
c) obsługa bazy danych <- boinc preferuje MySql <- gdyby wykorzystać odpowiednie biblioteki to można obsłużyć minimum 5 różnych silników

2. klient:
a) obsługa komunikacji <- wysyłka i odbiór WU
b) przeliczanie WU czyli uruchamianie zewnętrznego exeka który przeliczy WU
Co jest potrzebne żeby ruszyć... Masz rację że niewiele. Perft ruszyłby naprawdę
na prościutkim frameworku, ale nie chodzi oto, aby framework nadawał się tylko do
Perfta.

Najpierw trzeba ustalić, do czego taki framework bedzie się nadawał, a do czego nie.
Podstawowy schemat jest taki:
1) Dzielimy zadanie na pod-zadania (statycznie albo dynamicznie)
2) Pod zadania zamieszczamy na jednym lub wielu serwerach
3) Klient łączy się z losowym serwerem i pobiera dane (czyli pod zadanie)
4) Uruchamiają się obliczenia na danych
5) Wynik jest odsyłany do serwera.
Ten prosty schemat w przyszłości będzie można rozszerzyć o komunikację pomiędzy
klientami bez pośrednictwa serwera.


Cytat: goofyx w 27 Sierpień 2013, 23:46
Teoretycznie najprostszego miniBoinca można zrobić w tydzień przy pracy wieczorkami przez 2 programistów <- i co najlepsze każdy będzie mógł go zainstalować bez tajemnej wiedzy tka jak teraz.
Myślałem o czymś trochę więcej niż minimum.
1) Użytkownicy, tworzenie kont, logowanie, ranking w obliczeniach.
2) Optymalizacja transferu, bufor powtarzających się plików po stronie klienta.
3) Szyfrowana i kompresowana transmisja po SSL.
4) Zadania w transakcyjnej bazie danych, 100% odporności pady zasilania, itd.
5) Klonowanie serwerów, jeśli zadanie jest zbyt duże, to stawiamy nową skrzynkę i
   pod-zadania pakujemy do dwóch komputerów
6) Wewnętrzny fire-wall żeby ktoś mógł ograniczyć obliczenia tylko do prywatnych komputerów
7) Aplikacja webowa do prezentacji postępów, rankingu, itd
8) Jednolite API w postaci funkcji wirtualnych
9) Wygodne narzędzia do administrowania serwerem.
10) Wszelkie opcje na limity zadań dla jednego usera, na czas przedawnienia,
    weryfikację, itd.
11) Może dodatkowy server, specjalny do zarządzania wieloma klientami gdy są
    za maskaradą.


Cytat: goofyx w 27 Sierpień 2013, 23:46
W tej chwili niektórzy mogą powiedzieć, że nie trzeba być geniuszem aby postawić serwer boinca <- powiedzmy sobie szczerze 75% ludzi na ziemi jest kompletnie zielona z linuksa. Może nie jestem wyznacznikiem całości, ale ja osobiście próbowałem kilkanaście różnych tutoriali i serwer postawiłem tylko raz, ale za holere nie wiem jakim cudem <- a raczej nie o to chodzi.
Mam podobne problemy :)


Cytat: goofyx w 27 Sierpień 2013, 23:46
Gdyby się okazało, że coś takiego ma "branie" to można by się pokusić oto aby taki serwer obsługiwał Boinc Managera <- w końcu komunikacja serwer-manager odbywa się poprzez xml jak dobrze pamiętam
Myślę żeby na serwer składał się jeden program GUI, prosta aplikacja webowa i nic więcej. Niestety
rozwiązanie takie ma wadę: zmusza do instalowania jakiegoś środowiska graficznego na serwerze. Wydaje
się jednak, że zalety są ważniejsze:
1) nie trzeba pisać managera, bo załatwi to zdalny x-server
2) dużo łatwiej napisać jedną aplikację, niż dwie: server i manager


Pozdrawiam
#37
Archiwum / problem z miejscem na dysku
28 Sierpień 2013, 01:46
Cytat: sknd w 27 Sierpień 2013, 23:42
Mariotti - liczyć to dalej czy to były tylko jakieś próbne unity?
tak czy tak dobrze, że sprawa ruszyła z miejsca  :parrrty:
To są bardzo próbne work-unity, wszystkie już anulowałem, jeśli cokolwiek z
tego rozumiem, to serwer już nie powinien ich podawać ;-)

Teraz drugi etap: trzeba odpalić aplikację perft ( najlepiej przez popen ) z poziomu
aplikacji master. Oczywiście to już będą (prawie) w pełni funkcjonalne aplikacje. Gdy
robię ekstrapolację problemów na przyszłość, to delikatnie powiedziawszy, nie
chce mi się - ale spróbuję ;-)

Pozdrawiam
#38
Archiwum / problem z miejscem na dysku
27 Sierpień 2013, 23:33
Cytat: krzyszp w 27 Sierpień 2013, 23:20
27/08/2013 22:19:03 | perft | update requested by user
27/08/2013 22:19:06 | perft | Sending scheduler request: Requested by user.
27/08/2013 22:19:06 | perft | Not requesting tasks: project is not highest priority
27/08/2013 22:19:08 | perft | Scheduler request completed

:(
Często tak ostatnio mam w projektach... Ktoś wie, dlaczego to się pojawiło?
Oczywiście rozumiem komunikat, ale kiedyś grzecznie coś pobierał...
Nie wiem, ale po ostatnich przebojach, bym zaczął sprawdzanie od
tego, czy serwer ma IP podzielne przez siedemnaście  ;-)
#39
Archiwum / problem z miejscem na dysku
27 Sierpień 2013, 23:08
Cytat: Szopler w 27 Sierpień 2013, 22:53
U mnie "Output file absent" - błąd i wywalenie WU.
Na laptopie, gdzie mam zainstalowaną starszą wersję linxa i boinca z repo, też
nie działa. Na stacjonarnym, gdzie linuxa mam świeżo z repo, a boinca prosto
ze strony - działa.
Pozdrawiam :beer:
#40
Archiwum / problem z miejscem na dysku
27 Sierpień 2013, 22:52
Cytat: sknd w 27 Sierpień 2013, 22:36
no, liczą się liczą, WU trwają po 21 sekund  :)
No i czy to tak może być w takim oprogramowaniu? Można napisać tak soft dla mas, żeby się
wywalał z powodu nadmiarowego białego znaku w pliku tekstowym?
Pozdrawiam
P.S.
Biorę piwo i idę spać, do jutra :D