Flow Computing показала, как сочетание разных ядер перевернет мир вычислений.
Финская компания Flow Computing представила новый подход к повышению производительности процессоров, стремясь вернуть им ключевую роль в современных вычислительных системах.
Flow Computing предлагает отказаться от традиционных архитектур с одинаковыми ядрами в пользу гибридной системы, которая сочетает стандартные ядра с блоками параллельной обработки (Parallel Processing Unit, PPU). Такой подход может обеспечить рост производительности до 100 раз по сравнению с существующими решениями.
Новая архитектура предлагает использовать 4 стандартных ядра и 64 PPU на том же пространстве, что и традиционные решения с несколькими одинаковыми ядрами. Такой вариант оптимизирует выполнение задач, которые могут быть распараллелены. Концепция архитектуры была представлена на конференции IEEE Hot Chips в августе.
Блоки PPU предназначены для ускорения выполнения параллельных задач, когда стандартные процессоры неэффективны, а передача задач на графический процессор (GPU) слишком ресурсоемкая. Отмечается, что технология Flow Computing может быть полезна даже при небольших объемах задач, которые ранее считались трудными для распараллеливания из-за издержек на их распределение и синхронизацию.
В компании считают, что сложно создать единую архитектуру, которая была бы оптимизирована как для последовательных, так и для параллельных задач. Поэтому в решении Flow Computing функции разделяются: последовательные задачи обрабатываются стандартными ядрами процессора, а параллельные — PPU, что позволяет использовать сильные стороны каждого вида ядер.
Для оптимизации работы с параллельной обработкой данных в PPU учтены четыре основных аспекта:
PPU используют многопоточность для скрытия задержек при доступе к памяти: если поток вызывает данные из памяти, другой поток может продолжать выполнение, пока первый ожидает ответа. Гибкая коммуникационная сеть внутри PPU позволяет оптимизировать пропускную способность и реализовать низкоуровневую параллелизацию. Для минимизации задержек синхронизации разработан алгоритм wave synchronization, который, как заявляет компания, более эффективен по сравнению с традиционными протоколами.
Для демонстрации возможностей PPU был создан прототип на базе FPGA. В сравнительных тестах эта архитектура показала 100-кратный прирост производительности по сравнению с коммерческими процессорами, при условии использования PPU в виде кремниевого чипа с аналогичной частотой. В настоящее время команда работает над компилятором для PPU и рассматривает возможность сотрудничества с производителями процессоров для дальнейшего внедрения технологии.
Сбалансированная диета для серого вещества