分散コンピューティングは、複数のコンピューターを使用して時間のかかる計算上の問題を解決する方法であり、ほとんどの場合、並列コンピューティングシステムに統合されます。
分散コンピューティングに関する最初の言及の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つは、プログラミング競技中の分散型意思決定チェックの編成です。