Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Изучать параллельное программирование / 20 сообщений из 20, страница 1 из 1
13.11.2012, 12:01
    #38035978
Винни-Бух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изучать параллельное программирование
Запрос по словосочетанию "параллельное программирование" на ozon.ru выдает 21 книгу. Может быть, мэстные гуру сразу назовут книгу, которую стоит детально изучить? Если есть что-то очень стоящее и только на английском - не страшно. Заодно и язык подтяну.
...
Рейтинг: 0 / 0
13.11.2012, 12:59
    #38036130
Abstraction
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изучать параллельное программирование
Винни-Бух,

В смысле алгоритмов, у меня есть Гергель, вроде неплох. В смысле мануала для начинающего, вроде была сносная книжка по CUDA за авторством Борескова.
А так присоединяюсь к вопросу...
...
Рейтинг: 0 / 0
13.11.2012, 21:12
    #38037034
Изучать параллельное программирование
Винни-БухЗапрос по словосочетанию "параллельное программирование" на ozon.ru выдает 21 книгу. Может быть, мэстные гуру сразу назовут книгу, которую стоит детально изучить?
Детально изучить стоит disruptor, вернее собственно только главу 3.1 The Cost of Locks отсюда http://disruptor.googlecode.com/files/Disruptor-1.0.pdf

А потом 0mq (zmq). http://zguide2.zeromq.org/page:all#Fixing-the-World

Так, чтоб понять, что современные взгляды на параллельное программирование (подходы SMP, а не MPP) это фуфел полный, нас всех круто не то что поимели, но так, чутка обманули.
Потом можно почитать по 10000 connections (nginx, libevent), сравнить с thread based apache, тоже много думать, если есть, конечно, чем....
...
Рейтинг: 0 / 0
14.11.2012, 15:40
    #38038237
Думан Константин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изучать параллельное программирование
...
Рейтинг: 0 / 0
14.11.2012, 15:51
    #38038265
OoCc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изучать параллельное программирование
мне понравилась C++ Concurrency in Action by Anthony Williams
...
Рейтинг: 0 / 0
14.11.2012, 23:08
    #38038929
Винни-Бух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изучать параллельное программирование
Спасибо за ответы!
Я забыл только написать, что это самое параллельное программирование мне нужно в языке C# в веб-приложениях. Ну, и в WCF тоже.
Правда, С++ тоже потихоньку изучаю, так что "C++ Concurrency in Action by Anthony Williams" также пригодится.
...
Рейтинг: 0 / 0
15.11.2012, 00:29
    #38039000
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изучать параллельное программирование
Винни-Бух,

Интересно, зачем оно нафиг в вэб-программировании.
...
Рейтинг: 0 / 0
15.11.2012, 16:29
    #38040060
Винни-Бух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изучать параллельное программирование
2 ShSerge:

Нууууууу, классическая задача: загрузка на сервер (на диск, или в БД) картинки из формы, в которой есть еще и другие поля, которые нужно внести в БД, или нескольких картинок (preview всякие вместе с большой картинкой).
...
Рейтинг: 0 / 0
15.11.2012, 23:04
    #38040622
Изучать параллельное программирование
Винни-Бух2 ShSerge:

Нууууууу, классическая задача: загрузка на сервер (на диск, или в БД) картинки из формы, в которой есть еще и другие поля, которые нужно внести в БД, или нескольких картинок (preview всякие вместе с большой картинкой).

Мда...

Проясним ситуацсравнить с thread based apache, тоже много думать, если есть, конечно, чем....
...
Рейтинг: 0 / 0
15.11.2012, 23:11
    #38040628
Изучать параллельное программирование
Проясним ситуацТак, чтоб понять, что современные взгляды на параллельное программирование (подходы SMP, а не MPP) это фуфел полный, нас всех круто не то что поимели, но так, чутка обманули.
Потом можно почитать по 10000 connections (nginx, libevent), сравнить с thread based apache, тоже много думать, если есть, конечно, чем....
А с NUMA тоже обманули?
А сколько thread based apache конектов при тех же условиях?
...
Рейтинг: 0 / 0
15.11.2012, 23:20
    #38040642
Изучать параллельное программирование
с NUMA тоже обманулиПроясним ситуацТак, чтоб понять, что современные взгляды на параллельное программирование (подходы SMP, а не MPP) это фуфел полный, нас всех круто не то что поимели, но так, чутка обманули.
Потом можно почитать по 10000 connections (nginx, libevent), сравнить с thread based apache, тоже много думать, если есть, конечно, чем....
А с NUMA тоже обманули?
NUMA это модель для Oracle RDBMS. Фактически это и есть MPP.

Когда куча взаимонезависимых процессов, выделенных под каждого клиента - долбится фактически независимо, только иногда пересекаясь на теме блокировок страниц в разделяемой памяти (кстати, крайне дорогостоящих).

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

Как пример локального успеха SMP можно привести вон winrar. Но реализация многопоточности в winrar - это когда фактически каждый тред независимо жмет свой участок файла. Т.е. это тоже MPP.

с NUMA тоже обманулиА сколько thread based apache конектов при тех же условиях?
Без понятия. Еслиб ты почитал основы, да реализацию, то довольно быстро бы понял, что треды в современном линуксе вообще не отличаются по "тяжести" от процессов.

Изучай уже функцию clone(), мож и поймешь чего. Про copy-on-write тоже
...
Рейтинг: 0 / 0
15.11.2012, 23:31
    #38040652
Изучать параллельное программирование
Проясним ситуацс NUMA тоже обманулипропущено...

А с NUMA тоже обманули?
NUMA это модель для Oracle RDBMS. Фактически это и есть MPP.

Когда куча взаимонезависимых процессов, выделенных под каждого клиента - долбится фактически независимо, только иногда пересекаясь на теме блокировок страниц в разделяемой памяти (кстати, крайне дорогостоящих).

Я же говорил о том, что современные попытки автоматически распараллелить один линейный код (то что сейчас подразумевается под параллельным программированием) - это полный фуфел - синхронизация (неуправляемая, человеком) съест все бенефиты.
А чем отличается автоматически распараллеливается от неавтоматически и можно пример программы которая распараллеливается автоматически?
...
Рейтинг: 0 / 0
15.11.2012, 23:34
    #38040656
social paradoxus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изучать параллельное программирование
NUMA это модель для OracleПроясним ситуацпропущено...

NUMA это модель для Oracle RDBMS. Фактически это и есть MPP.

Когда куча взаимонезависимых процессов, выделенных под каждого клиента - долбится фактически независимо, только иногда пересекаясь на теме блокировок страниц в разделяемой памяти (кстати, крайне дорогостоящих).

Я же говорил о том, что современные попытки автоматически распараллелить один линейный код (то что сейчас подразумевается под параллельным программированием) - это полный фуфел - синхронизация (неуправляемая, человеком) съест все бенефиты.
А чем отличается автоматически распараллеливается от неавтоматически и можно пример программы которая распараллеливается автоматически?

Вот эти чудаки на полном серьезе декларируют, что могут автоматом параллелить С++ код, ага.

http://software.intel.com/en-us/intel-tbb
...
Рейтинг: 0 / 0
15.11.2012, 23:47
    #38040666
Изучать параллельное программирование
social paradoxusNUMA это модель для Oracleпропущено...

А чем отличается автоматически распараллеливается от неавтоматически и можно пример программы которая распараллеливается автоматически?

Вот эти чудаки на полном серьезе декларируют, что могут автоматом параллелить С++ код, ага.

http://software.intel.com/en-us/intel-tbb
Вопрос, что понимается под автоматом?

Автоматом - это параллелизация в результате оптимизации (в частности конвейеризация и векторизация), когда исходный код меняется на ровно 0%.
А вот использование OpenMP и TBB - это уже ручками код править/дописывать.
...
Рейтинг: 0 / 0
15.11.2012, 23:56
    #38040673
social paradoxus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изучать параллельное программирование
NUMA это модель для Oraclesocial paradoxusпропущено...


Вот эти чудаки на полном серьезе декларируют, что могут автоматом параллелить С++ код, ага.

http://software.intel.com/en-us/intel-tbb
Вопрос, что понимается под автоматом?

Автоматом - это параллелизация в результате оптимизации (в частности конвейеризация и векторизация), когда исходный код меняется на ровно 0%.
А вот использование OpenMP и TBB - это уже ручками код править/дописывать.

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

А автоматом - это когда хинтов поняляпал ото поверх изначально линейного кода, а оно само окрестровку тредов устраивает, из твоих подсказок.
...
Рейтинг: 0 / 0
16.11.2012, 00:06
    #38040680
Изучать параллельное программирование
Проясним ситуацс NUMA тоже обманулипропущено...

А с NUMA тоже обманули?
NUMA это модель для Oracle RDBMS. Фактически это и есть MPP.

Когда куча взаимонезависимых процессов, выделенных под каждого клиента - долбится фактически независимо, только иногда пересекаясь на теме блокировок страниц в разделяемой памяти (кстати, крайне дорогостоящих).
А причем тут Oracle? NUMA - это архитектура всех современных многопроцессорных серверов.
...
Рейтинг: 0 / 0
16.11.2012, 00:10
    #38040681
social paradoxus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изучать параллельное программирование
NUMA это модель для OracleПроясним ситуацпропущено...

NUMA это модель для Oracle RDBMS. Фактически это и есть MPP.

Когда куча взаимонезависимых процессов, выделенных под каждого клиента - долбится фактически независимо, только иногда пересекаясь на теме блокировок страниц в разделяемой памяти (кстати, крайне дорогостоящих).
А причем тут Oracle? NUMA - это архитектура всех современных многопроцессорных серверов.

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

И которым становится очень плохо, когда они начинают между собой реально конкурировать за эту разделямую память (пытаются долбить в один и тот-же блок).
...
Рейтинг: 0 / 0
16.11.2012, 11:25
    #38041123
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изучать параллельное программирование
Винни-Бух,

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

Если забуду, напомни мылом, в профиле.
...
Рейтинг: 0 / 0
16.11.2012, 11:30
    #38041130
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изучать параллельное программирование
MasterZiv,

А собственно вот она , на озоне
m.ozon.ru/item/1372271
...
Рейтинг: 0 / 0
16.11.2012, 14:56
    #38041619
Винни-Бух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изучать параллельное программирование
Всех благодарю!

Информации к размышлению - море получил.

MasterZiv, книгу уже скачал вот здесь .
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Изучать параллельное программирование / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]