并行任务调度算法与分析

并行任务调度算法与分析

ID:16434550

大小:562.50 KB

页数:10页

时间:2018-08-09

并行任务调度算法与分析_第1页
并行任务调度算法与分析_第2页
并行任务调度算法与分析_第3页
并行任务调度算法与分析_第4页
并行任务调度算法与分析_第5页
资源描述:

《并行任务调度算法与分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、多核程序任务调度算法与分析于俊夫辽宁师范大学计算机与信息技术学院摘要实验目的:完成在多核多线程的硬件平台下的多任务调度,达到线程并行化,任务可调度化,尽量充分利用CPU的高频、多核、多线程的特点、加快程序的运行、在操作系统中的灵活调度、使得多核CPU发挥更大的效率。实验方法:在visualstdio2005下使用openmp指导语句编写C语言代码,通过对C代码的执行结果的分析,了解多核、多线程的CPU在操作系统下的任务调度。实验中采用三种任务调度算法、主要通过4*4的两个矩阵相乘来完成。实验结果:算法1最终矩阵

2、的的16个元的计算在8线程和4线程下分布到各线程中计算达到任务调度的实验目的;算法2最终矩阵的的16个元的计算分块划分,8线程和4线程下分布到各线程中计算达到任务调度的实验目的;算法3最终矩阵的的16个元的关联64的计算,8线程和4线程下分布到各线程中计算达到任务调度的实验目的;实验结论:在多核、多线程的操作系统中任务可调度、任务执行准确度高,算执行性强。关键字4*4的矩阵、分块指导语句、分段指导语句、循环任务分配指导语句1引言实验中选择的是“任务调度”的优化算法,在多核、多线程处理器的任务调度策略问题。对于独

3、立性任务与关联性任务的不同处理方式。最终实现了分块与分段的独立性任务调度算法,和循环任务调度的关联性任务调度算法。2、实验关键字解析分块指导语句是解决独立性任务的调度策略所用的方法,是将独立的任务划分成一个或者多个块,在块间进行调度分配。10分段指导语句是解决独立性任务调度的调度策略所用的方法,是将多里的块内的独立的任务再细划分成多个段,即在块内产生段间进行调度分配。循环任务调度指导语句是解决相关联的任务调度策略所用的方法,是将在循环中的任务进行划分,在循环内进行调度分配。3、实验的思想多核程序的任务调度算法中

4、并行化的思想是多核程序任务调度的主思想,在操作系统中根据需要同程序的关联性问题德需要自由的选择调度策略。这样的操作系统执行效率高、灵活性强、可操控性高对程序的执行更有效果。4、实验方法4.1、理论分析Openmp指导语句中parallel命令的sections与sections命令同schedule命令子句分别提供不同的任务调度的指导方法。parallel命令的sections与sections命令可将程序分割成多块在每块下产生分成多段分段分配线程执行。上述的命令是解决独立性任务的调度策略所用的方法。sched

5、ule命令子句for循环并行化的任务调度语句将for循环内的计算分割并给予多线程分别并行执行。上述的命令是解决相关联的任务调度策略所用的方法。4.2、实验方法4.2.1:实验方法一:一个分块内分多个段的调度策略voidAgra1(inta[4][4],intb[4][4],intc[4][4]){printf("THISISTHEFIGURE1");#pragmaompparallelsections{#pragmaompsection{printf("section1THREADID=%da[0][0

6、]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]+a[0][3]*b[3][0]=%d",omp_get_thread_num(),c[0][0]=a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]+a[0][3]*b[3][0]);}#pragmaompsection{10printf("section2THREADID=%da[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]+a[

7、0][3]*b[3][1]=%d",omp_get_thread_num(),c[0][1]=a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]+a[0][3]*b[3][1]);}#pragmaompsection{printf("section3THREADID=%da[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]+a[0][3]*b[3][2]=%d",omp_get_thread_num(),c[0][

8、2]=a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]+a[0][3]*b[3][2]);}#pragmaompsection{printf("section4THREADID=%da[0][0]*b[0][3]+a[0][1]*b[1][3]+a[0][2]*b[2][3]+a[0][3]*b[3][3]=%d",omp_get_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。