Przetwarzanie równoległe

0

Cześć!!!
Mam taki problem: chciałem napisać program, który będzie liczył bardzo duże liczby. Do tego celu chciałem wykorzystać przetwarzanie równoległe!!! Czy ktoś już napisał jakiś program wykorzystujący takie przetwarzanie? Jeżeli tak to bardzo prosiłbym o kod źródłowy takiego programu. I jeszcze jedno: czy możliwe jest korzystanie z czyjegoś procesora, nie uruchamiając na jego komputerze żadnych programów - tylko wykorzystanie bezpośrednio przez internet jego procesora do obliczeń, znajądz powiedzmy jego IP? Jeżeli ktoś mógłby mi pomóc prosze o kontakt: [email protected]
Ps. Znam się trochę na programowaniu i chętnie poklikam z kimś kto również ma jakieś doświadczenie - najlepiej w Delphi. Mój GG: 4688458 [!!!]

0

Przetwarzanie przetwarzaniem, ale musisz sam wiedzieć, co takiego chcesz liczyć. Jeśli liczysz coś, co ma, ze tak powiem, związek przyczynowo-skutkowy, czyli wynik jednego obliczenia jest jednocześnie składnikiem drugiego, to nie zastosujesz przetwarzania równoległego. Jeśli natomiast wynik jednego działania jest jednocześnie składnikiem dwóch lub więcej niezależnych od siebie działań, to proponuję uruchamianie wątków do konkretnych działań w odpowiednim momencie. Czyli coś takiego :

              a + b = c
            /               \
    Wątek 1           Wątek 2
    c + d = e          c + f = g

Mam nadzieję, że zrozumiałeś, o co mi chodzi, wiem że potrafię zagmatwać ;)

0

Berl: to nie takie proste, bardzo czesto mozna znalezc algorytm rownolegly do problemu, do ktorego klasyczny, sekwencyjny algorytm ma silne zwiazki przyczynowo skutkowe.
Przetwarzanie rownolegle to skomplikowana dziedzina. Z pytania wynika, ze chodzi raczej o rozwiazania techniczne. W dokumentacji Delphi jest opisana klasa TThread. Jest naprawde prosta i nie ma sensu przedstawiac tu kodu. Tylko siasc i przeczytac te kilkanascie linijek tekstu.

Co do drugiego pytania o wykonywanie kodu na innych kompach: I TAK I NIE. Legalnie nie mozna. Ale jak znajdziesz dziure, to jakis kod mozesz zdalnie wykonac korzystajac z dzialajacego, dziurawego procesu. Tylko ze tego raczej sie nie uzywa do obliczen rownoleglych....

0

Możesz skorzystać z RPC, ale oczywiście tylko za wiedzą, zgodą i pomocą właściciela komputera, z którym będziesz współdzielić obliczenia.

aha - tu masz bibliotekę służącą do obliczeń na dowolnie dużych liczbach: http://4programmers.net/download.php?id=1184, nota bene mojego autorstwa.

0

najlepiej byłoby żeby ktoś mi podsunął jakiś program, który wykorzystuje przetwarzanie równoległe. Jak się połączyć z drugim komputerem? Przez komponenty: Indy czy te dołączone na zakładce internet, czy może jest jakiś sposób szybkiego komunikowania i zarazem sprawniejszego? [???]

A tak na marginesie to co to jest RPC?

0

Remote Procedure Call - Zdalne Wywoływanie procedur

0

A o co chodzi w tym RPC?

0

Masz np. taki kod:

wynik := zrob_cos(parametr1, parametr2);

i jak procesor do niego dojdzie, to skok jest wywolywany "na inny komputer", tam wykonuje sie funkcja, po czym sterowanie "wraca na komputer", ktory wywolal funkcje. W zmiennej wynik zostaje zapisana wartosc obliczona na innym komputerze. Zwykla funkcja, tyle ze jej kod jest na innym komputerze. A jak to jest dokladnie realizowane - to poczytaj dokumentacje.

RPC jest jedna z wielu praktycznych realizacji zdalnych wywolan. Obecnie zostalo prawie calkowicie wyparte przez technologie CORBA i RMI-IOP (i troche .NET remoting). Z tego co slyszalem, to Delphi obsluguje Corbe, choc pewnie musisz miec Pro lub Enterprise. RMI / RMI-IOP jest odpowiednikiem w Javie.

// rzeczywiście masz radykalne poglądy; rpc żyje i ma się dość dobrze - ŁF

0

Byłbym niezmiernie wdzięczny gdyby ktoś podesłał mi jakis programik(oczywiscie kod źródłowy) lub przedstawił jakiś fragment kodu. [!!!] [!!!] [!!!]

1 użytkowników online, w tym zalogowanych: 0, gości: 1