home.social

#shared_memory — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #shared_memory, aggregated by home.social.

  1. Почему multiprocessing.Queue() тормозит и как обойти это с помощью shared_memory

    Привет, Хабр! Вы запускаете многопроцессную задачу, кидаете данные в multiprocessing.Queue() , а потом вдруг замечаете... что всё тормозит. Муторно. Медленно. Местами прям отвратительно. Вы смотрите в монитор, на top, на htop, на код — и не понимаете: ну ведь должно же летать! А не летит.

    habr.com/ru/companies/otus/art

    #python #multiprocessing #очередь #производительность #shared_memory #межпроцессное_взаимодействие #кольцевой_буфер

  2. Как мы используем разделяемую память в Aqueduct

    Привет. Меня зовут Денис Лисовик, я Backend-инженер в команде Data Science SWAT Авито. В этой статье рассказываю, как использовать разделяемую память в Aqueduct. Вместе мы шаг за шагом пройдем от сервиса, который едва держит один RPS, до сервиса, который может держать сотни запросов в секунду. В процессе вы узнаете, как использовать разделяемую память и как сделать так, чтобы она не утекала, а приложение не падало с Segmentation fault.

    habr.com/ru/companies/avito/ar

    #python #shared_memory #multiprocessing

  3. Технология NTB: опыт применения и ее виртуализация QEMU

    В статье мы расскажем о системах хранения данных (СХД), в частности о применении технологии NTB поверх шины PCIe. Наша команда столкнулась с задачей виртуализации технологии NTB в QEMU, решение которой было сведено к созданию частичной виртуализации IDT 89HPES24NT6AG2 PCI Express Switch, модификации модуля ядра Linux для поддержки нашей виртуализации и сборки воедино с помощью Yocto Project.

    habr.com/ru/articles/853486/

    #NTB #qemu #dma #RMDA #PCIE #схд #shared_memory #виртуализация #производительность #linux_kernel

  4. [Перевод] Руководство по межпроцессному взаимодействию (IPC) в Linux — Часть 1

    Представляю вашему вниманию перевод работы A guide to inter-process communication in Linux . Объём данной работы большой, поэтому перевод будет выполнен в виде нескольких отдельных статей:

    habr.com/ru/articles/819263/

    #ipc #linux #c #shared_memory #shared_storage #semaphore #lock #перевод

  5. Python Multiprocessing. Обмен данными между процессами. Передача объектов пользовательских классов

    Параллельное программирование — сложный, но очень полезный навык для программиста. Оно позволяет эффективно использовать мощности современных компьютеров с несколькими ядрами и процессорами. Это особенно важно при решении сложных задач, например, в инженерных расчетах, обработке мультимедийных данных, обучении нейросетей и многом другом. Модуль Multiprocessing позволяет использовать так называемый истинный параллелизм, то есть создавать процессы, которые выполняются полностью независимо друг от друга. В этом случае процессы не имеют общей памяти и не могут просто так читать и изменять одни и те же переменные. Конечно же, в модуле multiprocessing реализован нативный способ передавать данные между процессами, и даже не один. Однако как только мы отходим от встроенных типов данных, то готовые решения уже не работают. О том, как с этим обходиться, я и расскажу в этой статье.

    habr.com/ru/articles/789904/

    #multiprocessing #DataManager #SyncManager #shared_memory #параллельное_программирование #параллелизм #процесс