-
公开(公告)号:CN101685406A
公开(公告)日:2010-03-31
申请号:CN200810149826.9
申请日:2008-09-27
Applicant: 国际商业机器公司
CPC classification number: G06F9/526
Abstract: 本发明提供了一种对数据结构的实例进行操作的方法和系统。该方法包括为至少一可无锁的操作请求获取一第一锁的弱锁,以便对该数据结构的所述实例进行操作。响应于该至少一可无锁的操作完成获取弱锁,执行该至少一可无锁的操作对该数据结构的实例进行的操作。为一不应无锁的操作请求获取所述第一锁的强锁,以便对该数据结构的所述实例进行操作。响应于该不应无锁的操作完成获取该强锁,执行该不应无锁的操作对该数据结构的实例进行的操作。根据本发明的上述方法和系统可以提高对数据结构的实例进行操作的效率。
-
公开(公告)号:CN102541619A
公开(公告)日:2012-07-04
申请号:CN201010612360.9
申请日:2010-12-23
Applicant: 国际商业机器公司
CPC classification number: G06F9/45558 , G06F9/5077 , G06F2009/45583
Abstract: 提供了虚拟机管理装置和方法,所述装置包括:虚拟机信息获取单元,配置为获取当前虚拟机的软件层级信息;内存分析单元,配置为参照已安装的至少一个虚拟机的现有软件层级信息和所述当前虚拟机的软件层级信息,将分配给当前虚拟机的逻辑内存划分为专用部分和共享部分;以及内存映射单元,配置为将上述共享部分映射到物理内存的共享区段,所述共享区段由至少一个已经安装的虚拟机所使用。还提供了与上述装置对应的方法。通过以上装置和方法,可以使得同一物理平台上的多个虚拟机实现内存的部分共享,从而在有效利用内存资源的同时,保持虚拟机的相对独立和隔离。
-
公开(公告)号:CN103365720A
公开(公告)日:2013-10-23
申请号:CN201210086688.0
申请日:2012-03-28
Applicant: 国际商业机器公司
IPC: G06F9/50
CPC classification number: G06F9/5016 , G06F12/02 , G06F12/023 , G06F12/0284
Abstract: 本发明涉及多线程环境下的全局堆分配技术,具体涉及用于多线程环境下动态调整全局堆分配的方法和系统。更具体地,本发明尤其涉及通过监测全局堆分配方法的冲突参数来动态调整全局堆分配的方法和系统。本发明提供了一种用于在多线程环境下动态调整全局堆分配的方法,包括:识别应用程序中的全局堆分配方法;判断所述全局堆分配方法是否为多线程冲突热点;以及响应于判断结果为是,利用本地栈分配所述全局堆分配方法所请求的内存空间。根据该方法,可以有的放矢地根据实时运行状态动态调整程序中固有的全局堆分配方法,减少了全局堆上产生的锁竞争,有效提高了资源分配的效率以及资源的利用率。
-
公开(公告)号:CN101685408B
公开(公告)日:2013-10-09
申请号:CN200810161517.3
申请日:2008-09-24
Applicant: 国际商业机器公司
IPC: G06F9/50
CPC classification number: G06F9/526 , G06F2209/522
Abstract: 本发明提供一种并行应用程序中的多个线程并行访问共享数据结构的方法,其包括:对所述多个线程中的一个线程授予所述共享数据结构的锁;对所述共享数据结构执行获得所述锁的线程的操作;缓存所述多个线程中未获得所述锁的线程的操作;以及在随后的所述多个线程中的另一个线程获得所述共享数据结构的锁的期间,对所述共享数据结构执行所述被缓存的操作。采用该方法,能够在共享数据结构被一个线程锁定时,自动缓存其它未获得共享数据结构的锁的线程的操作,并在另一个线程获得共享数据结构的锁的期间,执行所有被缓存的操作,从而在修改共享数据结构时显著减少共享数据结构中的元素移动的次数,提高多线程访问的性能。本发明还提供了一种相应的装置。
-
公开(公告)号:CN103365720B
公开(公告)日:2017-12-05
申请号:CN201210086688.0
申请日:2012-03-28
Applicant: 国际商业机器公司
IPC: G06F9/50
CPC classification number: G06F9/5016 , G06F12/02 , G06F12/023 , G06F12/0284
Abstract: 本发明涉及多线程环境下的全局堆分配技术,具体涉及用于多线程环境下动态调整全局堆分配的方法和系统。更具体地,本发明尤其涉及通过监测全局堆分配方法的冲突参数来动态调整全局堆分配的方法和系统。本发明提供了一种用于在多线程环境下动态调整全局堆分配的方法,包括:识别应用程序中的全局堆分配方法;判断所述全局堆分配方法是否为多线程冲突热点;以及响应于判断结果为是,利用本地栈分配所述全局堆分配方法所请求的内存空间。根据该方法,可以有的放矢地根据实时运行状态动态调整程序中固有的全局堆分配方法,减少了全局堆上产生的锁竞争,有效提高了资源分配的效率以及资源的利用率。
-
公开(公告)号:CN102541619B
公开(公告)日:2015-09-16
申请号:CN201010612360.9
申请日:2010-12-23
Applicant: 国际商业机器公司
CPC classification number: G06F9/45558 , G06F9/5077 , G06F2009/45583
Abstract: 提供了虚拟机管理装置和方法,所述装置包括:虚拟机信息获取单元,配置为获取当前虚拟机的软件层级信息;内存分析单元,配置为参照已安装的至少一个虚拟机的现有软件层级信息和所述当前虚拟机的软件层级信息,将分配给当前虚拟机的逻辑内存划分为专用部分和共享部分;以及内存映射单元,配置为将上述共享部分映射到物理内存的共享区段,所述共享区段由至少一个已经安装的虚拟机所使用。还提供了与上述装置对应的方法。通过以上装置和方法,可以使得同一物理平台上的多个虚拟机实现内存的部分共享,从而在有效利用内存资源的同时,保持虚拟机的相对独立和隔离。
-
公开(公告)号:CN102486753B
公开(公告)日:2015-09-16
申请号:CN200910225833.7
申请日:2009-11-30
Applicant: 国际商业机器公司
CPC classification number: G06F12/0815 , G06F12/0811 , G06F12/084 , G06F12/0842 , G06F12/0844 , G06F12/0848 , G06F12/0864 , G06F12/0891 , G06F12/0893 , G06F12/12 , G06F12/121 , G06F12/122 , G06F12/123 , G06F12/127 , G06F12/128 , G06F12/1466 , G06F17/30171 , G06F2212/1052 , G06F2212/282 , G06F2212/283 , G06F2212/621
Abstract: 本发明公开了一种构建及允许访问高速缓存的方法、设备及存储系统。本发明的构建高扩展性高速缓存的方法包括:将高速缓存划分成多个高速缓存区;对于所述多个高速缓存区中的每个高速缓存区,仅启用一个锁进行数据的更新和/或高速缓存区满时数据替换顺序的更新。本发明降低了多核平台上多线程之间的同步开销,提高了高速缓存的扩展性。
-
公开(公告)号:CN102486753A
公开(公告)日:2012-06-06
申请号:CN200910225833.7
申请日:2009-11-30
Applicant: 国际商业机器公司
CPC classification number: G06F12/0815 , G06F12/0811 , G06F12/084 , G06F12/0842 , G06F12/0844 , G06F12/0848 , G06F12/0864 , G06F12/0891 , G06F12/0893 , G06F12/12 , G06F12/121 , G06F12/122 , G06F12/123 , G06F12/127 , G06F12/128 , G06F12/1466 , G06F17/30171 , G06F2212/1052 , G06F2212/282 , G06F2212/283 , G06F2212/621
Abstract: 本发明公开了一种构建及允许访问高速缓存的方法、设备及存储系统。本发明的构建高扩展性高速缓存的方法包括:将高速缓存划分成多个高速缓存区;对于所述多个高速缓存区中的每个高速缓存区,仅启用一个锁进行数据的更新和/或高速缓存区满时数据替换顺序的更新。本发明降低了多核平台上多线程之间的同步开销,提高了高速缓存的扩展性。
-
公开(公告)号:CN101685408A
公开(公告)日:2010-03-31
申请号:CN200810161517.3
申请日:2008-09-24
Applicant: 国际商业机器公司
IPC: G06F9/50
CPC classification number: G06F9/526 , G06F2209/522
Abstract: 本发明提供一种并行应用程序中的多个线程并行访问共享数据结构的方法,其包括:对所述多个线程中的一个线程授予所述共享数据结构的锁;对所述共享数据结构执行获得所述锁的线程的操作;缓存所述多个线程中未获得所述锁的线程的操作;以及在随后的所述多个线程中的另一个线程获得所述共享数据结构的锁的期间,对所述共享数据结构执行所述被缓存的操作。采用该方法,能够在共享数据结构被一个线程锁定时,自动缓存其它未获得共享数据结构的锁的线程的操作,并在另一个线程获得共享数据结构的锁的期间,执行所有被缓存的操作,从而在修改共享数据结构时显著减少共享数据结构中的元素移动的次数,提高多线程访问的性能。本发明还提供了一种相应的装置。
-
-
-
-
-
-
-
-