Abstrakt. Hardware lock-elision (HLE) introducerar samstämmighet i äldre låsbaserad kod genom att optimistiskt utföra kritiska sektioner i en snabb-väg som hårdvarutransaktioner. Dess huvudsakliga begränsning är att vid upprepade aborter återgår den till en reservgång som förvärvar ett serielås. Denna back-path saknar hårdvaruprogramvara konvergens, eftersom alla snabba hårdvarutransaktioner avbryter och väntar på slutförandet av reserv. Programvarulås elision har ingen sådan begränsning, men de overheads som uppstår är helt enkelt för höga. Vi föreslår amalgamerad lock-elision (ALE), en ny lock-elision algoritm som ger hårdvara-programvara konvergens och effektivitet: fallback-vägen utför samtidigt med snabba hårdvarutransaktioner, medan den vanliga snabb-path avläser inga overheads och fortsätter utan någon instrumentering. Den viktigaste idén i ALE är att använda en sekvens av finkorniga lås i fallback-banan för att upptäcka konflikter med den snabba vägen, och samtidigt minska kostnaderna för dessa lås genom att utföra fallback-banan som en serie segment, där varje segment är en dynamisk längd kort hårdvara transaktion. Vi implementerade ALE i GCC och testade det nya systemet på Intel Haswell 16-vägs chip som tillhandahåller hårdvarutransaktioner. Vi jämförde länkade listor, hash-tabeller och röd-svarta träd, samt konvertera KyotoCacheDB för att använda ALE i GCC, och alla visar att ALE betydligt överträffar HLE.
Amalgamated lock elision (ALE) föreslogs i REF som förbättrar över TLE genom att utföra den långsamma vägen som en serie av segment, som var och en är en dynamisk längd hårdvarutransaktion.
Amalgamated Lock-Elision
{'venue': 'DISC', 'journal': None, 'mag_field_of_study': ['Computer Science']}