i社区用户: 密码:
搜索:
首页| 资讯| 信息化| 视频| 专题| 创业| 企业中心| 企业博客| 职场| 周报全文| 方案中心 |电子杂志
市场会展| Blog| i社区| 社区联盟| RSS| 直播 | 发行| wiki |i| 下载| 英才招聘|CIO文库
IT两会 | 互联网年会
产品中心| 笔记本|台式机| DIY|数码| 服务器|网络通信| 手机|软件|显示器|信息安全|存储|组网| 动漫
 服务器专区  业界资讯 | 厂商专区 | 产品导购 | 技术与市场 | 应用技巧 | 配件 | 方案案例 | 网络存储    
 
 
详解Windows Server 2008内核新变化
 
 
 
 
2008-04-03 14:55:54
 
  chinaitlab  
 

  可伸缩性

  可伸缩性是指操作系统或应用程序有效利用多个处理器和大量内存的能力。Windows 的每个版本都会通过减少或取消使用锁(它们会降低
多处理器的平行性)来提高可伸缩性,Windows Server 2008 也不例外。

  执行计时器超时的代码中有一个较小但却非常重要的改进,即不再需要调度程序锁(所有底层同步操作都会使用的一种系统范围调度程序锁)。从而降低了 CPU 同步开销,使得 Windows Server 2008 终端服务器系统能比 Windows Server 2003 多支持约 30% 的并发用户。

  Windows Server 2008 中的其他可伸缩性改进包括完成端口增强功能、新的线程池实现、更加有效地使用非一致内存访问 (NUMA) 硬件以及动态系统分区。

  改进了 I/O 完成端口处理

  大多数可伸缩的 Windows 服务器应用程序(包括 IIS、SQL Server® 和 Exchange Server)都依靠称为完成端口的一个 Windows 同步 API 来最大程度减少执行 I/O 操作时在多个线程之间的切换。具体方法是首先将新到请求(如 Web 服务器客户端连接)通知与完成端口关联起来,并指定一个线程池来专门等待通知。当请求到来时,Windows 将调度一个线程,该线程通常执行其他 I/O 操作(如从磁盘读取一个网页并将其发送到客户端)来完成该请求。

  因此,相同线程可尽快地返回以等待更多的客户端请求,线程异步执行 I/O 并将 I/O 完成与完成端口关联起来。线程随后返回等待完成端口,当新请求到来或某个 I/O 完成时,完成端口将调度该线程。通过这种方式,同一线程在 CPU 上始终处于活动状态:处理客户端请求或等待完成端口。

  之前 Windows 版本中完成端口的缺陷在于:当 I/O 完成后,I/O 系统将让执行该 I/O 的线程立即执行一小段完成处理,而不考虑该线程当前正在执行的其他工作。如果还有其他线程处于活动状态,则常常会导致调度程序抢占活动线程,并上下文切换到另一个执行线程的情况。

  通过将完成处理延迟到下一线程以等待与该 I/O 关联的完成端口,Windows Server 2008 避免了此类上下文切换。因此,即使还有另一线程正在等待完成端口,它仍会在执行其他代码之前先执行完成处理,而且调度程序不必切换到执行线程。这种最小化上下文切换的能力可显著地改善高负载服务器应用程序的可伸缩性。

  线程池更加有效

  利用多个 CPU 来写入应用程序非常困难,因此 Windows XP 引入了工作线程池,它是一种基础结构和相关 API,用于提取在多个 CPU 间执行小段工作的详细信息。 应用程序将工作项目指定给线程池 API,然后该 API 在它为系统中的每个 CPU 创建和管理的某个线程中执行这些工作项目。

  线程池的目的是通过使用相同的线程连续执行多个工作项目来尽可能减少上下文切换。当某个线程因为忙于执行其他工作而无法达到此目的时,它将使用不同 CPU 上的另一线程来执行该工作项目。

  Windows Server 2008 的线程池实现可间接地(受益于完成端口改进)和直接地(通过优化线程管理)更好利用 CPU,这样工作线程就能根据需要动态切换以便处理应用程序的负荷。并且,此基础结构的核心已转移到内核模式,从而最小化使用该 API 的应用程序所产生的系统调用数量。最后,新 API 使应用程序能够更轻松地执行某些操作,如在应用程序关闭期间中止已排队的工作单元。

  NUMA 优化

  Windows Server 2003 在线程调度程序和内存管理器中引入了 NUMA 优化,而 Windows Server 2008 在 I/O 管理器中添加了 NUMA 优化同时扩展了内存管理器的 NUMA 优化。

  NUMA 系统通常是多处理器系统,其中的内存延迟随访问它的处理器不同而有所不同(请参见图 4)。内存被分成多个节点,CPU 和节点之间的延迟可能各不相同,并且每个 CPU 都被视为它可最快访问的那个节点的一部分。

  

  图 4 示例 NUMA 系统

 
  1  2  3  4  5  6  7  8    
  (网页编辑:吴威  
  搜索相关内容 微软   windows   server   2008   内核    
   
   
     
      如果您对“详解Windows Server 2008内核新变化”有任何疑问要咨询,或者您对我们专家的解答有任何疑义,请您点击以下的链接提交意向单,我们的编辑和信息化专家将会很快为您做出回答,您提供的信息经过审核后将有机会出现在我们的网页上。
专家介绍
处理 SSI 文件时出错
 搜索相关内容
 精彩文章
 
对话基辛格:多核应用走向成熟尚需时日
存储管理工具受中小企业青睐
面向中小企业的外部存储系统的挑战
应用多核CPU推进服务器虚拟化性能
SNW2007:“绿色存储”引起关注
可插式数据存储引擎:MySQL走向企业级的保障
购买博科UCS2900产品 IntelliPath踏上新征程
计世周报:微软Vista有多安全?
 服务器产品查询
选择品牌:
处理器类型:
最大处理器数量:
 
 
相关文章
  发表评论  您的姓名   您的Email   发布  
   
关于我们 | 客服热线 | 广告服务 | 招聘信息 | 法律声明 | 投稿指南 | 联系方式 
Copyright(C) ccw.com.cn,All rights reserved
中国计算机世界出版服务公司内容版权所有
京ICP证010182
Google Analytics 代码: