【分布式】并行计算概览

本文为新竹清华大学《并行计算与并行编程》课程笔记
  关于分布式系统和并行计算,其实没有必要非得区分个一二来。当然它们各有侧重,分布式系统是基于网络的一种软件,而并行计算更像是一种概念,这个概念可以在硬件中出现,也可以在软件中出现。再比如分布式系统更偏向于管理一组计算机,而并行计算关注的是每一个计算节点即一个处理器、一个core。因此,一个CPU或GPU芯片也是并行计算施展的领域。
  在这门课程里,并行计算其实是在硬件系统编程模型编程语言四个不同的层次上讨论的。
  它们的应用场景也很类似:如何把一件事分给许多计算单元并行去做,或者如何协调多个计算机完成一件事。也就是说,去处理一个从1到n的分发,或一个从n到1的收集。通常认为并行计算侧重于其中前者,即由一个manager向worker分发任务。那么站在manager的角度思考问题,核心就是:效率。即,并行计算是效率导向的设计。
  其实,分布式所需的硬件规模是比并行计算更大的,并行计算的一些编程模型,更不如说是所谓的 “多线程编程”。而分布式编程模型如 MapReduce,则是真正在数量庞大的机群上处理海量数据的system。听这门课程的目的,其实主要是学习并行程序设计中的一些基本思想,而非仔细钻研一门或几门并行程序设计语言。

1. 并行架构的分类
1.1 弗林分类法

  Flynn在指令(Instruction)和

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要搭建分布式并行计算环境,您可以按照以下步骤进行操作: 1. 确定需求:首先,明确您的计算任务和要求。了解您需要处理的数据量、计算复杂度、并行计算的规模等因素。 2. 选择框架:根据需求选择合适的分布式计算框架,例如Hadoop、Spark、MPI等。这些框架提供了分布式计算的基本功能和工具。 3. 构建集群:为了实现分布式计算,您需要构建一个包含多个计算节点的集群。可以选择云服务提供商(如AWS、Azure)来创建虚拟机实例,或者使用本地服务器。 4. 安装和配置框架:根据所选框架的要求,安装和配置相应的软件和组件。这包括设置主节点和工作节点、配置网络通信和文件系统等。 5. 分配任务和数据:将您的计算任务划分为可并行执行的子任务,并将数据划分为适当的分块。确保任务和数据能够在集群中进行分发和处理。 6. 编写代码:根据选择的框架,编写相应的程序代码。使用适当的API和函数来实现并行计算和数据传输。 7. 测试和调试:在集群上运行计算任务,检查程序是否按预期工作。如果有错误或性能问题,进行调试和优化。 8. 执行并监视:启动并行计算任务,监视其进展和性能。根据需要,定期检查日志和结果输出。 以上步骤只是一个概览,实际搭建过程可能因框架选择和需求差异而有所变化。确保仔细阅读框架的文档,并参考相关文献和教程来获取更详细的指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值