并行计算的核心是计算节点以及节点间的通信与协调机制。OpenMP虽然给开发者提供了极易上手的增量式开发方式,但是OpenMP在与复杂架构的MCSDK结合后,工具与代码产生了大量不可调试的黑盒子,更是决定了它不能用于关键任务领域,如军工航天、星载、弹载、箭载等高可靠高实时领域;核间通信作为多核并行方案中的关键,最为高效的是使用核间中断方式,但需要解决其通信的灵活性问题,必然会使用基于共享内存池的零拷贝技术。
并行计算使用场景
Ø 需要降低单个问题求解时间
Ø 需要增加问题求解规模,提高精度
Ø 需要更强的容错性
Ø 需要更高的可重用性
Ø 需要提高系统吞吐率
跨平台通信
基于MPI 的并行计算解决方案:
Ø 不存在黑盒子,调试方便,代码维护简单;
Ø 只使用简单的驱动程序与软件组件,不涉及复杂的SYSBIOS、XDC、PDK等组件;
Ø 可处理规模更大的问题,方便移植到跨处理器的场景;
Ø 每个线程都有自己的独立内存及变量,比OMP更稳定可靠;
Ø 与PXI调试组件结合
MPI组件运行层次