没有合适的资源?快使用搜索试试~ 我知道了~
分布式计算课程报告.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 112 浏览量
2022-07-10
23:28:42
上传
评论
收藏 705KB PDF 举报
温馨提示
试读
16页
。。。
资源推荐
资源详情
资源评论
实验环境:
Win7 或者 Win XP 都可以,但是要安装 VS2008 以上版本。因
为要实现分布式,形成多线程,电脑至少是双核系统。本次试验用的
编程语言是 C#,主要用的是 OpenMp 实现多核开发技术。
OpenMp 简单介绍:
OpenMP 起源于 ANSIX3H5 标准,它具有简单、移植性好和可
扩展等优点,是共享存储系统编程的一个工业标准。OpenMP 使用
Fork-Join 并 行 执 行 模 型 。 支 持 增 量 并 行 化
(IncrementalParallelization) 。实际上 OpenMP 并不是一门新的
语言,它是对基 本语言(如 Fortan77、Fortan90、C、C++等)的
扩展。OpenMP 规范中定义的编译制导(CompilerDirective) 、运 行
库(RuntimeLibrary) 和环境变量(EnvironmentVariables) ,能够使
用户在保证程序的可移植性的前提下,按照标准 将已有的串行程序
逐步并行化。
制导指令是对程序设计语言的扩展,进一步提供了对并行区域、工作
共享、同步构造的支持,并且支持数据的共享和私有化。这样,用户
对串行程序添加制导指令的过程,就类似于进行显式并行程序设计。
运行库和环境变量,使得用户可以调整并行程序的执行环境。
OpenMP 的提出,是希望遵循该并行编程模型的并行程序,可以在
1
不同的产商提供的共享存储体系结构间比较容易地移植。实际上,已
经有许多硬件和软件供应商提供支持 OepnMP 的编译器,如 DEC、
Intel、IBM、HP、Sun、SGI、及 U.S.DOEASCIprogram 等,并
且包括了 Linux,UNIX 和 Windows 等多种操作系统平台。目前,
Fortran77、 Fortran90、C、C++语言的实现规范已经完成。
OpenMp 并行编程模型:
首 先 , OpenMP 是 基 于 线 程 的 并 行 编 程 模 型
(ProgrammingModel) ,一个共享存储的进程由多个线程组成,
OpenMP 就是基于已有线程的共享编程范例;其次,OpenMP 是一
个外部的编程模型,而不是自动编程模型,它能够使程序员完全控制
并行化,OpenMP 使用 Fork-Join 并行执行模型。所有的 OpenMP
程序开始于一个单独的主线程(MasterThread )。主线程会一直串
行的执行,直到遇见第一个并行域(ParallelRegion) 才开始并行执行。
接下来的过程如下:
①Fork:主线程创建一队并行的线程,然后,并行域中的代码在不同
的线程队中并行执行;
②Join:当主线程在并行域中执行完之后,它们或被同步或被中断,最
后只有主线程在执行。
实际上,所有 OpenMP 的并行化,都是通过使用嵌入到 C/C++或
Fortran 源代码中的编译制导语句来达到的。并且,一个 OpenMP
应用编程接口 (API)的并行结构可以嵌入到别的并行结构中去。应用
2
编程接口还可以随着不同并行域的需要动态地改变线程数
实验内容介绍:
通过三种不同的方法来求取圆周率π,每种方法都运用串行和并行
来求取π值,并经过多次测试,求得串行和并行的时间 t1,t2,计算
加速比 t1/t2,最后通过求出π值的平均值可以知道那种方法最好,
也明显能从中看出并行效率比串行效率好。当然有可能在计算过程中
由于给出的点数太少或者其它个别原因造成出现数据错误或者误差
较大时,可以把这些数据排除。
3
实验一、蒙特卡洛法求圆周率
1. 基本思想
利用单位圆与边长为 1 的正方
形面积之比来计算π的近似值。具体
思想如下:
如图 1 所示,单位圆的 1/4 为一个扇形 G,它是边长为 1 的正方形
的一部分。考虑扇形面积在正方形面积中所占的比例 k,得出其结果
π/4,然后再乘以 4 就可以得到π的值。
这里如何计算比例 K,运用蒙特卡洛方法的随机投点思想。在正
方形中随机投入很多点,使所投点落入在正方形中每一个位置的机会
均等,然后考察有多少点落入扇形区域内。其中落在扇形内点的个数
m 与投点总数 n 之比就是 k 的近似值。
2.运行结果
本次试验测试投点总数为 10000000,具体运行结果如下表所示。
串行π值
3.140932
3.140932
3.140932
3.140932
3.140932
并行π值
3.045126
3.037057
3.007694
3.081197
3.037344
串行时间
930
891
915
969
905
4
并行时间
530
524
553
705
604
加速比
1.754717
1.700382
1.654611
1.374468
1.498344
剩余15页未读,继续阅读
资源评论
春哥111
- 粉丝: 1w+
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功