High Performance Computing
MPI: old learning
Tutorials · MPI Tutorial 其实这个问题背后很有意思。mpi属于hpc领域,和现在的hadoop生态本来就不属于一块。 个人觉得一个技术能否流行起来,主要取决于三点:自身性能,易用性,环境。 性能上,mpi适用于计算密集型,在对计算要求比较高的地方,确实比hadoop/spark用的广,比如机器学习, 生物计算 。但是属于io密集型就不会有优势,很多 大数据 任务属于这种情况。 易用性上,mpi无论是编写和运行环…
其实这个问题背后很有意思。mpi属于hpc领域,和现在的hadoop生态本来就不属于一块。
个人觉得一个技术能否流行起来,主要取决于三点:自身性能,易用性,环境。
性能上,mpi适用于计算密集型,在对计算要求比较高的地方,确实比hadoop/spark用的广,比如机器学习,生物计算。但是属于io密集型就不会有优势,很多大数据任务属于这种情况。
易用性上,mpi无论是编写和运行环境都比hadoop生态圈要求高,这点应该是mpi的短板。
环境上,hadoop生态圈更加完整,从文件系统,sql,流式处理等等,mpi也有,但是不够丰富。环境上,最重要的一点就是需要有大公司推动,有小公司创新的地方。这点上hadoop背靠java生态圈,加上各种应用多,可以讲故事的地方多,容易获得资本市场的关注。
综上看出mpi只有计算密集任务上有优势,其他都是劣势。
不过随着今天计算,存储,网络三者的性价比在变化,他们所代表的两个领域正在发生融合
/* Initialize and Finalize */ int MPI_Init(int *argc, char ***argv) int MPI_Finalize()/* MPI comm size and rank */ int MPI_Comm_size(MPI_Comm comm, int *size) int MPI_Comm_rank(MPI_Comm comm, int *rank)
/* MPI send and recv */ int MPI_Send(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) int MPI_Recv(void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status)


If you need to cite this post
Haibin Lai. (May 15, 2025). “MPI: old learning” [Blog post]. Retrieved from https://www.haibinlaiblog.top/posts/mpi-old-learning/
@online{lai-mpi-old-learning,
title={MPI: old learning},
author={Haibin Lai},
year={2025},
url={https://www.haibinlaiblog.top/posts/mpi-old-learning/},
}
Haibin's blog