В Массачусетском технологическом институте разработали 110-ядерный микропроцессор, в котором реализовали ряд технологий для более эффективных вычислений.
Процессор под названием Execution Migration Machine (EM2) способен переносить потоки выполнения (треды) из одного ядра в другое, чтобы там локально работать с кэшем L2. В определенных ситуациях это может принести выигрыш в производительности.
В обычных параллельных многоядерных архитектурах (слева на нижней иллюстрации) каждое ядро L1 выполняет свой поток инструкций, обращаясь к данным, закэшированных в других ядрах на уровне L2. Если процесс нуждается в большом количестве данных из разных кэшей, то это может привести к интенсивным внутрипроцессорным коммуникациям со всеми вытекающими последствиями. Метод дублирования данных в каждом кэше тоже имеет свои недостатки, потому что данные нужно будет передавать два раза: туда и обратно.
В случае с технологией аппаратной миграции процессов Execution Migration Machine (EM2) можно существенно сократить требования к коммуникационной шине. Если процесс L1 неоднократно обращается к кэшу L2 в другом ядре, то можно перенести туда процесс, чтобы он получил доступ к кэшу локально. В этом случае данные в виде треда переносятся из ядра в ядро только один раз, обратного переноса не требуется.
Такая оптимизация может существенно снизить энергопотребление процессоров при массивных параллельных вычислениях. Сейчас это нужно в серверах и приложениях Big Data, но в будущем от повышения производительности и энергоэффективности выиграют и персональные компьютеры, и мобильные устройства.
Прототип Execution Migration Machine (EM2) изготовлен по 45-нанометровому техпроцессу, размер микросхемы составляет 10х10 мм. В сравнительных тестах EM2 показал производительность на 25% лучше, чем другие процессоры, сказали разработчики во время выступления на конференции Hot Chips 2013 в Калифорнии.