[发明专利]基于动态二进制重写器架构的轻量级服务有效
申请号: | 201080038984.2 | 申请日: | 2010-08-31 |
公开(公告)号: | CN102483700A | 公开(公告)日: | 2012-05-30 |
发明(设计)人: | 马克·赫德格;史蒂芬·T·泰;迈克尔·贝迪;安东·切诺夫 | 申请(专利权)人: | 超威半导体公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 上海胜康律师事务所 31263 | 代理人: | 李献忠 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 动态 二进制 重写 架构 轻量级 服务 | ||
1.一种动态二进制重写器(DBR)架构,包括:
硬件性能监控器,该硬件性能监控器对一个或多个客户进程进行采样;
DBR服务,该DBR服务作为独立的进程执行;以及
DBR代理,该DBR代理在该一个或多个客户进程内部执行,该DBR代理补丁一个或多个客户进程以使用替换代码,该替换代码在功能上与一个或多个客户进程对应的初始代码等同。
2.如权利要求1所述的DBR架构,其中:
该DBR服务聚集来自硬件性能监控器的样本,通过推断热样本周围的程序结构来执行区域选择,在所选择的区域上执行区域转换,以及生成该替换代码。
3.如权利要求1所述的DBR架构,其中:
在该一个或多个客户进程的开始阶段,该DBR代理自动地被装载到该一个或多个客户进程对应的客户进程地址空间中并被初始化;以及,
该DBR代理执行替换代码的补丁和不补丁操作并报告必要的系统资料库用途而不在该一个或多个客户进程上施加大量额外的资源需求。
4.如权利要求1所述的DBR架构,其中:
从该一个或多个客户进程分离该DBR服务允许该DBR服务与该一个或多个客户进程并行地执行,利用一个或多个独立内核,如果内核可用的话,同时最小化存储器利用率和避免与该一个或多个客户进程共享资料库;以及,
从该一个或多个客户进程中分离该DBR服务允许该DBR服务管理多客户进程以此来允许该DBR使用的系统资源被协调。
5.如权利要求1所述的DBR架构,其中
从该一个或多个客户进程分离该DBR服务允许该DBR服务连续地操作拍摄被管理的该客户进程的快照以及如果必要的话移除或生成新的替换。
6.如权利要求1所述的DBR架构,其中:
该DBR服务包括DBR控制线程,该DBR控制线程管理与DBR代理的通信并协调该DBR服务的各个方面。
7.如权利要求1所述的DBR架构,其中:
该DBR服务包括一个或多个工作线程,该工作线程执行区域选择操作,区域转换操作和客户进程的替换代码生成操作。
8.如权利要求1所述的DBR架构,其中:
该DBR服务进一步包括在该一个或多个客户进程中确定热代码的系统,该系统包括如下指令:
用于执行热代码发现操作的指令;
用于执行代码分区的操作的指令;
用于执行仅导向计算操作的指令;
用于执行热调用内联操作的指令;
用于执行补丁点选择操作的指令;以及
用于执行代码精简操作的指令。
9.如权利要求8所述的DBR架构,其中:
该热代码发现操作分解向前从已知的频繁执行的地址处开始的客户进程的代码,而不需要任何静态程序信息;以及,
该客户进程的控制流被跟随以提供包含任意控制流的控制流图。
10.如权利要求9所述的DBR架构,其中:
该热代码发现操作利用入口匹配和记录关于指令边界和重叠代码序列的信息的位置结构来有效地检测重叠代码;以及,
当在可变长度指令架构上执行以及当调用规范中包括从不返回的调用时,产生重叠指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于超威半导体公司,未经超威半导体公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201080038984.2/1.html,转载请声明来源钻瓜专利网。