Abstract:
Es werden Verfahren, Vorrichtungen, Systeme und Herstellungsartikel zur Optimierung von dynamischen Speichervergaben in mehrstufigen Speichersystemen offenbart. Ein beispielhaftes computerlesbares Speicherungsmedium umfasst Anweisungen zum Durchführen eines ersten Backtrace als Reaktion auf einen ersten malloc-Funktionsaufruf, um einen dem ersten malloc-Funktionsaufruf vorausgehenden ersten Pfad zu identifizieren und eine Größe eines Puffers in Speicher, der dem ersten Pfad zugeteilt ist, zu identifizieren; und Bestimmen eines Indikators, der einer Temperatur des dem ersten Pfad zugeteilten Puffers entspricht, während eines Offline-Profilierungslaufs einer Computeranwendung; und Durchführen eines zweiten Backtrace als Reaktion auf einen zweiten malloc-Funktionsaufruf, um einen dem zweiten malloc-Funktionsaufruf vorausgehenden zweiten Pfad zu identifizieren; und Zuteilen von Speicher aus einer Stufe von Speicher auf der Basis des Indikators als Reaktion auf den zweiten Pfad, der dem ersten Pfad entspricht, während der Laufzeit.
Abstract:
Verfahren zur Analyse von Abbrüchen transaktionaler Ausführungstransaktionen. Beginnen einer transaktionalen Ausführungstransaktion mit einem ersten logischen Prozessor. Durchführen von Anweisungen zum Speichern in den Speicher mit einem zweiten logischen Prozessor, während der erste logische Prozessor die transaktionale Ausführungstransaktion durchführt. Erfassen von Speicheradressen von und Anweisungszeigerwerten in Assoziation mit mindestens einer Probe der Anweisungen zum Speichern in den Speicher. Durchführen einer ersten Anweisung zum Speichern in den Speicher mit dem zweiten logischen Prozessor auf eine erste Speicheradresse, was das Abbrechen der transaktionalen Ausführungstransaktion verursachen soll. Erfassen der ersten Speicheradresse. Bestimmen eines Anweisungszeigerwerts, der mit der ersten Anweisung zum Speichern in den Speicher gekoppelt ist, durch Korrelieren von mindestens der erfassten ersten Speicheradresse mit den erfassten Speicheradressen mindestens der Probe der Anweisungen zum Speichern in den Speicher.
Abstract:
Generally, this disclosure provides systems, devices, methods and computer readable media for memory object reference count management with improved scalability based on transactional reference count elision. The device may include a hardware transactional memory processor configured to maintain a read-set associated with a transaction and to abort the transaction in response to a modification of contents of the read-set by an entity external to the transaction; and a code module configured to: enter the transaction; locate the memory object; read the reference count associated with the memory object, such that the reference count is added to the read-set associated with the transaction; access the memory object; and commit the transaction.