Profile-driven data layout optimization

   
   

Data layout optimization arranges data members within memory to enhance software performance. Profiling data is consulted to determine how to group data members for an object class into groups. One technique groups the data members based on how frequently the data members are referenced in memory. Another technique groups the data members based on their affinities for one another in time as determined by observing when references to the data members take place. A variety of options when collecting the profiling data and grouping the data members is supported. The data member grouping is recorded in metadata associated with a definition of the object class. At runtime, a class loader places the data members of an object in memory according to the metadata. Data members of different groups can be placed in separately-loadable units of memory in the memory system. Subsequently, when the data members are referenced in memory, more frequently referenced data members, including those that tend to be referenced at times close to each other, reside at neighboring locations in the memory system.

L'optimisation d'implantation de données arrange des membres de données dans la mémoire pour augmenter l'exécution de logiciel. Profilant des données est consulté pour déterminer comment grouper des membres de données pour une classe d'objet dans des groupes. Une technique groupe les membres de données basés sur la façon dont fréquemment les membres de données sont mis en référence dans la mémoire. Une autre technique groupe les membres de données basés sur leurs affinités pour une des autres à temps comme déterminé en observant quand les références aux membres de données ont lieu. Une variété d'options quand le rassemblement des données de profilage et grouper les membres de données est soutenu. Grouper de membre de données est enregistré dans le metadata lié à une définition de la classe d'objet. Au temps d'exécution, un chargeur de classe place les membres de données d'un objet dans la mémoire selon le metadata. Des membres de données de différents groupes peuvent être placés dans les unités de la mémoire separately-loadable dans le système de mémoire. Plus tard, quand les membres de données sont mis en référence dans la mémoire, les membres plus fréquemment référencés de données, y compris ceux qui tendent à être mis en référence parfois près de l'un l'autre, résident aux endroits voisins dans le système de mémoire.

 
Web www.patentalert.com

< Processor with a function to prevent illegal execution of a program, an instruction executed by a processor and a method of preventing illegal execution of a program

< Method and apparatus to facilitate generating simulation modules for testing system designs

> Method and system for interfacing a plurality of applications conforming to a standard

> Web page display system

~ 00164