L'informatique distribuée est un moyen de résoudre des problèmes de calcul chronophages à l'aide de plusieurs ordinateurs, le plus souvent combinés dans un système informatique parallèle.
L'une des premières mentions de l'informatique distribuée remonte à 1973. Au centre de recherche Xerox PARC, John Schoch et John Hupp ont écrit un programme qui s'est envoyé à d'autres ordinateurs fonctionnels via le LAN PARC.
Par la suite, en relation avec le développement et la croissance du nombre d'ordinateurs personnels, l'informatique distribuée a commencé à être de plus en plus largement utilisée. Par exemple, à la fin des années 1980, Arjen Lenstra et Mark Menes ont écrit un programme pour factoriser les nombres longs. Elle a envoyé des devoirs aux ordinateurs des participants par e-mail et a reçu des réponses de la même manière.
Un autre événement important a été la création du projet SETI @ Home (Search for Extra-Terrestrial Intelligence at Home) pour rechercher des renseignements extraterrestres en analysant les données des radiotélescopes, y compris celles des ordinateurs personnels des participants. Ce projet a été lancé en 1999 et arrêté en 2020. Ce système distribué a été construit sur la plate-forme BOINC de l'Université de Berkeley.
À l'avenir, les développements sur la création de divers systèmes distribués se sont poursuivis activement et ils sont maintenant utilisés dans une grande variété de domaines. En particulier, le calcul distribué est largement utilisé pour les problèmes mathématiques. Un exemple typique est la factorisation des nombres (leur décomposition en produit de facteurs premiers).
Un autre domaine d'application important pour l'informatique distribuée est le traitement des mégadonnées utilisant des méthodes d'apprentissage automatique et d'exploration de données. En tant que langage de programmation à cet effet, ces dernières années, Python a pris une position de leader. En mars 2020, selon le classement TIOBE, Python occupe la troisième place, alors qu'il n'était que septième en 2015.
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. , . , , , , , . , , .
Dans le cadre du développement ultérieur de ce développement, il est prévu d'ajouter la prise en charge des environnements virtuels, ce qui permettra l'utilisation de modules tiers et de frameworks Python, ainsi que d'éviter les conflits entre les versions d'un module avec des fonctions différentes.
L'une des applications possibles du développement est l'organisation du contrôle de décision distribué lors des concours de programmation.