Abstract-Load eliminering är en klassisk kompilator transformation som ökar i betydelse för multi-core och många-core arkitekturer. Effekten av omvandlingen är att ersätta en minnesåtkomst, såsom en läsning av ett objektfält eller ett matriselement, med en läsning av en kompilatorgenererad tillfällig som kan fördelas i snabbare och mer energieffektiva lagringsstrukturer såsom register och lokala minnen (skrapplattor). Tyvärr utför nuvarande just-in-time och dynamiska kompilatorer belastningseliminering endast i begränsade situationer. I synnerhet gör de oftast värsta tänkbara antaganden om potentiella biverkningar som uppstår till följd av parallella konstruktioner och metodanrop. Dessa två begränsningar samverkar med varandra eftersom parallella konstruktioner vanligtvis översätts till lågnivåruntime bibliotek samtal. I detta dokument introducerar vi en interprocedural lastelimineringsalgoritm som lämpar sig för användning i dynamisk optimering av parallella program. De viktigaste bidragen i tidningen inkluderar: a) en algoritm för eliminering av belastning i närvaro av tre kärnparallella konstruktioner -async, finish, och isolerade, b) effektiv sidoeffektanalys för metodanrop, c) utökad sidoeffektanalys för parallella konstruktioner med hjälp av en Isolation Consistency memory-modell, och d) prestandaresultat för att studera effekten av eliminering av belastning på en uppsättning standardriktmärken med hjälp av en implementering av algoritmen i Jikes RVM för optimering av program skrivna i en delmängd av X10 v1.5 språket. Våra resultat visar minskningar i dynamiska räknar för getfield verksamhet på upp till 99,99%, och prestandaförbättringar på upp till 1,76× på 1 kärna, och 1,39× på 16 kärnor, när man jämför algoritmen i detta papper med belastning elimineringsalgoritm som finns i Jikes RVM.
Skalarersättning för eliminering av belastning REF förlänger skalarersättning över både metodanrop och parallella konstruktioner (såsom async, finish, och isolerade i Habanero-Java [12] ), med hjälp av en avslappnad isoleringskonsistens minne modell.
Interprocedural Load Elimination for Dynamic Optimization of Parallel Programs
{'venue': '2009 18th International Conference on Parallel Architectures and Compilation Techniques', 'journal': '2009 18th International Conference on Parallel Architectures and Compilation Techniques', 'mag_field_of_study': ['Computer Science']}