`
阿尔萨斯
  • 浏览: 4194751 次
社区版块
存档分类
最新评论

Windows 7 对多核的支持

 
阅读更多

Windows 7 和 Windows Server 2008 R2 一个重要更新是增强了对多核的支持。 现已可以支持超过64个逻辑处理器(也就是所谓的“核”),并且引入了NUMA 技术, 大幅度提高多核运算的性能。

传统的多核运算是使用SMP(Symmetric Multi-Processor )模式:将多个处理器与一个集中的存储器和I/O总线相连。所有处理器只能访问同一个物理存储器,因此SMP系统有时也被称为一致存储器访问(UMA)结构体系,一致性意指无论在什么时候,处理器只能为内存的每个数据保持或共享唯一一个数值。很显然,SMP的缺点是可伸缩性有限,因为在存储器和I/O接口达到饱和的时候,增加处理器并不能获得更高的性能。

NUMA模式是一种分布式存储器访问方式,处理器可以同时访问不同的存储器地址,大幅度提高并行性。 NUMA模式下,处理器被划分成多个"节点"(node), 每个节点被分配有的本地存储器空间。 所有节点中的处理器都可以访问全部的系统物理存储器,但是访问本节点内的存储器所需要的时间,比访问某些远程节点内的存储器所花的时间要少得多。

在开发Windows7 上的多线程程序的时候, 应该把进程内所有的线程都安排到同一个节点,可以大大提高性能。 新的Windows 7 API 函数 SetProcessAffinityMask 可以实现这个功能。

如果你的程序使用内存比较频繁, 应该在进程所在节点的本地存储器空间分配内存,以避免跨节点存储器访问的开销。 Windows API VirtualAllocExNuma 可以实现这个功能。

以下是Windows 7/ WIndows Server2 2008R2 新增加的多核支持API函数

CreateRemoteThreadEx
Creates a thread that runs in the virtual address space of another process and optionally specifies extended attributes such as processor group affinity.

GetActiveProcessorCount
Returns the number of active processors in a processor group or in the system.

GetActiveProcessorGroupCount
Returns the number of active processor groups in the system.

GetCurrentProcessorNumberEx
Retrieves the processor group and number of the logical processor in which the calling thread is running.

GetLogicalProcessorInformationEx
Retrieves information about the relationships of logical processors and related hardware.

GetMaximumProcessorCount
Returns the maximum number of logical processors that a processor group or the system can support.

GetMaximumProcessorGroupCount
Returns the maximum number of processor groups that the system supports.

GetNumaAvailableMemoryNodeEx
Retrieves the amount of memory that is available in the specified node as a USHORT value.

GetNumaNodeNumberFromHandle
Retrieves the NUMA node associated with the underlying device for a file handle.

GetNumaNodeProcessorMaskEx
Retrieves the processor mask for the specified NUMA node as a USHORT value.

GetNumaProcessorNodeEx
Retrieves the node number of the specified logical processor as a USHORT value.

GetNumaProximityNodeEx
Retrieves the node number as a USHORT value for the specified proximity identifier.

GetProcessGroupAffinity
Retrieves the processor group affinity of the specified process.

GetProcessorSystemCycleTime
Retrieves the cycle time each processor in the specified group spent executing deferred procedure calls (DPCs) and interrupt service routines (ISRs).

GetThreadGroupAffinity
Retrieves the processor group affinity of the specified thread.

GetThreadIdealProcessorEx
Retrieves the processor number of the ideal processor for the specified thread.

QueryIdleProcessorCycleTimeEx
Retrieves the accumulated cycle time for the idle thread on each logical processor in the specified processor group.

SetThreadGroupAffinity
Sets the processor group affinity for the specified thread.

SetThreadIdealProcessorEx
Sets the ideal processor for the specified thread and optionally retrieves the previous ideal processor.

以下是新的线程池 API 函数


QueryThreadpoolStackInformation
Retrieves the stack reserve and commit sizes for threads in the specified thread pool.

SetThreadpoolCallbackPersistent
Specifies that the callback should run on a persistent thread.

SetThreadpoolCallbackPriority
Specifies the priority of a callback function relative to other work items in the same thread pool.

SetThreadpoolStackInformation
Sets the stack reserve and commit sizes for new threads in the specified thread pool.

分享到:
评论

相关推荐

    Windows XP 支持多核补丁

    号称是能够解决XP上运行某些程序在多核情况下性能降低的问题,在XP SP2下使用,如果您是SP3,就不要打这个补丁了,SP3已经有了。 同志们,你的多核装备,难道还在用XP吗?

    CPU智能多核处理器更新补丁

    解决问题:在电脑中使用旧版服务器系统无法使用现在的多核CPU (即在任务管理器中显示为单核) 全面支持 Windows XP Sp2、Windows XP Sp3、Windows Server 2003 SP2 系统

    《多核程序设计》PPT

    本书介绍了多核体系结构、多核处理器、硬件支持、系统软件的现状,详细讲解了在多核平台上进行软件开发的理论与方法。从硬件入手介绍多核计算机的发展,介绍了并行算法与常用算法,之后以线程为出发点介绍多线程程序...

    java jdk1.7windows免安装版下载

    6、对多核处理器的支持:JDK 7提供了对多核处理器的支持,包括fork-join框架,以帮助开发人员更轻松地编写并行代码。 总的来说,JDK 7是一个重要的Java版本,具有许多改进的特性,提高了Java的性能,安全性和开发...

    JDK 开发工具包 17.0.7

    改进的性能和稳定性:JDK 17.0.7 包括许多性能和稳定性改进,例如改进的垃圾收集器、更快的启动时间和更好的多核支持等。 新增和增强的 API:JDK 17.0.7 包含了许多新的和增强的 Java API,例如 Java 媒体框架、Java ...

    kill客户端多核补丁

    kill多核补丁,kill网络版,支持WINDOWS2008,window2003

    mcreplicate:多核复制

    注意:Windows不提供多核支持。 安装 从GitHub安装软件包: xfun :: pkg_attach2( " remotes " ) install_github( " christophergandrud/mcreplicate " ) 使用 它的工作方式与replicate() ,但是会分发复制。 ...

    MyHash 1.4.7.0

    一款采用并行计算,充分利用多核CPU性能,快速计算文件哈希值的工具。单文件,整合32位和64位可执行程序。作者drag0n发布的最终版,验证文件的首选。 功能特点: ...8、支持Windows7任务栏进度条效果;

    CPU Thermometer(多核CPU温度监控) 1.2 最新绿色版

    它兼容大部分windows系统,从常见的xp到最新的windows 7上都可以运行它,对于32位和64位系统也都支持;支持intel和amd的处理器

    Fractice:分形浏览器,具有电影录制,深度缩放,多核等功能-开源

    Fractice是Windows的分形浏览器/渲染器。 它支持导航,缩略图,预览,深度缩放,打印,海报,调色板,多核和分布式处理,电影录制,撤消/重做,作业控制,VJ混合,双显示器和MIDI。

    wimtool 1.20绿色版

    国内功能最齐全的 WIM 处理工具,...1、加入对多核CPU的支持,充分利用多核CPU提高处理速度; 2、优化代码,文件体积有所减小; 3、将新版 PECMD.EXE 的自动设置分辨率,弹出光碟、安全移除U盘加入到WinCMD.EXE中。

    Ashampoo Zip Pro v1.0.5.zip

    支持多核处理器,多线程处理 ZIP 和 7-ZIP 文件 方便的格式转换 一些压缩文件使用了不常用的格式,压缩率很低。可以将这些文件转换为更好的格式,如 7-ZIP! 读取和写入 ZIP-、ZIPX、7-Zip、LHA-、CAB-、TAR-/GZ-...

    Erlang_win64_22.2.zip

    Erlang在1991年由爱立信...目前Erlang同时支持的操作系统有linux,windows,unix等,可以说适用于主流的操作系统上,尤其是它支持多核的特性非常适合现在的多核CPU,而分布式特性也可以很好融合目前的各种分布式集群。

    framword4.5

    添加对 Windows 7 多点触控、功能区控件和任务栏扩展性功能的支持。 添加了对 Surface 2.0 SDK 的支持。 新的业务线控件,包括图表控件、智能编辑、数据网格以及其他用于改进生成以数据为中心的应用程序的开发人员...

    《Intel C++ 编译器Windows版》(Intel.C.Plus.Plus.Compiler.v10.0.026)

    [版本说明] 截止到2007-08-15为最新版, 仅包含Windows平台, 支持 IA32 / Intel64 / IA64处理器 [病毒检测] NOD32 v2.7 2007-08-15 [安装测试] Windows 2003 SP2 / Visual Studio 2005 SP1 [产品主页] [ ...

    GOM 视频转换工具 Gom Video Converter 2.0.1.1 x64.zip

    32位或64位版本的Windows XP(SP3或更高版本),Windows Vista,Windows 7,Windows 8,Windows 10 与Windows XP SP1或更低版本不兼容 日语和韩语版本的操作系统不受支持 中央处理器 英特尔奔腾4 CPU,AMD Athlon 64...

    BANDIZIP-SETUP-ONLINE.EXE

    支持的操作系统: Windows Vista/7/8/8.1/10 (32bit/64bit/ARM64.可以提取包括 RAR/RAR5/7Z/ZIP 在内的 30 多种格式;可以创建带密码和多卷的压缩包;支持多核快速压缩;解压缩支持的格式: 7Z, ACE, AES, ALZ, ARJ, BH, ...

    好压解压缩软件

    完整支持 7Z/ZIP/BZIP2/GZIP/XZ/LZH/WIM/TAR 文件的压缩与解压,并可以创建分卷压缩文件、自解压文件,同时支持对压缩文件的加密。 2. 支持RAR、ZIPX、ISO、UDF、ISZ、ACE、ALZ、CAB、BZIP2、ARJ、JAR、LZH、RPM、...

    otp_win64_22.3.exe.zip

    windows下安装RabbitMQ的...目前Erlang同时支持的操作系统有linux,windows,unix等,可以说适用于主流的操作系统上,尤其是它支持多核的特性非常适合现在的多核CPU,而分布式特性也可以很好融合目前的各种分布式集群。

    影音先锋电脑版 v9.9.995 官方P2P版.exe

    影音先锋基于DirectShow和...4. 增强对H265视频格式的支持。 5. 更先进的画质增强功能。 6. 支持全新的3D视频渲染技术。 7. 增强的多核解码,更高效的多核处理技术。 8. 超薄的透明玻璃界面带给你全新视觉冲击。

Global site tag (gtag.js) - Google Analytics