NL2000877C2 - Implementatie van dienstkwaliteit voor platform-hulpbronnen. - Google Patents

Implementatie van dienstkwaliteit voor platform-hulpbronnen. Download PDF

Info

Publication number
NL2000877C2
NL2000877C2 NL2000877A NL2000877A NL2000877C2 NL 2000877 C2 NL2000877 C2 NL 2000877C2 NL 2000877 A NL2000877 A NL 2000877A NL 2000877 A NL2000877 A NL 2000877A NL 2000877 C2 NL2000877 C2 NL 2000877C2
Authority
NL
Netherlands
Prior art keywords
platform
memory
task
priority
priority level
Prior art date
Application number
NL2000877A
Other languages
English (en)
Other versions
NL2000877A1 (nl
Inventor
Srihari Makineni
Li Zhao
Donald Newell
Leena Puthiyedath
Ravishankar Iyer
Ramesh Illikkal
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of NL2000877A1 publication Critical patent/NL2000877A1/nl
Application granted granted Critical
Publication of NL2000877C2 publication Critical patent/NL2000877C2/nl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

Q, 2FB29
Implementatie van dienstkwaliteit voor platform-hulpbronnen 5 De uitvinding heeft betrekking op de dienstkwaliteit van platformhulpbronnen.
Nu verwerkingseenheden met meerdere kernen en meerdere draden ("multi-thread") gemeengoed worden, bestaat er in de 10 computerindustrie een sterke behoefte om het besturingssysteem en toepassingen in staat te stellen om betere beheersing te hebben over de in het platform beschikbare hulpbronnen. Naarmate er meerdere kernen en rekenkracht aan computerplatformen worden toegevoegd, moet de 15 rest van de platformhulpbronnen, die worden verdeeld onder de op deze kernen draaiende toepassingen goed beheerd worden om een gebalanceerd systeem te doen ontstaan. Hedentendage is het niveau van differentiatie van computersysteemdiensten welke worden verschaft aan toepassingen die op een centrale 20 verwerkingseenheid draaien beperkt tot het gebruik van het taakprioriteitsregister (TPR) door de kern van de verwerkingseenheid. Wanneer programmatuur van toepassingen door verschillende taakprioriteitsniveaus gaat, wordt dit register ingesteld door de programmatuur om het huidige 25 taakprioriteitsniveau van de verwerkingseenheid te markeren. Deze informatie wordt gebruikt om te voorkomen dat de verwerkingseenheid wordt onderbroken door gebeurtenissen met een lagere prioriteit.
30 De apparatuur van de verwerkingseenheid waarborgt het opvolgen van de prioriteit binnen de kern en is in hoofdzaak een mechanisme om de beschikbare hulpbronnen van de computer te beheersen. Maar met betrekking tot hulpbronnen buiten de kern bestaat er hedentendage geen mechanisme voor de 2 programmatuur om eisen aan het dienstniveau te communiceren aan potentiële dienstkwaliteit (DK) mechanismen op platformniveau. Dit ontbreken van fijnkorrelig beheer van de verwerkingseenheid en platformhulpbronnen kan erger worden 5 naar mate er meer virtualiseringstechnologieën worden geïmplementeerd, en computergebruikers hun servers samenvoegen door meerdere afzonderlijke toepassingen op dezelfde machine te laten draaien. Om hiermee rekening te houden worden er DK mechanismen buiten de kern van de 10 verwerkingseenheid ontwikkeld zowel op het niveau van componenten als op het niveau van het platform om manieren te verschaffen voor het beter beheren van de beschikbare hulpbronnen. Maar zonder geschikte mechanismen om deze mogelijkheden beschikbaar te stellen aan het 15 besturingssysteem en toepassingen, kan het volledige potentieel van platform-DK niet worden verwezenlijkt.
De huidige uitvinding wordt bij wijze van voorbeeld geïllustreerd en wordt niet beperkt door de figuren van de 20 begeleidende tekeningen, waarin soortgelijke verwijzingscijfers soortgelijke elementen aanduiden, en waarin:
Figuur 1 een blokschema is van computersysteem dat kan worden gebruikt met uitvoeringsvormen van de huidige uitvinding.
25
Figuur 2 een uitvoeringsvorm beschrijft van een DK mechanisme op platformniveau op een platform waarin het bestaande TPR wordt gebruikt om prioriteitsniveaus van platformhulpmiddelen in te stellen.
30
Figuur 3 een gedetailleerde versie beschrijft van een uitvoeringsvorm van het DK mechanisme op platformniveau op 3 een platform waarin de PQR wordt gebruikt om prioriteitsniveaus van platformhulpbronnen in te stellen.
Figuur 4 een uitvoeringsvorm toont van de implementatie van 5 het bestaande TPR en CR8 zoals gebruikt door het DK mechanisme op platformniveau in figuur 2.
Figuur 5 een uitvoeringsvorm toont van de implementatie van de CR8 gebruikt door het DK mechanisme op platformniveau 10 waarin de PQR in figuur 3 is geïmplementeerd.
Figuur 6 een uitvoeringsvorm beschrijft van geheugenpaginatabel ingang (PTI) - formaat waarin beschikbare bits worden gebruikt voor een proces van prioriteit stellen 15 aan platformhulpbronnen.
Figuur 7 een stroomschema is van een uitvoeringsvorm van een proces om computerplatformhulpbronnen toe te wijzen op basis van DK prioriteitsniveaus.
20
Figuur 8 een stroomschema is van een uitvoeringsvorm van een proces om verzoeken om geheugen die toegang tot de platformhulpbronnen buiten de kern van de verwerkingseenheid vragen te etiketteren met DK prioriteitsniveauwaarden.
25
Figuur 9 een stroomschema is van een uitvoeringsvorm van een proces om geheugenpaginatabel invoeringen te vullen met DK prioriteitsniveauwaarden van platformhulpbronnen.
30 Er worden uitvoeringsvormen beschreven van een werkwijze, systeem en voor een computer leesbaar medium om prioriteitsniveaubesturingen voor dienstkwaliteit voor platformhulpbronnen te implementeren. In de nu volgende 4 beschrijving worden talrijke specifieke details uiteengezet. Het dient echter duidelijk te zijn dat uitvoeringsvormen kunnen worden verwezenlijkt zonder deze specifieke details.
In andere gevallen zijn er geen algemeen bekende elementen, 5 specificaties, en protocollen in detail besproken teneinde te voorkomen dat de huidige uitvinding onduidelijk wordt.
Figuur 1 is een blokschema van een computersysteem dat kan worden gebruikt met uitvoeringsvormen van de huidige 10 uitvinding. Het computersysteem omvat een signaalverbinding 100 voor geheugen van de verwerkingseenheid ten behoeve van communicatie tussen verschillende agenten die zijn verbonden met de signaalverbinding 100, zoals verwerkingseenheden, bruggen, geheugeninrichtingen, etc. Signaalverbinding 100 van 15 het geheugen van de verwerkingseenheid bevat specifieke signaalverbindingsleidingen die bemiddelings-, adres-, gegevens-, en stuurinformatie (niet getoond) verzenden. In een uitvoeringsvorm kan centrale verwerkingseenheid 102 zijn verbonden met signaalverbinding 100 van het geheugen van de 20 verwerkingseenheid. In een andere uitvoeringsvorm kunnen er meerdere centrale verwerkingseenheden zijn verbonden met signaalverbinding van geheugen van de verwerkingseenheid (in deze figuur worden er niet meerdere verwerkingseenheden getoond).
25
In een uitvoeringsvorm heeft centrale verwerkingseenheid 102 een enkele kern 104. In een andere uitvoeringsvorm heeft centrale verwerkingseenheid 102 meerdere kernen (er worden niet meerdere kernen getoond in deze figuur). De kern 104 is 30 verbonden met een cachegeheugen 106 dat zich eveneens in de centrale verwerkingseenheid 102 bevindt. Bovendien kan centrale verwerkingseenheid 102 een geavanceerde programeerbare interrupt besturingseenheid (APIC) 108 5 bevatten. De APIC 108 heeft een aantal besturingsregisters (CR) en andere voor de verwerkingseenheid specifieke registers. In een uitvoeringsvorm is het taakprioriteitsregister (TPR) een register dat zich binnen 5 APIC 108 bevindt.
Signaalverbinding 100 van geheugen van de verwerkingseenheid verschaft aan de centrale verwerkingseenheid 102 en andere inrichtingen toegang tot het systeemgeheugen 110. Een 10 besturingeenheid van systeemgeheugen bestuurt toegang tot het systeemgeheugen 110. In een uitvoeringsvorm bevindt stuureenheid van systeemgeheugen zich binnen de noordbrug 114 van een chippakket 112 dat is verbonden met signaalverbinding 100 van het geheugen van de verwerkingseenheid. In een andere 15 uitvoeringsvorm bevindt een stuureenheid van systeemgeheugen zich op de zelfde chip als centrale verwerkingseenheid 102. Informatie, instructies en andere gegevens kunnen in systeemgeheugen 110 worden opgeslagen ten behoeven van gebruik door centrale verwerkingseenheid 102 evenals vele 20 andere potentiële inrichtingen. I/O inrichtingen, zoals I/O inrichtingen 118 en 122 zijn verbonden met de zuidbrug 116 van het chippakket 112 door middel van een of meerdere I/O signaalverbindingen 120 en 124.
25 In een uitvoeringsvorm kan een toepassingsprogramma dat op de centrale verwerkingseenheid 102 draait een prioriteitsniveau hebben dat het belang van uitvoering ervan ten opzichte van enig ander toepassingsprogramma bepaalt. Een prioriteitsniveau verschaft het toepassingsprogramma een 30 gespecificeerde prioriteit bij uitvoering ervan op de centrale verwerkingseenheid 102. In verschillende uitvoeringsvormen kunnen er 1, 2, 4 of vele prioriteitsniveaus zijn. In een uitvoeringsvorm kan de 6 centrale verwerkingseenheid 102 zijn ingesteld om alleen programma's die een bepaald prioriteitsniveau hebben vaker te draaien dan programma's met een lagere prioriteit. Ook zullen indien in centrale verwerkingeenheid 102 is ingesteld om 5 toepassingprogramma's op een bepaald prioriteitsniveau te draaien, uitwendige interrupt die een lager prioriteitsniveau hebben niet in staat worden gesteld om de huidige uitvoering te onderbreken.
10 Een toepassingsprogramma dat op de centrale verwerkingseenheid 102 draait kan vele taken draaien. In een uitvoering, is een taak een bepaald gedeelte van de uitvoering van een toepassingsprogramma. Elke taak binnen een toepassing kan worden aangeduid met een bepaald 15 prioriteitsniveau. Toepassingsprogramma kan het TPR instellen om het huidige prioriteitsniveau van de kern van de centrale verwerkingseenheid te markeren. Het instellen van de TPR van de verwerkingseenheid op een bepaalde prioriteitsniveauwaarde vertelt aan de centrale verwerkingseenheid 102 dat interrupts 20 met een lagere prioriteit dienen te worden geblokkeerd. Dit kan de mate van onderbreking van de taken die op de centrale verwerkingseenheid 102 worden uitgevoerd bepalen.
Verschillende toepassingsprogramma's die worden uitgevoerd 25 door de centrale verwerkingseenheid 102, evenals verschillende taken uitgevoerd binnen elk toepassingprogramma, vereisen verschillende hoeveelheden en typen hulpbronnen van het computersysteemplatform. Zo kan bijvoorbeeld een taak veel geheugenopslag vereisen, kan een 30 andere taak veel bandbreedte voor de signaalverbinding van verwerkingseenheid geheugen vereisen, kan een andere veel invoer/uitvoer (I/O) vereisen en kan nog een andere veel cache van de centrale verwerkingseenheid (CVE) vereisen. Het 7 is in het algemeen voordelig om deze verschillende platformhulpbronnen toe te wijzen afhankelijk van de behoefte van de taak die op het computersysteem draait. Derhalve staat in een uitvoeringsvorm het in figuur 1 getoonde 5 computersysteem het toekennen van onafhankelijke prioriteitsniveaus aan de cache, signaalverbinding, geheugen, I/O, en energiebronnen binnen het systeem toe. Het vermogen om aan deze hulpbronnen prioriteit toe te kennen is een aanvulling op het stellen van prioriteiten aan de kern van de 10 CVE die de taak uitvoert.
In een uitvoeringsvorm heeft het computersysteem in figuur 1 een proces waarmee toepassingsprogramma's die op het computersysteem draaien de prioriteitseis van de toepassing 15 naar het platform kan communiceren met betrekking tot hulpbronnen zoals geheugen, I/O, signaalverbindingen, cache van de verwerkingseenheid, en systeemvermogen. In een uitvoeringsvorm wordt er een platformprioriteitsregister (PQR-platform DK register) gedefinieerd en op soortgelijke 20 wijze ten behoeve van het TPR gebruikt. In deze uitvoeringsvorm stelt op de verwerkingseenheid draaiende programmatuur de PQR in met waarden die de prioriteitseis aan het platform van de momenteel draaiende taak met betrekking tot platformhulpbronnen vertegenwoordigen. In verschillende 25 uitvoeringsvormen kan de programmatuur de PQR instellen om aan systeemgeheugen, I/O, de signaalverbinding van verwerkingseenheid- geheugen, de cache van de verwerkingseenheid, het voedingssysteem van het platform, of aan een combinatie van twee of meer van deze hulpbronnen 30 prioriteit toe te kennen. In een andere uitvoeringsvorm wordt de beschikbaarheid van extra platformhulpbronnen, naast de reeds genoemde, ook gemanipuleerd door de PQR.
8
De benaderingen van geheugen en I/O door het toepassingsprogramma die buiten de kern van de verwerkingseenheid liggen worden vervolgens geëtiketteerd met prioriteitsklasse-informatie op basis van de huidige PQR 5 waarde. DK bekrachtigingmechanismen in het platform maken gebruik van dit prioriteitsetiket om platformhulpbronnen toe te wijzen die geschikt zijn voor dit verzoek. In verschillende uitvoeringsvormen kunnen de platform DK bekrachtigingmechanismen logica bevatten bij de hulpbronnen 10 die de geëtiketteerde DK informatie kan lezen uit de
benaderingen van geheugen en I/O en de interactie tussen dè hulpbron en de benadering dienovereenkomstig kan aanpassen, de bekrachtigingmechanismen van platform DK kunnen ook programmatuurlogica in het besturingssysteem bevatten die het 15 benutten van de hulpbron op basis van geëtiketteerde DK
informatie kan aanpassen, of enige andere aanpassingslogica voor het benutten van hulpbronnen die op het platform kan worden verwezenlijkt. In een uitvoering kan de etiketteerinformatie specifieke bits bevatten die aan de 20 geheugen/I/O- benadering worden toegevoegd die kunnen worden benut door de DK-logica om het prioriteitsniveau van de specifieke benadering vast te stellen.
Figuur 2 beschrijft een uitvoeringsvorm van een DK mechanisme 25 op platformniveau op een platform waarin gebruik wordt gemaakt van de bestaande TPR om prioriteitsniveaus van platformhulpbronnen in te stellen. In deze uitvoeringsvorm wordt de bestaande TPR transparant gebruikt om platformdienstdifferentiatie te verschaffen bovenop de 30 huidige taak ervan om dienstdifferentiatie van de kern van de verwerkingseenheid te verschaffen. In deze uitvoeringsvorm heeft een toepassingsprogramma een taak 200 die op het computersysteem draait. De taak treedt in wisselwerking met 9 het besturingssysteem 202 door het besturingssysteem te voorzien van het prioriteitsniveau 204 van de huidige taak. Het besturingssysteem 202 neemt het prioriteitsniveau van de huidige taak en voert dit toe aan de TPR 206. Wanneer de taak 5 200 draait, leidt deze tot benaderingen 208 van het systeemgeheugen.
De benaderingen worden geëtiketteerd door een platform DK etiketteerprocedure 210 met de huidige waarde van de TPR. De 10 platform DK etiketteerprocedure 210 voegt DK informatie, afkomstig van de TPR, toe aan de geheugen- of I/O-benaderingstransactie. De geheugen/l/O-benadering heeft dus extra prioriteitsniveauinformatie die gepaard gaat met deze, gelijk aan de TPR waarop de verwerkingseenheid draait. Indien 15 de TPR specificeert dat het prioriteitsniveau voor de huidige taak hoog is voor de verwerkingseenheid, dan voegt de platform DK etiketteerprocedure 210 een etiket hoge prioriteit toe aan een geheugenbenadering buiten de kern. Derhalve zou aan de geheugen/l/O-benadering buiten de kern 20 een hoge prioriteit worden gegeven door enig door het platform DK mogelijk gemaakte hulpbron zoals de cache, de signaalverbindingverwerkingseenheid- geheugen, het systeemgeheugen, de I/O, of platformvoedingsbron. In een uitvoeringsvorm kunnen de prioriteitsniveaus laag, gemiddeld 25 en hoog zijn. In deze uitvoeringsvorm is het, indien het prioriteitsniveau in de TPR hoog is, vereist dat het proces ook een behandeling van het platform krijgt met hoge prioriteit.
30 In een andere uitvoeringsvorm wordt stuurregister 8 (CR8) benut om het prioriteitsniveau voor platform DK hulpbronnen op te slaan. CR8 wordt binnen 64 bits uitbreidingen van de IA-32 architectuur van Intel® Coorporation gebruikt. De van 10 een etiket voorziene geheugen/IO benaderingen worden vervolgens ontvangen door een of meerdere door DK mogelijk gemaakte hulpbronnen 212, en deze hulpbronnen kunnen hun interactie met de geheugen/IO-benaderingen dienovereenkomstig 5 aanpassen. Een door DK mogelijk gemaakte hulpbron kan het prioriteitsniveau in de etiketinformatie lezen en vaststellen welke geheugen/IO-benadering prioriteit dient te krijgen. Indien bijvoorbeeld een geheugen/IO-benadering als "hoge" prioriteit is geëtiketteerd, verkrijgt deze de voorkeur van 10 de DK mogelijk gemaakte hulpbron boven een andere geheugen/IO-benadering die het etiket "gemiddelde" prioriteit heeft.
Dit proces van het etiketteren van geheugen/IO-benaderingen 15 met de huidige waarde van de TPR maakt het mogelijk dat het platformhulpbronnen hetzelfde prioriteitsniveau krijgen als de kern van de verwerkingseenheid. Hoewel dit mogelijk maakt dat taken met hoge prioriteit een hoge prioriteit krijgen binnen het platform, laat het geen differentiatie toe van 20 prioriteitsniveaus over de verschillende platformhulpbronnen evenals differentiatie van prioriteitsniveau van de kern van de verwerkingseenheid.
Figuur 3 beschrijft een gedetailleerde versie van een 25 uitvoeringsvorm van het mechanisme voor DK op platformniveau op een platform waarin de PQR wordt gebruikt om prioriteitsniveaus voor platformhulpbronnen in te stellen. In deze uitvoeringsvorm wordt de PQR ingesteld op basis van de platformprioriteit die nodig is voor de momenteel draaiende 30 programmatuur. De taak 300 staat in wisselwerking met het besturingssysteem of beheerder van de virtuele machine (OS/VMM)302 door de OS/VMM te informeren over de huidige platformprioriteit 304 ervan. De OS/VMM 302 voert deze 11 platformprioriteitsinformatie in in de PQR 306. Vervolgens worden, waneer de taak draait, geheugen en I/O-benaderingen 308 waar om wordt gevraagd vanuit het OS/VMM 302 vervolgens geëtiketteerd 310 op basis van de waarde in PQR 306.
5 Vervolgens worden deze benaderingen dienovereenkomstig behandeld door de voor DK gevoelige platformhulpbronnen zoals de cache, signaalverbinding, geheugen of I/O 312. Aangezien de PQR een aanpasbaar register is dat differentiatie en het stellen van prioriteiten onder de verschillende 10 platformhulpbronnen mogelijk maakt, kan deze uitvoeringsvorm bijvoorbeeld meer ruimte in cache of systeemgeheugen afdwingen, reservebandbreedte in de signaalverbinding verwerkingseenheid-geheugen, of een voorkeursbehandeling in I/O geven op basis van de DK richtlijnen. In een 15 uitvoeringsvorm wordt het hulpmiddelprioritiseringsproces van het platform op basis van de PQR mogelijk gemaakt door het OS/VMM. In deze uitvoeringsvorm zou het OS/VMM een toepassingsprogrammeerinterface (in het Engels: "Application Progamming Interface"; API) hebben om toepassings programma’s 20 in staat te stellen om de PQR te benaderen en de bijbehorende prioriteitstellingen van platformhulpbronnen. Bovendien zou het OS/VMM de relatieve platformhulpbron prioriteitsniveaus moeten beheren temidden van meerdere processen en draden in het systeem.
25
Figuur 4 toont een uitvoeringsvorm van de verwezenlijking van de bestaande TPR en CR8 zoals benut door het DK mechanisme op platformniveau in figuur 2. In deze uitvoeringsvorm benut de TPR een taakprioriteitswaarde in bitlocatie's 7:4. In de CR8 30 is de taakprioriteitswaarde in de bitlocatie's 3:0.
Figuur 5 toont een uitvoeringsvorm van de verwezenlijking van de CR8 benut door het DK mechanisme op platformniveau waarin 12 de PQR is verwezenlijkt in figuur 3. In deze uitvoeringsvorm hecht PQR, in aanvulling op het benutten van een taakprioriteitswaarde in bitlocaties 3:0, bits in bitlocaties 5:4. In deze specifieke uitvoeringsvorm worden er twee bits 5 van de CR8 benut om het prioriteitsniveau van de cache te specificeren, waardoor er vier afzonderlijke prioriteitsniveaus voor de cache mogelijk zijn. Zo kunnen bijvoorbeeld de twee PQR bits 1 1 zijn, hetgeen de hoogste prioriteit aanduidt of 0 0, hetgeen de laagste prioriteit 10 aanduidt. In een uitvoeringsvorm hebben de verschillende prioriteitsniveaus in de cache betrekking op het vermogen om een specifiek percentage van de cache te benaderen. Zo kan bijvoorbeeld het hoogste prioriteitsniveau (prioriteit 11) toelaten om 100 % van de cache te benaderen, kan het volgende 15 hoogste prioriteitsniveau (10) toegang tot 50% van de cache toelaten, kan het volgende prioriteitsniveau (01) toegang tot 10% van de cache toelaten, en kan de laagste prioriteit (00) geheel geen toegang tot de cache toelaten. In een andere uitvoeringsvorm kan de CR8 extra bits benutten om 20 prioriteitsniveaus voor andere hulpbronnen dan de cache (niet getoond) te etiketteren.
Figuur 6 beschrijft een uitvoeringsvorm van een geheugenpaginatabelinvoer (PTE) - formaat waarin beschikbare 25 bits worden gebruikt voor een prioritiseringsproces van platformhulpbronnen. In deze uitvoeringsvorm wordt het stellen van prioriteiten aan platformhulpbronnen verkregen door bepaalde eigenschappen en elk geheugen PTE aan te passen om platformhulpbronnen in verband te brengen met die 30 geheugenpagina. De PTE in figuur 4 toont twee afzonderlijke locaties binnen het huidige PTE-formaat die beschikbaar zijn om te worden gebruikt als DK-bits van het platform.
13
In een uitvoeringsvorm kunnen sommige van de door programmatuur bestuurde bits (62:52) 400 worden gebruikt als DK bits van het platform door een bitmasker te verschaffen in een ander model specifiek register (MSR) of CR. In een andere 5 uitvoeringsvorm zouden, afhankelijk van de beschikbaarheid van de gereserveerde bits (51:40) 402, sommige van deze bits kunnen worden gedefinieerd als DK-bits van het platform. Het specifieke gebruik van welke DK platformhulpbronnen in werking worden gesteld of niet, evenals de fijnmazigheid van 10 het prioriteit stellen hangt specifiek af van het aantal bits dat kan worden gebruikt.
In een uitvoeringsvorm wordt, wanneer er virtueel geheugen wordt toegewezen in het computersysteem, het 15 prioriteitsniveau van elke geheugenpagina toegekend en toegevoegd aan de bijbehorende PTEs. De prioriteit kan later worden gewijzigd door het aanroepen van het OS of VMM. De PTE-informatie inclusief de prioriteitsbit van de platformhulpbronnen, wordt in de opzijkijkvertaalbuffer 20 ("translation look aside buffer") geladen. Daaropvolgende benaderingen van de pagina worden geëtiketteerd met deze prioriteitsinformatie van het platform.
Figuur 7 is een stroomschema van een uitvoeringsvorm van een 25 proces om hulpbronnen van een computerplatform toe te wijzen op basis van DK prioriteitsniveaus. Het proces wordt uitgevoerd door verwerkingslogica die apparatuur kan omvatten (schakelingen, gespecialiseerde logica, etc), programmatuur (zoals die draaiende op een computersysteem voor algemene 30 doeleinden of die draaiende op een gespecialiseerde machine) , of een combinatie van beiden. Onder verwijzing naar figuur 7 vangt het proces aan door het instellen door verwerkingslogica van een DK prioriteitsniveauwaarde voor een 14
of meerdere platformhulpbronnen van het computersysteem, anders dan een kern van een centrale verwerkingseenheid met betrekking tot een taak die op dat moment op het computersysteem draait (verwerkingsblok 700). In een 5 uitvoeringsvorm bevatten de platformhulpbronnen de cache van de centrale verwerkingseenheid, het systeemgeheugen, signaalverbinding verwerkingseenheid- geheugen, en I/O. Vervolgens bepaalt verwerkinglogica of de een of meerdere platformhulpbronnen van het computersysteem zullen worden 10 toegewezen aan de taak op basis van de DK
prioriteitsniveauinstelling (verwerkingsblok 702) en wordt het proces voltooid.
Figuur 8 is een stroomschema van een uitvoeringsvorm van een 15 proces om geheugenverzoeken te etiketteren die toegang vereisen tot platformhulpbronnen buiten de kern van de verwerkingseenheid met DK prioriteitsniveauwaarden. Het proces wordt uitgevoerd door verwerkingslogica die apparatuur (schakelingen, gespecialiseerde logica, etc), programmatuur 20 (draaiend op een computersysteem voor algemene doeleinden of op een gespecialiseerde machine), of een combinatie van beide kan omvatten. Onder verwijzing naar figuur 8, vangt het proces aan door het door verwerkingslogica instellen van een platform DK register (PQR) met een prioriteitsniveauwaarde 25 voor een of meerdere hulpbronnen met betrekking tot een taak die op dat moment op het computersysteem draait (verwerkingsblok 800). Vervolgens ontvangt verwerkingslogica een geheugen/ 10 hulpbronverzoek (verwerkingsblok 802).
Indien het verzoek om hulpbronnen is vervat binnen de kern 30 van de verwerkingseenheid, dan doet verwerkingslogica niets met betrekking tot het verzoek om hulpbronnen en keert terug om een volgend verzoek om geheugen/IO-hulpbron te ontvangen (verwerkingsblok 802). Anders, indien het verzoek om 15 hulpbronnen het benaderen van geheugen of I/O buiten de kern van de verwerkingseenheid vereist , dan etiketteert verwerkingslogica het verzoek met informatie over het gebruik van platformhulpbronnen verband houdende met de waarde van de 5 PQR (verwerkingsblok 806) en wordt het proces voltooid. In een uitvoeringsvorm, wordt de geëtiketteerde geheugen/IO-benadering vervolgens verwerkt door een of meerdere door DK mogelijk gemaakte platformhulpbronnen, die de van een etiket voorziene gebruikersinformatie van 10 hulpbronnen gebruiken om het prioriteitsniveau vast te stellen om toe te passen op het benaderen van de geheugen/IO-hulpbron.
Figuur 9 is een stroomschema van een uitvoeringsvorm van een 15 proces om geheugenpaginatabelinvoeringen te vullen met DK
prioriteitsniveauwaarden van platformhulpbronnen. Dit proces wordt uitgevoerd door verwerkingslogica die apparatuur kan omvatten (schakelingen, gespecialiseerde logica, etc.), programmatuur (zoals draaiend op een computersysteem voor 20 algemene doeleinden of op een gespecialiseerde machine), of een combinatie van beide. Onder verwijzing naar figuur 9 vangt het proces aan door het door verwerkingslogica instellen van geheugenpaginatabelinvoeringen met een DK prioriteitsniveauwaarde voor een of meerdere hulpbronnen met 25 betrekking tot de taak die op dat moment op het computersysteem draait (verwerkingsblok 900). In en uitvoeringsvorm wordt het proces uitgevoerd wanneer het systeem opstart en virtueel geheugen aan een proces wordt toegewezen. In een uitvoeringsvorm is het proces een 30 toepassingsprogramma. In een andere uitvoeringsvorm stelt het besturingssysteem of beheerder van de virtuele machine de DK-prioriteitsniveauwaarde in de paginatabelinvoeringen later in tijdens de reguliere werking van het systeem. Vervolgens 16 stelt verwerkingslogica prioriteit aan de benaderbaarheid van geheugenlocaties op basis van de DK prioriteitsniveauwaarde die is ingesteld voor elke geheugenpagina (verwerkingsblok 902) en wordt het proces voltooid.
5
Aldus zijn er uitvoeringsvormen van een werkwijze, systeem en voor een computer leesbaar medium om prioriteitsniveaubesturingen van dienstkwaliteit in te stellen voor platformhulpbronnen. Deze uitvoeringsvormen zijn 10 beschreven onder verwijzing naar specifieke als voorbeeld dienende uitvoeringen daarvan. Het zal duidelijk zijn voor personen die deze openbaring kennen dat er verscheidene wijzingen en aanpassingen kunnen worden aangebracht in deze uitvoeringsvormen zonder de ruimere geest en reikwijdte van 15 de hierin beschreven uitvoeringsvormen te verlaten. De beschrijvingen en tekeningen dienen dienovereenkomstig te worden opgevat als illustratief in plaats van beperkend.
20

Claims (29)

1. Werkwijze, omvattende: 5 het instellen van een prioriteitsniveauwaarde van dienstkwaliteit (DK) voor een of meerdere hulpbronnen van een computersysteemplatform, anders dan een kern van een centrale verwerkingseenheid, die betrekking heeft op een taak welke op het computersysteem draait; en 10 het bepalen of een of meerdere hulpbronnen van het computersysteemplatform zullen worden toegewezen aan de taak op basis van de DK prioriteitsniveau-instelling.
2. Werkwijze volgens conclusie 1, waarin de hulpbronnen van 15 het computersysteemplatform ten minste een element omvatten gekozen uit de groep van het geheugen van het computersysteem, invoer/uitvoer (I/O), signaalverbindingen, cache en voedingssysteem.
3. Werkwijze volgens conclusie 2, bovendien omvattende: het instellen van een platform DK register met de DK prioriteitsniveauwaarde; en het etiketteren van verzoeken om geheugen en I/O buiten de kern van de centrale verwerkingseenheid met 25 gebruiksinformatie van hulpbronnen van het computersysteemplatform die verband houden met de waarde in het platform DK register.
4. Werkwijze volgens conclusie 2, bovendien omvattende: 30 het instellen van het taakprioriteitsregister van de kern van de verwerkingseenheid met de DK prioriteitsniveauwaarde; en het etiketteren van geheugenverzoeken buiten de kern van de centrale verwerkingseenheid met gebruikersinformatie van hulpbronnen van het computersysteemplatform die verband houden met de waarde in het 5 taakprioriteitsregister.
5. Werkwijze volgens conclusie 2, bovendien omvattende: het instellen van een veelheid aan invoeringen in een geheugenpaginatabel met de DK prioriteitsniveauwaarde; en 10 het stellen van prioriteit aan de toegankelijkheid van geheugenlocaties op basis van de voor elke geheugenpagina ingestelde DK prioriteitsniveauwaarde.
6. Werkwijze volgens conclusie 5, waarin het instellen van 15 geheugenpaginatabelinvoeringen met de DK prioriteitsniveauwaarde gebeurt tijdens toewijzing van virtueel geheugen.
7. Werkwijze volgens conclusie 5, waarin het instellen van 20 geheugen paginatabelinvoeringen met de DK prioriteitsniveauwaarde gebeurt door een besturingssysteemverzoek of verzoek van een beheerder van een virtuele machine.
8. Voor een computer leesbaar medium omvattende instructies daarop, die, wanneer deze door een computer worden uitgevoerd, leiden tot het uitvoeren van een werkwijze door de computer welke omvat: het instellen van een prioriteitsniveauwaarde van 30 dienstkwaliteit (DK) voor een of meerdere hulpbronnen van het computersysteemplatform, anders dan een kern van een centrale verwerkingseenheid, die verband houdt met een taak die op het computersysteem draait; en het vaststellen of de een of meerdere hulpbronnen van het computersystemenplatform zullen worden toegewezen aan de taak op basis van de DK prioriteitsniveauinstelling.
9. Voor een computer leesbaar medium volgens conclusie 8, waarin de hulpbronnen van het computersysteemplatform, het geheugen, invoer/uitvoer (I/O), signaalverbindingen en cache van het computersysteem omvatten. 10 10 Voor een computer leesbaar medium volgens conclusie 9, bovendien omvattend: het instellen van een platform DK register met de DK prioriteitsniveauwaarde; en het etiketteren van verzoeken om geheugen en I/O buiten 15 de kern van de centrale verwerkingseenheid met gebruikersinformatie van computersysteemplatform hulpbronnen die verband houden met de waarde in het platform DK register. 20 11 Voor een computer leesbaar medium volgens conclusie 9, bovendien omvattend: het instellen van het taakprioriteitsregister van de processorkern met de DK prioriteitsniveauwaarde; en het etiketteren van geheugenverzoeken buiten de kern van 25 de centrale verwerkingseenheid met gebruikersinformatie van computersysteemplatform hulpbronnen die verband houden met de waarde in het.taakprioriteitsregister.
12 Voor een computer leesbaar medium volgens conclusie 9, 30 bovendien omvattend: het instellen van een aantal geheugenpagina tabelinvoeringen met de DK prioriteitsniveauwaarde; en het stellen van prioriteiten aan de toegankelijkheid van geheugenlocaties op basis van de DK prioriteitsniveauwaarde die is ingesteld voor elke geheugenpagina. 5
13 Systeem, omvattende: een signaalverbinding; een centrale verwerkingseenheid verbonden met de signaalverbinding; 10 een invoer/uitvoer (I/O) inrichting verbonden met de signaalbinding; geheugen verbonden met de signaalverbinding, waarbij het geheugen is ingericht voor het opslaan van instructies, die bij uitvoering door de verwerkingseenheid: 15 een prioriteitsniveauwaarde van dienstkwaliteit (DK) voor een of meerdere systeemhulpbronnen instelt, anders dan de kern van de centrale verwerkingseenheid, met betrekking tot een taak die op het computersysteem draait; en bepaalt of de een of meerdere computersysteemplatform 20 hulpbronnen zullen worden toegewezen aan de taak op basis van de DK prioriteitsniveauinstelling.
14 Systeem volgens conclusie 13, waarin de computersysteemplatform hulpbronnen tenminste een van het 25 geheugen invoer/uitvoer (I/O), signaalverbindingen en cache van het computersysteem bevatten.
15 Systeem volgens conclusie 14, waarin het systeem: een platform DK register instelt met de DK 30 prioriteitsniveauwaarde; en verzoeken om geheugen en I/O etiketteert buiten de kern van de centrale verwerkingseenheid met gebruikersinformatie van een computersysteemplatform- hulpbronnen die verband houden met de waarde in het platform DK register.
16 Systeem volgens conclusie 14, waarin het systeem: 5 het taakprioriteitsregister van de kern van de centrale verwerkingseenheid instelt met de DK prioriteitsniveauwaarde; en verzoeken om geheugen buiten de kern van de centrale verwerkingseenheid etiketteert met gebruikersinformatie 10 van computersysteemplatform hulpbronnen die verband houden met de waarde in het taakprioriteitsregister.
17 Systeem volgens conclusie 14, waarin het systeem: een veelheid aan geheugenpaginatabelinvoeringen instelt 15 met DK prioriteitsniveauwaarde; en prioriteit stelt aan de toegankelijkheid van geheugenlocaties op basis van de DK prioriteitsniveauwaarde die is ingesteld voor elke geheugenpagina. 20
18 Systeem volgens conclusie 17, waarin het systeem de geheugenpaginatabelinvoeringen instelt met de DK prioriteitsniveauwaarde tijdens toewijzing van virtueel geheugen. 25
19 Systeem volgens conclusie 17, waarin het systeem de geheugenpaginatabelinvoeringen instelt met de DK prioriteitsniveauwaarde door middel van een verzoek van een besturingssysteem of verzoek van een beheerder van 30 een virtuele machine.
20 Systeem volgens conclusie 13, waarin het systeem meerdere centrale verwerkingseenheden heeft. VERTALING BIJSCHRIFTEN FIGUREN Figuren 5 Fig. 1 102 centrale verwerkingseenheid 104 kern 106 cache
108 APIC 10 110 systeemgeheugen 112 chipverzameling 114 noordbrug 116 zuidbrug
118 I/O-inrichting 15 122 I/O-inrichting Fig. 2 200 taak 202 besturingssysteem 20 204 huidige taakprioriteit
206 TPR/PPR 208 geheugenbenaderingen 210 platform DK etikettering 212 door DK mogelijk gemaakt(e) 25 cache/verbinding/geheugen/10/vermogen Fig. 3 300 taak 302 besturingssysteem/beheerder van virtueel geheugen 30 304 huidige taakprioriteit
306 PQR 308 geheugenbenaderingen 310 platform DK etikettering 312 door DK mogelijk gemaakt(e) cache/verbinding/geheugen/10/vermogen Fig. 4
5 Current CR8 and TPR huidige CR8 en TPR Reserved gereserveerd Task priority taakprioriteit Task priority sub-class subklasse van taakprioriteit
10 Fig. 5 New CR8 and TPR nieuwe CR8 en TPR Reserved gereserveerd Platform QoS bits platform-DK bits Task priority taakprioriteit
15 Task priority sub-class subklasse van taakprioriteit Fig. 6 Page table entry paginatabel ingang Execute disable bit or reserved bit voor onmogelijk maken 20 van uitvoering of gereserveerd Available beschikbaar Reserved gereserveerd Page base address pagina basisadres
25 Fig. 7 Start begin Finish einde 700 stel DK-prioriteitsniveauwaarde voor een of meerdere platformhulpbronnen van het computersysteem in, anders dan 30 een kern van een centrale verwerkingseenheid, met betrekking tot een taak die momenteel op het computersysteem draait. 702 wijs een geschikte hoeveelheid van de een of meerdere platformhulpbronnen van het computersysteem toe aan de taak op basis van de DK-prioriteitsniveau-instelling.
5 Fig. 8 Start begin Finish einde 800 stel platform DK-register met een prioriteitniveauwaarde in voor een of meerdere hulpbronnen 10 met betrekking tot een taak die momenteel draait op het computersysteem 802 ontvang verzoek om geheugen/IO hulpbron 804 verzoek buiten CVE-kern? No neen
15 Yes ja 806 etiketteer verzoek met gebruiksinformatie van platform hulpbron verband houdend met de waarde in het DK-register van het platform
20 Fig. 9 Start begin Finish einde 900 stel een aantal ingangen van de geheugenpaginatabel in met een DK-prioriteitsniveauwaarde voor een of meerdere 25 hulpbronnen met betrekking tot een taak die momenteel draait op het computersysteem 902 prioritiseer de toewijzing van platformhulpbronnen op basis van de DK-prioriteitsniveauwaarde ingesteld voor elke geheugenpagina 30
NL2000877A 2006-09-25 2007-09-24 Implementatie van dienstkwaliteit voor platform-hulpbronnen. NL2000877C2 (nl)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/527,222 US8458711B2 (en) 2006-09-25 2006-09-25 Quality of service implementation for platform resources
US52722206 2006-09-25

Publications (2)

Publication Number Publication Date
NL2000877A1 NL2000877A1 (nl) 2008-03-26
NL2000877C2 true NL2000877C2 (nl) 2008-12-16

Family

ID=39224869

Family Applications (1)

Application Number Title Priority Date Filing Date
NL2000877A NL2000877C2 (nl) 2006-09-25 2007-09-24 Implementatie van dienstkwaliteit voor platform-hulpbronnen.

Country Status (6)

Country Link
US (1) US8458711B2 (nl)
CN (1) CN101196834B (nl)
DE (1) DE112007002201T5 (nl)
NL (1) NL2000877C2 (nl)
RU (1) RU2431186C2 (nl)
WO (1) WO2008039426A2 (nl)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8458711B2 (en) 2006-09-25 2013-06-04 Intel Corporation Quality of service implementation for platform resources
US8521993B2 (en) * 2007-04-09 2013-08-27 Intel Corporation Providing thread fairness by biasing selection away from a stalling thread using a stall-cycle counter in a hyper-threaded microprocessor
US8095932B2 (en) * 2007-08-14 2012-01-10 Intel Corporation Providing quality of service via thread priority in a hyper-threaded microprocessor
US8769201B2 (en) * 2008-12-02 2014-07-01 Intel Corporation Technique for controlling computing resources
US8190930B2 (en) 2009-03-30 2012-05-29 Intel Corporation Methods and apparatuses for controlling thread contention
US8276139B2 (en) * 2009-09-30 2012-09-25 International Business Machines Corporation Provisioning virtual machine placement
US9104482B2 (en) * 2009-12-11 2015-08-11 Hewlett-Packard Development Company, L.P. Differentiated storage QoS
US8990506B2 (en) * 2009-12-16 2015-03-24 Intel Corporation Replacing cache lines in a cache memory based at least in part on cache coherency state information
US20120159090A1 (en) * 2010-12-16 2012-06-21 Microsoft Corporation Scalable multimedia computer system architecture with qos guarantees
US8898390B2 (en) 2011-03-08 2014-11-25 Intel Corporation Scheduling workloads based on cache asymmetry
US9418109B2 (en) * 2011-03-18 2016-08-16 Emc Corporation Memory quota
WO2013005220A1 (en) * 2011-07-06 2013-01-10 Hewlett-Packard Development Company, L.P. Method and system for an improved i/o request quality of service across multiple host i/o ports
US8490107B2 (en) * 2011-08-08 2013-07-16 Arm Limited Processing resource allocation within an integrated circuit supporting transaction requests of different priority levels
KR101815148B1 (ko) * 2014-02-27 2018-01-04 인텔 코포레이션 설정 가능한 컴퓨팅 자원 할당 기술
CN111666148A (zh) * 2014-04-30 2020-09-15 华为技术有限公司 计算机,控制设备和数据处理方法
US9582326B2 (en) * 2014-05-30 2017-02-28 Apple Inc. Quality of service classes
US9990232B2 (en) * 2015-10-06 2018-06-05 Red Hat, Inc. Quality of service tagging for computing jobs
US10503550B2 (en) 2017-09-30 2019-12-10 Intel Corporation Dynamic performance biasing in a processor
US20220206862A1 (en) * 2020-12-25 2022-06-30 Intel Corporation Autonomous and extensible resource control based on software priority hint

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020023118A1 (en) * 2000-06-29 2002-02-21 Enavis Networks Ltd. Method for effective utilizing of shared resources in computerized system
US20020143843A1 (en) * 2001-01-26 2002-10-03 Mehta Kalpesh Dhanvantrai Apportioning a shared computer resource
US20040117790A1 (en) * 2002-12-13 2004-06-17 Rhine Scott Alan Systems and methods for facilitating fair and efficient scheduling of processes among multiple resources in a computer system
US6859926B1 (en) * 2000-09-14 2005-02-22 International Business Machines Corporation Apparatus and method for workload management using class shares and tiers

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2809962B2 (ja) * 1993-03-02 1998-10-15 株式会社東芝 資源管理方式
US5828653A (en) * 1996-04-26 1998-10-27 Cascade Communications Corp. Quality of service priority subclasses
GB9930428D0 (en) * 1999-12-22 2000-02-16 Nortel Networks Corp A method of provisioning a route in a connectionless communications network such that a guaranteed quality of service is provided
US6816456B1 (en) * 2000-02-04 2004-11-09 At&T Corp. Methods and apparatus for network use optimization
US7162540B2 (en) * 2000-05-15 2007-01-09 Catchfire Systems, Inc. Method and system for prioritizing network services
EP1213650A3 (en) * 2000-08-21 2006-08-30 Texas Instruments France Priority arbitration based on current task and MMU
EP1182551B1 (en) * 2000-08-21 2017-04-05 Texas Instruments France Address space priority arbitration
EP1338125A2 (en) * 2000-11-03 2003-08-27 AT & T Corp. Tiered contention multiple access (tcma): a method for priority-based shared channel access
US6990593B2 (en) * 2001-07-31 2006-01-24 Hewlett-Packard Development Company, L.P. Method for diverting power reserves and shifting activities according to activity priorities in a server cluster in the event of a power interruption
US6804738B2 (en) * 2001-10-12 2004-10-12 Sonics, Inc. Method and apparatus for scheduling a resource to meet quality-of-service restrictions
US7599665B2 (en) * 2003-12-19 2009-10-06 Nokia Corporation Selection of radio resources in a wireless communication device
CN1271519C (zh) * 2004-06-30 2006-08-23 清华大学深圳研究生院 流媒体服务器资源的自调节调度方法
US8458711B2 (en) 2006-09-25 2013-06-04 Intel Corporation Quality of service implementation for platform resources
US7921276B2 (en) * 2007-03-21 2011-04-05 Intel Corporation Applying quality of service (QoS) to a translation lookaside buffer (TLB)
US8205023B1 (en) * 2010-09-30 2012-06-19 Juniper Networks, Inc. Concurrent pairing of resources and requestors

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020023118A1 (en) * 2000-06-29 2002-02-21 Enavis Networks Ltd. Method for effective utilizing of shared resources in computerized system
US6859926B1 (en) * 2000-09-14 2005-02-22 International Business Machines Corporation Apparatus and method for workload management using class shares and tiers
US20020143843A1 (en) * 2001-01-26 2002-10-03 Mehta Kalpesh Dhanvantrai Apportioning a shared computer resource
US20040117790A1 (en) * 2002-12-13 2004-06-17 Rhine Scott Alan Systems and methods for facilitating fair and efficient scheduling of processes among multiple resources in a computer system

Also Published As

Publication number Publication date
RU2431186C2 (ru) 2011-10-10
US20080075101A1 (en) 2008-03-27
WO2008039426A2 (en) 2008-04-03
WO2008039426A3 (en) 2008-05-15
RU2009115663A (ru) 2010-11-10
CN101196834B (zh) 2010-06-02
CN101196834A (zh) 2008-06-11
DE112007002201T5 (de) 2009-07-16
NL2000877A1 (nl) 2008-03-26
US8458711B2 (en) 2013-06-04

Similar Documents

Publication Publication Date Title
NL2000877C2 (nl) Implementatie van dienstkwaliteit voor platform-hulpbronnen.
US10073711B2 (en) Virtual machine monitor configured to support latency sensitive virtual machines
US9535736B2 (en) Providing service quality levels through CPU scheduling
US9892069B2 (en) Posting interrupts to virtual processors
US9645743B2 (en) Selective I/O prioritization by system process/thread
US8725913B2 (en) Numa I/O framework
US9792051B2 (en) System and method of application aware efficient IO scheduler
US8141096B1 (en) System, method, and computer program product for group scheduling of computer resources
US8281315B2 (en) Method, system, and storage medium for managing computer processing functions
US7979861B2 (en) Multi-processor system and program for causing computer to execute controlling method of multi-processor system
US7711822B1 (en) Resource management in application servers
US8286178B2 (en) Allocation and regulation of CPU entitlement for virtual processors in logical partitioned platform
KR101455899B1 (ko) 다수의 가상 서버들 사이에 공유 자원들의 할당을 통한 소프트웨어 제어기능을 갖는 마이크로 프로세서
US8082547B1 (en) Reallocating hardware resources among workloads in accordance with license rights
US20060259675A1 (en) Method for delivering interrupts to user mode drivers
CN113032101A (zh) 虚拟机的资源分配方法、服务器及计算机可读存储介质
CN115167996A (zh) 调度方法及装置、芯片、电子设备及存储介质
US7594229B2 (en) Predictive resource allocation in computing systems
US11934890B2 (en) Opportunistic exclusive affinity for threads in a virtualized computing system
JPH08292932A (ja) マルチプロセッサシステムおよびマルチプロセッサシステムにおいてタスクを実行する方法
CA2316643C (en) Fair assignment of processing resources to queued requests
WO2007049543A1 (ja) 演算装置
CN117667306A (zh) 内存分配方法、装置、处理器系统和计算机可读存储介质
CN114090228A (zh) 资源分配方法、装置、电子设备及介质
JPH05128077A (ja) 複数計算機システムの分散処理方法

Legal Events

Date Code Title Description
AD1A A request for search or an international type search has been filed
RD2N Patents in respect of which a decision has been taken or a report has been made (novelty report)

Effective date: 20081015

V1 Lapsed because of non-payment of the annual fee

Effective date: 20110401