2009-06-20 2 views
3

Выполнение моих интересов в алгоритмах (см. here), я хотел бы знать, есть ли (в отличие от моего предыдущего вопроса) алгоритмы и структуры данных, которые являются мейнстримом в параллельном программировании. Вероятно, рано спросить об основных параллельных альфах и ds, но некоторые из гуру здесь, возможно, имели хороший опыт/плохой опыт с некоторыми из них.Параллельные алгоритмы и структуры данных

EDIT: Меня больше интересуют успешные практические применения альгозов и ds, чем в научных статьях.

Благодаря

ответ

8

Многие из информационных документов Google, особенно, но не исключительно, связанные с this page, описывают успешные практические применения параллельных распределенных вычислений и/или их DS и алгоритмические основы. Например, this paper занимается модификацией структур данных СУБД для извлечения параллельности внутри транзакции; this one (и некоторые другие) представляет популярную архитектуру mapreduce, так как реализован, например, в hadoop; this one - это высокопараллелизуемый аппроксимационный матричный факторинг, подходящий для использования в «методах ядра» в машинном обучении; и т.д., и т.д ...

+0

+1 для MapReduce. – molf

7

Может быть, я полностью пропустить момент, но есть тонна основного параллельного Algos и структуры данных, например, matrix multiplication, FFT, PDE и linear equation решатели, интеграция и моделирование (Monte-Carlo/random numbers), searching и sorting и так далее. Взгляните на Designing and Building Parallel Programs или Patterns for Parallel Programming. И тогда есть CUDA и тому подобное. Что вы после?

Смежные вопросы