- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
并行计算与多核程序设计理论课5-6 线程的基本概念 陈天洲,施青松,胡威 {tzchen, zjsqs, ehu}@ 2009年11月25日,玉泉校区曹西101 程序设计语言的挑战:低级语言 汇编语言是多核SOC中是主流程序设计语言 DSP+ARM 用汇编控制各个器件 在CMP上怎么办 目前OS厂家未能充分利用多核 多核上OS启动,是分为主核与应用核 在工业控制领域需要 裸机+监控程序 SSE汇编 实现了虚数、codec、SSL、XML等功能 却无法实现并发 目前情况 芯片厂家提供了新的编程接口,但是不开放 可以在UEFI平台上做设计,不能针对裸机 程序设计语言的挑战:结构化语言 结构化语言 C语言、Pascal、Fortran等 以函数、过程为基本单元进行抽象 本质上不支持多核 单入口单出口 不并发 程序设计语言的挑战:高级语言 快速开发语言/工具 可以由虚拟机平台支持多核完成 以java虚拟机为代表 虚拟机本身多核化 新型语言 如Ct/TBB/go等语言 在C/C++基础上做多核化 并行编程模型 对C和C++进行了扩展 将任务分配给多个处理器 适应复杂的并行处理 开发人员能够像为一个处理器核编写应用程序一样编程 代码在进行编译和运行的时候进行多核优化 降低编程难度 目前的做法 1、线程 是目前的主流,是多核编程的门槛 2、共享内存 依赖于处理器的存储结构 3、消息 依赖于核间架构 4、虚拟化 由操作系统与硬件协作,提供虚拟运行环境 5、机器码级分发 目前研究热点 6、编译自动完成 面临巨大困难 进程与线程 线程是“进程中的一条执行路径或线索” 或“进程中的一个可调度实体” 多线程的概念 线程(thread) 进程上下文(context)中执行的代码序列 轻量级进程(light weight process) 在支持多线程的系统中 进程成为资源分配和保护的实体 线程是被调度执行的基本单元。 进程的资源 包括进程的地址空间,打开的文件和I/O等 属于同一个进程的线程 共享该进程的代码段和数据段,打开的文件,信号等 还包含各自的线程ID,线程执行状态,CPU寄存器状态和栈 单线程与多线程模型 线程 可以获得快速的用户响应 如在C/S模式下,web server为每个用户连接运行一个线程; RPC服务器中,RPC服务进程会开启多个线程服务于每个RPC request 进程是拥有资源的基本单位(CPU,地址空间,I/O资源),进程中的线程可以共享这些资源 一些应用程序可以分成若干相对独立的部分,每一部分又一个线程来实现 线程间通信无需内核干预,需要进行线程间同步 多线程的优点 传统优点 创建一个线程比创建一个进程的代价要小 终止一个线程比终止一个进程的代价要小 线程的切换比进程间的切换代价小 Eg: solaris中创建线程比进程快30倍,线程切换比进程切换快5倍 多核上多线程的优势 充分利用多处理器 数据共享 数据共享使得线程之间的通信比进程间的通信更高效 快速响应特性 在系统繁忙的情况下,进程通过独立的线程及时响应用户的输入 线程计算模型 用户级线程 在应用软件中所创建和操纵的线程 内核级线程 操作系统实现大多数线程的方式 硬件线程 线程在硬件执行资源上的表现形式 可以使用纯硬件来实现硬件线程 使用可重构FPGA资源 用户级线程 用户级线程 有关线程的所有管理工作都由在用户级实现的线程库来支持 用户级线程特征 户级线程的创建和管理等操作无须内核参与,操作更快 并行性不高,一个线程被系统阻塞后,整个进程被阻塞 内核级线程 内核级线程 内核级线程的所有管理操作都是由操作系统内核完成的 特点 并行性高, 多个线程可被同时调度 充分利用多处理器 创建和管理代价高 多线程的映射模型 对于实现了用户级线程和内核级线程的操作系统,用户级线程和内核级线程之间的可以有不同的映射方式。 多对一模型 多对一模型把多个用户级线程映射到一个内核级线程。 线程的管理在用户空间实现,所以效率高。 当一个线程因调用系统调用被阻塞时,整个进程被阻塞。 多线程的映射模型(续) 一对一模型 一对一模型把每个用户级线程影射到一个内核级线程。 当一个线程阻塞时,其他线程仍然可以运行。 Each user-level thread maps to kernel thread.(纯核心级线程) Examples Windows 95/98/NT/2000 OS/2 多线程的映射模型(续) 多对多模型 多对多模型将m个用户级线程影射到n个内核级线程,m≥n。 用户可以创建所需要的用户级线程,通过分配适当数目的内核级线程获得并发执行的优势并节省系统资源。 Examples Solaris 2 Windows NT/2000 with t
您可能关注的文档
- (最新最全)2011年高考试卷+模拟新题分类汇编E 物质结构 元素周期律(高考真题+模拟新题).doc
- [.Mascot检索软件在蛋白质质谱鉴定中应用.pdf
- [NI技术] LabWindowCVI中多线程技术.docx
- [必修三]2010-2011学年度福州市第二学期期中高一模块考试.doc
- [名校联盟]浙江省建德市新安江高级中学2012届高三3月月考理科综合试卷(无答案).doc
- [上海]展览馆基坑围护及土方开挖施工方案.doc
- _杂交_与_桥联_以他克林衍生物为代表探讨开发多靶点抗阿尔茨海莫氏病药物新策略.pdf
- 《传统文化和文化传统》教案.doc
- 【全程学习方略】2011版高中生物 3.1 细胞膜——系统边界课件 新人教版必修1.ppt
- 2 型糖尿病胰岛素抵抗中医药的研究述评.doc
- 2009并行计算与多核程序设计07-08多核对线程支持.ppt
- 2009并行计算与多核程序设计09-10windows多线程编程.ppt
- 2009并行计算与多核程序设计13-14多核多线程研讨课.ppt
- 2009并行计算与多核程序设计15-16OpenMP程序设计.ppt
- 2009级毕业设计-基于双目图像分割区域匹配技术研究.doc
- 2010-2011学年辽宁省分重点中学高一下学期期末考试化学试卷.doc
- 2010生物高考复习《分子与细胞》专题系列课件04《细胞基本结构》.ppt
- 2011安徽省中学生生物学竞赛预赛试卷.doc
- 2011北京市宣武区第一学期期末质量检测九年级化学.doc
- 2011二级建造师考试.doc
最近下载
- 中学食堂建设项目社会稳定风险评估报告(模板范文).docx
- 第9课 互传密信有诀窍 教案 义务教育人教版信息科技五年级全一册.docx VIP
- 根本原因分析精神病人自杀RCA.pptx VIP
- SL523-2024 水土保持监理规范.docx VIP
- 路面结构层厚度评定表(代表值自动计算).xls VIP
- 雨虹防水质保合同范本Word模板.docx VIP
- 旅游产品策划与设计422全书教学课件电子教案.ppt
- Toll样受体信号通路中MyD88的研究进展_吴燕燕.pdf VIP
- 2024水土保持工程施工监理规范.docx VIP
- 义务教育版(2024)五年级全一册 第1课 生活处处有算法 教案.docx VIP
文档评论(0)