Re[19]: Concurrent и Distributed Programming
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 17.01.06 14:50
Оценка:
Здравствуйте, GlebZ, Вы писали:

AVK>>Ну так добавление в очередь и есть запись указателей. Блокировка штука весьма дорогая и вполне сопоставима с временем работы лексера на тот же токен. Так что овчинка выделки не стоит. Можешь провести экспееримент. Я как то пробовал — получил 3% потерь на двухпроцессорной машине и 12% на однопроцессорной.

GZ>Во первых, относительно чего?

Относительно последовательного варианта.

GZ>Во-вторых, примитивы синхронизации InterlockedXXXX, мягко говоря, слишком неудовлетворительный список. И вообще, лучше не говорить о реализации платформы, поскольку ее и спрогнозировать сложно.


Не думаю что это сильно спасет.

AVK>>

В процах то же самое. Все зависит от предыдущего

GZ>А что переходы редкая операция?

Знаешь, между нередкая и любая большая большая разница.

GZ> С другой стороны, тут стоит поговорить о гранулярности. Мы что будем выполнять параллельно, switch или подпрограммы.


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

GZ> Функцию в функциональном языке типа Haskell или Clean распараллелить легко,


Языком. Еще раз — если алгоритм связанный, то его нельзя эффективно выполнять параллельно, вне запвисимости от того в каком стиле он записан, функциональном, императивном или каком то еще. Единственное что позволяют функциональные языки это уменьшить количество синхронизаций за счет создания копий данных. А это можно и в императивном языке явно сказать. Приемчики вроде foreach (X element in list.ToArray()) широко известны. Эту работу даже можно возложить на компилятор или JIT. Но это не приблизит нас к автоматическому распараллеливанию ни на шаг.

GZ>>> Но теперь задумайся, с помощью чего. Каждый нейрон является процессорам(причем не очень быстрый).

AVK>>Ни в коем разе. Практически ничего общего.
GZ>Отчего — же. Мы делаем одну задачу, но множеством процессоров. Нейрон — между прочим достаточно сложный процессор.

Ну точно таким же манером я могу назвать процессором каждый транзистор. Ну или, для полноты аналогий, каждый элементарный автомат вроде одноразрядного сумматора. Пойми — если мы говорим о логических проблемах бессмысленно углубляться в физические среды. Проблемы распараллеливания одни и те же, вне зависимости от того, что у тебя физически считает — транзисторы, радиолампы или реле. Да, конечно, базис у нейронных вычислений другой, но то что базис существенно влияет на возможность распараллеливания еще надо доказать.

GZ> И насколько я помню — дискретный. Что в этом такого? Нормальное поведение природы. Для нее не свойственны абстракции и сферические лошади в вакууме. Она учитывает все что есть в один момент времени.


Здорово. Но доказательства почему каждый нейрон это процессор, а мозг это массово-параллельный вычислитель я так и не увидел. И не увижу, поскольку как мозг функционирует, за исключением совсем простых вещей вроде управления дыханием, до сих пор не известно. Так что лучше обходись в доказательствах без аналогий.
... << RSDN@Home 1.2.0 alpha rev. 631>>
AVK Blog
Re[20]: Concurrent и Distributed Programming
От: Programmierer AG  
Дата: 17.01.06 14:57
Оценка:
Здравствуйте, AndrewVK, Вы писали:

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

Ничего доказывать не буду, просто 2 маленьких частных вопроса. 1) Где в мозгу тактовый генератор, и 2) есть ли корреляция между хорошим зрением (читай "графика высокого разрешения" ) и умственными способностями (производительностью):
Сдается мне, разница поглубже, чем просто разница в элементной базе. И ряд задач точно решается параллельно (хотя бы распознавание изображений).
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[9]: Concurrent и Distributed Programming
От: Mamut Швеция http://dmitriid.com
Дата: 17.01.06 15:08
Оценка:
M>>>А кто мешает копировать их параллельно? Или Вы думаете, что гарантированно выжмете всю пропускную способность файловой системы и при копировании одиночных файлов?

M>>B вот бац — закончилось место на диске. И все три файла не скопировались. Абыдна, да


M>У нас в ауле перед копированием проверяют свободное место на диске и общий объем файлов. И вообще не копируют, если они не влезут. Или Вы думаете, что во всех случаях корректнее скопировать часть файлов, чем ничего?


А теперь взмем еще пару процессов, которые работают с диском, пару свап файлов от разных приложений (например, Фотошоп и Макромедийные продукты) и оп-па, а место-то и закончилось
... << RSDN@Home 1.2.0 alpha rev. 619>>


dmitriid.comGitHubLinkedIn
Re[21]: Concurrent и Distributed Programming
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 17.01.06 15:20
Оценка:
Здравствуйте, Programmierer AG, Вы писали:

PA>1) Где в мозгу тактовый генератор, и 2) есть ли корреляция между хорошим зрением (читай "графика высокого разрешения" ) и умственными способностями (производительностью):


Понятия не имею.

PA>Сдается мне, разница поглубже, чем просто разница в элементной базе.


Да еще никому неизвестна. Потому и предлагаю от негодных аналогий воздержаться.

PA> И ряд задач точно решается параллельно (хотя бы распознавание изображений).


Так в обычном PC тоже много чего параллельно делается.
... << RSDN@Home 1.2.0 alpha rev. 631>>
AVK Blog
Re[13]: Concurrent и Distributed Programming
От: the_void Швейцария  
Дата: 17.01.06 16:52
Оценка:
Здравствуйте, mik1, Вы писали:

M>Давным-давно слышал про поддержку sparse-файлов в NTFS. И ни разу не встречал приложений, использующих их. Подскажите, для расширения кругозора?


Разреженные файлы используют ML Donkey и eMule.
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[20]: Concurrent и Distributed Programming
От: GlebZ Россия  
Дата: 17.01.06 17:17
Оценка:
Здравствуйте, AndrewVK, Вы писали:

GZ>> С другой стороны, тут стоит поговорить о гранулярности. Мы что будем выполнять параллельно, switch или подпрограммы.

AVK>Разница существенная — по ветвлению у тебя ровно два инварианта — пойдет и не пойдет. А на свитче у тебя уже их много. А если там еще и вычисляется что то, то у тебя количество инвариантов для int к примеру — 4 миллиарда, следовательно вероятность успешного предсказания существенно падает, а статистика растет.
Ну вероятность, точно такая же как и у ja. И jmp можно делать по переменной. Ничего кардинально особенного здесь особо нет.

GZ>> Функцию в функциональном языке типа Haskell или Clean распараллелить легко,

AVK>Языком. Еще раз — если алгоритм связанный, то его нельзя эффективно выполнять параллельно, вне запвисимости от того в каком стиле он записан, функциональном, императивном или каком то еще. Единственное что позволяют функциональные языки это уменьшить количество синхронизаций за счет создания копий данных. А это можно и в императивном языке явно сказать. Приемчики вроде foreach (X element in list.ToArray()) широко известны. Эту работу даже можно возложить на компилятор или JIT. Но это не приблизит нас к автоматическому распараллеливанию ни на шаг.
При сегодняшней алгоритмике, конечно нет.

GZ>>>> Но теперь задумайся, с помощью чего. Каждый нейрон является процессорам(причем не очень быстрый).

AVK>>>Ни в коем разе. Практически ничего общего.
GZ>>Отчего — же. Мы делаем одну задачу, но множеством процессоров. Нейрон — между прочим достаточно сложный процессор.
AVK>Ну точно таким же манером я могу назвать процессором каждый транзистор. Ну или, для полноты аналогий, каждый элементарный автомат вроде одноразрядного сумматора. Пойми — если мы говорим о логических проблемах бессмысленно углубляться в физические среды. Проблемы распараллеливания одни и те же, вне зависимости от того, что у тебя физически считает — транзисторы, радиолампы или реле. Да, конечно, базис у нейронных вычислений другой, но то что базис существенно влияет на возможность распараллеливания еще надо доказать.
Из Турчина.

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


GZ>> И насколько я помню — дискретный. Что в этом такого? Нормальное поведение природы. Для нее не свойственны абстракции и сферические лошади в вакууме. Она учитывает все что есть в один момент времени.

AVK>Здорово. Но доказательства почему каждый нейрон это процессор, а мозг это массово-параллельный вычислитель я так и не увидел. И не увижу, поскольку как мозг функционирует, за исключением совсем простых вещей вроде управления дыханием, до сих пор не известно. Так что лучше обходись в доказательствах без аналогий.
Ну, все таки, мы кое что знаем. И в принципе достаточно чтобы сделать некоторые выводы.
Иерархия понятий
Я все таки нашел Турчина в сети. Стоит заметить, что иерархия понятий нижнего уровня высчитывается параллельно и результируется на верхнем уровне.
Будет время, почитай. Чрезвычайно интересная книжка.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[21]: Concurrent и Distributed Programming
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 17.01.06 17:35
Оценка:
Здравствуйте, GlebZ, Вы писали:

GZ>При сегодняшней алгоритмике, конечно нет.


Ты так и не доказал, что для некоего зависимого алгоритма всегда (ну или хотя бы чаще) существует эквивалентный независимый. Перефразируя — а она существует, эта алгоритмика?

GZ>Из Турчина.


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

GZ>Ну, все таки, мы кое что знаем.


Что касаемо высшей нервной деятельности, то практически ничего.
... << RSDN@Home 1.2.0 alpha rev. 631>>
AVK Blog
Re[22]: Concurrent и Distributed Programming
От: Sinclair Россия https://github.com/evilguest/
Дата: 18.01.06 04:35
Оценка: :))
Здравствуйте, AndrewVK, Вы писали:
AVK>Я уж думал мы договорились без аналогий. Обсуждать мозг я не хочу, здесь это оффтопик.
Точно. Он все равно с nutsом на курорте от японцев отбивается.
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Статейка
От: Mamut Швеция http://dmitriid.com
Дата: 20.01.06 11:13
Оценка:
Наткнулся тут вот на такую вот статейку
... << RSDN@Home 1.2.0 alpha rev. 619>>


dmitriid.comGitHubLinkedIn
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.