Med spekulativ tråd-nivå parallellisering, koder som inte kan helt kompilator-analyseras utförs aggressivt parallellt. Om hårdvaran upptäcker en korstrådsberoende överträdelse, det krossar stötande trådar och återupptar utförandet. Olyckligtvis, ofta krossar krymplingar prestanda. I detta dokument föreslås en ny ram av hårdvara mekanismer för att eliminera de flesta squash på grund av databeroende i multiprocessorer. Ramverket fungerar genom att lära sig och förutsäga överträdelser, och tillämpa fördröjd disambition, värdeförutsägelse, och stall och släpp. Ramverket lämpar sig för katalogbaserade multiprocessorer som spårar minnesåtkomst på systemnivå med den grova granulariteten hos minneslinjer. Simuleringar av en 16-processor maskin visar att ramen är mycket effektiv. Genom att lägga till vårt ramverk till en spekulativ CC-NUMA med 64-bytes minneslinjer, snabbar vi upp applikationerna med i genomsnitt 4,3 gånger. Dessutom är det resulterande systemet till och med 23% snabbare än en maskin som spårar minnet kommer åt den fina granularitet av ord - ett sofistikerat system som inte är kompatibelt med vanliga cachekonsistensprotokoll.
En ram av hårdvarumekanismer för att eliminera databeroende squashar genom lärande, fördröjd disambition, värdeförutsägelse och synkronisering har föreslagits av REF.
Eliminating squashes through learning cross-thread violations in speculative parallelization for multiprocessors
{'venue': 'Proceedings Eighth International Symposium on High Performance Computer Architecture', 'journal': 'Proceedings Eighth International Symposium on High Performance Computer Architecture', 'mag_field_of_study': ['Computer Science']}