Название: Заставило задуматься.. Отправлено: ieroglif от Апрель 23, 2010, 20:45 http://blog.gamedeff.com/?p=303
интересная с моей точки зрения философия. кто что думает? =) а если кто чего и думает - какие мысли о реализации? Название: Re: Заставило задуматься.. Отправлено: Авварон от Апрель 23, 2010, 21:18 тот человек про mpi слышал?)
Название: Re: Заставило задуматься.. Отправлено: Igors от Апрель 23, 2010, 21:43 Цитировать Что меняется, если принять такой концепт? Меняется подход к организации вычислений. Каждый “компьютер” (или тред) выполняют задачи. Отдельная задача имеет: Не вижу ничего нового. Разбить всю задачу к такие подзадачи - примерно то же распараллеливание, столь же ручное. * входные параметры. * выходные данные. * константные данные, которые могут требоваться в процессе вычислений. Название: Re: Заставило задуматься.. Отправлено: niXman от Апрель 23, 2010, 22:49 Цитировать а если кто чего и думает - какие мысли о реализации? мысли такие, что если их описать, получится больше чем сама статья :)...а влом. Название: Re: Заставило задуматься.. Отправлено: SABROG от Апрель 23, 2010, 23:10 Давно ли существует параллелизация в процессорах? Давно! Несколько конвееров на одном ядре. В каждом выполняется какая-то часть кода. Если одна часть кода зависит от вычислений другой части, то прирост производительности программы за счет параллелизации сводится на нет. Компиляторы худо бедно справляются с этой задачей оптимизируя код под определенную архитектуру, разворачивают циклы, минимизируют непредсказуемые переходы и тому подобное. Вся эта оптимизация производится на неком "среднем" уровне. Только под конкретную задачу и на ассемблере человек может распараллелить свой алгоритм так, как не сможет компилятор. С многоядерностью всё будет тоже самое. Компилятор будет оптимизировать код на автомате на некотором приемлимом уровне, но он не будет в состоянии переписать алгоритм quick sort сначала так, чтобы он не требовал рекурсии, а потом его можно было бы распараллелить, а в итоге понять, что распараллеленная версия radix sort быстрее quick sort, в то время как на одноядерном процессоре ситуация обратная. Достаточно посмотреть на библиотеки типа OpenSSL и встретить в ней ассемблерный код, который был специально написан и оставлен в ней, так как даёт скорость выше чем оптимизация компилятора. Так что однозначного ответа не будет никогда, каждой задаче - свой инструмент.
Название: Re: Заставило задуматься.. Отправлено: Tonal от Апрель 24, 2010, 17:21 Парень Erlang изобретает. :)
Ну и для Haskell-я подобные реализации есть, насколько я в курсе. |