ПМ2
Parallel Multithreaded Machine ( PM2 ) — это программное обеспечение для параллельного объединения компьютеров в сеть.
PM2 — это распределенная многопоточная среда программирования с открытым исходным кодом, предназначенная для поддержки эффективно распределенных программ с крайне нерегулярным поведением (например, поиск ветвей и границ , вычисления на разреженных матрицах и т. д.) в распределенных архитектурах. Распространяется под лицензией GPL .
PM2 придерживается модели программирования SPMD ( одна программа с несколькими данными ), что очень похоже на коммуникационные библиотеки PVM и MPI. Пользователь пишет единый программный текст, копия которого запускается определенной командой загрузки на каждом обрабатывающем узле текущей конфигурации. Программист должен включить ветвление, чтобы различать узлы обработки. Таким образом, это позволяет использовать сеть разнородных машин как один распределенный параллельный процессор.
Он в первую очередь предназначен для средних кластеров узлов обработки товаров, соединенных между собой высокопроизводительными сетями, но ничто не мешает его использованию на машинах MIMD с массовым параллелизмом на одном конце спектра или в качестве поддержки метавычислений через Интернет на другом конце. . Он поддерживает гетерогенные сетевые конфигурации, такие как наборы взаимосвязанных кластеров.
Отличительные особенности PM2 включают в себя политику планирования на основе приоритетов, механизмы миграции потоков и способность упрощать разработку различных политик балансировки нагрузки. Он может управлять несколькими сотнями потоков на каждом доступном физическом процессоре. Интерфейс PM2 предоставляет функциональные возможности для управления такой высокой степенью параллелизма и динамической балансировки нагрузки.
Подсистема управления потоками PM2 называется Marcel (по имени Марселя Пруста ), а ее коммуникационная подсистема Madeleine — французская сладость, предположительно сыгравшая центральную роль в жизни Марселя Пруста . PM2 имеет дополнительную функциональность, обеспечивающую единообразный доступ потоков к данным независимо от их физического местоположения. Он называется DSM-PM2.
PM2 работает на большинстве платформ Unix .
История развития
[ редактировать ]PM2 разрабатывается в LaBRI (Laboratoire Bordelais de Recherche en Informatique), исследовательской лаборатории, расположенной в Бордо, Франция, при совместной поддержке INRIA, CNRS и Университета Бордо. До этого PM2 был разработан в LIP (Laboratoire de l’Informatique du Parallélisme), исследовательской лаборатории, расположенной в ENS Lyon (Ecole Normale Superieure de Lyon), Франция, при совместной поддержке INRIA, CNRS и Университета Клода Бернара Лиона. . Первоначально PM2 был разработан Раймоном Намистом и Жаном-Франсуа Мехо в LIFL Университета Лилля, Франция.
См. также
[ редактировать ]Ссылки
[ редактировать ]- Первоначально эта статья была основана на материалах из статьи «Начало работы с PM2» , © Team Runtime, март 2006 г.
- Как рассыпается печенье/Что Пруст знал о Мадлен? Эдмунд Левин, 11 мая 2005 г.