От многопоточных вычислений переходим к распределённым. То есть вычисления, происходящие на нескольких компьютерах.
Конечно, в зависимости от задачи, вы можете взять готовые решения вроде CGRU или Deadline для рендеринга, charm4py или Dask для ML, или замутить что-то на AWS С2. Но хотелось бы чего-то попроще, попитоничней что ли)
А ведь в Python есть средства "из коробки" для синхронизации нескольких процессов на разных хостах.
Вот простой пример кода, который синхронизирует работу двух процессов на разных компьютерах.
В этом случае используется процесс-посредник, который является синхронизирующим сервером.
В примере создаётся некий Manager, который шарит общую для клиентов очередь. Все подключившиеся могут что-то в неё писать или забирать.
В моём коде один процесс что-то "считает" и складывает в очередь, другой забирает и продолжает какие-то свои "расчёты".
Если у вас есть несколько машин, то можете попробовать это запустить по сети (нужно заменить 'localhost' на IP-адрес сервера). Но и на локальной машине сработает.
Gist 🌎
#libs#source#tricks
🦌 **THE BLEEDING HEARTS OF ETHIOPIA'S MOUNTAINS** ❤️🔥
*Africa's Most Mysterious Primates*
High in Ethiopia's Simien Mountains lives one of nature's most enigmatic creatures - the Gelada baboon. Known as "bleeding heart monkeys," these remarkable primates carry a crimson badge across their chest.
primates carry a c💔 Red chest patches that intensify with emotion
🏔️ Only primates adapted to extreme altitude living
🌿 90% grass diet - nature's lawnmowers
👥 Largest primate gatherings on Earth
Gelada baboon. Know💰 Exclusive encounters: $6,000-10,000 per trek
📸 Photography expeditions with premium rates
🎬 Untold documentary potential
Found nowhere else on Earth, geladas represent millions of years of evolution. Their "bleeding hearts" aren't wounds - they're windows into Africa's most extraordinary survival story.
#GeladaBaboon#EthiopiaWildlife#SimienMountains