会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 41. 发明授权
    • Cache line reservations
    • 缓存线预留
    • US07937552B2
    • 2011-05-03
    • US11943252
    • 2007-11-20
    • Daryl James MaierMarcel MitranVijay Sundaresan
    • Daryl James MaierMarcel MitranVijay Sundaresan
    • G06F12/00
    • G06F12/0253G06F12/126
    • Illustrative embodiments provide a computer implemented method, an apparatus in the form of a data processing system and a computer program product for cache line reservations. In one embodiment, the computer implemented method comprises, dividing a memory into an unreserved section and a set of reserved sections. The method performs selected allocations of the memory only from the set of reserved sections, and performing un-selected allocations of the memory from the unreserved section. The method further mapping a specified selected allocation of the memory to a same corresponding line of cache memory each time the mapping for the specified selected allocation of the memory occurs, thereby maintaining locality.
    • 说明性实施例提供计算机实现的方法,数据处理系统形式的装置和用于高速缓存行预留的计算机程序产品。 在一个实施例中,计算机实现的方法包括:将存储器划分为未预留部分和一组预留部分。 该方法仅从保留部分组执行存储器的选择分配,并且从未保留部分执行存储器的未选择分配。 每当存储器的指定选择分配的映射发生时,该方法进一步将存储器的指定选择的分配映射到相同的相应的高速缓冲存储器行,从而保持局部性。
    • 42. 发明申请
    • System and Method for Optimizing Compiler Performance by Object Collocation
    • 通过对象配置优化编译器性能的系统和方法
    • US20110055819A1
    • 2011-03-03
    • US12858001
    • 2010-08-17
    • Patrick DoylePramod RamaraoVijay Sundaresan
    • Patrick DoylePramod RamaraoVijay Sundaresan
    • G06F9/45
    • G06F8/443G06F8/4442
    • A computer-implemented method, system, and computer program product for performing object collocation on a computer system are provided. The method includes analyzing a sequence of computer instructions for object allocations and uses of the allocated objects. The method further includes creating an allocation interference graph of object allocation nodes with edges indicating pairs of allocations to be omitted from collocation. The method also includes coloring the allocation interference graph such that adjacent nodes are assigned different colors, and creating an object allocation at a program point prior to allocations of a selected color from the allocation interference graph. The method additionally includes storing an address associated with the created object allocation in a collocation pointer, and replacing a use of each allocation of the selected color with a use of the collocation pointer to collocate multiple objects.
    • 提供了一种用于在计算机系统上执行对象搭配的计算机实现的方法,系统和计算机程序产品。 该方法包括分析用于对象分配的计算机指令序列和所分配的对象的使用。 该方法还包括创建对象分配节点的分配干涉图,其边缘指示将从配置中省略的分配对。 该方法还包括着色分配干涉图,使得相邻节点被分配不同的颜色,并且在从分配干涉图分配所选择的颜色之前在程序点创建对象分配。 该方法还包括将与所创建的对象分配相关联的地址存储在并置指针中,并且通过使用并置指针来并置多个对象来替换所选颜色的每个分配的使用。
    • 43. 发明授权
    • System and method for frequency based loop reorganization
    • 基于频率循环重组的系统和方法
    • US07574704B2
    • 2009-08-11
    • US10970436
    • 2004-10-21
    • Mike Stephen FultonChristopher B. LarssonVijay Sundaresan
    • Mike Stephen FultonChristopher B. LarssonVijay Sundaresan
    • G06F9/44G06F9/45
    • G06F8/443
    • A system and method for reorganizing source code using frequency based instruction loop replication are provided. Code is reorganized based on the frequency of execution of blocks of the code so as to favor frequently executed blocks of code over rarely executed code with regard to subsequent optimizations. Frequently executed blocks of instructions are maintained within loop/switch statements and rarely executed blocks of instructions are removed from the loop/switch statements. The rarely executed blocks of instructions may be replicated after the loop/switch statement with a reference back to the loop/switch statement. In this way, when subsequent loop/switch statement optimizations are applied, the frequently executed blocks of instructions within the loop are more likely to benefit from such optimizations since the negative influence of the rarely executed blocks of instructions has been removed.
    • 提供了一种使用基于频率的指令循环复制来重组源代码的系统和方法。 基于代码块的执行频率对代码进行重组,从而有利于经常执行的代码块对于后续优化的执行代码很少。 在循环/切换语句中维护经常执行的指令块,很少执行的指令块将从循环/切换语句中删除。 在循环/切换语句之后,很少执行的指令块可以被引用回到loop / switch语句。 以这种方式,当应用后续的循环/开关语句优化时,循环中频繁执行的指令块更可能受益于这种优化,因为很少执行的指令块的负面影响已被消除。
    • 46. 发明申请
    • METHOD, COMPUTER PROGRAM PRODUCT, AND DEVICE FOR REDUCING DELAYS IN DATA PROCESSING
    • 方法,计算机程序产品和用于减少数据处理延迟的装置
    • US20080098376A1
    • 2008-04-24
    • US11536837
    • 2006-09-29
    • Michael FultonAllan KielstraVijay Sundaresan
    • Michael FultonAllan KielstraVijay Sundaresan
    • G06F9/45
    • G06F8/4451
    • Data processing delay is reduced during data processing, using compiler optimization. Blocks of code are scanned in an order from blocks recurring most often to blocks recurring least often. In an order from blocks recurring most often to block recurring least often, shifts are inserted before arithmetic references, such that a previous use of the arithmetic reference does not require a shift, shifts are inserted after each memory use such that the next use of the memory does not require a shift, and shifts are inserted after each arithmetic reference such that the next use of the arithmetic reference requires no shift. In addition, if there is a mismatch between the last shifted amount of any one block and the required initial shifted amount in any of its successors, shifts are inserted to make up for the mismatch.
    • 在数据处理期间,使用编译器优化减少数据处理延迟。 代码块按照最常重复的顺序扫描,最少经常排列。 按照最经常重复的块到最少频繁地重复循环的顺序,在算术参考之前插入移位,使得先前使用算术参考不需要移位,在每个存储器使用之后插入移位,使得下一次使用 存储器不需要移位,并且在每个算术参考之后插入移位,使得下一次使用算术参考不需要移位。 此外,如果任何一个块的最后一个移位量与任何一个块中的所需初始移位量之间存在不匹配,则插入移位以弥补不匹配。
    • 47. 发明申请
    • Method of efficiently performing precise profiling in a multi-threaded dynamic compilation environment
    • 在多线程动态编译环境中有效执行精确剖析的方法
    • US20070226683A1
    • 2007-09-27
    • US11388607
    • 2006-03-24
    • Kevin StoodleyVijay Sundaresan
    • Kevin StoodleyVijay Sundaresan
    • G06F9/44
    • G06F8/443
    • Synchronizing clones of a software method to be executed by at least one thread while the software method is compiled. The software method is cloned to generate a software method clone. At least one transition is created between equivalent program points in the software method and the software method clone. A lock object is inserted into one of the software method and the software method clone. Then, code that controls the at least one transition between a profiling clone and a non-profiling clone is changed to access thread-local storage. The non-profiling clone is the one of the software method and the software method clone into which the lock object was inserted. A first synchronization operation is performed at or after an entry point of the non-profiling clone. Then, the profiling clone is executed using thread-local storage.
    • 在软件方法被编译的同时,由至少一个线程执行的软件方法的克隆。 克隆软件方法以生成软件方法克隆。 在软件方法中的等效程序点和软件方法克隆之间至少创建一个转换。 将锁定对象插入到软件方法和软件方法克隆之一中。 然后,更改控制概要分析克隆和非概要分析克隆之间的至少一个转换的代码,以访问线程本地存储。 非分析克隆是插入锁定对象的软件方法和软件方法克隆之一。 在非分析克隆的入口点之前或之后执行第一同步操作。 然后,使用线程本地存储执行概要分析克隆。