dlinyj: (Default)
[personal profile] dlinyj
Даную статью мы хотели написать с товарищем Федей Добрянским, aka [livejournal.com profile] mlen в журнал Хакер (и надеюсь, что Федя снизойдёт до меня, и мы таки напишем эту статью, возможно при участии ещё остальных ребят). В общем в двух словах, стало ясно что ныне компьютерная индустрия подошла к технологическуму тупику (ну не могут сделать процессор на 10 ГГц). А наращивание количества ядер, сколько бы не гнали маркетологи - ничего ровным счётом не даёт. Ибо чёткой математической модели для распределения вычислений - нет! А что есть стара как мир, и была эффективна в 50-х годах прошлого века. Ныне должна подчевать на помойке, но до сих пор работает, и нас этому учат, потому и весят операционки два гига, когда их можно уместить ВСЁ в мегабайте! Но не в этом суть, суть в том, что распалелливание, и генерирование аппаратного решения проблемы значительно быстрее, и эффективнее, чем последовательное решение той же задачи с раздиранием ресурсов. Грубо говоря, у нас софтварная, последовательная, линейная, неэффективная модель решения проблем. Сколько бы не твердили Линукскойды, и прочие софтварщики (камень в огород [livejournal.com profile] slonskiy и [livejournal.com profile] m0na_sax), что без софта никуда - это не так. Софт - это пережитки прошлого. Теперь мы подошли к упору. Данную идею, после обсуждения с [livejournal.com profile] mlen мы активно начали обдумывать, рассасывать и переться от её крутости с товарищем [livejournal.com profile] di_halt, наверное около года назад. Затем идею вкусил, вероятно независимо от нас товарищ [livejournal.com profile] 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. Представил аппаратный вирус. Смеялсо
Page 1 of 4 << [1] [2] [3] [4] >>

Date: 2007-11-04 04:41 pm (UTC)
From: [identity profile] kray-zemli.livejournal.com
По сути, то про что ты говоришь, математически эквивалентно сверх-параллелизму. Действительно, можно делать процессоры маленькими-маленькими и херовенькими-херовенькими. Зато ставить их много-много. Только вот программирование этого в такой геморрой превратится!

Date: 2007-11-04 04:51 pm (UTC)
From: [identity profile] lysyj-jah.livejournal.com
Похожую модель в свое время Зонов пытался замутить - gmx называлось :) Там тоже железная часть компа частично прошивалась. А на Амиге были ММ-чипы всякие, сопроцессоры. Они хоть и не перешивались, но зато задачи свои выполняли именно параллельно.

Date: 2007-11-04 05:05 pm (UTC)
From: [identity profile] maddev.livejournal.com
А у вас уже были попытки конструирования такого устройства в чистом виде, т. е. ничего, кроме простого "загрузчика" (в том или ином виде) и ПЛИС? На какой стадии сейчас процесс?

Date: 2007-11-04 05:12 pm (UTC)
From: [identity profile] serg2x2.livejournal.com
о подобном компе я впервые читал лет 7 назад. когда только начали появляться достаточно большие ПЛИС. како-то университет тогда грозился сделать суперкомпьюиер стоимость в 10к$/ но что-то ничего больше про ту команду я не слышал, а сейчас даже и не вспомню, как они назывались..

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

хотя наеврное лучшим будут комбинированные схемы. одно или многопроцессорный блок + ПЛИС сопросцессоры или ПЛИС кммутаторы, для эффективного обмена данными и спец вычислений.

Date: 2007-11-04 05:13 pm (UTC)
From: [identity profile] maddev.livejournal.com
Скорее это эквивалентно программированию конечных автоматов в чистом виде. Методы и эффективность этого процесса - отдельный вопрос.

Date: 2007-11-04 05:18 pm (UTC)
From: [identity profile] kray-zemli.livejournal.com
Ну да. Насколько я знаю, FPGA -- штука тормозная, и до 10 ГГц её не разгонят никогда. :-)

Date: 2007-11-04 05:28 pm (UTC)
From: [identity profile] maddev.livejournal.com
"Библиотека аппаратных модулей", "устройство общего назначения (GPU)"... подумалось :) Кстати, самая простая сборка таких "аппаратных модулей" - статическая - самая эффективная. Например, каждый автомат-процесс может себе завести по собственному сумматору :)

Date: 2007-11-04 05:33 pm (UTC)
From: [identity profile] holybrake.livejournal.com
Да вообще вся аппаратура придумана хрен знает когда и уже неактуальна, а вот если взять кучу нейронов и заставить их обрабатывать данные все будет мегабыстро, потому что все будет мегапараллельно.
Даёшь смерть кремниевым схемам! Да здравствует биологическая модель!

Date: 2007-11-04 05:48 pm (UTC)
From: [identity profile] slonskiy.livejournal.com
Длинный, програмистов не боишься? Побъют ведь! :-D ))

Date: 2007-11-04 05:52 pm (UTC)
From: [identity profile] mlen.livejournal.com
Ну дык ты начни - я присоединись.
А я сейчас занимаюсь СБИС СнК. Точнее не сейчас а вот уже как три года.

Я вижу другой интересный выход. Допустим у нас есть СБИС на котором масса готовых блоков: разные мат блоки, порты и пр.

И резон в этом есть очень серьезный, т.к. это выгоднее.

Так вот, можно их коммутировать прямо на СБИС по методу FPGA.

То есть сортируешь ты вектор - выстраивается готовая схема под сортировку, считаешь определитель матрицы - выстраивается готовая схема.

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

Так вот если процессор будет организован как сеть, то таких вместе объединить можно будет хоть миллион -)

Это собственно и есть наиболее передовая идея объединения процов -)

Кстати многие программисты очень крутые боятся сетей -) не хотят их учить -)

Date: 2007-11-04 06:07 pm (UTC)
From: [identity profile] technobastard.livejournal.com
Ребята, идея конечно хороша, но есть одна существенная недоработка. ПЛИСЫ по сравнению с нормальными процессорами жутко тормозные. У них и частоты меньше и, чтобы разместить кол-во транзисторов такое же как на том же Коре 2 дуо, придется этих плисин набрать хуеву тучу (в комнате не поместится).

Однако сама идея зачетная. Но полностью заменить проц не получится. А вот какие-нибудь сопроцессоры так делать думаю вполне реально.

Date: 2007-11-04 06:15 pm (UTC)
From: [identity profile] technobastard.livejournal.com
У сетей и класстеров куча своих проблем. Лайвлоки, дэдлоки - фиг бы с ними, но задержка в десятки тысяч тактов процессора на доступ в глобальной распределенной памяти других узлов - это уже реальная тормозилка. Однако это лучшее что пока что придумано.

А почему программеры боятся сетей это не тайна. Бояться потому что трудно писать программы которые хорошо масштабируются и параллелятся. Хотя сейчас вроде появились Х10 и UPC (Unified Parallel C) вроде должно полегче стать.

Date: 2007-11-04 06:18 pm (UTC)
From: [identity profile] technobastard.livejournal.com
Хаг-хаг-хагал! Destroy all flash, metal is better than meat!

Date: 2007-11-04 06:26 pm (UTC)
From: [identity profile] technobastard.livejournal.com
Кстати, еще такое небольшое замечание. Описать аппаратный конвертер mp3 в звуковой поток в сотни раз труднее чем написать winamp. Так же и с любой другой программой. Так что программеры не умрут, по крайней мере до Рагнарока.

Date: 2007-11-04 06:49 pm (UTC)
From: [identity profile] alec_v.livejournal.com
Ты забыл написать, что один аппаратный акселератор давно уже сделан и уже стоит практически в каждом современном компе - это 3D ускоритель. И что ?

Круг задач для графики давно определен, новое там придумать сложно. Идет такая же технологическая гонка мегагерцов/конвееров/шейдеров. Все упирается в кремний и качество драйверов. А сами алгоритмы 3D не менялись с 60-х годов. Нафига там (ре)программируемая логика ?

Аналогично, любой современный L3/MPLS роутер типа Cisco/Juniper - это огромная коммутационная матрица, и половина роутерной ОС - это прошивки множества FPGA. Но опять же - круг задач очень ограничен, пакеты перекладывать.


P.S. В журнале "Микропроцессорные средства и системы" в 1980-е очень любили писать про "процессоры с изменяемой архитектурой на основе логических матриц". Ага. И еще про нейрокомпьютеры, которые надо типа учить. Круг замыкается ? ;))

Date: 2007-11-04 06:52 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
Готовые либы никто не отменял. Важно как их конфигить.

Date: 2007-11-04 06:53 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
Всё упираеться в круг задачь и готовые либы. Сейчас библиотек под ФПГА гораздо больше, чем в 80-е. И в скоре будет ещё больше. Раньше программы на ассемблере писались, ныне на визул бейсике и джаве.

Date: 2007-11-04 06:56 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
На счёт тормозов и обьёма процессоров - я думаю это временное явление. Скоро будет всё по другому, ты как считаешь? Я пока и говорю о сопроцессорах, а не полному отказу от процессорных систем.

Date: 2007-11-04 06:57 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
Программисты, если они хорошие программисты, не побьют. Они меня разделят. Но, вот софтварщиков, по типу тебя - боюсь ;)

Date: 2007-11-04 06:59 pm (UTC)
From: [identity profile] slonskiy.livejournal.com
Сейчас я тебя сам разделю! Прекрати обзываться! Я не софтварщик, и не железнячкик! Я ленивое пьяное быдло! И не забывай об этом!

Date: 2007-11-04 07:12 pm (UTC)
From: [identity profile] technobastard.livejournal.com
Как я считаю? Давай подумаем здраво. Один вентиль в ПЛИС занимает место куда больше чем на кристалле процессора из-за того что ПЛИС программируемая. И тут как ни ебись ничего не поделаешь. Так что процы выкидывать рано. Хотя, к Рагнарьку чего только не может произойти, так что посмотрим.

ЗЫ: Hail to the SkyNet!

Date: 2007-11-04 07:18 pm (UTC)
From: [identity profile] kray-zemli.livejournal.com
точно-точно! Мы тебя так распараллелим! :-)

Date: 2007-11-04 07:19 pm (UTC)
From: [identity profile] alec_v.livejournal.com
Во! Ты сам сказал. Как только появляются "библиотеки" и происходит унификация и отбор алгоритмов - сразу становится выгоднее сделать железное воплощение в базовом чипе. Даже слово вспомнил - "процессор с расширяемой системой команд". Ага. Или еще бывает : "специализированный сопроцессор". В PlayStation графический акселератор (Emotion Engine) виден именно как сопроцессор (128-битный).

Вcе уже украдено до нас :)

Date: 2007-11-04 07:37 pm (UTC)
From: [identity profile] diver.livejournal.com
Очень заинтересовал. Правда, спасибо.

Date: 2007-11-04 08:01 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
Посмотрим, посмотрим.
Page 1 of 4 << [1] [2] [3] [4] >>

January 2026

S M T W T F S
    123
456 78910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 22nd, 2026 08:49 pm
Powered by Dreamwidth Studios