-
公开(公告)号:CN117270822A
公开(公告)日:2023-12-22
申请号:CN202311196425.X
申请日:2023-09-15
Applicant: 浙江大学
Abstract: 本发明公开了一种不中断应用服务的Java代码布局优化方法,包括获取应用的前端瓶颈数据,当根据前端瓶颈数据判断需要执行代码布局优化操作时,采集应用服务的动态控制流图;基于动态控制流图计算新代码布局;按照新代码布局生成新代码;修正所有代码中的重定位信息,即将指向旧代码的函数调用和数据引用指向新代码,修正过程中利用内存屏障和cache维护指令保证修改操作的原子性和一致性,以实现不中断应用服务;仅回收不再被执行的旧代码使用的内存空间用于存放下一次优化生成的新代码,保留仍在调用栈上的函数代码,以实现不中断应用服务便能够回收大部分内存空间。该方法有效地缓解了Java应用的处理器前端瓶颈,提升应用性能。
-
公开(公告)号:CN118535490A
公开(公告)日:2024-08-23
申请号:CN202410716640.6
申请日:2024-06-04
Applicant: 浙江大学
IPC: G06F12/0862 , G06F12/12 , G06F12/02
Abstract: 本发明公开了一种能同时支持多种区域大小的硬件数据预取方法,包括以下步骤:预先设计一种同时支持多种区域大小设置的硬件预取架构,每种区域包含各自的表FT、AT和PHT,并在表FT和AT之间设计用于检测是否对区域大小进行增大的扩展单元EU,在表AT和PHT之间设计用于检测是否对区域大小进行缩小的收缩单元SU,所有区域大小共用一个预取缓冲区PB,以暂存已预测但还未发出预取请求的访问足迹向量;接收高速缓存发送的每次内存访问的指令地址和访问的数据块地址,基于接收地址并采用硬件预取架构预测要访问的数据块地址并发送至高速缓存,以供高速缓存提前从下层存储设备上加载数据;这样能实现多区域大小的同时硬件数据预取。
-