В течение последнего десятилетия среди производителей микропроцессоров наблюдается тенденция по наращиванию производительности чипов за счёт увеличения количества ядер. Двухъядерные и четырёхъядерные процессоры отлично показывают себя в играх и повседневных задачах рядовых пользователей, однако переход на 8-, 10- или 16-ядерные процессоры не даёт ожидаемого прироста производительности. Главной проблемой при написании программ для многоядерных процессоров является задача равномерного распределения нагрузки на всех ядрах. И чем их больше, тем сложнее программистам реализовать весь потенциал многоядерных CPU.
Одним из возможных решений данной проблемы может стать новая разработка специалистов компании Intel и учённых из Университета Северной Каролины. Которые предлагают переложить задачу равномерного распределения нагрузки с программной части на аппаратную: «Это фактически преобразует многоступенчатые программные операции в три простые инструкции: добавить данные в очередь, получить данные из очереди и поместить данные туда, где они будут нужны на следующем шаге». Как отметили исследователи, использование «аппаратного управления очередью» в реальных задачах на 16-ядерном процессоре сможет обеспечить 20-кратный прирост производительности.
Источник:
Hexus