A system and method for efficiently managing lock contention for a central
processing unit (CPU) of a computer system. The present invention uses
both spinning and blocking (or undispatching) to manage threads when they
are waiting to acquire a lock. In addition, the present invention
intelligently determines when the program thread should spin and when the
program thread should become undispatched. If it is determined that the
program thread should become undispatched, the present invention provides
efficient undispatching of program threads that improves throughput by
reducing wait time to acquire the lock. A lock contention management
system includes a dispatcher for managing the execution of threads on CPUs
as well as threads that are currently ready to run but not executing
because they are waiting for an available CPU, a dispatch management
module that determines when a program thread should become undispatched to
wait on a lock and when the program thread should spin, and low-priority
execution module for undispatching the program thread. The present
invention also includes a lock contention management method using the
above system.
Een systeem en een methode om slotgeschil voor een centrale verwerkingseenheid (cpu) van een computersysteem efficiƫnt te beheren. De onderhavige uitvinding gebruikt zowel het spinnen van als het blokkeren (of het undispatching) om draden te leiden wanneer zij wachten om een slot te verwerven. Bovendien bepaalt de onderhavige uitvinding intelligent wanneer de programmadraad zou moeten spinnen en wanneer de programmadraad zou moeten worden undispatched. Als men dat de programmadraad zou moeten worden undispatched bepaalt, verstrekt de onderhavige uitvinding het efficiƫnte undispatching van programmadraden die productie door te verminderen verbetert wacht tijd om het slot te verwerven. Een het beheerssysteem van het slotgeschil omvat een verzender voor het beheren van de uitvoering van draden op CPUs evenals draden die momenteel klaar zijn te lopen maar uitvoerend niet omdat zij op een beschikbare cpu, een module wachten van het berichtbeheer die bepaalt wanneer een programmadraad zou moeten worden undispatched om op een slot te wachten en wanneer de programmadraad zou moeten spinnen, en laag-prioritaire uitvoeringsmodule voor het undispatching van de programmadraad. De onderhavige uitvinding omvat ook een het beheersmethode van het slotgeschil gebruikend het bovengenoemde systeem.