Регистрация на РИФ.Иннополис и OS DAY
ЗарегистрироватьсяСтрельцов Николай Викторович, технический директор МУЛЬТИКЛЕТ
Закончил Томский политехнический институт (в настоящее время Томский государственный
технический университет) с отличием. Факультет – автоматики и вычислительной техники;
специальность – прикладная математика.
Работа: 1971-1996, НПО Автоматики (г. Екатеринбург), инженер-программист, старший
инженер-программист, начальник группы, начальник сектора.
1996-2001, ОКБ Пеленг (г. Екатеринбург), начальник тематического научно-исследовательского отдела.
2001-2004, ООО «Нобель» (г. СанктПетербург), главный конструктор.
2004-2010, ООО «Уральская архитектурная лаборатория» (г. Екатеринбург), технический
директор.
с 2010 - ОАО «Мультиклет» (г. Екатеринбург), технический директор.
Состояние и направления развития мультиклеточной архитектуры Почти пятьдесят лет назад было принято крайне неоднозначное решение о разработке ЕС ЭВМ. С тех пор не прекращается дискуссия о том, что лучше — разработка своей архитектуры или заимствование чужих, широко используемых решений.
История развития компьютерной индустрии за эти годы показала, что фактор программной совместимости на который опираются сторонники заимствования хотя и влияет на нее, но не имеет определяющего значения. Когда появляется действительно новое и эффективное решение, технологическое или архитектурное, требующее нового программного кода — последний неизбежно переписывается. Естественно, с учетом новых возможностей.
Таким образом успешное внедрение своих технических решений определяется, в первую очередь, их потенциалом, а не наличием программной совместимости.
Общепризнано, что перспективная процессорная архитектура должна быть параллельной. Желательна естественная реализация параллелизма (без решения задачи распараллеливания), а также сохранение программного кода, написанного на традиционных императивных языках высокого уровня. Очевидно, что такая архитектура не имеет какихлибо широко известных аналогов, так как известные архитектуры с естественной реализацией параллелизма (потоковые) не используют традиционные языки. Рассмотрим каким образом подобная архитектура может быть реализована.
Как известно, любой алгоритм выполняемый компьютером может быть представлен в виде ориентированного ациклического графа G=(V,E), где: V – множество вершин графа; E – множество дуг. Каждой вершине сопоставлена некоторая операция, а дуге — информационная связь между этими операциями. Направление дуги показывает передачу результата выполненной операции, от его источника к потребителю — операции, которая использует его в качестве аргумента.
Существует всего две базовых формы описания графа: матрица смежности и матрица инцидентности, которые могут быть представлены, соответственно, в виде списков – смежности и инцидентности. Принципиальное отличие этих двух форм заключается в описании топологии связей между вершинами. В списке смежности именуются вершины и задаются связи между вершинами. А именно, для каждой вершины указывается выполняемая операция и список вершин, которым предается полученный результат. Или операция и список вершин — источников аргументов. Исполнение очередной операции инициируется исполнением предшествующих (получением всех аргументов), т.е. обеспечивается естественная реализация параллелизма. Задание конфигурации графа в виде списка смежности используется весьма широко. Это аналоговые машины и цифровые специализированные процессоры (например, БПФпроцессоры), в которых связи между вершинами реализованы физически. В потоковых, редукционных процессорах и в синпьютере связи реализованы логически (адреса команд потребителей или источников). Необходимое условие использования списка смежности – биективное отображение G на множество исполнительных устройств. И, как следствие, проблемы при описании и организации исполнения алгоритма у которого G превышает количество исполнительных устройств.
В списке инцидентности именуются дуги и задаются операции связывающие дуги, т.е. для каждой операции указываются имена входящих и исходящих дуг. Выполнение операции инициируется когда все входящие дуги вычислены, что. обеспечивает «естественную» реализацию параллелизма. В отличие от использования списка смежности, описание алгоритма на базе списка инцидентности полностью независимо от количества исполнительных устройств и, как следствие, допускает использование сюръективного отображения G на множество исполнительных устройств и традиционных языков высокого уровня. Таким образом перспективные процессорные решения могут быть построены только с использованием списка инцидентности.
На данный момент существует всего одна параллельная архитектура использующая список инцидентности — это мультиклеточная архитектура. Основные особенности ее следующие: 1. Естественная реализация параллелизма. 2. Полная независимость объектного кода от количества исполнительных устройств и, как следствие, возможность динамического перераспределения ресурсов в процессе вычислений без остановки выполняемых задач. 3. Использование традиционных императивных языков высокого уровня для программирования и типовых инструментальных средств для разработки (LLVM). Описание конкретных технических решений и количественные характеристики доступных мультиклеточных процессоров приведены в иллюстративных материалах. 4. Дальнейшее развитие мультиклеточных процессоров предусматривает: 1. Для ДСПпроцессоров и процессоров общего назначения оптимизацию схемотехнических решений и, соответственно, уменьшение площади ядра при одновременном повышении их производительности. 2. Разработку решений обеспечивающих «живучесть» процессоров в системах с повышенной надежностью. 3. Увеличение количества ядер на кристалле и создание многоуровневых мультиклеточных систем для супервычислений.