Method of, system for, and computer program product for providing efficient utilization of memory hierarchy through code restructuring

   
   

Code restructuring or reordering based on profiling information and memory hierarchy is provided by constructing a Program Execution Graph (PEG) corresponding to a level of the memory hierarchy, partitioning this PEG to reduce estimated memory overhead costs below an upper bound, and constructing a PEG for a next level of the memory hierarchy from the partitioned PEG. The PEG is constructed from control flow and frequency information from a profile of the program to be restructured. The PEG is a weighted undirected graph comprising nodes representing basic blocks and edges representing transfer of control between pairs of basic blocks. The weight of a node is the size of the basic block it represents and the weight of an edge is the frequency of transition between the pair of basic blocs it connects.

Der Code, der basiert auf profilierende Informationen und Gedächtnishierarchie umstrukturiert oder neuordnet, wird vom Konstruieren eines Ablauf- des Programmsdiagramms (STÖPSEL) entsprechend einem Niveau der Gedächtnishierarchie zur Verfügung gestellt, diesen STÖPSEL verteilend, um sich zu verringern schätzte Gedächtnisgemeinkosten unter einem oberen Limit und dem Konstruieren eines STÖPSELS für ein folgendes Niveau der Gedächtnishierarchie vom verteilten STÖPSEL. Der STÖPSEL wird aus Steuerfluß und Frequenzinformationen von einem Profil des umstrukturiert zu werden hergestellt Programms. Der STÖPSEL ist ein belasteter ungerichteter Graph, der die Nullpunkte enthält, die grundlegende Blöcke und die Ränder darstellen Ablaufsprung zwischen Paaren der grundlegenden Blöcke darstellen. Das Gewicht eines Nullpunktes ist die Größe des grundlegenden Blockes, den sie darstellt und das Gewicht eines Randes ist die Frequenz des Überganges zwischen dem Paar der grundlegenden Blöcke es anschließt.

 
Web www.patentalert.com

< Scripting language blocks to support multiple scripting languages in a single web page

< Method and system for automatic task focus swapping during browser wait time

> Real-time-on-demand dynamic document generation

> Correction of spacing violations between wide class objects of dummy geometries

~ 00153