Александр Дроздов о революционной архитектуре VISC в передаче «Интернет-кафе „Соб@ка”» на Вести-FM

28 октября 2014

Максим Кононенко: Всем привет, это интернет-кафе «Соб@ка», здесь Максим Кононенко, Павел Кушелев. 232–15–59 — телефон для смс в коде 495. Слово «Вести» пишите в этих смс-ках и помните, что они платные. Еще пишите нам на аккаунт @vesti_fm в Твиттере. Тема у нас сегодня сложная.

Павел Кушелев: Мы вообще боимся, что мы стали наследниками программы «Очевидное невероятное», и, как говорил Капица: «Добрый день». Вот так начнем сейчас на сложные материи какие-то рассуждать.

Максим Кононенко: Да, 23-го октября.

Павел Кушелев: То есть в пятницу.

Максим Кононенко: В Санта-Кларе, Калифорния, компания Софт Мэшинс…

Павел Кушелев: …Машинс

Максим Кононенко: …Машинс объявила о создании новой архитектуры процессоров, которая все поменяет. И у нас сегодня в гостях генеральный…

Павел Кушелев: Что интересно, что Soft Machines — это не американская в общем и целом компания, и Санта-Клара Санта-Кларой, а это, в общем, индусы и русские, если я правильно понимаю. Индусы это почти что, американцы и русские там частично. В общем, смысл не в этом. Смысл в том, что у нас сейчас в студии…

Максим Кононенко: Мохаммад Абдала — он индус или русский?

Павел Кушелев: Прекрати. Ну-ка дальше читай, про русскую часть зачитывай.

Максим Кононенко: Так вот, у нас сегодня в гостях генеральный директор российского подразделения Soft Machines, Александр Дроздов. Автор изобретения. А чтобы было понятнее, о чем вообще речь.

Александр Дроздов: Я не автор.

Павел Кушелев: И не изобретение.

Максим Кононенко: Да, но один из авторов, представитель.

Павел Кушелев: Нельзя сказать, что они изобрели процессор, был уже процессор.

Максим Кононенко: А чтобы было вам понятнее, поскольку процессоры — тема сложная, мы позвали Валерия Владимировича Шилова — заведующего кафедрой проектирования вычислительных комплексов в институте МАТИ. Который, как все знают, великий популяризатор этой темы.

Павел Кушелев: Можно я еще немножко отберу времени? Смысл-то в чем. Представлен новый процессор, который обещает быть лучше существующих на рынке. Причем в основном, насколько я понимаю, он направлен на мобильную индустрию. Там, где требуются даже не то, что бы большие мощности вычислительные, а там, где требуется экономия электроэнергии. То есть даже не экономия электроэнергии, а меньшее потребление для того чтобы не обогревать атмосферу. А называются эти процессоры загадочной аббревиатурой VISC.

Максим Кононенко: Это по традиции.

Павел Кушелев: Ну, да. По традиции. Мы их спросим, что это за традиция. Смысл-то в том, что русские делают системное программирование, я так понимаю, а индусы с американцами собирают деньги и что-то придумали. И расскажите нам, пожалуйста, что это такое за VISC.

Максим Кононенко: Надо, чтобы сначала нам Валерий Владимирович рассказал. Вернее, не нам, потому что мы-то с тобой хоть что-то где-то учили. А слушателям нашим. Как вообще развивалась эта индустрия, и почему она зашла в тупик так, что теперь это изобретение является некой революцией.

Валерий Шилов: Да, ну, меня представили как популяризатора великого. Я, наверно, не великий и не популяризатор.

Павел Кушелев: Так, не разочаровывайте нас. Говорите простыми словами.

Валерий Шилов: Хотя написал много популярных книжек. Я начинал и длительное время продолжал как разработчик микропроцессов на самом деле.

Павел Кушелев: Это прекрасно. С плисов практически.

Валерий Шилов: Практически да. Даже придумали какие-то оригинальные архитектуры. Потом, если время будет, и поворот разговора такой случится, я пару слов об этом скажу. Тем более это имеет непосредственное отношение, в том числе, и к Александру Юльевичу, его компании нынешней. На самом деле компьютерная революция случается крайне редко. Хотя на моей же памяти их уже случилось немало, тем не менее. Первая революция, когда просто микропроцессоры появились, лет 35–40 назад.

Павел Кушелев: А что такое микропроцессоры? Это в данном случае к чему Вы отсылаете. Это вот x86…

Валерий Шилов: Да, до него были прототипы. 86-ой — тот, который пошел в серии, который стал знаменит.

Павел Кушелев: В общем, когда мир захватил Интеловский процессор 8086, который теперь известен как платформа x86.

Максим Кононенко: Да, сначала был 8008, компьютер Альтаир.

Валерий Шилов: Ну, мы не будем углубляться в детали, в эти аббревиатуры.

Павел Кушелев: Но это лет 3 назад было, да?

Валерий Шилов: 35–40 назад, да. В 70-е годы. Лет 40 назад. То есть первый шаг, когда от больших монстров, суперкомпьютеров, перешли к маленьким, относительно маленьким по тем временам штучкам, которые назвали микропроцессоры — случилась первая революция. Потом развитие пошло так, что эти микропроцессоры становились действительно все более микро.

Павел Кушелев: И все более и более мощными.

Валерий Шилов: И все более и более мощными, все более и более дешевыми, и так далее, и тому подобное. Постепенно появлялись различные идеи, как из этой маленькой штучки выжать как можно больше по производительности, по скорости.

Павел Кушелев: Да, и теперь это страшные молотилки, но следующая-то революция какая? Извините, что я Вас перебиваю.

Валерий Шилов: Нет, но да. На самом деле мы говорим, что платформа Intel все захватила, они монополисты, они диктуют всем, и мы знаем все проблемы, которые с этим связаны и никуда не деться. Поэтому много попыток как-то что-то лучшее придумать.

Павел Кушелев: Подождите, лет 15 назад на рынке появилась компания ARM, да?

Валерий Шилов: Да.

Павел Кушелев: Компания ARM — это удивительная компания, которая сидит в Лондоне, сама ничего не делает, рисует на бумагах, как правильно делать процессоры. И при этом ее процессоры, сделанные по ее архитектуре, захватили мир. В Айфоне ARM, в Андроиде ARM, всюду ARM. И делает их и Apple, и Samsung, и Qualcomm, который сейчас сравнивают с новым Intel, и nVidia, и все. И они не пустили в мобильную Intel. Интела, несмотря на то, что они щедрой рукой вот так вот сеют деньги на рынок, нет их на мобильном рынке, они оттеснили. Вот это была вторая большая революция, хотя в принципе…

Валерий Шилов: Да, я с Вами согласен абсолютно, но это была революция в сфере передела сфер влияния. Я, когда говорю о процессорах, по старой памяти такого компьютерщика, который занимался суперкомпьютерами всю жизнь, я думаю о компьютерах в больших применениях. Микропроцессоры для мобильных устройств — вещь крайне нужная, крайне полезная, вот у нас на столе у всех лежат телефоны и так далее. Но я как-то их не замечаю, уж больно они маленькие.

Павел Кушелев: Отвратительно, да, вообще. Нет, чтобы сделать, чтоб без очков видно было.

Валерий Шилов: И, короче говоря, были разные идеи, как увеличить производительность и так далее, и длинное командное слово придумывали, и многоядерность, многопоточность, в итоге все равно вот этот путь экстенсивный приходит в тупик.

Максим Кононенко: Да, надо пояснить нашим радиослушателям, что основатель компании Intel по фамилии Мур придумал закон, согласно которому… Он просто посмотрел, как получается, и сказал: «О, раз у нас каждый год где-то появляется новый процессор, в котором приблизительно в два раза больше транзисторов, чем в предыдущем…»

Павел Кушелев: Каждые 2 года.

Максим Кононенко: Это он потом его подкрутил. Он потом уже сказал ,что каждые два, что-то мы не успеваем. А закончилось все тем, что эта построенная им красивая кривая уперлась в тупик, потому что все время процессоры ускорялись, а на тех частотах, на которых они работали несколько лет назад, процессоры просто вскипали. Они разогревались до температуры буквально выше 100 градусов.

Павел Кушелев: В результате люди полезли в наномир.

Валерий Шилов: Вот в этом все и дело. Огромная интеграция, огромная скорость, огромная тактовая частота, огромное теплоотделение.

Максим Кононенко: И батарейки там вообще не применимы, это только может работать от сети.

Валерий Шилов: Почему мы здесь сегодня собрались. Александр Юрьевич имеет самое непосредственное отношение к тому, что эта проблема, наверно… Он сейчас нам точно скажет. Начинает решаться.

Павел Кушелев: Давайте попробуем. Расскажите нам, только просто. И откуда Вы, русский, с индусами там взялись.

Александр Дроздов: Несколько слов по поводу нашей компании Soft Machines. У нее три отделения. Одно в Америке — там сидят те, кто занимается собственно архитектурой, в том числе, наш главный изобретатель Мохаммад Абдалла, как я уже сказал, и CEO компании Махеш Лингаредди.

Павел Кушелев: Он действительно палестинец?

Александр Дроздов: Да, он родился в Палестине.

Павел Кушелев: И получил в Палестине где-то образование или он давно уже в Америке?

Александр Дроздов: Нет, он давно уже в Америке. Он долгие годы работал в Intel вместе с другим основателем нашей компании.

Павел Кушелев: То есть вы такой спин-офф, люди из Intel.

Александр Дроздов: Это люди из Intel, которые в какой-то момент поняли, что есть потенциал в технологии, а внутри Intel это по разным причинам сделать невозможно, и они создали свой собственный стартап в 2006-м году.

Павел Кушелев: А почему никто о нем ничего не слышал?

Максим Кононенко: А тут же написано в пресс-релизе, что в тайне это делал.

Павел Кушелев: Вот, дай сказать.

Александр Дроздов: В нашем мире сейчас таком достаточно тесном, микропроцессоры производят, в общем-то, считанное количество компаний.

Павел Кушелев: А проектируют?

Александр Дроздов: И тем более проектируют, да.

Павел Кушелев: Проектируют 3 компании или 4, да?

Александр Дроздов: Проектирует, конечно, побольше, но таких больших игроков 5–6 может быть. Да, все-таки они еще есть. IBM, например, проектирует, Apple проектирует.

Павел Кушелев: Apple не проектирует, ARM проектирует.

Александр Дроздов: Нет, конечно же Apple тоже проектирует. Они проектируют микропроцессоры, используя, в том числе, и армовское IP, то есть армовский подход, но они его меняют.

Павел Кушелев: Давайте архитектуру сейчас отставим немножко в сторону. Доскажите свою историю. Мне просто вернуться к корням, что же вы там такого придумали.

Александр Дроздов: Стартап, соответственно, был организован в 2006-м году, существовал до 23-го октября 2014-го года в скрытом режиме. У нас не было практически сайта, там просто была заставка. Естественно, что в узких кругах люди примерно понимали, кто мы и что. Но, тем не менее, никаких пресс-релизов и так далее мы не делали специально.

Павел Кушелев: Скажите, а сколько вас в этом стартапе?

Александр Дроздов: Нас сейчас 250 человек, разделяются они так: где-то 60 человек работает в России, это софтверная команда, которая делает все софтверные технологии для этого проекта. И, соответственно, около 90–95 человек в Индии. Они занимаются тестированием физического дизайна. То есть практически перед отправкой на фабрику такое финальное тестирование. И, соответственно, вся архитектурная часть и headquarters, то есть все руководители, штаб-квартира, она находится в Санта-Кларе, в Кремниевой долине. Недалеко от Сан-Хосе, Сан-Франциско. Там вокруг как раз и Интел, и все остальные компании. В том числе, Apple. В Пало-Альто у них штаб-квартира. И, соответственно, изобретатель, как я уже сказал, Мохаммад. Что самое интересное, Мохаммад — ученик нашего российского инженера, великого инженера Владимира Мстиславовича Пентковского, которому приписывают создание архитектуры Пентиум 3. И есть даже такая шутка, что Пентиум — это и есть сокращение от «Пентковский». Никто не знает, насколько это правда.

Павел Кушелев: Слушайте, а я не знал. Я признаюсь, я лох, я не знал. А действительно просто это очень известный такой инженер, да?

Александр Дроздов: Владимир Мстиславович, это да. Работал на постсоветском пространстве, это, наверно, самый успешный наш инженер, там потому что… Он, конечно, работал уже в Америке, основных результатов там достиг, но, тем не менее, он два год назад даже получил грант от Правительства Российской Федерации за разработки здесь. И мне довелось, посчастливилось, я бы даже сказал, поучаствовать, поработать с ним в МФТИ, в Московском физико-техническом институте с ним на одном проекте. К сожалению, сейчас Владимира Мстиславовича уже нет с нами. Но, тем не менее, он живет в своих учениках, в том числе, и Мохаммаде, который и Мохаммад, и Махеш — наш основатель, они очень тепло о нем отзываются, и говорят, что это великий человек, великий инженер.

Павел Кушелев: Так что же Вы придумали в свое время? Что такое RISC? Вот у Вас написано…

Максим Кононенко: Для этого надо сначала рассказать, что такое CISC и RISC.

Павел Кушелев: Давайте начнем с RISC-а, CISC-а. Что это за слова такие?

Александр Дроздов: Это просто аббревиатуры, которые обозначают подходы к построению микропроцессора. То есть чип. Некие такие подходы. Если их расшифровать, то получится не очень сложно. CISC — это то ли компликейтед, то ли компекш интракшен сэт компьютер. Инстракшен сэт — это просто инструкции, их набор.

Максим Кононенко: Интеловский процессор с огромным набором команд.

Александр Дроздов: x86 — это и есть набор инструкций, по сути. Он просто запатентован, но он набор инструкций x86.

Павел Кушелев: Это набор команд, которые может исполнять микропроцессор.

Максим Кононенко: С появлением следующего нового процессора он все увеличивался, увеличивался и увеличивался.

Павел Кушелев: И в какой-то момент возникла Архитектура RISC, которая называется Redused.

Александр Дроздов: Да, это redused. То есть именно так. То есть complicated — комплекс, куда все набрасывали и набрасывали, и в какой-то момент поняли, что здесь надо на чем-то остановиться, и большую часть работы уже перебрасывать на софтверное обеспечение, на микрокод и так далее. То есть сложность стала уходить из системы команд.

Павел Кушелев: Решили, что неудобно. Очень сильно упростили набор команд, которые обрабатывает процессор, и из них стали составлять сложные какие-то программы, так что ли?

Александр Дроздов: И компенсировали это более сложными алгоритмами работы самой аппаратуры.

Павел Кушелев: И высокой частотой, видимо.

Александр Дроздов: Частота — это все-таки ортогональная вещь, я сейчас про нее не скажу.

Павел Кушелев: Ортогональная? Ну-ка, что это?

Максим Кононенко: Ортогональная — это перпендикулярная.

Александр Дроздов: Это независимая ветвь. Она скорее связана с физикой полупроводников.

Павел Кушелев: Нет, я имею в виду, что чем сложнее инструкция, тем меньше…

Максим Кононенко: Тем больше тактов требуется, чтобы ее выполнить.

Павел Кушелев: Да.

Александр Дроздов: Я бы даже так сказал, что чем сложнее инструкция, тем труднее исполнить такой процессор на высокой тактовой частоте. Вот так можно сказать. Здесь redused, как я уже говорил. Что такое redused. Уменьшили набор команд, но добавили сложность. Основной тут подход был, когда сама аппаратура внутри себя определяла параллельность команд. То есть параллельны ли инструкции, и пыталась выполнять их в параллель. Это довольно сложный такой движок.

Павел Кушелев: Давайте тогда еще раз введем какое-то все-таки объяснение, потому что никому же непонятно.

Максим Кононенко: В какой-то момент появилось несколько ядер.

Павел Кушелев: Нет, несколько потоков.

Максим Кононенко: Несколько потоков. То есть они стали вместе выполнять несколько команд одновременно.

Александр Дроздов: Да.

Павел Кушелев: Но никто так не делает, насколько я понимаю. То есть параллельные вычисления…

Александр Дроздов: Смотрите, CISC и RISC — это пока все имеется в виду архитектура одного ядра, то есть одного процессора. Мы пока не говорим о многих потоках. Потоки, которые были до того, это потоки программные. То есть они в принципе аппаратно почти не поддерживаются. В дальнейшем сейчас мы как раз перейдем к VISC, и там как раз это будет одной из ключевых новаций, которая появилась. То есть complicated, redused. И, соответственно, со всеми этими вещами, которые мы сейчас проговорили, это очень долго существовало. Самое успешное — вот этот RISC, это такие архитектуры как MIPS, это x86, это достаточно успешные такие проекты.

Павел Кушелев: x86 — успешней нет. MIPS-то почти помер.

Александр Дроздов: Да. она на самом деле не помер, он сейчас переживает такое… В каком-то смысле второе рождение, но, конечно, с успехом x86 это сравнить нельзя.

Павел Кушелев: За ними стоит Intel огромный.

Александр Дроздов: Если бы они не проиграли мобильный рынок, то они бы сейчас смотрелись очень хорошо. Но мобильный рынок они проиграли другому игроку — ARM-у, и, соответственно, у них сейчас возникли с этим проблемы, потому что у них нет хорошего дизайна, который мог бы…

Максим Кононенко: А все разбежались, стартапы делают.

Александр Дроздов: Как и любая большая корпорация. Собственно, почему возникают стартапы — потому что внутри огромной корпорации с очень различными подразделениями идет жесточайшая борьба за ресурсы, все хотят как-то себя проявить.

Максим Кононенко: То же самое, что Майкрософт.

Александр Дроздов: Да, естественно, на всех не хватает ресурсов одной компании. Есть венчурный рынок, люди просто уходят и создают свои собственные компании. Где они апробируют свои подходы.

Павел Кушелев: Так что же такое VISC все-таки? Что же Вы там придумали?

Александр Дроздов: Да, VISC. В аббревиатуре VISC — это virtual — виртуальный. Vitrual Instruction Set Computer. Фактически это означает что? Что для нашего подхода нам все равно, какие коды, коды в какой кодировке будут исполняться на нашей архитектуре.

Павел Кушелев: То есть вы не привязаны к ассемблерам или еще что-то, или что?

Александр Дроздов: Да, мы не привязаны к набору команд. То есть у нас агностик. Instruction set agnostic. Это значит, что если вы купили нашу машину, которая работает на базе нашей технологии, то Вы можете запустить там код, который уже существует в x86 кодировке, и можете запустить код, который существует в кодировке ARM. И он будет работать для вас так, будто бы ничего и не менялось.

Максим Кононенко: Академик Бабаян нам рассказывал про такое чудо еще.

Александр Дроздов: Это слой так называемой… Мы его даже называем не двоичной компиляции, потому что там много еще и других. Двоичная компиляция — это узкое понятие, которое говорит о том, что вы можете компилировать код из одной системы команд в код другой системы команд. А здесь это немного шире, мы это называем «слой программной виртуализации», который делает это и что-то еще.

Павел Кушелев: Но она же жрет ресурсы вашего процесса, наверное. И это то же самое в принципе, что и любой эмулятор делает, когда вы можете запустить…

Александр Дроздов: Да. На самом деле сейчас технология вот этой бинарной компиляции, про которую нам сейчас Валерий Владимирович сказал, она существует очень давно, и там уже очень много… То есть можно сейчас сказать, что бинарная компиляция — это достаточно распространенный подход. Он используется не только, скажем, в таких технологиях, о которых мы сегодня говорим, но и, например, в технологиях виртуализации, когда вы там… Более простых. Когда вы на одной операционной системе исполняете коды, скомпилированные под другую операционную систему, но при этом у вас набор инструкций один и тот же, то есть это программа x86. И там используется везде. В общем-то, это… Мы научились бороться с овер хедом, то есть с тем, что это замедляет немного процесс. Эти потери, в общем-то, сейчас практически незначительны. То есть ими можно пренебречь.

Павел Кушелев: Подождите. Но все-таки должна же… Все пытаются оптимизировать. Это рынок, где все пытаются заточить свое решение под что-то, да? А у Вас получается, если, как вы говорите, агностик — машина, которой все равно, с чем работать, то, получается, что она чуть хуже работает со всем, что не возьми? С x86-м, или с ARM-овским, или нет? Или она все-таки на что-то ориентирована?

Александр Дроздов: Нет, те небольшие потери, которые есть в процессе этой вот виртуализации, а это, конечно, накладные расходы, это все понимают. У нас сама технология, которую… Это другая часть, мы про нее еще не говорили. Это мы говорим про то, как мы ее используем, про стратегию использования. Есть еще сама технология построения микропроцессора, которая дает при той же тактовой частоте, она лучше в 2–4 раза по скорости, чем существующие аналоги.

Павел Кушелев: Почему?

Александр Дроздов: Это хороший вопрос.

Максим Кононенко: Это начало большой следующей части, мы продолжим после новостей. А сейчас я буду 50 секунд говорить.

Павел Кушелев: Нет, подожди, тогда дай мне 50 секунд поговорить. Там же будет как раз история параллельных вычислений в принципе. Во второй Вашей части, да?

Александр Дроздов: Да.

Павел Кушелев: И вот что такое один поток… Начните, пожалуйста, с того, что расскажите, что такое один поток и много потоков. Может быть, это вполне место для популяризации, потому что до Максима со мной не все дошло.

Максим Кононенко: Когда уперлись в ограничения по частоте, стали делать несколько ядер, которые стараются выполнять программу одновременно. Но написать так программу, чтобы она работала на этих разных ядрах одновременно… не всякую программу напишешь…

Павел Кушелев: Это интернет-кафе «Соб@ка», здесь Максим Кононенко, Павел Кушелев. В гостях у нас Александр Дроздов — генеральный директор российского подразделения Soft Machines, и Валерий Владимирович Шилов — заведующий кафедрой проектирования вычислительных комплексов в МАТИ, а сейчас новости.

Максим Кононенко: Сообщение на нашей новостной ленте: «Россияне оборвали телефонные службы точного времени». Правильно, потому что что-то перевелось, что-то не перевелось. Это интернет-кафе «Соб@ка», мы-то вышли вовремя. Здесь Максим Кононенко, Павел Кушелев, Александр Дроздов, генеральный директор российского подразделения Soft Machines и Валерий Владимирович Шилов — заведующий кафедрой проектирования вычислительных комплексов в МАТИ. Так что же, мы теперь переходим… Я попытался уже перед новостями коротко-коротко объяснить, что когда мы уткнулись в потолок по тактовой частоте, люди придумали процессоры расширять вширь. Увеличивать количество ядер, но написание программ, которые могут использовать это большое количество ядер — задача не тривиальная.

Павел Кушелев: 50 лет назад… Производятся они даже в мобильной сфере уже почти 10 лет.

Максим Кононенко: То, что 100 лет назад были параллельные вычисления — это вообще совсем другое.

Павел Кушелев: И никто до сих пор не научился нормально адаптировать, писать обычные, условно говоря, программы…

Максим Кононенко: Мне кажется, текстовому редактору не нужны несколько ядер.

Павел Кушелев: …под параллельные вычисления — это основная проблема. Сколько бы не было там процессоров, вернее, процессорных ядер, они, так скажем, на классические нужды практически не оптимизированы. Все равно перегревают и все валится на одно ядро, которое там бабахает. Правильно ли я понимаю? И вот что-то Вы там придумали в этом отношении новое или нет? Поправьте меня. Я просто внимательно читал все, что вышло сейчас после 7 лет молчания Вашего стартапа. Вышло немного. Большая часть — перевод на разные языки Вашего пресс-релиза. А также человека 3 попыталось почесать явно в затылке и объяснить на пальцах.

Максим Кононенко: Да, люди пишут, что мозг закипает, проще нужно быть. Мы обещали, что тема непростая.

Павел Кушелев: Да. Так что сделали? И давайте попробуем один раз объяснить, и потом по второму разу попробуем объяснить проще.

Александр Дроздов: В общем-то, все было правильно сказано. В какой-то период времени, я не знаю, несколько лет назад, действительно эта частота уперлась в физические ограничения кремниевых технологий. То есть когда уже сейчас речь идет о том, что атомы уже там считаются.

Павел Кушелев: Нанотехнологии.

Александр Дроздов: Да, Ваферс, там уже нано.

Максим Кононенко: Провода толщиной в атом.

Александр Дроздов: Да.

Павел Кушелев: Ваферс — это основа для процессоров, это вот эти вот здоровенные тарелки силиконовые.

Александр Дроздов: Да, это уже то, что в самом конце получается, когда весь путь пройден.

Павел Кушелев: В конце получается, что оно плохо работает, греется и жрет быстро батарейку.

Максим Кононенко: Проблема, да, что для мобильных технологий — это батарейка. Выделение тепла — это выделение большого количества мощности, поэтому в компьютер, который стоит на столе, ты можешь засунуть процессор, который будет у тебя охлаждаться жидким кислородом, но…

Павел Кушелев: Так, и что придумали?

Александр Дроздов: И, соответственно, как правильно сказал Максим, все пошли вширь. То есть стали просто клепать ядра, то есть транзисторы. Закон Мура остался в силе, количество транзисторов действительно продолжило удваиваться каждый один и восемь года. То есть таким вот способом, транзисторы стали вширь, их просто стало больше здесь, но они разные ядра, очень слабо интегрированные между собой.

Павел Кушелев: Ядра — фактически микропроцессоры.

Александр Дроздов: Да. И ситуация какая, вы имеете 8 ядер, и все равно, если вы запускаете приложение, оно будет работать с такой же скоростью для вас, как оно и работало, просто на соседнем ядре может запускаться еще одно приложение. То есть но вы этой скорости практически не чувствуете.

Максим Кононенко: Мало, кто запускает по 8 приложений.

Александр Дроздов: Одно ядро, да, одно ядро — одно приложение, одно ядро — одно приложение, и так далее. Потоки эти, естественно, софтверные всегда были, они организовывались софтверными способами. То есть они организовывались в виде программ, в виде программных таких «тредов». То есть это на языке программирования…

Максим Кононенко: В операционной системе работают процессы, процессы состоят из «тредов» — это подпроцессы отдельные, которые выполняются внутри одного процесса.

Александр Дроздов: Да. И они были поддержаны именно на уровне, как правильно сказал Максим, операционных систем и программно. С точки зрения языков программирования. Это само по себе накладывало колоссальные накладные расходы на процесс вычисления, потому что на программную подготовку среда тратиться очень много…

Павел Кушелев: «Тред» — это и есть поток. Для тех, кто не понимает, это я на всякий случай.

Александр Дроздов: Да, это поток, извините.

Павел Кушелев: Нет, это я на всякий случай, потому что там кто-то пишет, что мозг кипит, давайте им меньше тепловыделения на мозг.

Александр Дроздов: Абсолютно с Вами согласен. Просто когда работаешь, все время в этом поле, англизмов очень много возникает.

Максим Кононенко: В вычислительной технике это так.

Павел Кушелев: Хорошо, не германизмов, а то бы сейчас здесь что-нибудь другое было.

Александр Дроздов: Хотя, конечно, русский язык позволяет придумать нормальный термин.

Павел Кушелев: Хорошо, потоки — потоки. Что же Вы придумали? Нормально с многопоточными никто не научился работать.

Александр Дроздов: Да. Трудности здесь какие? На чем запнулись. Что алгоритм сам по себе очень трудно распараллелить автоматическим способом, программным способом.

Павел Кушелев: То есть надо писать изначально как-то параллельно.

Александр Дроздов: Либо надо писать, либо там вообще параллельности может не быть. То есть все это вот такой вот явный, который программист может описать. И вот этот слой этих программ, который легко в параллель вести, он очень небольшой. Но даже не в этом дело. С точки зрения многоядерного процессора, опять же, даже не все программы могут получать от этого пользу. Потому что накладные расходы, про которые я говорил, на организацию потока, они съедают всю пользу от самого распараллеливания.

Павел Кушелев: А для того чтобы распараллелить, надо потратить больше электричества и времени.

Александр Дроздов: Именно. Больше вычислений.

Максим Кононенко: То есть, если ты сделаешь, грубо говоря, поток, который у тебя крутит колесико, то это будет не выгодно.

Александр Дроздов: Да, вот понимаете. Вы будете тратить очень много усилий для того, чтобы это подготовить, а в итоге вы получите минус по производительности. То есть только большие программы, которые могут от этого…

Максим Кононенко: Видеоредакторы, музыкальные редакторы.

Александр Дроздов: Вот этот средний параллелизм, он, конечно, от этого не имел никакой пользы.

Павел Кушелев: И как же Вы решили исхитриться?

Александр Дроздов: Логика того, что сделал Soft Machines под руководством Мохаммада, под его научным руководством изобретательским, у него около 100 патентов, 30 из них уже одобрены американским патентным бюро.

Павел Кушелев: А в России, кстати, есть эти патенты, или они принадлежат все Soft Machines и оформляются там?

Александр Дроздов: В данном случае микроэлектроники, конечно, все в основном патентуются в Америке, как в стране, которая наиболее развита в направлении этих технологий. Которая является технологическим лидером. Также и происходит. Вы всегда будете патентовать свою технологию там, где она наиболее развита, чтобы можно было конкурировать. Потому что бессмысленно патентоваться…

Павел Кушелев: Нет, я Вас не поддеваю, я просто спросил.

Александр Дроздов: Так вот логика того, что сделал Soft Machines — это как раз перемещение вот этой сложности программной на аппаратный уровень. Все, что вы перемещаете на аппаратный уровень, вот эти накладные расходы и так далее, в микрокод самого процессора, естественно, это ускоряет все это на порядки и уменьшает вот эти накладные расходы колоссальным образом.

Павел Кушелев: То есть, попросту говоря, где же там вот эти Ваши виртуальные…

Максим Кононенко: Виртуальные аппаратные потоки на виртуальных ядрах.

Александр Дроздов: Если раньше было так, как я уже говорил — программа-ядро, программа-ядро, программа-ядро, то сейчас был введен промежуточный уровень, который мы называем «виртуальные ядра». Эти «виртуальные ядра», они могут очень гибко распределять, они как бы являются надстройкой над обычным ядром или ядрами. Неважно, сколько их в данном случае.

Павел Кушелев: А, то есть к железякам это в меньшей степени имеет отношение, они просто распределяют…

Александр Дроздов: Нет, они к железякам имеют отношение, потому что это еще один уровень для виртуализации над этим. Это все аппаратная реализация. Мы сейчас говорим про аппаратную реализацию. Программно реализовано только то, с чего мы начали. Это когда различные instruction set, то есть набор инструкций могут выполняться через перекодировку на архитектуре Soft Machines. А дальше идет этот уровень виртуальных ядер. И помимо того, что виртуальные ядра, плюс аппарат на поддерживаемые потоки. То есть потоки, которые аппаратно поддержаны. Их реализация аппаратно поддерживаемая.

Валерий Шилов: Каким образом? Как они поддерживаются?

Александр Дроздов: Как они поддерживаются? Практически — то, что раньше шло через софтверные методы и через перекодировку, сейчас поддержано явно в самой архитектуре соответствующими алгоритмами, которые в ней прямо зашиты. Простейшая аналогия очень простая. То есть, например, есть так называемые ПЛИС — программированные логические устройства: когда устройство работает на маленькой частоте, но вы можете делать практически любую операцию… Вы можете сделать ПЛИС, который будет исполнять только один алгоритм. Но, допустим, на тактовой частоте 50 мегагерц. Но при этом этот алгоритм будет работать в тысячу раз быстрее, чем на любом процессоре общего назначения.

Павел Кушелев: Потому что оптимизирован абсолютно только под один алгоритм.

Александр Дроздов: Именно. Потому что этот ПЛИС, даже несмотря на то, что он работает на частоте 50 мегагерц, полностью специализирован под этот конкретный алгоритм.

Павел Кушелев: Условно говоря, там не калькулятор, а просто зашита схема.

Александр Дроздов: Именно. Да. Вот нечто подобное происходит здесь, когда вот эти вещи специализированы и уже вложены в саму архитектуру.

Павел Кушелев: Подождите, но у вас же общего назначения процессор, что же Вы там…

Александр Дроздов: Конечно, абсолютно, у нас процессор общего назначения, но, как я уже говорил, в самой организации потоков есть много общих вещей, их нужно специализировать. И мы их специализировали.

Павел Кушелев: Выделили какие-то общие вещи и зашили их железяку?

Александр Дроздов: Конечно.

Павел Кушелев: Давайте я попытаюсь про виртуальные ядра рассказать.

Максим Кононенко: Только быстро очень, у нас 30 секунд.

Павел Кушелев: Если я правильно понимаю, это означает, что есть один процесс какой-то ресурсоемкий, да? То ему выдается большое мощное виртуальное ядро. На самом деле, там может быть два реальных, а может быть полтора.

Александр Дроздов: Именно.

Павел Кушелев: Еще что-то для процесса. Он думает: «О, какое мне хорошее ядро досталось, довольно крупное». Кто там, как раздали задачу внутри — неважно. Вот таким образом получается такое распределение, вот, что вы придумали.

Максим Кононенко: Это был популяризатор Павел Кушелев, сейчас новости и реклама на Вести FM.

Максим Кононенко: Всем привет, это интернет-кафе «Соб@ка». Говорим про новые процессоры. Валерий Владимирович, я вот, что хотел спросить. Я, честно говоря, не подозревал, что кто-то еще занимается разработкой процессоров на существующих физических принципах, то есть транзисторы полупроводниковые. Мы уже говорили сегодня, что человечество уперлось здесь в тупик, потому что меньше атома полупроводниковый элемент не сделаешь, или проводник. И мы слышали про оптические компьютеры, в которых свет вместо электрического тока используется. Про квантовый, про который я вообще ничего не понимаю. Расскажите, как сейчас обстоит вот это дело.

Валерий Шилов: Насчет квантовых ничего сказать не могу.

Павел Кушелев: Никто их не видел.

Валерий Шилов: Да, я их не видел, хотя занимаются, конечно, не жулики. Очень серьезные люди. И, наверно, в этом что-то есть, но это выше моего понимания, честно признаюсь.

Максим Кононенко: Для меня тоже, там не о последовательных вычислениях речь.

Павел Кушелев: Поэтому есть опасения, что жулики.

Валерий Шилов: Нет-нет. А насчет оптических, я имел удовольствие 25 лет назад работать в ВЦКП Академии наук — Вычислительный центр коллективного пользования — под руководством академика Бурцева (ныне покойного). И как раз это был последний глобальный проект советской эпохи — проект оптической супервычислительной машины.

Павел Кушелев: Да Вы что. И что с ней сейчас?

Максим Кононенко: И как продвинулось?

Валерий Шилов: Продвинулось по некоторым направлениям хорошо. В частности оказалось, что оптика хороша для коммутаторов, быстрых коммутаторов. В отличие от электроники. Еще там кое-что. А вот элементы оптические, к сожалению…

Павел Кушелев: Так и не сделали.

Валерий Шилов: Они не эффективны. У них очень большое время срабатывания.

Максим Кононенко: А, медленно все это работает.

Валерий Шилов: Большая тактовая частота. То есть лазер можно накачивать с огромной тактовой частотой, но физические эффекты проявляются оптически только на большом физическом пространстве. То есть этот элемент должен быть длинным.

Павел Кушелев: О, это скучно. И как его с собой понесешь, извините, пожалуйста.

Валерий Шилов: Поэтому идея была сделать не такую обычную архитектуру, а очень специальную архитектуру, которая специально заточена на выполнение больших наборов команд одинаковых. На массовый параллелизм, так скажем.

Максим Кононенко: Ну, да. Это то, что вообще довольно узкий круг задач математических вроде моделирования ядерных реакций, предсказывания погоды.

Валерий Шилов: Да, Максим, Вы правы. С распадом Советского Союза закончился и этот проект, в котором весь СССР был задействован от Киргизии до Прибалтики и Молдавии. И все это развалилось. Хотя, наверно, оптика в каких-то отношениях имеет…

Максим Кононенко: А в мире то, чем занимается… Дальше полупроводников что? Я слышал, бактерии какие-то, еще что-то. Но это все равно как-то

Павел Кушелев: Это какая-то ересь, давайте…

Валерий Шилов: Я читал очень интересные статьи относительно биологических компьютеров, я пытался разобраться, как они работают. Они, наверно, работают в каких-то простейших случаях. То есть они, например, могут сложить 2 бита со скоростью 2 бита в 2 минуты, например. Потому что скорость биологических реакций немножко уступает электронике.

Павел Кушелев: Прекрасно. Мне кажется, машина Бэббиджа примерно с такой скоростью была.

Максим Кононенко: Получается, мы совсем близко от конца истории? Как в Фукуяме?

Павел Кушелев: Нет, подождите. Может, Фукуяме фукуямово? А у нас все-таки есть вполне себе бизнес. Сейчас за счет коммерческих разработок растет все. Это Intel, это тот же ARM, вот ребята, которые взяли денег, я так понимаю, и у Самсунга взяли, и у AMD — крупного очень разработчика, и у наших в РОСНАНО, РВК. Это как бы деньги, но они же ничтожные в мире, где процессорная фабрика стоит десятки миллиардов долларов или миллиарды, как минимум. И где реально 5–6 игроков. Зачем им нужны индусы с русскими, да возглавляемые палестинцем? Вас не растопчут там?

Максим Кононенко: Купят. Почему растопчут.

Павел Кушелев: Что вы делать-то будете? Посмотрите, мы вот сделали. Они спрашивают: «Кто сделал?». — «Ну, индусы, русские и палестинец». Это просто 3 полка, если вы помните, грузин и собака.

Александр Дроздов: Ответ на этот вопрос, можно сказать, тривиален. Потому что, смотрите, мы уже испекли чип, то есть он уже пришел из фабрики.

Павел Кушелев: А, испекли? То есть у вас уже есть настоящий, физический?

Александр Дроздов: Он работает, да. Физический чип.

Павел Кушелев: И что, прям работает? И на всех системах работает?

Александр Дроздов: Да, конечно.

Павел Кушелев: Но там же должны быть, первый же комом должен быть.

Александр Дроздов: Естественно. Это прототип, но, смотрите, как обычно делается. Есть некий набор задач, который называется «спек». На которых, собственно говоря, объявляются результаты микропроцессоров. Вот на этих задачах заявленные нами характеристики мы продемонстрировали.

Павел Кушелев: То есть он реально меньше жрет при той же…?

Александр Дроздов: Да, причем в разы. Он не просто реально меньше жрет, а жрет в разы меньше электроэнергии при той же тактовой частоте. Или при тактовой частоте в разы меньше дает такую же производительность. Например, как наш сейчас процессор на частоте 500 мегагерц, около 500 мегагерц, дает такую же производительность как 1,8 гигагерцовые.

Павел Кушелев: Ого, в три с чем-то.

Александр Дроздов: Да.

Павел Кушелев: Это очень круто. Уже люди бегут, вокруг трясут мошной: «Вот у нас деньги».

Александр Дроздов: Во-первых, это, безусловно, так, да. Естественно, бегут. Вряд ли трясут, но, по крайней мере, интерес к этой системе огромный. Помимо упоминавшегося Самсунга который является крупнейшим производителем чипов в мире. Вы знаете, он производит ARM чипы, и он крупнейший производитель. Вот здесь, например, у меня в смартфоне Samsung S4.

Павел Кушелев: Вы знаете, у меня iPhone, там тоже Samsung, ничего не поделаешь.

Александр Дроздов: Да, тут 8 ядер. Восьмиядерный процессор. Теперь представьте, Вы вставляете сюда вместо этого чипа наш, и он у вас работает также, но при этом батарейка будет работать в 4 раза дольше.

Павел Кушелев: Простите, у меня тут вопрос. Забег какой длины для того, чтобы сделать эту штуку всем миром, ARM архитектуру пилили, я так думаю, годы. От вашего первоиспеченного чипа до реального.

Александр Дроздов: Не более трех лет. Два с половиной — три года.

Павел Кушелев: Это оптимистично или нет?

Александр Дроздов: Нет, это абсолютно реалистично, потому что чип уже существует. Его практически нужно дотестировать и привести… Практически продуктизировать. Во-первых, надо понимать, что архитектура разрабатывается уже 7 лет, то есть это достаточно…

Павел Кушелев: Слушайте, цикл получает 10 лет.

Александр Дроздов: Конечно, да. Можете посмотреть по NVIDIA и так далее — там такие же.

Максим Кононенко: У нас минута, нам надо как-то резюмировать.

Павел Кушелев: А в России можно сделать? Вот скажите, вы же русский, вы здесь. Можно без американцев — Россия, Индия, Пхай-Пхай.

Александр Дроздов: Мы, конечно, можем. Но я считаю, что если мы хотим делать что-то свое, то на данном этапе нам просто необходима международная кооперация. Хотя бы на первом этапе, потому что мы очень сильно отстали в дизайне.

Павел Кушелев: В дизайне — это что значит?

Александр Дроздов: В дизайне того, что делает Soft Machines, что делает ARM, и так далее.

Максим Кононенко: А инженеры у нас есть, или они должны обязательно в Intel поработать?

Александр Дроздов: У нас есть хорошие инженеры, и если еще добавить на первых порах тех, кто там поработал в Intel и так далее, то можно создать совершенно боеспособную компанию, которая может выйти на мировой рынок, быть лидером — как это сделали китайцы.

Максим Кононенко: Это было интернет-кафе «Соб@ка», на этой оптимистичной ноте мы прощаемся с вами на неделю. Пока.

Павел Кушелев: Не успели ничего…