[发明专利]提升服务器性能的方法及装置和电子设备有效
申请号: | 201811400344.6 | 申请日: | 2018-11-22 |
公开(公告)号: | CN110032441B | 公开(公告)日: | 2023-03-28 |
发明(设计)人: | 马凌;何昌华 | 申请(专利权)人: | 创新先进技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 开曼群岛大开曼岛*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 提升 服务器 性能 方法 装置 电子设备 | ||
1.一种提升服务器性能的方法,所述服务器包含A个CPU,所述CPU包含B个内核,所述内核包含C个核心;每个内核设置有对应的内核锁,每个CPU设置有对应的CPU锁,所述服务器设置有对应的服务器锁,所述方法包括:
令每个CPU的每个内核中的C个核心之间争抢内核锁,获取争抢到内核锁的A*B个核心;
令每个CPU中争抢到所述内核锁的B个核心之间争抢CPU锁,获取争抢到CPU锁的A个核心;
令服务器中争抢到CPU锁的A个核心之间争抢服务器锁,获取争抢到服务器锁的1个核心;
接收若干执行关键区域的线程,将执行相同关键区域的线程分配给同一个CPU;
由争抢到服务器锁的核心执行所在CPU内所有线程的关键区域。
2.根据权利要求1所述的方法,所述方法还包括:
待所述争抢到服务器锁的核心执行完所在CPU内所有线程的关键区域后,释放所有的内核锁、CPU锁和服务器锁,将A减1后,由其它CPU重复执行“令每个CPU的每个内核中的C个核心之间争抢内核锁,获取争抢到内核锁的A*B个核心”的步骤,直到执行完所有CPU内线程的关键区域。
3.根据权利要求1所述的方法,所述方法还包括:
对所述线程进行如下至少一种配置:
配置当前线程所处的CPU;
将来自相同CPU的线程请求配置在同一链路上;
配置当前线程请求的状态;
配置执行关键区域所需参数;
配置供其他线程调用当前线程关键区域函数。
4.根据权利要求1所述的方法,所述方法还包括:
将没有争抢到服务器锁的线程构建为串行队列,并在本地进行轮询。
5.一种提升服务器性能的方法,所述服务器包含A个CPU,所述CPU包含B个内核,所述内核包含C个核心;每个内核设置有对应的内核锁,每个CPU设置有对应的CPU锁,所述服务器设置有对应的服务器锁,所述方法包括:
令每个CPU的每个内核中的C个核心之间争抢内核锁,获取争抢到内核锁的A*B个核心;
令每个CPU中争抢到所述内核锁的B个核心之间争抢CPU锁,获取争抢到CPU锁的A个核心;
令服务器中争抢到CPU锁的A个核心之间争抢服务器锁,获取争抢到服务器锁的1个核心;
接收若干执行关键区域的线程,将执行相同关键区域的线程分配给同一个CPU;
在争抢到服务器锁的核心执行完关键区域后,依次释放内核锁、CPU锁和服务器锁;其中;所述释放的内核锁被同一内核的其它核心争抢到,所述CPU锁被同一CPU内核心争抢到。
6.一种提升服务器性能的装置,所述服务器包含A个CPU,所述CPU包含B个内核,所述内核包含C个核心;每个内核设置有对应的内核锁,每个CPU设置有对应的CPU锁,所述服务器设置有对应的服务器锁,所述装置包括:
第一争抢单元,令每个CPU的每个内核中的C个核心之间争抢内核锁,获取争抢到内核锁的A*B个核心;
第二争抢单元,令每个CPU中争抢到所述内核锁的B个核心之间争抢CPU锁,获取争抢到CPU锁的A个核心;
第三争抢单元,令服务器中争抢到CPU锁的A个核心之间争抢服务器锁,获取争抢到服务器锁的1个核心;
接收单元,接收若干执行关键区域的线程,将执行相同关键区域的线程分配给同一个CPU;
执行单元,由争抢到服务器锁的核心执行所在CPU内所有线程的关键区域。
7.根据权利要求6所述的装置,所述装置还包括:
循环单元,待所述争抢到服务器锁的核心执行完所在CPU内所有线程的关键区域后,释放所有的内核锁、CPU锁和服务器锁,将A减1后,由其它CPU重复执行第一争抢单元,直到执行完所有CPU内线程的关键区域。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于创新先进技术有限公司,未经创新先进技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811400344.6/1.html,转载请声明来源钻瓜专利网。