От многопоточных вычислений переходим к распределённым. То есть вычисления, происходящие на нескольких компьютерах.
Конечно, в зависимости от задачи, вы можете взять готовые решения вроде CGRU или Deadline для рендеринга, charm4py или Dask для ML, или замутить что-то на AWS С2. Но хотелось бы чего-то попроще, попитоничней что ли)
А ведь в Python есть средства "из коробки" для синхронизации нескольких процессов на разных хостах.
Вот простой пример кода, который синхронизирует работу двух процессов на разных компьютерах.
В этом случае используется процесс-посредник, который является синхронизирующим сервером.
В примере создаётся некий Manager, который шарит общую для клиентов очередь. Все подключившиеся могут что-то в неё писать или забирать.
В моём коде один процесс что-то "считает" и складывает в очередь, другой забирает и продолжает какие-то свои "расчёты".
Если у вас есть несколько машин, то можете попробовать это запустить по сети (нужно заменить 'localhost' на IP-адрес сервера). Но и на локальной машине сработает.
Gist 🌎
#libs#source#tricks
Готовы выйти из зоны комфорта? 😏
Делай скриншот и встречай своего оппонента на #IEM Katowice 2022! Твоим квестом станет поиск интересной ставки против выпавшей команды! Ух не завидуем тем, кому попадутся NAVI!
Делитесь с нами своими результатами 🔥
Уже завтра начинается #IEM Katowice и вот какие шансы на победу у команд 👀
🏆 NAVI - 1.80
- Gambit - 3.50
- G2 - 7.00
- Vitality - 13.00
- Heroic - 15.00
- VP - 15.00
А за кого болеешь ты?
🤩 Вы там не пропустили старт #IEM Winter? Мы как раз подготовили для вас возможность получить кешбэк 15%!
Активируй акцию по ссылке и врывайся в игру 👉http://pmbet.gg/CASHBACK_IEM