Python vs multiprocessing
Тезисы
Мультипроцессинг в питоне вещь актуальная, особенно если вы занимаетесь ML сервисами. Но если вы попытаетесь использовать его в ваших сервисах — вы непременно наткнетесь на ряд подводных камней, которые почти нигде не обсуждается.

В докладе я бы хотел рассказать про наш опыт использования мультипроцессинга, с какими проблемами можно столкнуться, затаскивая его в реальные продакшн сервисы.

Из этого доклада можно будет узнать:
  1. В каких случаях нужно использовать shared memory и как корректно и эффективно с ней работать. Расскажу про атомарные счетчики ссылок как альтернативу стандартным методам контроля над шареной памятью в питоне.
  2. Скрытые баги в стандартных питоновских очередях. Мультипроцессорные очереди в питоне ведут себя контринтуитивно (например, говорить, что очередь пуста, когда в ней на самом деле лежит куча тасков), плюс они не совсем кроссплатформенные.
Эти вещи мало где обсуждаются, а проблемы, связанные с ними, напрямую аффектят сервисы. При этом сходу не понятно, что произошло не так и как можно это исправить.
Мультипроцессинг в питоне вещь актуальная, особенно если вы занимаетесь ML сервисами. Но если вы попытаетесь использовать его в ваших сервисах — вы непременно наткнетесь на ряд подводных камней, которые почти нигде не обсуждается.

В докладе я бы хотел рассказать про наш опыт использования мультипроцессинга, с какими проблемами можно столкнуться, затаскивая его в реальные продакшн сервисы.

Из этого доклада можно будет узнать:
  1. В каких случаях нужно использовать shared memory и как корректно и эффективно с ней работать. Расскажу про атомарные счетчики ссылок как альтернативу стандартным методам контроля над шареной памятью в питоне.
  2. Скрытые баги в стандартных питоновских очередях. Мультипроцессорные очереди в питоне ведут себя контринтуитивно (например, говорить, что очередь пуста, когда в ней на самом деле лежит куча тасков), плюс они не совсем кроссплатформенные.
Эти вещи мало где обсуждаются, а проблемы, связанные с ними, напрямую аффектят сервисы. При этом сходу не понятно, что произошло не так и как можно это исправить.
Видеозапись доклада
Информация о спикере
Артем Приходько
Инженер-программист, Avito
Работаю год в компании Avito. В течении этого года принимал участие в разработке внутренних инструментов для DS. Пишу на питоне. Мы вместе с командой занимаемся разработкой open source библиотеки aqueduct, которая помогает создавать эффективные ML сервисы, готовые к продакшену.
До питона писал на C/C++.
  • Артем Приходько
    Инженер-программист, Avito
    Работаю год в компании Avito. В течении этого года принимал участие в разработке внутренних инструментов для DS. Пишу на питоне. Мы вместе с командой занимаемся разработкой open source библиотеки aqueduct, которая помогает создавать эффективные ML сервисы, готовые к продакшену.
    До питона писал на C/C++.
Все доклады секции