发明名称 METHODS AND SYSTEMS FOR OPTIMIZING EXECUTION OF A PROGRAM IN A PARALLEL PROCESSING ENVIRONMENT
摘要 An automated method of optimizing execution of a program in a parallel processing environment is described. The program is adapted to execute in data memory and instruction memory. An optimizer receives the program to be optimized. The optimizer instructs the program to be compiled and executed. The optimizer observes execution of the program and identifies a subset of instructions that execute most often. The optimizer also identifies groups of instructions associated with the subset of instructions that execute most often. The identified groups of instructions include the identified subset of instructions that execute most often. The optimizer recompiles the program and stores the identified groups of instructions in instruction memory. The remaining instructions portions of the program are stored in the data memory. The instruction memory has a higher access rate and smaller capacity than the data memory. Once recompiled, subsequent execution of the program occurs using the recompiled program.
申请公布号 US2016092182(A1) 申请公布日期 2016.03.31
申请号 US201514704624 申请日期 2015.05.05
申请人 Cognitive Electronics, Inc. 发明人 Felch Andrew C.
分类号 G06F9/45 主分类号 G06F9/45
代理机构 代理人
主权项 1. An automated method of optimizing execution of a program in a parallel processing environment, the program adapted to execute in data memory and instruction memory, the method comprising: (a) receiving, at an optimizer, the program; (b) compiling the program upon instruction by the optimizer, wherein the compiled program comprises logging instructions for determining the time during which execution of a first thread is waiting for execution of a second thread; (c) executing the program upon instruction by the optimizer; (d) the optimizer observing the execution of the program and, using information logged by the logging instructions for determining the time during which execution of a first thread is waiting for execution of a second thread, identifying a subset of instructions that are most frequently waited upon by other threads (e) the optimizer identifying groups of instructions associated with the subset of instructions that are most frequently waited upon by other threads wherein the groups of instructions include the subset of instructions that are most frequently waited upon by other threads and (f) the optimizer recompiling the program and storing the identified groups of instructions including the subset of instructions that are most frequently waited upon by other threads in the instruction memory, and storing remaining portions of the program in the data memory, wherein the instruction memory has a higher access rate and smaller capacity than the data memory, wherein subsequent execution of the program occurs using the recompiled program.
地址 Boston MA US