В течение последнего десятилетия компьютерные процессоры становятся быстрее при помощи нескольких ядер, а не увеличения индивидуальных скоростей. Такая мера делает компьютеры и смартфоны более энергоэффективными, но и создает трудности в написании программ. Новое строение чипа должно упростить создание программ и раскрыть возможности параллельной обработки увеличив до 75 раз быстродействие.
64-ядерный чип Swarm от профессора Даниэля Санчеса включает в себя специализированные схемы для выполнения приоритетности задач в простой и эффективной манере, принимая ответственность от разработчиков программного обеспечения.
Написание программного обеспечения для многоядерных чипов обходится дорого, ведь необходимо иметь обширную группу лиц, которая должна заниматься параллельными задачами, эту команду нужно координировать, в процессе разработки не редки ошибки, которые нужно исправлять. Потому параллельное программирование удобно только для крупных задач, где может быть ни одна тысяча инструкций. Также разработчики сталкиваются с проблемой разрешения конфликтных данных, когда нужно получить доступ к данным, которые уже где-то работают, подобное обычно приносит вред программе, и потому необходимо прописывать каждую отдельную приоритетную функцию и очередь вручную.
Архитектура Swarm решает все эти проблемы с помощью специализированных сетей для передачи все тех же задач при соблюдении строгой очередности. В результате программисты могут выполнять задачи параллельно с минимальными накладными расходами, что помогает создавать ПО в разы быстрее.
«Swarm имеет два преимущества,» — рассказывает Санчез:»Во-первых,Swarm поддерживает крошечные задачи, как малые, как десятки инструкций, эффективно. Напротив, текущая скорость нужна больше задач (в тысячах инструкций или больше), чтобы работать эффективно. Поддерживание более мелкие задачи позволяет предоставить большую параллельность, просто потому, что там часто много параллелизма внутри каждой большой задачи. Во-вторых, Swarm применяет глобальный порядок среди этих задач.»
Как говорит создатель, Swarm начинает работать на наиболее приоритетных подпрограммах параллельно, пользуясь своими 64 ядрами. Если конфликты данных возникают, они могут быть обработан автоматически: например, если низкоприоритетная задача изменяет данные, которые позже обращаются к первоочередной задаче, значение данных временно отменяются разрешая важнейшие задачи, чтобы завершить процесс раньше.
Чтобы проверить свою новую архитектуру, Санчес и команда использовали Swarm с шестью версиями общих алгоритмов для их высоко-оптимизированных параллельных аналогов.
Цель создания Swarm Санчес видит в возможности создания наиболее быстрых и комфортных систем, которые ранее аукались программистам годами работы и стопорили развитие ядер, снижая их количество. Теперь команда Санчеса рассчитывает внедрить чипы с сотней и более ядер с подобной архитектурой.