I detta dokument presenteras Cooperative Cache Partitioning (CCP) för att fördela cacheresurser mellan trådar som samtidigt körs på CMP. Till skillnad från partitioneringsprogram för cache som använder en enda rumslig partition upprepade gånger under en stabil programfas, löser CCP cacheinnehållet med flera tidsdelningspartitioner. Tidsdelningscacheresurser mellan partitioner gör det möjligt för varje thrashing-tråd att accelerera dramatiskt i minst en partition genom att orättvist krympa andra trådars kapacitetstilldelningar, samtidigt som rättvisan förbättras genom att olika partitioner ges samma chans att köra. Qualityof-Service (QoS) garanteras på lång sikt genom att iscensätta krympningen och expansionen av varje tråds kapacitet över partitioner för att begränsa den genomsnittliga avmattningen. Tidsdelningsbaserad cachepartitionering integreras ytterligare med CMP-kooperativ cachelagring [6] för att utnyttja fördelarna med LRU-baserade latensoptimeringar, vilket leder till en förenklad partitioneringsalgoritm och bättre prestanda för arbetsbelastningar som inte drar nytta av cachepartitionering. Vi utvärderar effektiviteten hos CCP genom att simulera en 4-kärnig CMP som kör alla kombinationer av 7 representativa SPEC2000-riktmärken. För arbetsbelastningar som kan dra nytta av cachepartitionering uppnår den centrala motparten upp till 60 % och i genomsnitt 12 % bättre prestanda än den uttömmande sökningen av optimala statiska partitioner. Totalt sett ger den centrala motparten de bästa resultaten på nästan alla utvärderingsmått för olika cachestorlekar.
I REF använder Chang och Sohi flera tidsdelningscachepartitioner för att garantera QoS bland trådar.
Cooperative cache partitioning for chip multiprocessors