Wpis z mikrobloga

Czy może mi ktoś wytłumaczyć pisanie programów wykorzystujących klaster? Czy dobrze to rozumiem? Mam klaster z x węzłami. Piszę aplikację tak, żeby wiedziała (np miała listę adresów tych węzłów) o pozostałych węzłach i komunikowała się z odpalonymi tam programami, które nasł#!$%@?ą na jakimś porcie itd. W sensie mam apke-matkę i apki podrzędne czy to jest jeszcze inaczej? Może ktoś ma do polecenia jakąś bibliotekę do wykorzystania klastrów w C, Cpp albo Pythonie?
#pytanie #naukaprogramowania #klaster #C #cpp #python
  • 4
@RaVo: Generalnie tak, ale niemusisz mieć mastera, tylko połączenia każdy z każdym ew tw sharding czyli kilka docelowych nodów określanych przez odpowiedni algorytm. Czasami lepiej nie mieć połączenia tylko komumikować się pakietami UDP ale algorytm musi być odporny na znikanie takich pakietów. Co do bibliotek to w C++ wystarczy boost::asio oraz biblioteka do serializacji (capnproto, protobuf, msgpack).
@RaVo: jaki jest twój cel? W zależności od potrzeb rozwiązania są zupełnie inne. Jeśli problemem jest duży rozmiar danych albo niewystarczająca moc obliczeniowa popularnym rozwiązaniem jest MapReduce i przykładowy framework wykorzystujący jego założenia Apache Spark (przykłady). Jeśli problemem nie jest duża ilość danych to warto zainteresować się OpenMPI