会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 2. 发明授权
    • Method and apparatus for modular reordering of portions of a computer
program based on profile data
    • 基于简档数据对计算机程序的部分进行模块化重排序的方法和装置
    • US6029004A
    • 2000-02-22
    • US819526
    • 1997-03-17
    • Vita BortnikovBilha MendelsonMark NovickRobert Ralph RoedigerWilliam Jon SchmidtInbal Shavit-Lottem
    • Vita BortnikovBilha MendelsonMark NovickRobert Ralph RoedigerWilliam Jon SchmidtInbal Shavit-Lottem
    • G06F9/45G06F9/44
    • G06F8/445
    • An apparatus and method reorder portions of a computer program in a way that achieves both enhanced performance and maintainability of the computer program. A global call graph is initially constructed that includes profile data. From the information in the global call graph, an intramodular call graph is generated for each module. Reordering techniques are used to reorder the procedures in each module according to the profile data in each intramodular call graph. An intermodular call graph is generated from the information in the global call graph. Reordering techniques are used to reorder the modules in the computer program. By reordering procedures within modules, then reordering the modules, enhanced performance is achieved without reordering procedures across module boundaries. Respecting module boundaries enhances the maintainability of the computer program by allowing a module to be replaced without adversely affecting the other modules while still providing many of the advantages of global procedure reordering.
    • 一种装置和方法以实现计算机程序的增强的性能和可维护性的方式重新排序计算机程序的部分。 最初构建包括配置文件数据的全局调用图。 从全局调用图中的信息,为每个模块生成一个集体内调用图。 根据每个模块间调用图中的配置文件数据,重新排序技术用于对每个模块中的过程重新排序。 从全局调用图中的信息生成一个多模式调用图。 重新排序技术用于重新排序计算机程序中的模块。 通过重新排序模块中的过程,然后重新排序模块,实现增强的性能,而无需跨模块边界重新排序过程。 尊重模块边界通过允许更换模块而不会对其他模块产生不利影响,从而提高计算机程序的可维护性,同时仍然提供全局过程重新排序的许多优点。
    • 3. 发明授权
    • Method and apparatus for profile-based reordering of program portions in
a computer program
    • 用于计算机程序中的程序部分的基于简档的重新排序的方法和装置
    • US5950009A
    • 1999-09-07
    • US814527
    • 1997-03-10
    • Vita BortnikovBilha MendelsonMark NovickWilliam Jon SchmidtInbal Shavit-Lottem
    • Vita BortnikovBilha MendelsonMark NovickWilliam Jon SchmidtInbal Shavit-Lottem
    • G06F9/45G06F9/445
    • G06F8/445
    • An apparatus and several methods provide for a more optimized computer program that will have a faster execution time than was possible using the prior art reordering technique that adds to a trace until it finds no more predecessors or successors to add. The apparatus and methods disclosed herein use a variety of methods to reorder the program portions in a more intelligent manner that will improve its run-time performance. Each of these methods involves constructing traces in the control flow graph of the computer program. In a first embodiment, a basic block is only added to a trace if it is not negligible within predetermined limits. This negligibility test results in traces that are not extended for infrequently executed basic blocks. In a second embodiment, a basic block is only added to a trace if it is a perfect partner with the last basic block added to the trace. The concept of a "perfect partner" helps to match basic blocks together in a trace that have the greatest affinity for each other. In a third embodiment, a basic block is only added to a trace if it satisfies "should follow" flags and predetermined negligibility criteria. The "should follow" flags and negligibility criteria provide a complex criteria for adding basic blocks to a trace, criteria that create more efficient code in some specific circumstances.
    • 一种装置和几种方法提供了一种更优化的计算机程序,该程序具有比使用现有技术重新排序技术更快的执行时间,该技术可以添加到跟踪中,直到找不到更多的前导或后继来添加。 本文公开的装置和方法使用各种方法以更智能的方式重新排序程序部分,这将改善其运行时性能。 这些方法中的每一个都涉及在计算机程序的控制流程图中构造跟踪。 在第一实施例中,如果基本块仅在预定限度内不可忽略,则仅添加到轨迹。 这种可忽略性测试导致对于不经常执行的基本块不扩展的迹线。 在第二实施例中,如果基本块是与添加到跟踪的最后基本块的完美伙伴,则仅添加到跟踪。 “完美伴侣”的概念有助于将基本块在一起,彼此之间具有最大的亲和力。 在第三实施例中,如果基本块满足“应遵循”标志和预定的可忽略性标准,则仅添加到跟踪。 “应遵循”标志和忽略标准为添加基本块的跟踪提供了一个复杂的标准,在某些特定情况下创建更有效的代码的标准。
    • 5. 发明申请
    • DETECTING CHANGE IN PROGRAM BEHAVIOR FOR ADAPTIVE CODE OPTIMIZATION
    • 检测自适应代码优化程序行为的变化
    • US20090094590A1
    • 2009-04-09
    • US11869477
    • 2007-10-09
    • Bilha MendelsonNitzan Peleg
    • Bilha MendelsonNitzan Peleg
    • G06F9/44
    • G06F8/443G06F11/3466
    • A computer implemented method, apparatus, and computer program product for generating an optimization insensitive behavior profile. In one embodiment, a source identifier is assigned to each instruction in an original control flow graph representing a program code prior to optimization. The identifiers identify a basic block associated with the instruction or a group of basic blocks. A source identifier in the set of source identifiers is assigned to instructions in an optimized control flow graph representing the program code after optimizing the program code. The instructions in the optimized control flow graph are mapped to the original control flow graph using the set of source identifiers to form a mapping transformation. Behavior profile data associated with the optimized program code is moved to basic blocks in the original control flow graph using the mapping transformation to form the optimization insensitive behavior profile.
    • 一种用于生成优化不敏感行为简档的计算机实现的方法,装置和计算机程序产品。 在一个实施例中,源标识符被分配给表示优化之前的程序代码的原始控制流程图中的每个指令。 标识符标识与指令或一组基本块相关联的基本块。 源标识符集中的源标识符被分配给优化程序代码之后的表示程序代码的优化控制流程图中的指令。 优化的控制流程图中的指令使用源标识符集映射到原始控制流图,以形成映射变换。 与优化的程序代码相关联的行为简档数据使用映射转换移动到原始控制流程图中的基本块,以形成优化不敏感行为配置文件。
    • 6. 发明授权
    • Mutability analysis in Java
    • Java中的可变性分析
    • US06925638B1
    • 2005-08-02
    • US09667430
    • 2000-09-21
    • Larry KovedBilha MendelsonSara PoratMarina Biberstein
    • Larry KovedBilha MendelsonSara PoratMarina Biberstein
    • G06F9/44G06F9/45
    • G06F8/433G06F9/4488
    • A system and method for detecting the mutability of fields and classes in an arbitrary program component written in an object oriented programming language is disclosed. A variable is considered to be mutable if a new value is stored into it, as well as if any of its reachable variables are mutable. The system and method uses a static analysis algorithm which can be applied to any software component rather than whole programs. The analysis classifies fields and classes as either mutable or immutable. In order to facilitate open-world analysis, the algorithm identifies situations that expose variables to potential modification by code outside the component, as well as situations where variables are modified by the analyzed code. An implementation of the analysis is presented which focuses on detecting mutability of class variables, so as to avoid isolation problems. The implementation incorporates intra- and inter-procedural data-flow analyses and is shown to be highly scalable. Experimental results demonstrate the effectiveness of the algorithms.
    • 公开了一种用于检测以面向对象编程语言编写的任意程序组件中的字段和类的可变性的系统和方法。 如果将一个新值存储到其中,并且其任何可访问变量是可变的,则该变量被认为是可变的。 该系统和方法使用静态分析算法,可以应用于任何软件组件而不是整个程序。 分析将字段和类分类为可变或不可变。 为了方便开放世界的分析,该算法识别了将变量暴露给组件外的代码进行潜在修改的情况,以及通过分析代码修改变量的情况。 提出了分析的实现,重点是检测类变量的可变性,以避免隔离问题。 该实现包含了内部和程序间数据流分析,并被证明是高度可扩展的。 实验结果证明了算法的有效性。
    • 8. 发明授权
    • Detecting change in program behavior for adaptive code optimization
    • 检测自适应代码优化程序行为的变化
    • US08214817B2
    • 2012-07-03
    • US11869477
    • 2007-10-09
    • Bilha MendelsonNitzan Peleg
    • Bilha MendelsonNitzan Peleg
    • G06F9/45
    • G06F8/443G06F11/3466
    • A computer implemented method, apparatus, and computer program product for generating an optimization insensitive behavior profile. In one embodiment, a source identifier is assigned to each instruction in an original control flow graph representing a program code prior to optimization. The identifiers identify a basic block associated with the instruction or a group of basic blocks. A source identifier in the set of source identifiers is assigned to instructions in an optimized control flow graph representing the program code after optimizing the program code. The instructions in the optimized control flow graph are mapped to the original control flow graph using the set of source identifiers to form a mapping transformation. Behavior profile data associated with the optimized program code is moved to basic blocks in the original control flow graph using the mapping transformation to form the optimization insensitive behavior profile.
    • 一种用于生成优化不敏感行为简档的计算机实现的方法,装置和计算机程序产品。 在一个实施例中,源标识符被分配给表示优化之前的程序代码的原始控制流程图中的每个指令。 标识符标识与指令或一组基本块相关联的基本块。 源标识符集中的源标识符被分配给优化程序代码之后的表示程序代码的优化控制流程图中的指令。 优化的控制流程图中的指令使用源标识符集映射到原始控制流图,以形成映射变换。 与优化的程序代码相关联的行为简档数据使用映射转换移动到原始控制流程图中的基本块,以形成优化不敏感行为配置文件。
    • 10. 发明授权
    • Restructuring of executable computer code and large data sets
    • 可重构计算机代码和大型数据集
    • US06742179B2
    • 2004-05-25
    • US09902595
    • 2001-07-12
    • Nimrod MegiddoBilha Mendelson
    • Nimrod MegiddoBilha Mendelson
    • G06F944
    • G06F8/4441
    • A program product and method of compiling a computer program to optimize performance of a computer program. First, after initialization, a profiling run is done on computer code which may include program code blocks and program data. Execution of each computer program step is monitored and each occurrence of each individual code unit is logged, e.g. each instruction block or block of data. Frequently occurring code units are identified periodically as hot blocks. An initial snapshot of hot blocks is logged, e.g., when identified hot blocks exceed an initial block number. Profiling continues until the profiling run is complete, updating identified hot blocks and logging a new current snapshot whenever a current set of identified hot blocks contains a selected percentage of different hot blocks. Snapshots are selected as representative to different program modes. The program is optimized according to program modes.
    • 一种编译计算机程序以优化计算机程序性能的程序产品和方法。 首先,在初始化之后,对可能包括程序代码块和程序数据的计算机代码进行分析运行。 监视每个计算机程序步骤的执行,并记录每个单独代码单元的每个出现。 每个指令块或数据块。 经常出现的代码单元被定期识别为热块。 记录热块的初始快照,例如,当识别的热块超过初始块号时。 性能持续到分析运行完成,更新已识别的热块,并记录新的当前快照,每当一组已识别的热块包含所选百分比的不同热块。 选择快照作为不同程序模式的代表。 该程序根据程序模式进行优化。