Я изучаю различные модели параллельного программирования, и я просто наткнулся на MPI. Есть несколько вещей, о которых я не уверен. Из того, что я понимаю:Нужно уточнить на MPI
- Основная функция MPI - обеспечить связь между связанными процессами, выполняющимися параллельно в кластере. Это верно? На главном узле запускаются программы
- , которые, в свою очередь, связывают конкретные задачи с рабочими узлами и получают результаты. Нет необходимости в копировании кода на каждом рабочем узле.
Кроме того, несколько обновленных фреймворков MPI, которые я нашел, как представляется, поддерживают ограниченный набор языков. Я смотрел на эксперименты с этим на Java, но все библиотеки Java MPI, которые я нашел, были либо датированы, либо, похоже, не имели зрелости для C и Fortran. Почему это? Я думаю, что передача сообщений была бы очень полезной функцией для тех, кто пишет параллельную или распределенную программу, поэтому почему MPI не является более популярным за пределами своей ниши?
MPI больше используется в научном программировании, у него есть история использования, а язык выбора (в течение длительного времени) научного сообщества был/является C/Fortran. – arynaq
(1) является правильным; (2) нет. –
* так почему же MPI больше не пользуется популярностью за пределами своей ниши? * Вероятно, потому что люди, которые управляют разработкой MPI и его пользовательского сообщества, не заботятся о своей популярности за пределами своей ниши, а не заботятся об эффективности и эффективности его нишу. MPI - это не единственная библиотека, передающая сообщения, у программистов Java есть другие доступные опции. –