Bulk Synchronous Parallel (BSP)
BSP 是严格的同步,所有的线程都完成一批任务后才可以进入下次迭代,参数的读写
和更新在同步障完成。这可以保证算法的正确执行。
但是,集群中的每台机器在实际运行时性能是有波动的,同时算法对每台机器的工作
负载也有差别,所以每个线程的进度就不一样。严格的并行需要进度快的线程等待进度慢
的,从而浪费了时间。因为网络带宽的限制,所有参数在同步障上更新时也会花费更多的
时间。
总的说,BSP 虽然保证了算法的正确性,但浪费了宝贵的计算资源。
Asynchronous (Async )
线程之间异步执行,不需要相互等待,不需要在每个迭代周期上同步,模型参数可以