处理器-NUMA架构计算机内存高效操作问题

问题描述

NUMA架构计算机内存高效操作问题

配置是:超微X9DRL-IF,2颗Intel XEON处理器,128GB内存,运行2008 R2。
目前从PCIE采集卡通过DMA收数据,DMA完成中断周期100ms,DMA大小64MB,需要将该数据拷贝到内存里的更大缓冲区缓存后处理,用VirtualAlloc()申请了20GB内存,结果测试显示数据拷贝的时间达50-60ms最坏的时候回达到秒级以上,这和通过Everest测试的结果相差太大,而且,如果再提高采集速度基本就不可能了;后来通过VirtualAllocExNuma()函数申区请与DMA缓冲区同一节点的内存,测试发现,有时候拷贝时间会变为15ms左右(原来是50ms),但有时候仍回维持在50度,最坏时仍达秒级以上。
那怎样才能使内存访问效率提高,希望高手们不吝赐教,谢谢

解决方案

没有这方面的经验,看看这两篇文章能不能帮你
http://stackoverflow.com/questions/3763351/memory-access-time-slow-with-virtualallocexnuma-on-windows-7-64
https://msdn.microsoft.com/en-us/library/windows/desktop/aa965223(v=vs.85).aspx

时间: 2024-11-03 10:57:29

处理器-NUMA架构计算机内存高效操作问题的相关文章

简介SQL SERVER中的NUMA架构

SQL Server Data Tools – Business Intelligence for Visual Studio 2012安装时提示"The CPU architecture...."的解决方法 就目前而言,CPU主频速度的迅速提升以及CPU数量的高速增长,并没有能够促使CPU在访问内存时的速度有所长进. 尽管L3 Cache的提出解决了部分问题,不过,CPU访问内存速度慢的现象并未有所改观,瓶颈依然存在. 为了更有效的解决CPU访问内存的速度问题,工业界引入了NUMA概

c++-C++在函数中如何将本计算机处理器的架构传给string字符

问题描述 C++在函数中如何将本计算机处理器的架构传给string字符 C++在函数中如何将本计算机处理器的架构传给string字符 解决方案 不知道你说的架构是什么意思.如果是指cpu brand string,比如"Intel(R) Pentium(R) 4 CPU 2.40GHz",可以用cpuid汇编指令获取. 如果是指它是32bit的还是64bit的,可以用IsWoWProcess API得到. 解决方案二: http://blog.csdn.net/wangyaninglm

Hyper-V和NUMA架构那点事儿

最近连续做了几个微软虚拟化解决方案的售前演示,其实对于大部分客户来讲不会对一整套"相对完善"的方案在第一时间就看的很深入,反而通常会更在意一些最基础的功能和配置选项,特别是技术岗位的人往往都会有"先入为主"的情绪,这很正常,假设客户使用了N多年的VMware或者他是思杰铁粉儿,那么你怀揣着一套microsoft环境去给人家讲的时候,可能对方会先问一些hyper-v管理器的功能,甚至会问的很细,不要小看这些看似"不起眼"的功能选项,恰恰会成为不同厂

NUMA架构

最近在学习.NET的并行计算技术,学到一个服务器NUMA架构,NUMA架构在中大型系统上一直非常盛行,也是高性能的解决方案,在系统延迟方面表现都很优秀.Windows一向都没有在NUMA架构上有多少表现机会,AMD的多路系统大多也会用在UNIX/Linux上.Intel如期进入了NUMA架构的怀抱,英特尔最新的服务器处理器至强5500是一项重大的结构变革.与上一代至强处理器相比,至强5500采用了非一致性存储结构(NUMA),它在一块芯片上增加了向内存控制器的并行化访问路径增加非统一内存访问.可

计算机内存使用率过高怎么办

什么是内存使用率 内存使用率就是系统和应用程序占用物理内存的百分比.当电脑在待机状态的时候内存就不会增加,但是如果程序开启的越多,内存使用率就会相应的上升,这就是造成内存使用率过高. 计算机内存使用率过高怎么办-"> 当然如果电脑内存使用率过高的话会造成电脑运行速度慢,操作系统变慢的现象,如果出现了这种情形然后我们在去任务管理器上看看内存使用率是否过高了吧. 如果发现内存使用率过高,不要盲目的去操作电脑,先查看到底是什么程序占用了内存使用率.如果发现是一些正常的程序占用的话可以将其进程暂时

配置-eclipse lula启动报计算机内存不足问题,急!!!!

问题描述 eclipse lula启动报计算机内存不足问题,急!!!! 我从同事那考个eclipse过来,结果他Eclipse分配的内存是2G多,2G多可能超过我内存了.难后我报计算机内存不足错误,eclipse.ini配置过了也没用, 装过了一个eclipse还不行. 解决方案 计算机内存不足,添加内存条,我们都至少是4G内存,2G内存不够用的!我工作电脑都是8G! 解决方案二: 我也是4G的.我现在给C盘配置了内存,暂时没在出现问题. 以前是无分页的 解决方案三: 我也是4G的.我现在给C盘

eclipse lula启动报计算机内存不足问题,急!!!!

问题描述 我从同事那考个eclipse过来,结果他Eclipse分配的内存是2G多,2G多可能超过我内存了.难后我报计算机内存不足错误,eclipse.ini配置过了也没用,装过了一个eclipse还不行. 解决方案 解决方案二:你的机器多少内存,把eclipse.ini贴一下.解决方案三:1.减小ini里的参数值2.增加虚拟内存的设置3.如果上面两个都不管用,只能加物理内存了

明确了计算机预装正版操作系统软件的具体要求和有关问题

信息产业部.国家版权局.商务部联合发布<信息产业部.国家版权局.商务部关于计算机预装正版操作系统软件有关问题的通知>,明确了计算机预装正版操作系统软件的具体要求和有关问题. 通知包括七方面内容: 一是在我国境内生产的计算机,出厂时应当预装正版操作系统软件. 二是进口计算机在国内销售,销售前应当预装正版操作系统软件. 三是操作系统软件提供者应采取积极措施,支持计算机生产企业预装正版操作系统软件,通过制定预装软件价格和服务条款,使计算机生产.销售企业能够以优惠的价格和良好的服务获得授权. 四是进口

计算机内存寻址

计算机管理内存的基本方式有两种:段式管理和页式管理.而在使用80x86微处理器时,内存地址分为三个不同的地址:逻辑地址,线性地址,物理地址.他们之间有什么关系,内存是如何寻址,本文主要介绍的就是内存寻址. 1.基本概念: cpu段式管理:段式管理的基本原理是指把一个程序分成若干个段(segment)进行存储,每个段都是一个逻辑实体(logical entity).一个用户作业或进程所包含的段对应一个二维线形虚拟空间,程序通过分段(segmentation)划分为多个模块,故可以对程序的各个模块分