Ярусно параллельная форма
Некий Новопашин привёл следующее определение Концепции неограниченного параллелизма:
Абстрагирование от числа процессоров и параметров коммуникационной среды конкретной вычислительной системы ограничивает практическую применимость алгоритма: для рассмотренного примера при n ≈1000 на первом ярусе необходимо будет задействовать 500 процессоров, на последнем – всего 2 (!). Подход, основанный на игнорировании архитектуры МВС и ее количественных параметров, получил название концепции неограниченного параллелизма.
Он утверждает, что "Такой подход, как правило, приводит к неравномерности загрузки процессоров и снижает эффективность использования МВС (не решает проблему балансировки загрузки процессоров)."
И вот, что я думаю на этот счёт...
Прорыв в области IT
Заголовок, возможно бросский, но оно того стоит.
Мы делаем великую вещь и я хочу поделиться своей эмоцией!
Лет 40 уже (с 80-х) не было больших прорывов в ИТ я уже изголодался. Уж хочется что-то получше чем новый какой-то язык. Или какая-то склейка для языков.
Мы сделали не просто рантайм для взаимодействия многих языков (звучит странно эта фраза, признаю), но мы сделали настоящее распараллеливание.
Система сама разбирается как и что запускать, чтобы распределить нагрузку, чтобы сэкономить трафик!
Система знает о зависимостях и границах имутабельности фрагментов кода даже без анализа самого кода! Наконец-то программист сможет (пока не доделано, правда) строить бекенды, не удивляясь сайд эффектам и начнёт визуально видеть все зависимости. Мне этого так не хватало...
Я тащусь от этого проекта как программист. И мне не терпиться рассказать обо всём этом всему миру прямо сейчас, однако рановато, многое не готово.
Я буду просто записывать в блог интересное и важное для меня и проекта и Вы скоро всё сами до конца узнаете. Будут появляться новые страницы сайта и всё станет проявляться всё чётче.
За эти два года я провёл фазу имплементации рабочего прототипа системы. Мы научились многому:
- параллелить код и сиситемы
- находить зависмости, оптимизировать Control Flow программ
- построили многопоточный распределённый рантайм из легковесных потоков, который сам принимает некоторые решения
- построили рспределённое хранилище оперативных данных
- научились делать кодогенерацию и трансформацию программ
- работать с FPGA на новом уровне, теперь у нас своё интересное FPGA Soft ядро, выполняющее байт код динмического языка lua, это не ассеблер и не C гораздо выше и гибче.
- мы понимаем как извлекать dataflow из императивных программ даже с динамической типизацией.
И еще многое о чём можно писать и рассказывать...
Интел идёт в большие данные,
Статья Маркетинг → «Спасательный круг» Intel: глава компании официально объявил о смене бизнес-модели
( https://habrahabr.ru/post/300470/ ) на хабре сообщает, что Интел сделает упор не на продажу PC.
А на сочетание связи (3G, 4G, 5G) Интернета вещей (IoT) и инфраструктуры малых устройств (FPGA в том числе).
Заявлено пару слов о квантовых вычислениях (после тизера я посоветую пару "лучших", по-моему книг на эту тему).
Для меня это ожидаемо, я знал, что колос начнет разворачиваться и начал готовиться заранее.
Начальная точка - с чего всё начиналось
Я работал в области ИТ уже лет пять и мысли копились... Мне казлось: "программисты вроде работают в top областях, а все еще как в каменном веке...". Например мы постоянно разбираем json, я как-то поймал себя на мысли, что опять это делаю, но уже на другом языке... Опять... как же это начало надоедать, эта спираль...
Кусочки копились и сложились в мозаику в середине 2013 года. Весной 2013 я уволился из ТЕНЗОРА с [хорошей должности, многое тогда крутилось в моей голове.
Система Акапелла тогда не имела названия и её не существовало в сегодняшнем виде.
Вот этапы которые прошла система, я тогда делал эксперимент за экспериментом. Я точно не знал формы, но цель, что я хочу получить, она виднелась на уровне "неосознанной компетенции"...
-
Эволюция (этапы) идеи платформы
- Первый этап - интеграционный язык, как это банально
- второй этап. - забота о разработчиках
- третий этап. - почти "idl"
- четвертый этап. - Заменяем код на "конфигурации". Решил параллелить выполнение.
- пятый этап - шаг в сторону, работа с данными. БД сделал, но оставил это.
- шестой этап - делаем свою cloud vm
- послесловие : дополнение к шестому этапу
Полезные ссылки
Понятное "ИТ-шникам" описание идеи.
когда кажется, что все так складно и ладно. Ты спрашиваешь: “И почему же раньше никто не додумался до этого?” хм. - А на самом деле, чтобы так было, кто -то сильно постарался подумать. В любой простоте очень много труда. Павлом М.А. 20130611
Здесь я описал суть и перспективы развития технологии в вопросах и ответах.