Многоядерный процессор позволяет писать параллельный код, не заботясь о конфликтах памяти
Процессорная архитектура Swarm, разработанная специалистами Массачусетского технологического института, обеспечивает автоматизированное распараллеливание кода с учетом ограничений порядка выполнения, указанных программистом.
Как показало тестирование 64-ядерного чипа Swarm, проведенное на задачах анализа графов, моделирования и работы с базами данных, процессор обеспечивает ускорение их выполнения в 3-18 раз по сравнению с параллельными реализациями тех же алгоритмов, разработанными опытными программистами. Более того, одна программа, которую до сих пор специалистам в области компьютерной науки распараллелить не удавалось, на Swarm заработала в 75 раз быстрее.
Как утверждают авторы, быстродействие программ, выполняемых на Swarm, растет почти линейно в зависимости от количества ядер. А сами программы для Swarm писать практически так же просто, как последовательные, поскольку разработчику не нужно принимать специальные меры по предотвращению конфликтов памяти — об этом процессор заботится на аппаратном уровне.
Swarm работает по принципу упреждающего выполнения — процессор заранее выполняет операции, результаты которых могут понадобиться в дальнейшем (но могут и не понадобиться). С помощью ряда специальных методов обеспечиваются высокая степень масштабируемости и большое окно упреждения.