/ / Jak mogę utworzyć system do obliczeń rozproszonych? - java, grid, dystrybuowane

Jak mogę utworzyć system do obliczeń rozproszonych? - java, grid, distributed

Jestem studentem wydziału Cybernetyki i chcę napisać jeden projekt z wykorzystaniem Java. Chcę stworzyć system do przetwarzania rozproszonego.

Będzie zawierać kolejne składniki:
1. Główny program użytkownika (inny dla każdej konkretnej sytuacji)
2. Program zadania użytkownika, który może rozwiązać tylko niewielkie zadanie (również inne dla każdego przypadku)
3. Mój program, który będzie współdziałał z głównym programem użytkownika, aby wiedzieć, które zadania należy rozwiązać 4. Mój program, który będzie współdziałał z programem zadań użytkownika, aby przekazać dane wejściowe i uzyskać dane wyjściowe 5. Apache Tomcat i moja serwlety + baza danych, wszystko to pozwoli na następne rzeczy:

  • zarejestruj główny program i węzeł obliczeń w systemie
  • zapisać w zadaniach DB z programu głównego, zapisać wyniki zadania, które zostaną wysłane z węzłów
  • zobacz informacje statystyczne (ile zadań zostało rozwiązanych, ile węzłów w systemie itd.)

Proszę mi powiedzieć kilka pomysłów dotyczących projektowania tego systemu. Chcę też wiedzieć, jak mój program Java może współdziałać z programem użytkownika na lokalnym komputerze (mam na myśli wymianę danych).

p.s. dziękuję, przepraszam za mój angielski i pamiętam, że chcę napisać własny system (więc nie mogę „użyć istniejących rozwiązań”)

Odpowiedzi:

2 dla odpowiedzi № 1

Czytaj dalej Linda i JavaSpace. Potem czytaj dalej Apache Hadoop i MapReduce. To powinno dać ci kilka pomysłów na sposoby radzenia sobie z tymi rzeczami.


0 dla odpowiedzi nr 2

Zapoznaj się z samouczkiem Java Remote Method Invocation Tutorial, aby poznać podstawy programowania rozproszonego.

http://download.oracle.com/javase/tutorial/rmi/index.html


0 dla odpowiedzi № 3

W przypadku koncepcji uczenia się polecam studiowanie Hadoop Prace. Nauczysz się tony!


0 dla odpowiedzi nr 4

Szybkość systemu sieciowego zależyprzede wszystkim o tym, jak autonomiczny jest każdy węzeł (tj. poleganie na nowych danych), a także jak rozkładają się procesy. Jestem przekonany, że twoje rozwiązanie z konieczności będzie przypominało model wieloprocesowy.