A computação distribuída é uma maneira de resolver problemas computacionais demorados usando vários computadores, na maioria das vezes combinados em um sistema de computação paralelo.
Uma das primeiras menções à computação distribuída data de 1973. No Centro de Pesquisa Xerox PARC, John Schoch e John Hupp escreveram um programa que se auto-enviou para outros computadores em funcionamento pela LAN PARC.
Posteriormente, em conexão com o desenvolvimento e crescimento do número de computadores pessoais, a computação distribuída começou a ser usada cada vez mais amplamente. Por exemplo, no final da década de 1980, Arjen Lenstra e Mark Menes escreveram um programa para fatorar números longos. Ela enviava tarefas aos computadores dos participantes por e-mail e recebia respostas da mesma forma.
Outro evento significativo foi a criação do projeto SETI @ Home (Busca por Inteligência Extraterrestre em Casa) para busca de inteligência extraterrestre por meio da análise de dados de radiotelescópios, inclusive dos computadores domésticos dos participantes. Este projeto foi lançado em 1999 e interrompido em 2020. Este sistema distribuído foi construído na plataforma BOINC da Universidade de Berkeley.
No futuro, os desenvolvimentos na criação de vários sistemas distribuídos continuaram ativamente e agora eles são usados em uma ampla variedade de áreas. Em particular, a computação distribuída é amplamente usada para problemas matemáticos. Um exemplo típico é a fatoração de números (sua decomposição no produto de fatores primos).
Outra área importante de aplicação para computação distribuída é o processamento de big data usando métodos de aprendizado de máquina e Data Mining. Como linguagem de programação para esse fim, nos últimos anos, Python assumiu uma posição de liderança. Em março de 2020, de acordo com o ranking TIOBE, Python estava em terceiro lugar, embora em 2015 fosse apenas sétimo.
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. , . , , , , , . , , .
No desenvolvimento posterior deste desenvolvimento, pretende-se adicionar suporte para ambientes virtuais, o que permitirá o uso de módulos de terceiros e frameworks Python, bem como evitar conflitos entre versões de um módulo com funções diferentes.
Uma das possíveis aplicações do desenvolvimento é a organização de checagem de decisão distribuída durante competições de programação.