Регистрация на РИФ.Иннополис и OS DAY

Зарегистрироваться

Стрельцов Николай Викторович

Avatar1

Стрельцов Николай Викторович, технический директор МУЛЬТИКЛЕТ
Закончил Томский политехнический институт (в настоящее время Томский государственный технический университет) с отличием. Факультет – автоматики и вычислительной техники; специальность – прикладная математика. Работа: 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. Увеличение количества ядер на кристалле и создание многоуровневых мультиклеточных систем для супер­вычислений.

Организаторы

Партнеры

Генеральные информационные партнеры

Информационные партнеры

Информация