Будущее компьютерной индустрии.
Nov. 4th, 2007 07:04 pmДаную статью мы хотели написать с товарищем Федей Добрянским, aka
mlen в журнал Хакер (и надеюсь, что Федя снизойдёт до меня, и мы таки напишем эту статью, возможно при участии ещё остальных ребят). В общем в двух словах, стало ясно что ныне компьютерная индустрия подошла к технологическуму тупику (ну не могут сделать процессор на 10 ГГц). А наращивание количества ядер, сколько бы не гнали маркетологи - ничего ровным счётом не даёт. Ибо чёткой математической модели для распределения вычислений - нет! А что есть стара как мир, и была эффективна в 50-х годах прошлого века. Ныне должна подчевать на помойке, но до сих пор работает, и нас этому учат, потому и весят операционки два гига, когда их можно уместить ВСЁ в мегабайте! Но не в этом суть, суть в том, что распалелливание, и генерирование аппаратного решения проблемы значительно быстрее, и эффективнее, чем последовательное решение той же задачи с раздиранием ресурсов. Грубо говоря, у нас софтварная, последовательная, линейная, неэффективная модель решения проблем. Сколько бы не твердили Линукскойды, и прочие софтварщики (камень в огород
slonskiy и
m0na_sax), что без софта никуда - это не так. Софт - это пережитки прошлого. Теперь мы подошли к упору. Данную идею, после обсуждения с
mlen мы активно начали обдумывать, рассасывать и переться от её крутости с товарищем
di_halt, наверное около года назад. Затем идею вкусил, вероятно независимо от нас товарищ
microtrigger, и впрочем вместе теперь работаем над ней. В моём предыдущем посте были активнейшие дебаты на сей счёт http://dlinyj.livejournal.com/289451.html. Это АППАРАТНЫЙ комп!
Итак, о чём я? Мы предлагаем аппаратный компьютер. Т.е., модель компьютера такова. Что есть медленный маленький процессор, пусть арм сто мегагерц. И вокруг него насаженно уймища быстродействующих ПЛИС. И вся вычислительная мощь зашита в них. То бишь, нужно тебе допустим массив упорядочить - фигак, прошивка в плис, и дальше гонишь туда массив, а там всё за тебя делают. Ты загнал ПАРАЛЕЛЛЬНО! 100 элементов массива, и на выходе, в тот же миг получил УПОРЯДОЧЕННЫЕ элементы. Тогда, как пузырьковым методом будешь это делать хер знает сколько тактов! Но это не всё. Теперь не нужны интерфейсные платы, и порты ввода-вывода. Нужен тебе, например, интерфес USB. Пожалуйста - качнул прошивку из инета, ШНУРОК (без единой микрухи) подцепил - получите USB, ISA, PCI, да всё что душа пожелает. Это совершенно иная модель программирования - высокоэффективная и качественна. Но тут нужны люди с совершенно другим, качественно иным мышлением. Т.к. будут АППАРАТНЫЕ операционки. Наверняка, конечно будет софт, я даже представляю как сделать совместимость со старым железом. Но это уже будет рецедив. Т.к. софт - это уже устаревшее, неактуальное понятие. Балом править будет аппарат! Вы думаете, я рассказываю мистические вещи? Вовсе нет, уважаемый Intel и AMD вовсю делают такие фишки:

На рисунках на оригинальном сайте указывается, что акселератор устанавливается в один из слотов для процессора (т.е. как минимум двухпроцессорная материнка должна быть) и является изначально "чистым листом", который программируется дл выполнения разных задач извне (прошивка).
"Возможна ситуация, например, когда производитель игры вместе с самой игрой поставляет кофигурационный файл для FPGA и весь просчет физики / графики уходит туда. Или, используя несколько каналов (и банков) памяти, попеременно обрабатывать данные; после окончания - меняться каналами и результатами."
Это только шаг, первая ласточка. Но всё идёт к этому! Ссылка тут: http://www.xtremedatainc.com/xd2000i_brief.html , источник ссылки http://cooler-online.com/sc.php?cl031107.html&1
Даёшь смерть СОФТУ! Да здравствует аппаратная модель!
Самое смешное, что я ныне работаю на фирме, которая прорабатывает модели таких аппаратных компьютеров, и имеет уже достаточно чёткую модель, как это будет строиться. И я хорошо вижу недостатки современных вычислений, а в особенности мнимой многопроцессорности. Нет хорошей модели распределения вычислений. МОжно сделать хоть тысячу ядер, а реально будет работать только два. Ибо наши (в смысле все) программисты не обучены как расспаралеливать данные, т.к. не существует новой модели, как я уже говорил. Для аппаратного компьютера, придёться заново создавать научную базу, учить МЫСЛИТЬ по другому целые поколения студентов. Но если это удасться - то это будет мировой прорыв в компьютерной индустрии. Сравнимый наверное, с изобретением i4004
P.S. Представил аппаратный вирус. Смеялсо
Итак, о чём я? Мы предлагаем аппаратный компьютер. Т.е., модель компьютера такова. Что есть медленный маленький процессор, пусть арм сто мегагерц. И вокруг него насаженно уймища быстродействующих ПЛИС. И вся вычислительная мощь зашита в них. То бишь, нужно тебе допустим массив упорядочить - фигак, прошивка в плис, и дальше гонишь туда массив, а там всё за тебя делают. Ты загнал ПАРАЛЕЛЛЬНО! 100 элементов массива, и на выходе, в тот же миг получил УПОРЯДОЧЕННЫЕ элементы. Тогда, как пузырьковым методом будешь это делать хер знает сколько тактов! Но это не всё. Теперь не нужны интерфейсные платы, и порты ввода-вывода. Нужен тебе, например, интерфес USB. Пожалуйста - качнул прошивку из инета, ШНУРОК (без единой микрухи) подцепил - получите USB, ISA, PCI, да всё что душа пожелает. Это совершенно иная модель программирования - высокоэффективная и качественна. Но тут нужны люди с совершенно другим, качественно иным мышлением. Т.к. будут АППАРАТНЫЕ операционки. Наверняка, конечно будет софт, я даже представляю как сделать совместимость со старым железом. Но это уже будет рецедив. Т.к. софт - это уже устаревшее, неактуальное понятие. Балом править будет аппарат! Вы думаете, я рассказываю мистические вещи? Вовсе нет, уважаемый Intel и AMD вовсю делают такие фишки:

На рисунках на оригинальном сайте указывается, что акселератор устанавливается в один из слотов для процессора (т.е. как минимум двухпроцессорная материнка должна быть) и является изначально "чистым листом", который программируется дл выполнения разных задач извне (прошивка).
"Возможна ситуация, например, когда производитель игры вместе с самой игрой поставляет кофигурационный файл для FPGA и весь просчет физики / графики уходит туда. Или, используя несколько каналов (и банков) памяти, попеременно обрабатывать данные; после окончания - меняться каналами и результатами."
Это только шаг, первая ласточка. Но всё идёт к этому! Ссылка тут: http://www.xtremedatainc.com/xd2000i_brief.html , источник ссылки http://cooler-online.com/sc.php?cl031107.html&1
Даёшь смерть СОФТУ! Да здравствует аппаратная модель!
Самое смешное, что я ныне работаю на фирме, которая прорабатывает модели таких аппаратных компьютеров, и имеет уже достаточно чёткую модель, как это будет строиться. И я хорошо вижу недостатки современных вычислений, а в особенности мнимой многопроцессорности. Нет хорошей модели распределения вычислений. МОжно сделать хоть тысячу ядер, а реально будет работать только два. Ибо наши (в смысле все) программисты не обучены как расспаралеливать данные, т.к. не существует новой модели, как я уже говорил. Для аппаратного компьютера, придёться заново создавать научную базу, учить МЫСЛИТЬ по другому целые поколения студентов. Но если это удасться - то это будет мировой прорыв в компьютерной индустрии. Сравнимый наверное, с изобретением i4004
P.S. Представил аппаратный вирус. Смеялсо
no subject
Date: 2007-11-04 04:41 pm (UTC)no subject
Date: 2007-11-04 04:51 pm (UTC)no subject
Date: 2007-11-04 05:05 pm (UTC)no subject
Date: 2007-11-04 05:12 pm (UTC)а в целом идея совершенно правильная. начать можно с сопроцессоров для геометрии, звука, физики, ИИ, и т.п. а по мере наработки подпрограмм и полностью вытеснить обычную технологию.
хотя наеврное лучшим будут комбинированные схемы. одно или многопроцессорный блок + ПЛИС сопросцессоры или ПЛИС кммутаторы, для эффективного обмена данными и спец вычислений.
no subject
Date: 2007-11-04 05:13 pm (UTC)no subject
Date: 2007-11-04 05:18 pm (UTC)no subject
Date: 2007-11-04 05:28 pm (UTC)no subject
Date: 2007-11-04 05:33 pm (UTC)Даёшь смерть кремниевым схемам! Да здравствует биологическая модель!
no subject
Date: 2007-11-04 05:48 pm (UTC)no subject
Date: 2007-11-04 05:52 pm (UTC)А я сейчас занимаюсь СБИС СнК. Точнее не сейчас а вот уже как три года.
Я вижу другой интересный выход. Допустим у нас есть СБИС на котором масса готовых блоков: разные мат блоки, порты и пр.
И резон в этом есть очень серьезный, т.к. это выгоднее.
Так вот, можно их коммутировать прямо на СБИС по методу FPGA.
То есть сортируешь ты вектор - выстраивается готовая схема под сортировку, считаешь определитель матрицы - выстраивается готовая схема.
Причем компы в будущем должны стать сетевыми. В них уже сейчас очень много от сетей.
Так вот если процессор будет организован как сеть, то таких вместе объединить можно будет хоть миллион -)
Это собственно и есть наиболее передовая идея объединения процов -)
Кстати многие программисты очень крутые боятся сетей -) не хотят их учить -)
no subject
Date: 2007-11-04 06:07 pm (UTC)Однако сама идея зачетная. Но полностью заменить проц не получится. А вот какие-нибудь сопроцессоры так делать думаю вполне реально.
no subject
Date: 2007-11-04 06:15 pm (UTC)А почему программеры боятся сетей это не тайна. Бояться потому что трудно писать программы которые хорошо масштабируются и параллелятся. Хотя сейчас вроде появились Х10 и UPC (Unified Parallel C) вроде должно полегче стать.
no subject
Date: 2007-11-04 06:18 pm (UTC)no subject
Date: 2007-11-04 06:26 pm (UTC)no subject
Date: 2007-11-04 06:49 pm (UTC)Круг задач для графики давно определен, новое там придумать сложно. Идет такая же технологическая гонка мегагерцов/конвееров/шейдеров. Все упирается в кремний и качество драйверов. А сами алгоритмы 3D не менялись с 60-х годов. Нафига там (ре)программируемая логика ?
Аналогично, любой современный L3/MPLS роутер типа Cisco/Juniper - это огромная коммутационная матрица, и половина роутерной ОС - это прошивки множества FPGA. Но опять же - круг задач очень ограничен, пакеты перекладывать.
P.S. В журнале "Микропроцессорные средства и системы" в 1980-е очень любили писать про "процессоры с изменяемой архитектурой на основе логических матриц". Ага. И еще про нейрокомпьютеры, которые надо типа учить. Круг замыкается ? ;))
no subject
Date: 2007-11-04 06:52 pm (UTC)no subject
Date: 2007-11-04 06:53 pm (UTC)no subject
Date: 2007-11-04 06:56 pm (UTC)no subject
Date: 2007-11-04 06:57 pm (UTC)no subject
Date: 2007-11-04 06:59 pm (UTC)no subject
Date: 2007-11-04 07:12 pm (UTC)ЗЫ: Hail to the SkyNet!
no subject
Date: 2007-11-04 07:18 pm (UTC)no subject
Date: 2007-11-04 07:19 pm (UTC)Вcе уже украдено до нас :)
no subject
Date: 2007-11-04 07:37 pm (UTC)no subject
Date: 2007-11-04 08:01 pm (UTC)