NUMA节点平衡算法 [英] NUMA node balancing algorithm

查看:332
本文介绍了NUMA节点平衡算法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


大家好

Hi all


当db引擎接受连接并创建会话时,它会在循环中为SID分配一个home numa节点基础。

该会话的每个请求都在主节点内执行,现在我怀疑:

when the db engine accept a connection and create a session, it assigns a home numa node to the SID in a round robin basis.
Each request from that session is executed inside the home node, now my doubts:


1)数据库引擎是否会定期检查不平衡和将会话从主节点迁移到其他(负载较少的)节点?

2)如果请求需要内存但主节点已满但其他节点有足够的可用空间会发生什么?
3)是sqlos a L1,L2和LLC缓存的商品?

1) does db engine periodicaly checks for imbalance and migrate sessions from the home node to other (less loaded) nodes?
2) what happens if a request needs memory but the home node is full but other nodes have plenty of free space?
3) is the sqlos aware of L1,L2 and LLC cache?


如果你能指点我一些内部,我会永远感激

if you can point me to some internals, I would be eternally grateful

推荐答案

1)不,它们是循环分配的。在numa节点上分配线程之前没有完成检查。

1) no, they are assigned on a round robin basis. There are no checks done before assigning a thread on a numa node.

2)你的查询需要等到内存被分配。但是,一个numa节点可以使用称为外部内存块的概念从另一个numa节点借用。



https://techcommunity.microsoft.com/t5/SQL- Server-Support / How-It-Works-SQL-Server-NUMA-Local-Foreign-and-Away-Memory / ba-p / 317461

2) Your query will need to wait until the memory is allocated. However one numa node can borrow from another numa node using a concept called foreign memory block.

https://techcommunity.microsoft.com/t5/SQL-Server-Support/How-It-Works-SQL-Server-NUMA-Local-Foreign-and-Away-Memory/ba-p/317461

3)no。


这篇关于NUMA节点平衡算法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆