多核多线程调度技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
●
为什么需要 AccCore多核多线程调度技术
首先我们一起来思考这样的一个问题: 在日常工作中,有时候我们感觉自己在不停的忙 碌工作,却没有看到明显的成果,工作也总是停滞 不前。有时候我们需要一天的时间完成的工作,别 人只需要半天甚至更少的时间就可以完成。在工作 中,工作效率低的问题总是困扰着我们,而且久而 久之如果总是效率低下还会影响自己的前途。这时 候,我们就迫切 需要改进工 作方法,提高 工作效 率,将我们从杂乱无章的工作状态中解放出来。 其实,当您使用电脑同时运行多个软件时,例
技术
白皮书
Information Technology Solutions
当前某些高性能处理器的核上包含多个指令解码器、多个整数执行单 元、多个地址生成单元和多个浮点运算单元。
AccCore多核多线程调技术对内核代码进行了并行化组织,提高了运算的 流水化。 多核产品处理器在运行过程中,处理器与主存之间的数据交换的速度瓶
我们的解决对策:
我们引入了网络包无锁入栈技术,根据系统中核的个数以及 网卡的个数,构建多个(核-网卡)入栈环及出栈环。
对于每个入栈环而言,读者及写者是唯一确定的协议栈处理线程及网卡服务线
程,对于每个出栈环而言,读者及写者是唯一确定的网卡服务线程及协议栈处理 线程。
通过这种数据环的使用消除了多个协议栈处理线程和网卡服务线程对出入栈数
总结:
目前国内外已有多家厂商突破多核调度技术的难关,我们推出的 AccCore 多核 多线程调度技术,最大化的利用了多核的运算处理能力,有效提升了多核产品的处 理能力,使得产品具备高性能﹑高处理能力,实现了用户高效安全的诉求。
技术
白皮书
Information Technology Solutions
AccCore多核多线程调度技术
概述:
多核处理器的出现与发展对操作系统提出了更高的要 求,理想的操作系统应当能够充分调度与管理多核处理 器,使处理器发挥其最大性能。传统的操作系统利用多核 处理器处理能力的方法非常复杂,使多核处理器的性能大 打折扣。为此,我们采用全新的操作系统设计理念推出的 AccCore技术,实现多核处理器操作系统负载的均衡,使多 核处理器操作系统上运行的多线程程序在操作系统的调度 下,能够均衡的分布在不同的处理器核上,从而提高多处 理器核的执行效率,使得系统具有更高的处理效率和稳定 性。
如在收看视频或编辑电子邮件时下载资料,操作系统已经在为您处理千头万绪的工 作了,可是您是否还会抱怨响应速度太慢,系统扫描时间太长呢?
有没有办法,让电脑运转的更快,效率更高些呢?
让我们一起来思考一下:
◆ 要解决响应速度问题,操作系统就必
须了解哪个任务具有更高的优先性。 例如,您一定不希望因为安全软件 在扫描系统就花数分钟时间等待Word启 动。大多数操作系统部分采用优先权调 度算法,但算法仍然相当粗糙。
技术
白皮书
Information Technology Solutions
第二部分 AccCore多核多线程调度技术的内幕
●
内幕一——网络包无锁入栈技术
操作系统中为了保证关键数据结构读写的一致性,引入了锁的机制,但同时也带
来了额外的系统开销,降低了系统的处理能力,延长了系统的处理时间。因此,怎样 才能在保证系统正常运行的同时尽可能的减少甚至消除锁机制,一直是业界的一个难 题。
技术
白皮书
Information Technology Solutions
态线程优先级与应用服务实时性需求的一致,动态实时的均匀调度系统核心态线 程,进一步提升了系统的并发处理能力。
●
内幕四——超线程技术
区别于多核技术,超线程技术利用特殊的硬件指令,把两个逻辑内核模拟成两
个物理芯片,让单个处理器都能使用线程级并行计算,减少了CPU的闲置时间,提 高CPU的运行效率。 AccCore 多核多线程调技术把对网络包处理任务进行动态细分,把数据共享程 度高,且数据依赖性小的两个线程归并到同一超线程组,由同一处理器同时调度, 充分发挥超线程技术的优势。
●
内幕三——端对端的反馈技术
多核产品的应用处理由运行在多个处理器核上的核心态线程组成。线程
的优先级决定了该线程在系统的某个核上得到服务的实时性及服务时间长 短,传统操作系统中线程的优先级通常按照全系统统一的策略进行调整。研 究表明这种方式未区分具体应用负荷,容易造成实时性要求高的应用负载处 理被延迟,而另一方面很多实时性要求不高的处理过程却过多过快地被服 务,从总体上来看,该方式无法动态实时的均匀调度系统核心态线程,从而 降低了系统的并发服务能力。 AccCore技术采用端对端的反馈技术,在服务线程中插入统计钩子点,操 作系统线程调度模块分析从各个服务线程汇总的应用相关统计信息,利用线 程优先级计算公式为每个服务线程计算出当前最适合的优先级,实现了核心
计 划 中 的 平 均 性 能
10X
单核性能
2000
2004
2008+
采用多核技术极大的提高了处理器的性能,降低了芯片的成本,但是多核技术也 带来了软件困惑!软件怎么利用多核尚未解决,为了竞争,硬件推进太急躁,软件还 未准备好!
技术
白皮书
Information Technology Solutions
技术
白皮书
第一部分
●
多核多线程调度技术的发展
解析 CPU单核过渡到多核
自从出现第一代双核处理器之后,计算机上不断涌现的新兴使用模式让用户对处
理器的性能提出了更高的要求,并且对性能每年提高的幅度还在不断加速,这样多核 技术就诞生了。 采用多核技术可以将处理器性能提高10倍!
标准化的性能 VS. 最初的英特尔奔腾 4处理器 多核性能
据队列读写的潜在冲突,从而避免了采用锁机制,避免了这一部分的性能开销。
●
内幕二——基于数据挖掘的核态线程分派技术
在基于网路数据包端口或ip地址的线程分派技术中,容易存在某些端口或ip地址对
应的数据处理任务复杂程度随时间变化剧烈,造成其对应的核负载分配不均衡,进而 影响了系统的并发性能。
基于数据挖掘的核态线程分派技术,通过对应用场景的行为历史进行归纳分析, 动态的把数据处理任务分派到最适合的协议栈处理线程上,达到了处理任务在多 核之间的实时公平分配。
Information Technology Solu源自文库ions
◆
芯片厂商在生产多核处理器时一厢情愿地认为,软件开发者将为多核处理器 开发软件。但是,目前为桌面系统提供的并行编程技术和环境不能“完美地”实 现处理并行化:当前并行编程过份依赖系统提供的并行库,而这些并行库主要面 向科学计算领域而非信息服务领域;实现的用户态的“并行化”程序绕不开信号 量、锁等共享资源保护机制。 “并行化编程”不能直接对系统的多个核进行合理化调度。 在计算技术发展的早期,一个处理器只运行一个软件。如果需要一个处理器运行
多个软件,处理器就被分配给不同的进程,使软件“产生错觉”:它们各自独占一个 处理器。当操作系统开始管理同时运行的多个软件时,它就需要一个不受用户和软件 干扰的受保护的空间。 所以我们决定从操作系统的设计理念中入手,寻求一种在操作系统中有效管理与 调度多核处理器的方式。
因此,我们推出了 AccCore多核多线程调度技术!
颈极大地影响了性能的进一步提升。处理器缓存(Cache Memory) 位于处理器 与主存之间,它的容量比主存小,但数据交换速率却很快。
AccCore多核多线程调技术动态分析内核高速协议栈线程之间的数据共享 关系,把数据共享程度高的线程归并到一个线程调度组,属于同一线程 调度组的线程在一个核上运行,减少了缓存失效导致的主存读写,从而 提高了板卡的整体性能。