Я выполняю вызовы метода, используя несколько потоков через библиотеки повышения. Я получил значительное повышение производительности при этом. Недавно я ввел в метод вычисления линейной регрессии, и у меня серьезное снижение производительности на поток.
Например, если я запускаю один поток, средний вызов метода занимает 2 секунды. Если я использую два потока, я регистрирую вдвое большую нагрузку на процессор, но в среднем вызов метода занимает 5-6 секунд. Это продолжается, поскольку я увеличиваю темы. Там нет известных условий гонки или (я думаю) значительная общая память.
Почти кажется, что существует какое-то кэширование или другая аппаратная функция ЦП, которая используется всеми потоками, став узким местом. Но я не знаю достаточно об архитектуре процессора, чтобы быть уверенным. Я использую процессор Intel Xeon 25-2620.
Помощь крайне необходима.
Задача ещё не решена.
Других решений пока нет …