Category: it

2017

Отчет с завтрака с Чарльзом Уэзереллом, автором культовой книги "Этюды для программистов"

Завтрак с Чарльзом Уэзереллом, автором культовой книги "Этюды для программистов", затянулся на четыре часа. В конце-концов официантка попросила нас из ресторана в Пало-Альто, сказав что в ресторан большая очередь, а мы тут с восьми утра заседаем. За это время мы обсудили массу интересных вещий: работу Чарльза в Ливерморской лаборатории и Оракле, объектно-ориентированное и функциональное программирование, компиляторы и языки описания аппаратуры, закладки в процессоры, неэффективность нейронных сетей и незаслуженно забытый Пролог, посещение Чарльзом России, обработка текста конечным автоматом в аппаратном сопроцессоре и создание школьниками видеоигр на ПЛИС.



Содержания четырех часов с Чарльзом Уэзереллом хватит для пятидесяти статей на Хабре, поэтому перечислю в основном темы, после чего приведу некоторые детали про три из них:
Collapse )
2017

AI пати в Siliconовой Долине: мэр, миллиардер, президенты, гении, разработчики процессоров и девушка

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

На днях мэр города Кэмпбелл, c русской фамилией Paul Resnikoff, разрезал ленточку при открытии нового офиса стартапа Wave Computing, который вместе с компанией Broadcom разрабатывает 7-нанометровый чип для ускорения вычислений нейросетей. Офис находится в здании исторической фруктово-консервной фабрики конца 19-начала 20 века, когда Кремниевая Долина представляла собой самый большой фруктовый сад в мире. Уже тогда в офисе занимались инновациями, вводили первые в абрикосово-сливовой индустрии электромоторы для конвейеров, за которыми трудились около 200 работников, в основном женщин.

На последующей за разрезанием ленточки парти засветилось много известных в индустрии людей, в частности соратник Кернигана-Ричи и автор самого популярного C компилятора конца 70-х - начала 80-х годов Стивен Джонсон, один из авторов стандарта чисел с плавающей точкой Джероми Кунен, изобретатель концепции локальной шины и разработчик чипсетов первых PC AT Диосдадо Банатао, бывшие разработчики процессоров Sun, DEC, Cyrix, Intel, AMD и Silicon Graphics, чипов Qualcomm, Xilinx и Cypress, индустриальные аналитики, девушка с красными волосами и другие обитатели калифорнийских компаний такого типа.

В конце поста мы поговорим, какие книжки нужно почитать и упражнения поделать, чтобы примкнуть к данному сообществу.



Начнем с Джероми Кунена, инноватора арифметики с плавающей точкой и менеджера Apple времен первого Макинтоша.
Collapse )

В каждой нанометровой цифровой инновационной AI компании Кремниевой Долины должна быть своя девушка с яркими волосами. Вот такая девушка в Wave. Ее зовут Афина, она социолог по образованию, и занимается в офисе офисом:



А вот как выглядит офис снаружи, и его более чем вековая история со времен, когда он был инновационной консервной фабрикой:
Collapse )

Что из отчета вас заинтересовало?

Консервирование слив и абрикосов как главная инновация Кремниевой долины 100 тому назад
6(8.3%)
История плавающей точки и надвигающихся Unum и Posit
10(13.9%)
История Си компилятора, который сделал Си популярным
10(13.9%)
Человек, который подарил советским людям в перестройку чипсеты в эйтишках
3(4.2%)
Главный Буржуин процессоров в DVD-плейерах, цифровых фотокамерах и телевизорах
2(2.8%)
Трансмета, ее Либретто и как это связано с Эльбрусом
8(11.1%)
Virage Logic-ARC-Synopsys и неширокоизвестный кусок Silicon Valley в Питере
2(2.8%)
Кто стоял у первого в СССР компьютера, подключенного к интернету
4(5.6%)
C MicroVAX и Cyrix в космос на Хаябуса
3(4.2%)
Многопоточность, Моника и ее определение разработки электроники
9(12.5%)
Питон, Тензорфло, разработчики нового поколения и девушка с красными волосами
8(11.1%)
Я жду окончательной версии Харрис & Харрич и помню, что две предыдущие скачиваниями завалили сайты
4(5.6%)
Из-за бугра плюете?
3(4.2%)
2017

Рождение крупного игрока в аппаратном AI, который ускоряет TensorFlow и конкурирует с NVidia



Завтра будут официальные пресс-релизы о слиянии старожила Silicon Valley, компании MIPS, с молодой AI компанией Wave Computing. Информация об этом событии просочилась в СМИ вчера, и вскоре CNet, Forbes, EE Times и куча хайтек-сайтов вышла со статьями об этом событии. Поэтому сегодня Derek Meyer, президент объединенной компании (на фото снизу справа), сказал "ладно, распостраняйте инфо среди друзей" и я решил написать пару слов о технологиях и людях, связанных с этим событием.

Главный инвестор в MIPS и Wave - миллиардер Dado Banatao (на фото снизу в центре слева), который еще в 1980-х основал компанию Chips & Technoilogies, которая делала чипсеты для ранних персоналок. В Wave+MIPS есть и другие знаменитости, например Стивен Джонсон (на фото справа вверху), автор самого популярного C-компилятора начала 1980-х годов. MIPS хорошо известен и в России. В руках дизайнерши Смрити (на фото слева) плата из Зеленограда, где находятся лицензиаты MIPS Элвис-НеоТек и Байкал Электроникс.

Wave уже выпустила чип, который состоит из тысяч вычислительных блоков, по сути упрощенных процессоров. Эта конструкция оптимизирована для очень быстрых вычислений нейронных сетей. У Wave есть компилятор, который превращает dataflow граф в файл конфигурации для этой структуры.

Объединенная компания создаст чип, который состоит из смеси таких вычислительных блоков и многопоточных ядер MIPS. Сейчас Wave продает свою технологию в виде ящика для дата-центров, для вычислений нейронных сетей в облаке. Следующие чипы будут использоваться во встроенных устройствах.

Collapse )

Кристалл у Wave получается понятно огромный, поэтому приходится использовать локально-синхронные схемы с тактовым сигналом на каждую группу из ячеек. Но самая большая проблема - это не аппаратная, а программная. Граф для вычисления сетки приходится раскидывать на эту кучу устройств с точным знанием, в каком цикле будет что вычисляться. Это называется static scheduling. Поэтому Wave нанял кучу компиляторщиков, включая известнейшего зубра - Стивена Джонсона, который стоял у истоков вместе с Керниганом и Ричи. Вот что писал про Стивена Джонсона Деннис Ритчи:


В 1980-е Си быстро набирал популярность и компиляторы стали доступны практически на каждой машине и операционной системе; в частности, он стал популярным как язык программирования для персональных компьютеров, причем одновременно как для разработчиков коммерческого программного обеспечения для этих машин, так и для рядовых пользователей, увлекающихся программированием. В начале десятилетия практически каждый компилятор был основан на pcc Джонсона; к 1985 было уже много компиляторов, созданных независимыми разработчиками.


Когда мне было 18 лет (в 1988 году) и я был студентом МФТИ, Стивен Джонсон был моим Богом. Я участвовал в разработке двух компиляторов на основе его Portable C Compiler. Один компилятор был для Электроники СС БИС, "Красного Крея", советского аналога векторного суперкомпьютера Cray-1. Второй компилятор был для Орбиты 20-700, встроенного компьютера в советских истребителях МиГ-29 и других начала 1980-х годов.

Поэтому я просто обязан был сфотографироваться с Стивеном Джонсоном. Он рассказал мне про другие тулы, которые он делал как для Unix, так и для автоматизации проектирования, автоматического профилирования и т.д.



И разумеется сфотографировался и с инвестором во все это дело Дадо Банатао. Давным-давно Дадо Банатао создал чипсет для первых писишек. Он отлаживал драйверы вместе с Балмером. "Иногда в комнату заходил Билл Гейтс, который нам мешал" - говорит Дадо Банатао. Теперь у него, согласно интернету, пять миллиардов долларов. Он самый известный хай-тек филлипинец, создает центр AI и ведет другие образовательные программы на своей родине.



Больше всего денег Дадо Банатао сделал на компании Marvell. Вот ее офис в Санта-Кларе в лучах вечернего солнца:



В Wave работает много людей которые раньше работали в MIPS. А некоторые из MIPS было в Silicon Graphics, так как MIPS был частью Silicon Graphics в 1990-е годы. В те времена процессоры MIPS стояли в графических станциях, которые использовались в Голливуде для съемок первых реалистичных графических фильмов типа "Парк Юрского Периода". Вот эти графические станции вместе с сибирской девушкой Ириной в Музее Истории Компьютеров в Маунтин-Вью, Калифорния:



В конце сегодняшнего парти в честь завтрашнего официального объявления и вчерашних публикаций в прессе состоялось поедание тортов и распивание шампанского:

Collapse )

Какие области искусcтвенного интеллекта вас интересуют больше всего?

Приложения для распознавания изображений
11(17.7%)
Приложения для анализа текста
3(4.8%)
Приложения для самоуправляемых автомобилей
4(6.5%)
Математика для AI
7(11.3%)
Написание библиотек AI-алгоритмов
4(6.5%)
Ускорение AI алгоритмов с помощью GPU
6(9.7%)
Компиляторы из алгоритмов в dataflow граф
3(4.8%)
Компиляторы из dataflow граф в конфигурацию CGRA
5(8.1%)
Архитектура систем из процессоров и ускорителей
7(11.3%)
Создание блоков ускорителей на уровне регистровых передач
3(4.8%)
Физика очень больших чипов для AI
7(11.3%)
Другое (рассказать в комментариях)
2(3.2%)
2017

Пролистал 2-е издание Hacker's Delight в поисках занятных задач для лабника по Verilog & FPGA

Hacker's Delight - чрезвычайно занятная книжка, назначение которой народ совершенно не понимает. Хотя разумеется не весь народ. Например у нас в офисе MIPS эту книжку любят - когда я забыл ее где-то (наверное в туалете), ее заметил мой коллега, начал ее читать, зачитался, и я нашел книжку только через неделю, после того, как разослал емейл по всему офису.

Но почитайте комменты к первому и второму изданию этой книжки на Озоне:


Отзыв 1: "Очередной опус из серии "Как облапошить компилятор" -- классика стиля программистов на С. Собственно, ничего другого по C и программистами на C и не написано. Это не алгоритмические трюки -- это трюки с плохим языком программирования. На практике малополезно и методически вредно".

Отзыв 2: "Ничего не могу сказать против этой книги, но она явно предназначена для узкого круга специалистов. Например, для тех, кто хочет ускорить на десять процессорных тактов операцию деления за счет снижения переносимости и полной нечитабельности кода.
В наш век большинство программистов пишут на таких языках как C# или JavaScript, поэтому виртуальная машина или интерпретатор съест всю выгоду описанных хакерских трюков, а поддерживать код становится трудно".



Это отрицательные отзывы. Но даже люди, которые написали положительные отзывы, эту книжку тоже не понимают. Они думают, что это чтобы улучшить программирование на Си для высокопроизводительных приложений. Это тоже не совсем верно.

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

1. Пишет компиляторы.

2. Пишет стандартные библиотеки программ на Си и ассемблере.

3. Работает над компьютерной архитектурой: анализирует смеси инструкций в приложениях и придумывает, какие инструкции добавить в систему команд процессора.

4. Занимается хардверной реализацией микроархитектуры процессоров, а также специализированных вычислительных блоков, на уровне регистровых передач.

(У нас в компании есть четыре соответствующих отдела, где такие знания нужны).

Так вот. Я пролистал книжку Hacker's Delight ( https://doc.lagout.org/security/Hackers%20Delight.pdf ), чтобы найти в ней какие-нибудь занятные алгоритмы и трюки, на основе которых можно было бы сделать задачки для лабника по разработке аппаратных блоков на уровне регистровых передач, с использованием языка описания аппаратуры Verilog и с реализацией на программируемых логических интегральных схемах ПЛИС / FPGA.

Зачем нужны именно задачки на основе примеров и идей из Hacker's Delight? Чтобы добавить что-нибудь новое, яркое, а не повторять одни и те же унылые упражнения из tutorials от Xilinx, Altera и учебников 25-летней давности.

И вот что я выудил из пролистывания Hacker's Delight (второго издания - это важно - в интернете можно отыскать PDF первого издания, но не второго, часть моих находок именно из второго издания):

Collapse )

Какие идеи для упражнений и студенческих проектов вам понравились?

1. Быстрое выключение самой правой из единичек в последовательности битов
1(3.1%)
2. "Русская декомпозиция" функции от трех булевских аргументов в исключающее-или от двух функций двух переменных
2(6.2%)
3. Быстрый подсчет количества единичек в слове
3(9.4%)
4. Нахождение LRU (least recently used), используется для работы многосекционного кэша
4(12.5%)
5. Вычислитель для особого случая деления на константу 3
4(12.5%)
6. Извлечение целочисленного квадратного корня
4(12.5%)
7. Извлечение целочисленного кубического корня
2(6.2%)
8. Gray code и gray counter, с привязкой к асинхронному FIFO и clock domain crossing
2(6.2%)
9. CRC: пример последовательностной схемы с LFSR, привязка к математике и к надежным чипам для космоса и автомобилей
3(9.4%)
10. Error-correcting codes: продолжение темы CRC для продвинутых студентов, возможная тема для курсового проекта
4(12.5%)
11. Хардверный вычислитель для кривой Пеано-Гильберта, которая извивается, покрывая все пространство
2(6.2%)
12. У меня другое предложение (привести в комментариях)
1(3.1%)
2017

Видео на Летней Школе Юных Программистов в Новосибирске и Малой Академии Наук Украины в Киеве

Видео на открытии Летней Школе Юных Программистов в Новосибирске. Моя речь с 15:40

Летняя Школа Юных Программистов в Новосибирске началась довольно давно (в 1970-е годы) и всегда была очень престижной. На нее приезжают тщательно отобранные дети, проводят лекции топ-профессионалы, поэтому на ней можно пробовать то, что трудно делать на других школах. В этом году было например Haskell, алгоритмы распознавания образов, разработка цифровых схем используя язык описания аппаратуры Verilog с реализацией на программируемых логических интегральных схемах (ПЛИС / FPGA)



Приглашение в микроэлектронику. Моя лекция в Малой академии наук Украины.

История микроэлектроники в мире и в Украине. Основные концепции: транзистор, комбинационная и последовательностная логика, языки описания оппаратуры и их синтез, массовые микросхемы ASIC и их прозводство на фабрике, реконфигурируемые микросхемы ПЛИС / FPGA и их применение в обучении. С чего начинать и как это может со временем улучшить Украину.



Лекция проводилась как части недели микроэлектроники для школьников в Киеве в конце апреля 2017 года:

http://electronics-ukraine.com/
http://ukrtronics.strikingly.com

Материалы, на которые происходят ссылки в лекции:

http://www.silicon-ukraine.com/public_materials/2016_11_04_one_day_mipsfpga_connected_mcu_materials_public_for_the_website/

https://habrahabr.ru/users/yuripanchul

https://geektimes.ru/users/yuripanchul/topics

Заключение лекции от Светланы Хуткой


Какое видео вам понравилось больше?

Больше понравилось первое. Просмотрел оба видео.
0(0.0%)
Больше понравилось первое. Просмотрел только первое видео.
1(14.3%)
Больше понравилось первое. Просмотрел только второе видео.
0(0.0%)
Больше понравилось первое. Не смотрел ни одно.
0(0.0%)
Больше понравилось второе. Просмотрел оба видео.
0(0.0%)
Больше понравилось второе. Просмотрел только первое видео.
0(0.0%)
Больше понравилось второе. Просмотрел только второе видео.
1(14.3%)
Больше понравилось второе. Не смотрел ни одно.
3(42.9%)
Из-за бугра плюете?
2(28.6%)

Вопрос от одного из участников хакатона в Киеве

Один из участников семинаров и хакатона в Киеве задал мне такой вопрос: "Мне нравится подключать различные платы, датчики и т.д. Поэтому я хочу у вас спросить, какая профессия соответствует тому, перспективно ли это и немного хочу узнать как вы начинали свой путь в этой сфере?"

Написал ответ:

Если вам это нравится, вы можете рассмотреть различные работы в области Electrical Engineering и Embedded System Design, в том числе:

1. Разработка микросхем и печатных плат, в том числе хардверных интерфейсов для интеграции процессора в системе на кристалле с контроллерами периферийных устройств, в том числе сенсоров

2. Написание программного обеспечения для встроенных систем, в том числе драйверов для интеграции с сенсорами

3. Создание программных средств автоматизации проектирования микросхем, печатных плат и систем (hardware / software codesign)

4. Проектирование электронных систем, например гаджетов или например бортовых компьютеров

5. Специалист по технологиями производства

Примеры работ в области разработки микросхем и печатных плат:

1.1 Разработчик цифровой логики блоков внутри микросхемы - RTL Design Engineer, пишет код на языке описания аппаратуры (Verilog и/или VHDL) на уровне регистровых передач (Register Transfer Level - RTL. Этот код после логического синтеза, размещения и трассировки превращается в часть микросхемы ASIC (Application Specific Integrated Circuit) - или в конфигурацию FPGA / ПЛИС.

1.2 Специалист по физическим аспектам микросхемы - ASIC Physical Design Engineer - использует средства проектирования типа Synopsys IC Compiler для floorplanning (планирования геометрического расположения блоков системы на кристалле, решения физических проблем питания, помех итд). См. слайды про implementation в http://www.silicon-ukraine.com/public_materials/2016_11_04_one_day_mipsfpga_connected_mcu_materials_public_for_the_website/04_present_nanometer_asic_seminar/dna.rus.2016.MIPS.pdf

1.3 Разработчик аналоговых блоков, например преобразователь сигнала от антенны - Analog / Mixed Signal Hardware Design Engineer.

1.4 Специалисты по моделированию и верификации - Hardware Simulation Engineer, Hardware Verification Engineer, Performance Modeling Engineer. Одна из технологий верификации - написание на языке SystemVerilog специфической программы (среды тестирования), которая бомбардирует блок логики псевдослучайными транзакциями, ограниченными определенными правилами, и ведет учет покрытия интересных сценариев, и сравнения поведения этого блока логики с его высокоуровневой моделью (coverage-driven constrained-random verification methodology).

1.5 Разработчик системы на кристалле - SoC Design Engineer - комбинирует блоки спроектированные разными производителями (процессоры, графические процессоры, DSP процессоры, память и т.д.), рассматривает взаимодействие софтвера и хардвера.

1.6 Разработчик архитектуры (как процессор выглядит для программиста) и микроархитектуры (блочная организация, стадии конвейера) - CPU Architect, CPU Microarchitect.

1.7 Другие профессии, например Solutions Architect - человек, который ездит по клиентам (электронным компаниям разного размера) и консультирует их, как использовать те или иные IP блоки (процессоры, DSP итд) для разработки системы на кристалле.

Подобный список можно написать и для других областей (embedded system design, silicon manufacturing итд).

Куда пойти учиться - поговорите например с Евгением Коротким из КПИ, он ставит там обучение таким профессиям - https://www.facebook.com/korotkiy.eugene

Мой путь был довольно непрямой: программирование компиляторов - программирование средств проектирования встроенных систем - программирование средств проектирования микросхем (Electronic Design Automation - EDA) - моделирование хардвера - верификация на уровне ядра - верификация на уровне блоков - написание RTL для FPGA и (в последнее время) ASIC.
July 2016

Придумываем название для нового гипервизора для MIPS с аппаратно-поддерживаемой виртуализацией

На днях в офисе Imagination Technologies в Санта-Клара, Калифорния ко мне подходит специалист по многоядерному Линуксу Леонид Егошин и говорит:

Егошин: Вот, написал самый маленький гипервизор в мире.

Я: Да? А как называется?

Егошин: Еще не придумал. И маркетинг названия не спустил. Придумай название! Это все равно будет opensource-проект.

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

Егошин: И я еще в апреле в Долгопрудном буду, в МФТИ. Не был там с XX века. Есть ли там кто-нибудь, кого интересует MIPS-Linux/IoT/гипервизоры на MIPS?

Я: Ну об этом тоже можно спросить общественность.

Итого, я написал этот пост, чтобы спросить общественность. Но сначала я расскажу, кто такой Леонид Егошин и что такое гипервизор.

---

Не вся молодежь знает, но в СССР был свой Unix. Не при Брежневе, но уже при Андропове.

И вот одним из первых советских юниксологов и был Егошин (он единственный на фотке на Красной Площади 1980-х, кто улыбается). Потом Егошин переехал в Silicon Valley и стал работать в MIPS Technologies, которая стала Imagination Technologies. На снимке справа Егошин уже в 2015 году, с первой привезенной в Америку из России платой с российским микропроцессором Байкал-Т - Егошин помогал отлаживать на ней Линукс:



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

Виртуализация - это следующий шаг после kernel / user mode (режима ядра / пользовательского режима). В kernel/user парадигме операционная система защищает себя от пользовательских программ и пользовательские программы друг от друга. Привилегированный режим ядра включается, когда во время выполнения пользовательской программы происходит прерывание. Тогда ОС смотрит, что произошло, и может переключится на выполнение другой пользовательской программы. В случае виртуализации поверх kernel/user включаются еще и режимы root/guest для защиты нескольких guest операционных систем друг от друга и разделения между ними ресурсов. Этим занимается гипервизор в режиме root:

https://www.imgtec.com/mips/architectures/virtualization/





Виртуализацию не следует путать с виртуальной памятью. Collapse )

"О зачем на микроконтроллере виртуализация?!" - может воскликнуть читатель. Для секьюрити. Даже на небольшом чипе для IoT могут одновременно работать скажем встроенный Линукс и скажем очень защищенный код для работы с финансовыми транзакциями. Теперь если пользователь установит взломанную операционную систему, она не сможет получить доступ к другой ОС, выполняющей критические операции, потому что между двумя ОС стоит гипервизор. Это становится особенно важно в случае интернета вещей, когда подброшенный в домашнюю сеть утюг или тостер может теоретически обмениваться информацией с главным компьютером хозяина.

Егошинский гипервизор может работать вот на такой плате Digilent chiKIT WI-FIRE:



А теперь предоставим слово Леониду:


Юра, основные сведения про hypervisor:
Collapse )

UPD: Доплнительно, свежая ссылка на актуальность проблемы (вирус в банкоматах) - https://www.gazeta.ru/tech/2017/03/20/10584965/atm_virus.shtml#page2


В общем если у вас есть хорошее название для гипервизора или желание пересечься в МФТИ во время визита Леонида Егошина в альма-матер в апреле, вы можете либо ему писать на Leonid.Yegoshin@imgtec.com, либо оставлять здесь комментарии.


Справка из Википедии про фото в начале поста слева:


Collapse )


Уважаемый читатель! Мне для статистики интересно:

Умеете ли вы программировать на Си
32(16.7%)
Умеете ли вы программировать на ассемблере
26(13.5%)
Знаете ли вы, для чего предназначены и как работают режимы kernel / user в операционных системах
29(15.1%)
Знаете ли вы, как работает виртуальная память?
28(14.6%)
Знакомы ли вы, для чего предназначена виртуализация?
26(13.5%)
Знакомы ли вы, как работает виртуализация?
21(10.9%)
Знакомы ли вы как работает контроль распределения ресурсов SoC c гипервайзером?
4(2.1%)
Разрабатываете ли вы для микроконтроллеров
11(5.7%)
Разрабатываете ли вы для интегрированных чипов для интернета вещей
6(3.1%)
Из-за бугра плюете?
9(4.7%)
July 2016

Хардвер вторгается в софтвер на московской конференции SECR

Традиционно московская конференция CEE-SECR (Central & Eastern European Software Engineering Conference in Russia) была про софтвер, но в этом году ее организаторы решили поэкспериментировать и впустить темных демонов хардвера. Причем не из чего-то народного типа Ардуино, а из уровней посуровее: микроархитектуры микропроцессоров, прототипирования систем на кристалле с помощью микросхем ПЛИС/FPGA, и автоматической генерации тестов для процессоров во время их разработки. Чтобы привязать данный материал к чему-то знакомому для программистов, в хардверной теме возникли приложения встроенных процессоров для интернета вещей, связь лицензируемых микропроцессорных ядер с российскими микропроцессорными проектами, обучение хардверу в российских университетах, а также российские встроенные операционные системы реального времени для тех применений, куда нельзя впускать длинный нос американского Госдепа.

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

Первый доклад из секции - Юрий Панчул. Использование микропроцессоров MIPS для интернета вещей, компьютерного зрения и телекоммуникаций. Возможности для российских разработчиков программного обеспечения в экосистеме MIPS. Российские клиенты Imagination Technologies. Главная мысль - за последние годы стартовали несколько важных российских микроэлектронных проектов, которым для успеха (как на внутреннем, так и на мировом рынке) нужна поддержка российских разработчиков программного обеспечения. Дополнительные интересности доклада - рассказы о микроархитектуре и процессорных конвейерах.

Для доклада использовались фрагменты нескольких презентаций, которые можно скачать архивом или загрузить по отдельности.

Необработанные видео:



Collapse )

Какой аспект вас заинтересовал?

Микроархитектура микропроцессоров
1(8.3%)
Открытые процессорные ядра
2(16.7%)
Автоматическая генерация тестов
2(16.7%)
Обучение ПЛИС и DSP
2(16.7%)
RTOS-ы
5(41.7%)

Отчет про SVOD и IoT DevCon: Часть 5/5: Техно-феминистки и индусский код. А заодно Израиль

На второй день свода случилось чудо: меня пригласила на ужин топ-феминистка Юлия Минковская, руководительница организации из 1400 русских хайтек-женщин Силикон Вэлли:

russian_speaking_woman_in_tech_silicon_valley

Вопреки всем стереотипам рунета, топ-хайтек-феминистка оказалась женщиной симпатичной и приятной в общении. Особенно я был удивлен, когда узнал, что у нее трое детей. "Трое детей и руководящая должность?! Как она умудряется поддерживать себя в такой форме, да еще и не отягощать встречных мужиков отрицательными эмоциями?"

Юлия Минковская - справа:

13323564_10157078696565089_7352956470219818316_o

А техно-феминистическая коллега Юлии, Катя Живайкина вообще оказалась ангелом. При встрече с ней я просто потерялся в пространстве феминизма:

svod_160525_134723

Техно-девушки привели меня в ресторан и мы стали говорить о девичьем. В частности мне было высказано что:


  1. Чтобы снизить уровень дискриминации женщин в индустрии, их нужно обучить правильно писать резюме. А то мужчины пишут длинные резюме, а которых преувеличивают. А женщины пишут короткие резюме, в которых никогда не преувеличивают, и часто преуменьшают.


  2. Женщин нужно научить, как запрашивать начальников поднимать им зарплату. А то часто женщина сидит скажем на $100K/год, а могла бы, при правильном требовательном поведении, получать $200K/год.


  3. Женщин нужно научить, как запрашивать себе повышение. А то как это так, в Израиле никто больше двух лет на одной должности не сидит, все идут на повышения, в менеджеры, потом в вице-президенты и CEO. А в Силикон Вэлли люди сидят по 7 лет на одной и той же инженерной позиции.



Вообще Юлия часто делала ссылки на Израиль, в частности она жаловалась, что многие программисты в Индии пишут бессмысленные идентификаторы в программе как "int v1, v2, v3", в то время как израильтяне пишут длинные осмысленные идентификаторы (типа "int number_of_correct_reference_interval_predictions"). И переносила это на М/Ж ситуацию, утверждая, что правильно обученная женщина-программист аккуратнее мужчины. В конце ее речи я понял, что хоть я и русско-украинский мужчина, но всю жизнь писал программы как израильская женщина.

Я послушал Юлю и Катю и подумал, что кое-что из предлагаемых ими мер являются нужными и выполнимыми, но дискриминацию программисток они не искоренят. По пунктам:


  1. Научить правильно писать резюме - задача довольно простая. Его размер должен соответствовать реальному размеру карьеры человека (1 страница для вчерашнего студента, две - старшего инженера, три - для особых случаев с большим количеством достижений). Однажны мне пришлось интервьировать человека с резюме страниц на 15, он оказался очевидным ненормальным, я вообще не мог понять, как он просочился через фильтр отдела кадров. Также в резюме нужно указывать достижения типа "написал компилятор", а не невнятную чушь типа "писал на Си". Все. От пола это не зависит. Если Юлия готова, чтобы я рассказал это полутора тысячам ее женщинам, я готов сделать это за полчаса, и ответить на все дополнительные вопросы на последующем фуршете.


  2. Рекомендовать женщинам требовать от начальников существенного повышения зарплат - затея рискованная. Требование могут удовлетворить, но записать в неадекваты, которому через 6 месяцев нужно подыскать замену.

    И вообще, в продвинутых инженерных группах внутри зрелых компаний зарплаты у всех уже как правило заоптимизированы за время предыдущей карьеры, а реальное соревнование идет не кто больше надавит на начальника, а кто отхватит наиболее интересную для себя часть проекта, чтобы потом делать в отхваченной области собственные решения, а не быть на подхвате. Группа мужчин из скажем 5-7 членов делят проект на территории своих решений, соглашаясь о границах. У женщин навык мягкой борьбы с захватом чужих территорий и обороной своих границ развит меньше, и вот этому стоит учить. Так как отсутствие этого навыка уменьшает удовольствие от жизни (люди либо становятся на подхвате, либо безуспешно пытаются всех контролировать).


  3. Представление что программисту нужно через два года работы идти в менеджеры, является упрощенным, применимым только для простого программирования типа внутрикорпоративный бизнес-софт. Для многих людей лучше быть хорошим инженером в одной из лучших команд в своей области в мире, чем одним из миллионов посредственных менеджеров. Многие компании распознают этот факт - например Synopsys (компания номер один в области автоматизации проектирования электроники, несколько тысяч сотрудников) официально имеет два варианта карьеры - один по линии менеджмента, и один по линии все более элитарного программиста, с последней ступенькой с прямым подчинением вице-президенту.



Под конец я высказал мысль, что в Силикон Вэлли слишком много женщин идут на одинаковые работы (например а тестеры GUI), и их нужно профориентировать для бОльшего разнообразия (это тоже повышает удовольствие от жизни). Товарищи технофеминистки пригласили меня на свой девичник, и мы закончили ужин.

Так что будем общаться:

pre_svod_160523_185106

Все части отчета про SVOD и IoT DevCon

Отчет про SVOD и IoT DevCon: Часть 1/5: Россия и микроэлектроника

Начало конференции SVOD-2016 совпало c пресс-релизом российской компании ЭЛВИС-НеоТек о передаче в производство 28-нанометрового чипа для видеоаналитики ELISE. При этом первым, кто выступил на SVOD (сразу после приветствия от организаторов конференции) был один из основателей ЭЛВИС, венчурный капиталист Александр Галицкий (на фото справа), который в свое время начинал в советском НПО ЭЛАС как разработчик электроники для космоса (преемственность: ЭЛАС - ЭЛВИС - ELVEES - ELISE).

svod_160525_084445

Я вошел на конференцию аккурат во время речи Галицкого и в конце задал ему вопрос про пресс-релиз ЭЛВИС-а:

13308348_10157094210690089_3472093746576237_o

См. вопрос на видео, c 24:55:

https://www.youtube.com/watch?v=9rob0BLSHS4&feature=youtu.be&t=24m55s



Замечу, что ELISE - это не нишевый чип для военки и не попытка чего-то догнать копированием. Это конкретный предложение разработанной в России технологии (в кооперации с группами в Калифорнии, Орегоне, Шанхае и Великобритании), которое не просто не стыдно показать на мировом рынке, но которое может стать основой для инноваций в компьютерном зрении:

Screenshot 2016-05-29 13.31.36

А вот еще один пример русской преемственности со SVOD-а, тоже из мира микроэлектроники - Алекс Теслер, президент небольшой компании IP Cores в Пало-Альто, Калифорния. IP Cores разрабатывает хардверные блоки (например для криптографии) и лицензирует эти блоки электронным компаниям покрупнее, которые вставляют эти блоки в свои системы на кристалле и выпекают на фабрике микросхемы:

Screenshot 2016-05-28 20.17.58

Screenshot 2016-05-28 20.54.44

"А в чем же тут русская преемственность?" - спросите вы. А вот причем: на вебсайте компании IP Cores я обнаружил, что Алекс был раньше директором хардверного инжиниринга в Guzik Technical Enterprises, компании иммигранта из Одессы Наума Гузика, которая была самым известным русским стартапом Силикон Вэлли 1980-х годов:



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

Screenshot 2016-05-28 20.54.03

В начале 1990-х Наум Гузик так потряс целое поколение русских иммигрантов в Силикон Вэлли, что про него даже писали пасквилянтские романы.


Все части отчета про SVOD и IoT DevCon