|
|
|
Изучать параллельное программирование
|
|||
|---|---|---|---|
|
#18+
Запрос по словосочетанию "параллельное программирование" на ozon.ru выдает 21 книгу. Может быть, мэстные гуру сразу назовут книгу, которую стоит детально изучить? Если есть что-то очень стоящее и только на английском - не страшно. Заодно и язык подтяну. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2012, 12:01 |
|
||
|
Изучать параллельное программирование
|
|||
|---|---|---|---|
|
#18+
Винни-Бух, В смысле алгоритмов, у меня есть Гергель, вроде неплох. В смысле мануала для начинающего, вроде была сносная книжка по CUDA за авторством Борескова. А так присоединяюсь к вопросу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2012, 12:59 |
|
||
|
Изучать параллельное программирование
|
|||
|---|---|---|---|
|
#18+
Винни-БухЗапрос по словосочетанию "параллельное программирование" на 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, тоже много думать, если есть, конечно, чем.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2012, 21:12 |
|
||
|
Изучать параллельное программирование
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2012, 15:40 |
|
||
|
Изучать параллельное программирование
|
|||
|---|---|---|---|
|
#18+
мне понравилась C++ Concurrency in Action by Anthony Williams ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2012, 15:51 |
|
||
|
Изучать параллельное программирование
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответы! Я забыл только написать, что это самое параллельное программирование мне нужно в языке C# в веб-приложениях. Ну, и в WCF тоже. Правда, С++ тоже потихоньку изучаю, так что "C++ Concurrency in Action by Anthony Williams" также пригодится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2012, 23:08 |
|
||
|
Изучать параллельное программирование
|
|||
|---|---|---|---|
|
#18+
Винни-Бух, Интересно, зачем оно нафиг в вэб-программировании. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 00:29 |
|
||
|
Изучать параллельное программирование
|
|||
|---|---|---|---|
|
#18+
2 ShSerge: Нууууууу, классическая задача: загрузка на сервер (на диск, или в БД) картинки из формы, в которой есть еще и другие поля, которые нужно внести в БД, или нескольких картинок (preview всякие вместе с большой картинкой). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 16:29 |
|
||
|
Изучать параллельное программирование
|
|||
|---|---|---|---|
|
#18+
Винни-Бух2 ShSerge: Нууууууу, классическая задача: загрузка на сервер (на диск, или в БД) картинки из формы, в которой есть еще и другие поля, которые нужно внести в БД, или нескольких картинок (preview всякие вместе с большой картинкой). Мда... Проясним ситуацсравнить с thread based apache, тоже много думать, если есть, конечно, чем.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 23:04 |
|
||
|
Изучать параллельное программирование
|
|||
|---|---|---|---|
|
#18+
Проясним ситуацТак, чтоб понять, что современные взгляды на параллельное программирование (подходы SMP, а не MPP) это фуфел полный, нас всех круто не то что поимели, но так, чутка обманули. Потом можно почитать по 10000 connections (nginx, libevent), сравнить с thread based apache, тоже много думать, если есть, конечно, чем.... А с NUMA тоже обманули? А сколько thread based apache конектов при тех же условиях? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 23:11 |
|
||
|
Изучать параллельное программирование
|
|||
|---|---|---|---|
|
#18+
с 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 тоже ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 23:20 |
|
||
|
Изучать параллельное программирование
|
|||
|---|---|---|---|
|
#18+
Проясним ситуацс NUMA тоже обманулипропущено... А с NUMA тоже обманули? NUMA это модель для Oracle RDBMS. Фактически это и есть MPP. Когда куча взаимонезависимых процессов, выделенных под каждого клиента - долбится фактически независимо, только иногда пересекаясь на теме блокировок страниц в разделяемой памяти (кстати, крайне дорогостоящих). Я же говорил о том, что современные попытки автоматически распараллелить один линейный код (то что сейчас подразумевается под параллельным программированием) - это полный фуфел - синхронизация (неуправляемая, человеком) съест все бенефиты. А чем отличается автоматически распараллеливается от неавтоматически и можно пример программы которая распараллеливается автоматически? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 23:31 |
|
||
|
Изучать параллельное программирование
|
|||
|---|---|---|---|
|
#18+
NUMA это модель для OracleПроясним ситуацпропущено... NUMA это модель для Oracle RDBMS. Фактически это и есть MPP. Когда куча взаимонезависимых процессов, выделенных под каждого клиента - долбится фактически независимо, только иногда пересекаясь на теме блокировок страниц в разделяемой памяти (кстати, крайне дорогостоящих). Я же говорил о том, что современные попытки автоматически распараллелить один линейный код (то что сейчас подразумевается под параллельным программированием) - это полный фуфел - синхронизация (неуправляемая, человеком) съест все бенефиты. А чем отличается автоматически распараллеливается от неавтоматически и можно пример программы которая распараллеливается автоматически? Вот эти чудаки на полном серьезе декларируют, что могут автоматом параллелить С++ код, ага. http://software.intel.com/en-us/intel-tbb ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 23:34 |
|
||
|
Изучать параллельное программирование
|
|||
|---|---|---|---|
|
#18+
social paradoxusNUMA это модель для Oracleпропущено... А чем отличается автоматически распараллеливается от неавтоматически и можно пример программы которая распараллеливается автоматически? Вот эти чудаки на полном серьезе декларируют, что могут автоматом параллелить С++ код, ага. http://software.intel.com/en-us/intel-tbb Вопрос, что понимается под автоматом? Автоматом - это параллелизация в результате оптимизации (в частности конвейеризация и векторизация), когда исходный код меняется на ровно 0%. А вот использование OpenMP и TBB - это уже ручками код править/дописывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 23:47 |
|
||
|
Изучать параллельное программирование
|
|||
|---|---|---|---|
|
#18+
NUMA это модель для Oraclesocial paradoxusпропущено... Вот эти чудаки на полном серьезе декларируют, что могут автоматом параллелить С++ код, ага. http://software.intel.com/en-us/intel-tbb Вопрос, что понимается под автоматом? Автоматом - это параллелизация в результате оптимизации (в частности конвейеризация и векторизация), когда исходный код меняется на ровно 0%. А вот использование OpenMP и TBB - это уже ручками код править/дописывать. Неавтоматом - это когда ты код переписываешь, фактически - перепроектируешь все заново, держа в уме 1001 правило и 9000 видов новых граблей, которые нужно теперь учитывать просто потому что код стал не линейный, а параллельный.. А автоматом - это когда хинтов поняляпал ото поверх изначально линейного кода, а оно само окрестровку тредов устраивает, из твоих подсказок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 23:56 |
|
||
|
Изучать параллельное программирование
|
|||
|---|---|---|---|
|
#18+
Проясним ситуацс NUMA тоже обманулипропущено... А с NUMA тоже обманули? NUMA это модель для Oracle RDBMS. Фактически это и есть MPP. Когда куча взаимонезависимых процессов, выделенных под каждого клиента - долбится фактически независимо, только иногда пересекаясь на теме блокировок страниц в разделяемой памяти (кстати, крайне дорогостоящих). А причем тут Oracle? NUMA - это архитектура всех современных многопроцессорных серверов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 00:06 |
|
||
|
Изучать параллельное программирование
|
|||
|---|---|---|---|
|
#18+
NUMA это модель для OracleПроясним ситуацпропущено... NUMA это модель для Oracle RDBMS. Фактически это и есть MPP. Когда куча взаимонезависимых процессов, выделенных под каждого клиента - долбится фактически независимо, только иногда пересекаясь на теме блокировок страниц в разделяемой памяти (кстати, крайне дорогостоящих). А причем тут Oracle? NUMA - это архитектура всех современных многопроцессорных серверов. Не при чем, я сказал для примера - в каких системах NUMA имеет хоть какой-то смысл. Oracle - это одна из них. Основа там - это куча полностью независимых процессов (кстати линейных - тредами там и не пахло), которые иногда ходят в общую разделяемую область памяти за чем-то. И которым становится очень плохо, когда они начинают между собой реально конкурировать за эту разделямую память (пытаются долбить в один и тот-же блок). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 00:10 |
|
||
|
Изучать параллельное программирование
|
|||
|---|---|---|---|
|
#18+
Винни-Бух, Я тебе напишу завтра координаты одной единственной книги, которую действительно стоит читать на эту тему. И ее стоит читать первой. Правда она достаточно редкая, но может найдешь электронный вариант. Если забуду, напомни мылом, в профиле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 11:25 |
|
||
|
Изучать параллельное программирование
|
|||
|---|---|---|---|
|
#18+
MasterZiv, А собственно вот она , на озоне m.ozon.ru/item/1372271 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 11:30 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38040652&tid=1342045]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
146ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 422ms |

| 0 / 0 |
