并行编程入门

本文介绍了并行编程的基础知识,包括并行编程的作用、兴起原因和设计原则,详细探讨了MapReduce模型,包括MapReduce框架、Hadoop介绍及其基本类。此外,文章还提供了Hadoop编程实例,包括环境搭建、配置以及运行WordCount应用,帮助读者深入理解并行计算和MapReduce的实际应用。
摘要由CSDN通过智能技术生成

目录

  1. 并行编程简介
  2. MapReduce
    2.1 MapReduce简介
    2.2 MapReduce框架
    2.3 Hadoop介绍
    2.4 Hadoop基本类
    2.5 Hadoop编程实例

#1.并行编程简介
##1.1.并行编程作用,用途
商业用途,科学计算,大数据分析

##1.2.并行编程兴起原因
目前的串行编程的局限性
使用的流水线等隐式并行模式的局限性
硬件的发展
##1.3.并行算法设计原则步骤
a.分析问题
b.分解问题
        其中分解方法有:
        数据分解
        递归分解
        探测性分解
        推测性分解
        混合分解
c.根据分解方法,产生任务
d.将任务映射到处理器上
e.要注意的问题:
        减少任务之间的交互(任务粒度,任务的依赖)
        负载均衡(静态均衡和动态均衡)

###1.4并行算法模型
        数据并行模型
        任务图模型
        工作池模型(任一个任务可映射到任一个处理器上)
        主-从模型
###

##1.5.基本通信操作(单端口,双向)
对于不同的操作,对于不同的设备模型,有如下几种组合:
a.一对多广播及多对一归约(一传到二,然后二传到4)
环或线性阵列:
格网:
超立方体:
b.多对多广播 及 多对多归约
环或线性阵列:
格网:
超立方体:
d.全归约 及 前缀和
环或线性阵列:
格网:
超立方体:
e.散发及 收集归约
环或线性阵列:
格网:
超立方体:
f.循环移位
环或线性阵列:
格网:
超立方体:

##1.6.解析建模
模型需要考虑的因素有:

  • 开销分析
  • 性能度量
            执行时间,加速比,总并行开销,效率,成本
  • 粒度影响
  • 系统可扩展性
    ###1.7使用消息传递模式编程
    使用MPI API 进行编程
MPI,消息传递接口
int MPI_Init(int *argc,char ***grgv)

int MPI_Finalize()

int MPI_Comm_size(MPI_Comm comm,int * size):用size返回comm域中进程数目

int MPI_Comm_rank(MPI_Comm comm,int * rank):用rank返回comm域中进程等级(0-size-1)

int MPI_Send(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);

int MPI_Get_count(MPI_Status *status, MPI_Datatype datatype, int *count) 

###

#2.MapReduce
参考文献:
http://www.open-open.com/lib/view/open1328763069203.html
http://www.wnt.com.cn/html/news/tophome/top_xytd/top_xytd_jswz/bbs_service/20130711/111140562.html
http://blog.csdn.net/geekcome/article/details/9024419
http://www.cnblogs.com/biyeymyhjob/archive/2012/08/12/2633608.html
http://www.educity.cn/wenda/578905.html
http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop1/#ibm-pcon
http://wiki.apache.org/hadoop/
http://hadoop.apache.org/
http://research.google.com/archive/mapreduce-osdi04.pdf

IBM Hadoop分布式并行编程系列:
第一部分:http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop1/
第二部分:http://www.ibm.com/developerworks/c

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值