LINUX.ORG.RU
ФорумTalks

Дональд Кнут сказал, что параллельное программирование выше его способностей.


0

0

http://tech.slashdot.org/article.pl?sid=08/04/26/1627248

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

Перемещено Die-Hard из Development

anonymous

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

да кто его щас слушает уже.
зы. книжки кнута не читал и не собираюсь.

anonymous ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

> книжки кнута не читал и не собираюсь.

И правильно, друк, Ничего полезного в них нету.

tailgunner ★★★★★ ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

Многие гениальные человеки мудряются дожить до того возраста, когда при наличии способности разговаривать, они уже утратили способность мысли. Дай бог всем нам зажиться на этом свете подобно этому утратившему разум старикашке.

anonymous ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.


--- cut ---
As to your real question, the idea of immediate compilation and "unit tests" appeals to me only rarely, when I’m feeling my way in a totally unknown environment and need feedback about what works and what doesn’t. Otherwise, lots of time is wasted on activities that I simply never need to perform or even think about. Nothing needs to be "mocked up."
--- cut ---

что называется "почувствуй разницу".

// wbr

klalafuda ★☆☆ ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

Кнут дело говорит, ребятня. Параллельное программирование вручную = анальное рабство. А ну марш прорабатывать пи-исчисление и сопутствующие вещи. Я не шучу.

anonymous ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.


--- cut ---
Donald: The field of combinatorial algorithms is so vast that I’ll be lucky to pack its sequential aspects into three or four physical volumes, and I don’t think the sequential methods are ever going to be unimportant. Conversely, the half-life of parallel techniques is very short, because hardware changes rapidly and each new machine needs a somewhat different approach. So I decided long ago to stick to what I know best. Other people understand parallel machines much better than I do; programmers should listen to them, not me, for guidance on how to deal with simultaneity.
--- cut ---

так и напрашивается мысль "ну не долбоёб ли онанимус?".

// wbr

klalafuda ★☆☆ ()

Re^2: Дональд Кнут сказал, что параллельное программирование выше его способностей.

> так и напрашивается мысль "ну не долбоёб ли онанимус?".

Ну почему сразу долбоёб? Просто он использует критическую уязвимость "по ссылкам не ходить" :)

Кстати, похоже что это он пару дней назад здесь же предлагал закопать C++, переврав какую-то фразу про сборщики мусора.

// Ѣ ходят на ЛОР не по ссылкам

gaa ★★ ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

>книжки кнута не читал и не собираюсь.

абсолютно верно, все что написал Кнут уже реализовала Великая Фирма Microsoft в своем передовом продукте VB for idiots.

generatorglukoff ★★ ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

>так и напрашивается мысль "ну не долбоёб ли онанимус?".

почему у меня она (мысль) возникла еще при прочтении заголовка :-?

generatorglukoff ★★ ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

а кто это? родственник макдональнда или из утиных историй?

anonymous ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

один ононимуз фееричнее другого

сегодня соревнование по пердежу в лужу? (%

AnDoR ★★★★★ ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

А ты, дурачок, способен программировать многопоточность КАЧЕСТВЕННО?

У Кнута, знаешь ли, очень высокие стандарты. Если он не может делать это так же хорошо, как последовательное программирование, то, значит, этого делать и не стоит вовсе. Разумный подход.

До сих пор НИКТО не научился правильному параллельному программированию. Вообще никто, включая самого Робина Милнера.

anonymous ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

> Если он не может делать это так же хорошо, как последовательное программирование, то, значит, этого делать и не стоит вовсе. Разумный подход.

Если не нужно программировать параллельные приложения - очень разумный. Но вот беда - их таки надо программировать :D

> До сих пор НИКТО не научился правильному параллельному программированию. Вообще никто, включая самого Робина Милнера.

Ты хотел сказать - до сих пор никто не знает, что такое правильное параллельное проограммирование?

tailgunner ★★★★★ ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

> Но вот беда - их таки надо программировать :D

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

>Ты хотел сказать - до сих пор никто не знает, что такое правильное параллельное проограммирование

Я это не только хотел сказать, я это даже и сказал.

anonymous ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

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

А, так "достаточно независимые потоки" не являются параллельным программированием? Тогда ой. А как определить, достаточно ли независимы потоки?

>> Ты хотел сказать - до сих пор никто не знает, что такое правильное параллельное проограммирование

> Я это не только хотел сказать, я это даже и сказал.

Если никто не знает, какое правильное, откуда ты знаешь, что все известные - неправильные? :D

tailgunner ★★★★★ ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

> А, так "достаточно независимые потоки" не являются параллельным программированием?

Естественно. Поскольку ничем это не отличается от не-параллельного программирования.

Тупейший пример:

dd ... | nc ...

И nc ... | dd ... на другом конце.

Не просто параллельное во все щели, но ещё офигеть какое распределённое программирование, где все компоненты сделаны абсолютно и тупо последовательными.

> А как определить, достаточно ли независимы потоки?

Например, по отсутствию обратной связи.

> Если никто не знает, какое правильное, откуда ты знаешь, что все известные - неправильные? :D

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

anonymous ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

> Если никто не знает, какое правильное, откуда ты знаешь, что все известные - неправильные? :D

По моему нет правильного или не правильного, а есть более эффективные или менее эффективные, более удобные и менее удобные, средства и методы разработки в тех или иных условиях.

ilnurathome ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

Математическое обоснование алгоритмов-наше всио

Сборная гопников-быдлопрограммеров

anonymous ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

> Не просто параллельное во все щели, но ещё офигеть какое распределённое программирование, где все компоненты сделаны абсолютно и тупо последовательными.

Вот именно. CSP решает :)

>> А как определить, достаточно ли независимы потоки?

> Например, по отсутствию обратной связи.

Ну, это тривиальный и вырожденный случай... неинтересно.

>> Если никто не знает, какое правильное, откуда ты знаешь, что все известные - неправильные? :D

>Нельзя легко доказывать наличие или отсутствие фундаментальных свойств у таких алгоритмов

Каких именно фундаментальных свойств?

tailgunner ★★★★★ ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

>Тупейший пример:

>dd ... | nc ...

>И nc ... | dd ... на другом конце.

Имеешь ввиду конвеер? Так это тоже параллельное программирование, причем запихнуть в конвеер, можно не все, да и массштабирование под вопросом.

ilnurathome ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

> так и напрашивается мысль "ну не долбоёб ли онанимус?".

+1. Я чертовски самокритичен.

anonymous ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

> Математическое обоснование алгоритмов-наше всио

Хочешь сказать, что выбор средств на производительность не влияет? Изъезженная тема про OpenMP vs MPI.

ilnurathome ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

>Всегда подозревал, что маразматический старикашка ничего кроме своего Literate programming асилить не может. Он призывает производителей микросхем вернуться в век, когда программы выполнялись на одном ядре

Почему бы сразу не назвать Кнута и Столлмана - ботаниками, и пойти пить пиво в подворотню? Не забудь бить машины.

xTERM ★★ ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

Надоело тупое быдло на ЛОРе.

xTERM ★★ ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

А по теме: многоядерность - зло. На сервере еще нормально, не спорю. Но на клиенте (а кол-во клиентов на несколько порядков больше) оно только уменьшает производительность, ибо редко у нас активно больше 2х программ на десктопе. Можно конечно расспараллеливать существующие программы, но однопоточный процесс быстрой сортировки на одном мощном ядре будет быстрее своих параллельных альтернатив на двух половинных ядрах. Да и программирование усложняется несказанно... низкоуровневые языки уже использовать проблематично, а за счет высокоуровневых тормозов еще добавится. Тут плакать надо, а не радоваться. Возможно Intel уже не может создать одно хорошее ядро вместо двух плохих, что опять-таки не повод для веселья...

xTERM ★★ ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

>> Математическое обоснование алгоритмов-наше всио

>Хочешь сказать, что выбор средств на производительность не влияет? Изъезженная тема про OpenMP vs MPI.

лол, тема выбора средств входит в математическое обоснование алгоритма. именно поэтому обоснование - достаточно сложное занятие.

generatorglukoff ★★ ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

>многоядерность - зло.

отсутствие мозгов и кривые руки - зло.

>ибо редко у нас активно больше 2х программ на десктопе

Tasks: 95 total, 3 running, 92 sleeping, 0 stopped, 0 zombie

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

Безусловно. Но никто не будет делать половинные ядра. А вот проблема упереться в граничную тактовую частоту весьма реальна, и либо произойдет технологическая революция (появятся процессоры принципиально другого типа), либо эволюция - ядер станет больше.

>Да и программирование усложняется несказанно...

Думать вообще сложно, может слесарем?^W^W^W^W^W А о чем мы тут говорим? Нет математики вокруг этого дела. Как появится - все будет кристально прозрачно как 10+10=100.

generatorglukoff ★★ ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

>>ибо редко у нас активно больше 2х программ на десктопе

>Tasks: 95 total, 3 running, 92 sleeping, 0 stopped, 0 zombie

Ну вот, 2 задачи, и ps. Так что xTERM прав :D

tailgunner ★★★★★ ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

Революция будет. Потому что тот, кто сдепает процессор, работающий в 1000 раз быстрее современных, получит очень много денег, а это хороший challendge. А ядра увеличивать — тупиковый путь.

Legioner ★★★★★ ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

> Революция будет. Потому что тот, кто сдепает процессор, работающий в 1000 раз быстрее современных, получит очень много денег, а это хороший challendge. А ядра увеличивать — тупиковый путь.

Везде есть свой предел, кремний к нему подошел, и выше своей головы уже не прыгнет. Говоряд, что еслиб чипы делали из германия, то тактовую частоту можно было-бы еще как минимум на несколько порядков поднять, но увы, на данном этапе, себистоимость производства одного чипа уровня хотя-бы StrongARM-а (по кол-ву транзисторов) будет выше чем себистоимость сборки Bugatti Veyron.

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

Чем кстати вам так не угодил путь увеличения числа ядер? Природа давно так сделала, и получился вполне себе моск млекопитающего, -- сверхпараллельный компьютер, по уровню параллелеризма превосходящий любые Blue Gene/L. А с введением в строй быстрых interconnect-ов между ядрами, основанных на оптике, прирост производительности от увеличения числа ядер станет более линейным, так что будет всем счастье.

fmj ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

> Чем кстати вам так не угодил путь увеличения числа ядер?

+1, Массово-параллельные компьютеры - вполне отработанная в середине 80-х технология, а тут еще и ФП суетится, обещая распараллеливание почти на халяву.

tailgunner ★★★★★ ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

> Нужно что-то принципиально новое, и не факт, что это принципиально новое в ближайшем столетии создадут

Я практически на 99% уверен, что создадут, причём в ближайшие 10 лет. Т.е. в 2018 году производительность среднего компьютера будет больше сегодняшней на пару порядков.

> Чем кстати вам так не угодил путь увеличения числа ядер?

Во-первых банально греться будет. Уже сейчас охлаждение становится проблемой, если на плате будут стоять 64 сегодняшних процессора, нужно будет очень активное водяное охлаждение.

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

Единственная возможность захвата десктопа многоядерниками — создание языка, очень похожего на Java/C#, который будет автоматически или почти автоматически параллелиться и самостоятельно разруливать дедлоки и проблемы синхронизации. И давать реальное, близкое к линейному повышение производительности.

Иначе просто не будут покупать 10-ядерные процессоры, если они не дадут никакого преимущества пред 2-ядерными, что бы ни вещали маркетологи. Потребитель дурак но не идиот, у него всегда есть телефон "программиста Васи", с которым он посоветуется перед покупкой.

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

Legioner ★★★★★ ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

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

HP ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

Да. Sun уже получила большие средства от правительства на создание лазерных соединителей между элементами процессора.

xTERM ★★ ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

> Единственная возможность захвата десктопа многоядерниками — создание языка, очень похожего на Java/C#

Ничего, подожди, они (бараны) скоро к иммутабельности привыкнут. Ещё пара поколений таких языков, и введут ключевое слово mutable, оставив всё остальное иммутабельным. Вот тогда и можно будет параллелить попсовые языки.

anonymous ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

>И давать реальное, близкое к линейному повышение производительности.

О таком даже мечтать нельзя, гугли "закон Амдала".

anonymous ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

> Он призывает производителей микросхем вернуться в век, когда программы выполнялись на одном ядре

А до сих пор одно быстрое ядро в любых нужных обычному человеку задачах дрючит несколько ядер послабее. Потому что программеры тоже люди, а писать под одно ядро последовательно намного проще, да и у народа привычка ещё со времён DOS.

anonymous ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

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

такие языки создаются, но только пока они не могут выйти из узкого применения или лабораторий.

Сейчас пока ковыряю opents и upc, на предмет возможного применения.

ilnurathome ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

>Я практически на 99% уверен, что создадут, причём в ближайшие 10 лет. Т.е. в 2018 году производительность среднего компьютера будет больше сегодняшней на пару порядков.

С цифрами нелады. К 2018 дай тнб массовым станет то, что сейчас в виде концептов существует. О связке изобретут+внедрят и говорить смешно.

>Единственная возможность захвата десктопа многоядерниками — создание языка, очень похожего на Java/C#, который будет автоматически или почти автоматически параллелиться и самостоятельно разруливать дедлоки и проблемы синхронизации.

Критичное к производительности разве не на си пишут? А то и на асме. Если у них не получается с одним ядром справиться, с чего ждать такого скачка?

>Иначе просто не будут покупать 10-ядерные процессоры, если они не дадут никакого преимущества пред 2-ядерными, что бы ни вещали маркетологи.

Будут. Просто очередной кризис будет тормозить на 4х ядрах чуть более, чем на 16. Вот и купят.

>Потребитель дурак но не идиот, у него всегда есть телефон "программиста Васи", с которым он посоветуется перед покупкой.

Да, конечно. А у производителя есть толпа программистов-проприетарщиков, которые по звонку склепают такой код, какой надо. И шибко умные потребители будут сильно удивлены.

anonymous ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

> Единственная возможность захвата десктопа многоядерниками — создание языка, очень похожего на Java/C#, который будет автоматически или почти автоматически параллелиться и самостоятельно разруливать дедлоки и проблемы синхронизации.

Жабабыдлокодеры такие жабабыдлокодеры. Им тут про ФП, про пи-исчисление, а они всё мыслят своими мутексами и семафорами. Пока не осознаешь, что кроме исторически сложившейся парадигмы параллелизма с разделяемым состоянием есть и другие пути, можешь в тред не приходить.

anonymous ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

>> И давать реальное, близкое к линейному повышение производительности.

> О таком даже мечтать нельзя, гугли "закон Амдала".

Закон Амдала не запрещает линейное повышение производительности.

tailgunner ★★★★★ ()

Re: Дональд Кнут сказал, что параллельное программирование выше его способностей.

Ату его!

Burbaka ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.