dockerテクノロジーを使用したpythonでの分散コンピューティングの実装

分散コンピューティングは、複数のコンピューターを使用して時間のかかる計算上の問題を解決する方法であり、ほとんどの場合、並列コンピューティングシステムに統合されます。





分散コンピューティングに関する最初の言及の1つは、1973年にさかのぼります。Xerox PARC Research Centerで、JohnSchochとJohnHuppは、PARCLANを介して他の動作中のコンピューターに自分自身を送信するプログラムを作成しました。





その後、パーソナルコンピュータの開発と増加に伴い、分散コンピューティングがますます広く使用されるようになりました。たとえば、1980年代後半、ArjenLenstraとMarkMenesは、長い数値を因数分解するプログラムを作成しました。彼女は参加者のコンピューターに電子メールで課題を送信し、同じ方法で応答を受け取りました。





もう1つの重要なイベントは、参加者の自宅のコンピューター上のデータを含む無線望遠鏡からのデータを分析することによって地球外の情報を検索するSETI @ Home(自宅での地球外の情報の検索)プロジェクトの作成でした。このプロジェクトは1999年に開始され、2020年に停止されました。この分散システムは、バークレー大学のBOINCプラットフォーム上に構築されました。





今後もさまざまな分散システムの構築開発が活発に行われ、現在ではさまざまな分野で活用されています。特に、分散コンピューティングは数学的な問題に広く使用されています。典型的な例は、数値の因数分解(主因数の積への分解)です。





分散コンピューティングのアプリケーションのもう1つの重要な領域は、機械学習とデータマイニング手法を使用したビッグデータ処理です​​。この目的のためのプログラミング言語として、近年、Pythonが主導的な地位を占めています。2020年3月現在、TIOBEランキングによると、Pythonは2015年には7位でしたが、3位です。





Python – C++. .





21 , . Docker . Docker , : , “” .





Docker Docker Swarm. . Docker- – “”.





TCP-, . . , , . , , .





« » . Python – . . , , .





, Python – , , C++. , Python (CPython) C , . - CPython GIL (Global Interpreter Lock) - . 5 . , .





. Docker Swarm, . .





, Docker Swarm . , , , , .





, Docker Swarm, . , “” , .





: ( ) , “ ”.





(6 2 – ) 20 , Linux.





: , , . . ( GIL). – , (“”) . – , .





.





/









-





(8 )





7.3525





39.3731 c





(8 )





54.3255 c





42.0415









43.4656 c





41.4426 c









43.5361





43.9102 c





, , . - Python. , . , , , , , . , , .





この開発のさらなる開発では、仮想環境のサポートを追加する予定です。これにより、サードパーティのモジュールとPythonフレームワークを使用できるようになるだけでなく、機能が異なる1つのモジュールのバージョン間の競合を回避できます。





開発の可能なアプリケーションの1つは、プログラミング競技中の分散型意思決定チェックの編成です。








All Articles