[发明专利]具有无阻塞并行架构的图形处理器有效
申请号: | 201280039793.7 | 申请日: | 2012-06-15 |
公开(公告)号: | CN103765376B | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | S·J·克洛赛特;L·T·皮得森;J·R·雷德格雷夫;J·A·麦库姆 | 申请(专利权)人: | 想象技术有限公司 |
主分类号: | G06F7/38 | 分类号: | G06F7/38 |
代理公司: | 北京市金杜律师事务所11256 | 代理人: | 王茂华 |
地址: | 英国赫*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 具有 阻塞 并行 架构 图形 处理器 | ||
相关申请的交叉引用
本申请要求2011年6月16日提交的美国临时专利申请号61/497,915的优先权,出于所有目的,该申请通过引用以其全文结合于此。
技术领域
以下内容总体上涉及并行处理资源的利用,并且在一个更具体方面涉及可以在不同种类的并行计算问题中使用的编程接口和架构,并且具体地涉及图形处理,包括光线追踪。
背景技术
计算机架构谋求在硬件级和软件/操作系统级上提高并行度。已经提出了各种技术来解决硬件和软件的并行度。一个普遍概念是将多线程处理用作一种提高并行度的机制。
关于基于软件的多线程处理,操作系统可以通过在时间上使多个进程的执行交错来在单个硬件执行资源上并发地执行多个进程(典型地,多个独立程序)。可以通过OS内核完成这种交错,OS内核确定什么进程具有优先级,并且还可以访问其继续进行执行所需要的资源。
当一个进程具有两个或更多个半独立子任务时,多线程处理可以提高吞吐量,给出更好的响应时间,加速操作,改进程序结构,使用更少的系统资源,并且更加高效地利用多个多处理器。使用多线程处理的情况下,一个进程具有多个控制线程。随着用于处理器的更快的时钟变得功耗过分高,并且晶体管预算用在更广的架构上,多线程计算的概念越来越常见。如此,已经越来越多地使用术语“线程”,但其不总是用来指相同概念,而是使用的背景可以告知该术语的意义。
一个进程可以被视作一个可以被执行的单独的程序或应用程序。如此,一个进程具有一个有待执行的指令序列。一个线程也具有用于执行的一个指令序列,但典型地更细化。例如,一个函数可以代表一个线程的指令序列。如果被进程实例化,则线程共享该进程的地址空间,还可以在该进程内拥有多个唯一的资源。可以单独地调度来自每个线程的指令,这允许按照资源可用性所指示的,并发地执行一个进程的多个线程。
可以通过一个创建进程来管理多个线程并且这些线程对操作系统的内核是不可见的(也被称为用户级或应用级线程)。在用户空间中处理用户线程,并且使用程序库中提供的线程API对用户线程进行控制。这种控制包括如创建、终止、同步、调度等操作。可以使用用户空间线程执行创建、终止和同步操作。因为用户空间线程对内核(其只意识到包含用户空间线程的基本(overriding)进程)不直接可见,如果用户空间线程阻塞,则其整个进程阻塞。当这种情况发生时,失去或减少了线程并行度的益处。可以引入附加的复杂性层以减少阻塞,但以性能为代价。
在内核空间中处理并且由线程库中的线程函数创建内核线程。内核线程为对操作系统可见的内核可调度实体。内核线程存在于进程的上下文中并且为操作系统提供解决和执行该进程的更小节段的手段。内核线程还能够使程序利用硬件提供的用于并发和并行处理的能力。在使用内核线程的情况下,每个用户线程可以具有一个相应的内核线程。每个线程是可以被内核独立调度的,所以如果正由一个线程执行的指令阻塞,则来自其他线程的指令可能能够运行。由于线程管理必须涉及内核,所以创建、终止和同步在内核线程下比用户线程下更慢。开销会更大,但使用内核线程,即使用单处理器系统,更多并发性是可行的。其结果是,内核空间线程的整体应用性能可以超过用户空间线程性能。然而,当创建大量线程时,开发者必须小心,因为每个线程向进程添加更多权重并且对内核产生负担。
内核线程可以改变进程的角色,因为在这种环境中进程更是一个用于对一种应用程序的相关线程进行分组的逻辑容器。每个进程包含至少一个线程。当该进程启动时,系统自动地创建此单个(初始)线程。应用程序必须显式地创建附加线程。只具有一个线程的应用程序为“单线程”。具有不止一个线程的应用程序为“多线程”。以下提供了一个线程相对于其他的线程的示例处理。
进程的“状态”信息包括一个标引有待执行的指令序列的程序计数器、以及寄存器状态。寄存器上下文和程序计数器包含对程序执行的当前状态进行指示的多个值。有待执行的指令序列为实际程序代码。例如,当进程上下文进行切换时,新调度的进程的寄存器信息告知处理器该进程在其执行中的何处中断。更确切地说,线程的程序计数器将会包含有待在启动时执行的当前指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于想象技术有限公司,未经想象技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201280039793.7/2.html,转载请声明来源钻瓜专利网。