vlkamov: Рембрандт. Автопортрет с широко открытыми глазами. (Default)
vlkamov ([personal profile] vlkamov) wrote2012-08-12 03:16 pm

Погоды стоят предсказанные

C особым интересом наблюдаю несколько потоков в технологическом прогрессе, идущих вопреки общепринятым мнениям. Например, несложные оценки позволяют понять, что почти все вновь обретенные и уже вышедшие в тираж интерфейсы для компьютерной периферии вполне могут быть заменены одним, который маркетологам и их хозяевам уничтожить никак не удается. Точнее - это целое семейство технологий известное под именем Ethernet, и потихоньку оно все равно берет свое, проникая в телевизоры, радиоприемнкики, игровые приставки, медиаплееры, жесткие диски.

Также меня веселят (хотя денег жалко) потуги переодеть телевидение в цифровые одежды. TV (по Ethernet :-) vs Интернет (аналогично) - это все равно что плотник супротив столяра. Давайте его уже закопаем. Ну там мотор-колесо и еще ряд.

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

В числе этих в штыки встречаемых тенденций - многоядерные процессоры. Много лет тому назад, посмотрев на вентилятор, привинченный к видеокарте (тогда еще это было внове), я сказал, что раз вычислительная мощь графических процессоров растет такими темпами, они сделают CPU ненужными. В те времена многоядерных CPU не было. Точнее, они конечно же были, но публике об этом предпочитали не говорить: кластеры вычислительных ядер в массовых CPU тогда скрывались под кличкой "конвейеры" и "спекулятивное исполнение", а реально многоядерные чипы считались нишевыми и стоили дорого. И ведь было ясно, что массив универсальных ядер в изготовлении мало отличается от конвейера, зато более гибок. Прошли годы, однако IT-отрасль с упорством, достойным лучшего применения цепляется за давно умершую идею Central Processor Unit.
Многопоточность (как доктрину программирования) не следует путать ни с многозадачностью, ни с многопроцессорностью, несмотря на то, что операционные системы, реализующие многозадачность, как правило реализуют и многопоточность.

Да-да, ребята, не суйтесь, а не то сильно обидите дяденек в Интел.

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

К чему это я ? А вот
Today the source code to the Rootbeer GPU Compiler was released as open source on github. This work allows for a developer to use almost any Java code on the GPU. It is free, open source and highly tested. Rootbeer is the most full featured translator to convert Java Bytecode to CUDA. It allows arbitrary graphs of objects to be serialized to the GPU and the GPU kernel to be written in Java.

Компилятор Java для GPU. Учитывая, что на Джаве есть версии не только всех основных типов прикладных программ, но даже и OS, видим, что на долю когда-то могучего CPU остается лишь управление факультативной периферией, вентиляторами, БП. И то только потому, что на видеокартах нет разьемов. А вот самим "центральным" вентилятор уже не нужен - вряд ли там больше 1-го ватта потребуется. Как и было предсказано.

Производители графических чипов уже двигаются в сторону универсальности сохраняя массивную многоядерность. Видимо, прорыв произойдет, когда для игроделов и игроманов дойдет, что увеличить общую производительность компа втыканием еще одной процессорной карты проще и выгоднее, чем менять мать-плату + ц.процессор + видеокарту + память. Ну может не само дойдет, т.к. стремление игроделов нагрузить посильнее ЦПУ уже сейчас наводит на нехорошие подозрения.

[identity profile] raydac.livejournal.com 2012-08-12 09:19 am (UTC)(link)
если GPU сделает ненужным CPU то мы придем опять к тому с его все началось в начале, к машинкам где видеопамять и обычная память - одно и тоже, всё повторяется :)
имхо многопроцессорные компы можно было уже в 80-х дома на коленке паять.. жаль поздно додумались как http://www.igormaznitsa.com/zxpoly/zxpoly.html

[identity profile] vlkamov.livejournal.com 2012-08-12 09:37 am (UTC)(link)
> если GPU сделает ненужным CPU то мы придем опять к тому с его все началось в начале,
> к машинкам где видеопамять и обычная память - одно и тоже, всё повторяется :)
Ну 640 килобайт-то центральному оставим, как завещал великий Гейтс :-)


[identity profile] raydac.livejournal.com 2012-08-12 09:53 am (UTC)(link)
имхо 640 килобайт хватило ьы на 99% программ и приложений, просто есть эффект сродни принципу Питера - "в вычислительном устройстве, программа растет до размеров отведенной памяти", я смотрю на современный софт, он не просто большой, он гигантский, но при этом функционал его не на много отличается от его собратьев которых я видел на весьма скромных машинках в 90-х

[identity profile] vlkamov.livejournal.com 2012-08-12 10:25 am (UTC)(link)
До сих пор помню заметку в PCweek. Журналист писал, что разработчики BeOS для демонстрации ее возможностей открыли 6 окошек и запустили в каждом видеоролик. Процессор 200 МГц.

[identity profile] raydac.livejournal.com 2012-08-12 10:28 am (UTC)(link)
на Java day в питере, оракл презентовал Java для слабеньких embedded девайсов, слабенький девайс (который некоторые там сравнили со спектрумом, так как никогда не видели в жизни последний) определялся как проц от 300 мегагерц и память от гигабайта

[identity profile] vlkamov.livejournal.com 2012-08-12 09:51 am (UTC)(link)

"Замыкая круг"

The ZX-Poly sprite correcting utility
-----------------------------------------------------------------
The utility allows to find sprites in Hobeta formatted ZX-Spectrum files, colorize them and save the result as four separated data blocks to be started by each processor module. The utility is written in Java 1.6

[identity profile] raydac.livejournal.com 2012-08-12 09:54 am (UTC)(link)
можно тогда дальше замкнуть http://code.google.com/p/j2z80/
eldhenn: (Default)

[personal profile] eldhenn 2012-08-12 09:57 am (UTC)(link)
>отрасль с упорством, достойным лучшего применения цепляется за давно умершую идею Central Processor Unit

Cell уже был. И где тот cell?

[identity profile] vlkamov.livejournal.com 2012-08-12 10:05 am (UTC)(link)
У ней внутре

Процессор Intel Core i7
Частота ЦП: 2,66—3,6 GHz
Скорость QPI: 4,8—6,4 ГП/с
Число ядер: 2, 4 или 6

Уже название выдает.
eldhenn: (Default)

[personal profile] eldhenn 2012-08-12 10:20 am (UTC)(link)
Я вас про cell спрашиваю. Истинный универсальный "многопроцессор". Core это всё тот же x86, который вы так не любите.

[identity profile] vlkamov.livejournal.com 2012-08-12 10:35 am (UTC)(link)
Это не тот же x86. Это 6 RISC ядер. IBM открыла рынок, а Intel ничего неоставалось как возглавить процесс.

Сам же Cell сидит в Playstation 3

eldhenn: (Default)

[personal profile] eldhenn 2012-08-12 01:33 pm (UTC)(link)
Вот именно, что сидит в PS3 и не рыпается.

Про параллельность. Вы пробовали писать параллельные програмы? Не встречались с простреливанием себе чьей-то чужой ноги?
Edited 2012-08-12 13:34 (UTC)

[identity profile] vlkamov.livejournal.com 2012-08-12 01:51 pm (UTC)(link)
Нет, не пробовал.

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

Если бы тогда учащийся высказал неудовольствие никчемным использованием учебного времени, наверняка нашлись бы люди, спросившие: "А ты пробовал программировать на С ?".

При том, что C как раз изучать было нужно.

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

Кстати, в ногу стреляют из-за неправильного использования инструмента.

[identity profile] omega-hyperon.livejournal.com 2012-08-12 04:57 pm (UTC)(link)
Так ведь не на всех задачах параллельность дает какие-либо существенные выгоды, хотя конечно ее научаться пихать куда надо и не надо со временем.
eldhenn: (Default)

[personal profile] eldhenn 2012-08-12 10:03 am (UTC)(link)
Теперт жаба сможет затормозить даже GPU?