Go にクラスター コンピューティングのフレームワークはありますか? (複数の PC をまとめてカスタムの並列計算を行いたいのですが、Go が適切な言語であるかどうか疑問に思っています)。
4 に答える
クラスター内でどのレベルの接続を計画しているかはわかりませんが、go の RPC パッケージを使用すると、ノード間の通信が簡単になります。作業のバックボーンとして機能する可能性が高く、その上に抽象化を構築できます (たとえば、異なるノードにリクエストをマルチキャストする必要がある場合)。ドキュメントに示されている例では、ノードが HTTP 経由で通信することを前提としていますが、そのビットは net/rpc で抽象化されて、さまざまなトランスポートが可能になります。
Go でHadoop ストリーミングを使用できます。ここで(少し古い)例を参照してください。
Go Circuitをご覧ください。
イントロダクションからの引用:
この回路は、複雑で大規模なシステムの人的開発と維持コストを、単一プロセスのシステムとほぼ同じレベルまで削減します。...
... と:
たとえば、マルチステージの MapReduce パイプラインのストリーミングなど、大規模な現実世界のクラウド アプリケーションを、ゼロから 200 行ものコードで作成することができました。
また、いくつかのより単純なユース ケースについては、Golemを確認することをお勧めします。
https://github.com/bketelsen/skynetを試すことができます。これは doozer に基づくサービス指向のフレームワークです。