Форум сайта python.su
Привет, народ!
Подскажите, может кто сталкивался.
Дано:
python
xdist
pytest
120+ тестов. В разных файлах, в разных классах. Часть параметризирована.
Машина с 32 ядрами
Запускаю тесты на 20 потоков. параметр –dist указывал и “no” и “load”, картина не меняется.
В результате, часть тестов нормально распределяется по потокам, но часть ждет завершения самого долгого теста и запускается только после него, хотя часть потоков простаивает.
В результате на таймлайне наблюдается картина. Хотелось бы чтобы тесты распределилиь бы по свободному времени в потоках.
Вопрос: Кто нить знает решение? Или хотя бы куда копать.
Прикреплённый файлы:
1.png (20,9 KБ)
Офлайн
А чем таймлайн рисуется? И почему некоторые задачи окрашены другим цветом?
Офлайн
Cталкивался с аналогичным поведением при использовании parallelpython (https://www.parallelpython.com/).
У меня 8 потоков было. Моделирование по методу конечных элементов.
Надо было обработать каждый элемент.
Проблему не решил, а обошел: на каждый поток выделил по меньшему количеству работы - в таком случае после каждого цикла те потоки, что завершились, ждали самый долгий меньшее количество времени.
Думаю, в parallelpython можно было просто не ожидая завершения последнего потока либо создать новый сервер (у parallelpython там свой виртуальный вроде), либо внимательнее читать доки :D.
Но заморачиваться времени уже не было.
Good regards.
Офлайн
нужна помошь програмиста по питону не бесплатно))) пишите в личку
Офлайн