От многопоточных вычислений переходим к распределённым. То есть вычисления, происходящие на нескольких компьютерах.
Конечно, в зависимости от задачи, вы можете взять готовые решения вроде CGRU или Deadline для рендеринга, charm4py или Dask для ML, или замутить что-то на AWS С2. Но хотелось бы чего-то попроще, попитоничней что ли)
А ведь в Python есть средства "из коробки" для синхронизации нескольких процессов на разных хостах.
Вот простой пример кода, который синхронизирует работу двух процессов на разных компьютерах.
В этом случае используется процесс-посредник, который является синхронизирующим сервером.
В примере создаётся некий Manager, который шарит общую для клиентов очередь. Все подключившиеся могут что-то в неё писать или забирать.
В моём коде один процесс что-то "считает" и складывает в очередь, другой забирает и продолжает какие-то свои "расчёты".
Если у вас есть несколько машин, то можете попробовать это запустить по сети (нужно заменить 'localhost' на IP-адрес сервера). Но и на локальной машине сработает.
Gist 🌎
#libs#source#tricks
🐄🐄 𝘿𝙄𝙂𝙀𝙎𝙏𝙄𝙊𝙉 𝙄𝙉 🐄𝙍𝙐𝙈𝙄𝙉𝘼𝙉𝙏𝙎 🐄🐮
👉All herbivores (plant-eating mammals) are called ruminants.
👉They rechew the cud to break down plant matter and stimulate digestion.
👉The stomach is divided into four chambers- rumen, reticulum, omasum, and abomasum.
🐄🐮 𝙋𝙧𝙤𝙘𝙚𝙨𝙨 𝙊𝙛 𝘿𝙞𝙜𝙚𝙨𝙩𝙞𝙤𝙣 🐄🐮
👉Ruminants quickly swallow the food and store it in the rumen.
👉Once the rumen is filled, food is passed into the second chamber (reticulum).
👉In the reticulum, digestive juices partially digest the food.
👉Partially digested food is called cud.
👉Now when mammals are resting, bring the cud back into the mouth for rechewing.
👉After cud is chewed food is passed to the omasum and the abomasum.
👉Symbiotic bacteria in the caecum brought complete digestion of cellulose.
#digestion
https://t.me/starvetbooks