• 帮助
  • 广告服务

京财时报

滚动新闻:
·中国广电5G用户突破1800万 ·包含本体及DLC、原声带等特典:消息称《地平线:西之绝境》游戏完全版有望 ·理财直播“连麦诊基”基金投教转向“基民视角” ·最新佛山百强榜:民营企业占比超八成,制造业百强营收连续三年增长 ·汇聚金融力量共创美好生活天津滨海农商银行开展“五进入”消保集中宣教活动 ·长四丙火箭成功发射遥感三十三号04星 ·对比不同理财产品的业绩?这个指标你一定要搞懂 ·专利显示苹果公司未来有望利用电磁线圈“循环热量”,帮助冷却过热的设备 ·全球商品观察|国际大米价格指数达15年来名义高点,中国大米市场受国际影响 ·本田展示未来电动汽车愿景,三款概念车将亮相东京车展 ·微软全新OutlookforWindows支持苹果iCloud帐户,离线 ·安徽宿州:鼓励“现房销售”,年底前买房发放至少5000元/套消费券 ·昆仑健康保险广东分公司走进养老院及社区公园,开展金融知识普及集中宣传活动 ·21深度|蔚来手机发布:车手互联兵临城下 ·年轻人首台阅读本:掌阅iReaderLight3发布,6英寸墨水屏、AI ·走进江南古街、传播金融知识浦发银行无锡分行积极开展”集中教育宣传日“活动 ·微软Win11彩蛋:下次Moment更新有望明年2月24日发布 ·阿里云宣布开源通义千问140亿参数模型Qwen-14B及其对话模型,免费 ·廿载著章丨国寿寿险上市20年:资产规模劲增15倍,高质量发展稳健迈进 ·15.69万元起,2024款小鹏P5汽车正式上市:精简至两款,车长增加5 

内存疯狂换页!CPU怒批OS

京财时报   来源:IT之家    发布时间:2022-10-12 16:16:12   阅读量:9992   

内存访问瓶颈

我是CPU一车间的Q前阵子我们厂发生了一件喜事,老板拿到了一笔投资,扩大了生产规模

但是老板很小气,拿到投资也不给我们涨工资,就知道要我们拼命干,压榨我们的劳动力。

老板说投资的钱要用来购买设备和招聘新员工我们本来有八个车间,直接翻倍变成了十六个!要是我们的工资能翻倍就好了

现在我们变成了16核CPU!

我原以为我们的生产效率可以提高一倍,但是我们遇到了新的问题。

我们CPU中的每个车间都要通过内存控制器和总线系统访问内存有时,当几个车间必须访问内存时,它们必须竞争

以前我们在八车间的时候,竞争不是很激烈,所以也只是谦让的问题现在十六家作坊都要过独木桥,竞争很激烈尤其是我们的老员工基本不会让新人来,经常为这个事情闹得不愉快

内存访问存在瓶颈,这种性能自然严重受损。

NUMA建筑

老板把这一切都看在眼里,私下和我开了个短会,二车间没事和客车主任。

你们都是厂里的核心员工你怎么看待工厂目前存在的问题老板问了我们几个

你我对视,一言不发。

这时,总线主管说话了,老板,现在的问题是,访问内存只有一种方式,大家都要挤,难免会产生摩擦,影响工作性能要从根本上解决问题,最好再修一条路

再建一条路,什么意思。

我建议新扩建的八个车间独立出去,建一个分厂然后分内存,让两家工厂管理一部分一方面可以减少新老员工的矛盾,另一方面可以减少拥挤访问内存造成的资源浪费而且,如果以后继续扩大规模,还可以继续使用这种方式,公交局长继续说道

领导在低头的同时,我居然想到了一个问题:主任,如果我们一号核执行的线程要访问的内存页不在我们厂管理的内存里,那我们在他们分厂怎么办。

嗯,那样的话,两家工厂需要互相沟通如果被访问的内存不在他们的管辖范围内,他们应该互相帮助传递

老板拍桌子:好主意!做就是了!

第二天,老板召集了16个车间的代表,总线总监,还有操作系统那边负责内存管理的代表小李一起开会,会上正式通过了一个新的技术方案。

这项技术也被赋予了一个名字:NUMA,非均匀内存访问。

现有的16个车间分为两个CPU工厂,称为两个NUMA节点,每个节点直接连接到一部分内存,两个节点之间有专用的互连通道每个节点直接访问自己管理的内存称为本地访问,通过互连通道访问其他工厂管理的内存称为远程访问显然前者的访问速度要比后者快得多,所以这也是这项技术名字的由来:非均匀内存访问

新的组织架构调整后,工厂的工作效率提高了很多,冲突和摩擦减少了很多,又可以愉快地工作了。

操作系统支持

我们组织架构调整了,运营系统这么忙为了支持我们的新架构,操作系统必须做出一些调整

首先是缓存的问题,操作系统的进程amp线程调度管理部门要注意尽量不要跨NUMA节点调度线程,不要允许一个线程一会儿在下一个工厂运行,一会儿在我们工厂运行,这样建立的缓存就失效了。

还有就是记忆亲和力的问题为了获得更快的内存访问速度,操作系统的内存管理部门制定了内存分配策略线程在哪个NUMA节点执行,然后将内存分配给直接连接到该节点的内存,以避免跨节点的内存访问

更不用说,操作系统经过优化调整,工作效率真的提高了不少。

可是好景不长。就因为这个调整,新的问题又出现了~ ~ ~

MySQL的问题

最近,发生了一件奇怪的事我不知道发生了什么我们分支管辖的内存很快就用完了,但是下一个分支管理的内存还有很大的空间

操作系统不在那边分配内存页,而是让我们把内存页换到硬盘上腾出空间我们在这上面花了很多时间,导致业绩下滑,比不上隔壁分厂的新人

你怎么了就不能分配隔壁二号节点厂管辖的内存吗空间还是那么大,却让我们忙个不停我有点生气

小李一脸无辜的说:不瞒你说,前几天有人来我们Linux帝国开了一家新公司,叫MySQL这家伙是个吃内存的大户,一上来就要吃几十千兆你们厂管辖的内存大部分都被它吃了

老虎问:这跟我们有什么关系不要推卸责任

我上次来开会的时候,你们不是有一个NUMA建筑吗访问本地内存比访问远程内存更快,因此我们制定了内存亲和策略当线程在哪个NUMA节点执行时,内存就会分配给直接连接到哪个节点的内存,以为这样会提高性能小李继续抱怨

那不可能是死脑筋虽然访问远程内存没有访问本地内存快,但总比不断从内存和硬盘换页要好

经过我们这么一说,小李也意识到了这样做的问题我会回去给大家反馈,调整我们的策略

几天后,操作系统实现了新的内存分配策略,将内存平均分配给所有NUMA节点我们不再需要一次又一次地将数据从内存转移到硬盘

NUMA虽好,但用不好只会徒增烦恼~

声明:本网转发此文章,旨在为读者提供更多信息资讯,所涉内容不构成投资、消费建议。文章事实如有疑问,请与有关方核实,文章观点非本网观点,仅供读者参考。

热文推荐

首页 | 新闻| 财经| 房产| 娱乐| 旅游| 时尚| 生活| 科技| 健康| 汽车| 教育| 今日北京 | 电子报

Copyright @ 2010- 网站地图
关于同意京财时报设立互联网站并提供新闻信息服务的批复