多核程序设计

多核程序设计

ID:22041189

大小:117.00 KB

页数:8页

时间:2018-10-26

多核程序设计_第1页
多核程序设计_第2页
多核程序设计_第3页
多核程序设计_第4页
多核程序设计_第5页
资源描述:

《多核程序设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、计算机的发展按照硬件工艺可以分为第一代(1946〜1958):电子管数字计算机。第二代(1958〜1964):晶体管数字计算机。第三代(1964〜1971):集成电路数字计算机。第四代(1971年以后):大规模集成电路数字计算机现代计算机发展历程可以分为两个明显的发展时代:串行计算吋代并行计算时代。并行计算机是由一组处理单元组成的,这组处理单元通过相互之间的通信与协作,以更快的速度共同完成一项大规模的计算任务。并行计算机个最主要的组成部分:计算节点节点间的通信与协作机制Flynn根据指令流和数裾流的不同组织方式,把计算机系统的结构分为以下四类

2、:单指令流单数据流(SISD)单指令流多数据流(SIMD)多指令流单数据流(MISD)多指令流多数据流(MIMD)指令流(instructionstream)指机器执行的指令序列数据流(datastream)指指令流调川的数据序列,包括输入数据和中间结果。SISD计算机是传统的顺序执行的计算机在同一时刻只能执行一条指令(即只有一个控制流)、处理一个数据(即只有一个数据流)。缺点:单个处理器的处理能力有限没有并行计算能力在MIMD计算机小没有统一的控制部件。在SIMD机中,各处理单元执行的是同一个程序,而在MIMD机上,各处理器可以独立执行不同

3、的程序。MIMD结构比SIMD结构更加灵活。SIMD计算机用于对不同数据的相同运算(和矩阵运算)而MIMD计算机可以适应更多的并行算法从系统结构的角度来分类,一般有以下几种:1)对称多处理器(SMP)2)分布式共享存储多处理机(DSM)3)大规模并行处理机(MPP)4)并行向量处理机(PVP)5)集群计算机。加速比用于衡:k统一问题并行后的执行时间与最佳串行执行时间相比较的效果公式加速比=串行吋间/并行吋间粒度表示程序处理数据的规模处理的数据相对较多,称粗粒度反之称为细粒度恰当粒度会对加速比的提高起作用负载平衡分配给多个线程的工作W:大致相同

4、有效的分配:线程执行相同的工作量各线程尽可能同时结朿相关性分析共享要进行同步降低效率解决方法:减少共享数据的访M变共享为私有,消除数据的相关性数据竞争竞争是并行程序的常见闷题不通过同步保证程序执行的顺序,会引发数据竞争。数据竞争表现:内存访问冲突.两种可能的冲突读写冲突写写冲突多线程的层次用广级多线程(UserLevelThread)在川户层通过线程库來实现内核级多线程(KernelLevelThread)由操作系统直接支持组合多线程、用户级线程优点:用户级线程有关线程的所有管理工作都由在用户级实现的线程库來支持用户级线程的创建和管理等操作无

5、须N核参与,操作更快用户级线程缺点:并行性不高一个线程被系统阻塞后,整个进程被阻塞内核级线程内核级线程的所有管理操作都是由操作系统内核完成特点并行性高多个线程可被同时调度充分利用多处理器创建和管理代价高混合多线程用户创建的多个用户级线程被映射到一些p、j核线程上,内核线程的数目可能少于用户级线程的数目。线程的生命周期线程的标识通常用一个整数来标识一个线程线程的创建自动创建从main函数开始的主线程调川函数库接口创建一个新的线程(pthread_create)线程的终止执行完甲,或者调用了pthread_exit主线程退出导致整个进程会终止线程

6、的状态就绪(ready):线程等待可用的处理器。运行(running):线程正在被执行。阻塞(blocked):线程正在等待某个事件的发生(比如I/O的完成,试图加锁一个被上锁的互斥量)。终止(terminated):线程从起始函数中返冋或者调川pthread_exit。■'被创建z—调度〜创建一个新的信号量原型:HANDLECreateSemaphore(LPSECURITY_ATTRIBUTESIpSemaphoreAttributes,//SDLONGllnitialCount,//initialcountLONGlMaximumCo

7、unl,//maximumcountLPCTSTRlpName//objectname);(1)IpSemaphoreAttributes:定义了信号量的安全特性NULL——表示采用默认描述符。(2)llnitialCountLong信号量的初始计数可设貫值:0—(lMaximumCount-1)(3)lMaximumCountLong信号量的最大计数(4)lpName字符串信号量对象的名称NULL:创建一个米命名的信号量对象返回值(1)HANDLE,如执行成功,返回信号量对象的句柄(2)返回0表示出错说明:(1)一旦不再需要,一定记住用Cl

8、oseHandle关闭信号量的句柄。(2)一旦可用资源数量值大于零,信号量就会触发。(3)可以使用ReleaseSemaphoreW数來增加信号量的计数用于对指定的

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

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

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