Подтвердить что ты не робот

Каковы текущие наилучшие параметры для параллелизации приложения .NET с интенсивным использованием процессора?

Это открытый вопрос. Какие подходы следует учитывать?

4b9b3361

Ответ 1

Ваш первый шаг - найти и понять parallelism в вашей проблеме. Очень легко написать многопоточный код, который не лучше, чем однопоточный код, который он заменяет. "Шаблоны для параллельного программирования" (Amazon) - отличное введение в ключевые понятия.

Как только у вас будет работоспособный дизайн, начните читать статьи в разделе "Concurrency" в архивах журнала MSDN (ссылка), особенно что-либо, написанное Джеффом Рихтером. Это даст вам материал для орехов и болтов на конструкциях резьбы, специфичных для Windows и .NET. (Многопоточная секция в Richter "CLR через С# (Amazon) является коротким, но очень проницательным - настоятельно рекомендуется.)

Ответ 2

Есть несколько параллельных расширений для .NET, которые в настоящее время тестируются и доступны в Microsoft Parallel Computing Developer Center. У них есть несколько интересных элементов, которые вы ожидаете как Parallel foreach и параллельная версия LINQ, называемая PLINQ. Некоторая лучшая информация о расширениях находится на Channel 9.

Ответ 3

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

Ответ 4

@Larsenal

Если вы хотите выйти за пределы .NET, было много дискуссий о Intel Threading Building Blocks, который является параллельной библиотекой для С++.

Ответ 5

Существует много вариантов, и лучшее решение будет зависеть от характера проблемы, которую вы пытаетесь решить. Если вы пытаетесь решить проблему неудобно параллельную, то разделение и параллелизация задач будет тривиальным. В этом случае задача будет заключаться в распределении и управлении используемыми данными.

Некоторые предложения были бы следующими:

Ответ 7

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

http://paralleldwarfs.codeplex.com