[发明专利]用于多线程环境下动态调整全局堆分配的方法和系统有效
申请号: | 201210086688.0 | 申请日: | 2012-03-28 |
公开(公告)号: | CN103365720B | 公开(公告)日: | 2017-12-05 |
发明(设计)人: | 韩瑞波;罗志达;戴晓君;刘伟 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京市金杜律师事务所11256 | 代理人: | 酆迅,李峥宇 |
地址: | 美国纽*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 多线程 环境 动态 调整 全局 分配 方法 系统 | ||
1.一种用于在多线程环境下动态调整全局堆分配的方法,包括:
识别应用程序中的全局堆分配方法;
判断所述全局堆分配方法是否为多线程冲突热点;
响应于判断结果为是,利用本地栈提供所述全局堆分配方法所请求的内存空间,
该全局堆为由多个线程所共享的内存空间,并且该本地栈为由多个线程中的各个线程所独享的内存空间,
其中判断所述全局堆分配方法是否为多线程冲突热点包括:
通过实时监测所述全局堆分配方法的多线程冲突参数来判断所述全局堆分配方法是否为多线程冲突热点,所述多线程冲突参数包括下列参数中的一个或多个:
所述全局堆分配方法在单位时间内的调用次数;
所述全局堆分配方法所请求分配的全局内存空间;
所述全局堆分配方法在单位时间内的锁冲突次数。
2.如权利要求1所述的方法,还包括:
响应于判断结果为否,利用所述全局堆分配所述全局堆分配方法所请求的内存空间。
3.如权利要求1或2所述的方法,其中响应于判断结果为是,利用本地栈分配所述全局堆分配方法所请求的内存空间包括:
响应于判断结果为是,判断所述全局堆分配方法所请求的内存空间是否大于本地栈所允许分配的上限空间;
响应于所述全局堆分配方法所请求的内存空间大于本地栈所允许分配的上限空间,利用所述全局堆提供所述全局堆分配方法所请求的内存空间;以及
响应于所述全局堆分配方法所请求的内存空间不大于本地栈所允许分配的上限空间,利用所述本地栈提供所述全局堆分配方法所请求的内存空间。
4.如权利要求1所述的方法,其中所识别的应用程序中的全局堆分配方法为包含本地栈分配和全局堆分配的条件分支语句,所述条件为所述全局堆分配方法是否为多线程冲突热点。
5.如权利要求4所述的方法,其中条件分支语句是通过代码注入对应用程序中的原始全局堆分配方法进行修改而得到的。
6.如权利要求3所述的方法,其中本地栈所允许分配的上限空间值为预设的不大于本地栈最大空间的值。
7.一种用于在多线程环境下动态调整全局堆分配的系统,包括:
识别装置,被配置为识别应用程序中的全局堆分配方法;
判断装置,被配置为判断所述全局堆分配方法是否为多线程冲突热点;以及
调整装置,被配置为响应于判断结果为是,利用本地栈提供所述全局堆分配方法所请求的内存空间,
该全局堆为由多个线程所共享的内存空间,并且该本地栈为由多个线程中的各个线程所独享的内存空间,
其中判断装置被配置为:
通过实时监测所述全局堆分配方法的多线程冲突参数来判断所述全局堆分配方法是否为多线程冲突热点,所述多线程冲突参数包括下列参数中的一个或多个:
所述全局堆分配方法在单位时间内的调用次数;
所述全局堆分配方法所请求分配的全局内存空间;
所述全局堆分配方法在单位时间内的锁冲突次数。
8.如权利要求7所述的系统,所述调整装置被进一步配置为:
响应于判断结果为否,仍然利用所述全局堆分配所述全局堆分配方法所请求的内存空间。
9.如权利要求7或8所述的系统,其中调整装置被配置为:
响应于判断结果为是,判断所述全局堆分配方法所请求的内存空间是否大于本地栈所允许分配的上限空间;
响应于所述全局堆分配方法所请求的内存空间大于本地栈所允许分配的上限空间,利用所述全局堆提供所述全局堆分配方法所请求的内存空间;以及
响应于所述全局堆分配方法所请求的内存空间不大于本地栈所允许分配的上限空间,利用所述本地栈提供所述全局堆分配方法所请求的内存空间。
10.如权利要求7所述的系统,其中所识别的应用程序中的全局堆分配方法为包含本地栈分配和全局堆分配的条件分支语句,所述条件为所述全局堆分配方法是否为多线程冲突热点。
11.如权利要求10所述的系统,其中条件分支语句是通过代码注入对应用程序中的原始全局堆分配方法进行修改而得到的。
12.如权利要求9所述的系统,其中本地栈所允许分配的上限空间值为预设的不大于本地栈最大空间的值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210086688.0/1.html,转载请声明来源钻瓜专利网。