programowanie rozproszone

0

Witam mam wielką prośbe do WAS. Proszę o wszelką pomoc na temat programowania rozproszonego w C++(Borland lub Visual). Był bym wdzięczny gdybyście mi w miare możliwości przysyłąli kody żródłowe programów wykonujących obliczenia poprzez siec . Prosiłbym także o zawarcie(w miare możliwości ) w nich wszystkich możliwych opisów gdyz jestem w zasadzie zielony z programowania. Potrzebna jest mi wszelka pomoc gdyz muszę wykonać w ramach pracy dyplomowej taki program. Mój adres mejlowy to [email protected]

0

skoro jestes zielony z programowania to gratuluje dobrego wyboru tematu pracy dyplomowej.
A co do pytania, to potrzebujesz:
serwera, zarzadzajacego podzialem zadan pomiedzy koncowki obliczeniowe i laczacego wyniki pracy w calosc
koncowek - prowadzacych jedynie obliczenia

Idea jest taka - serwer porcjuje problem na mniejsze pakiety i rozsyla je do koncowek, ktore to licza, kazda swoja paczke, odsylaja wynik do serwera, ktory montuje to i wysyla nastepne porcje danych do obliczen.

przyklad:
obliczenie liczb pierwszych z zakresu 3-10000000000000000000000000

serwer dzili to na mniejsze pakiety danych np. zawierajece po 100 liczb i wysyla do koncowek. One obliczaja liczby pierwsze z zadanego zakresu i odsylaja wyniki. I tak do momentu kiedy skonczy sie zakres liczb wejsciowych

Tak w duuuzym uproszczeniu.

0

Tez gratuluje wyboru pracy dyplomowej, ale skoro juz wybrales to trudno.

Przede wszystkim musisz zaprojektowac najpierw architekture systemu:
dobrac zadania do poszczegolnych maszyn, dobrac odpowiedni
zestaw algorytmow, ustalic protokoly. Anubis podal jeden przyklad systemu rozproszonego
do obliczen (tak naprawde czesciowo rozproszonego), jednak podzial
zadan pomiedzy poszczegolne wezly i sposob komunikacji jest zalezny
od tego "co to ma robic".

Jak juz zaprojektujesz system to musisz sie zdecydowac na jakas okreslona
technologie. Skoro to ma byc C++ to mozesz wybrac:

  • zwykle gniazdka (duza wydajnosc, ale kiepsko sie programuje)
  • RPC (nie polecam - tez niezbyt wygodne, ale i tak lepsze niz gniazdka)
  • CORBA (troche malo wydajne, ale za to ma baardzo duzo funkcji i implementacje
    dzialaja w wielu jezykach, nie tylko w C++; nauka zajmuje niestety dluzej)
  • SOAP (jeszcze mniej wydajne niz CORBA, ale bardzo przyjemnie sie w tym pisze)

Mozesz jeszcze rozwazyc zastosowanie gotowych komponentow takich jak
np. monitor transakcyjny (BEA Tuxedo).

Jesli robilbys w Javie to polecam RMI (mozna sie nauczyc w 1 dzien).

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