Bu sitedeki içerik yapay zeka (AI) veya makine çeviri teknolojisi kullanılarak çevrilmiştir ve hatalar içerebilir.

Skip to content
Programming Languages

Sızdıran Noktalı Virgül

View Publication

Author

Mak Batty ve Simon Cooksey (UKC), Alan Jeffrey (Roblox), Ilya Kaysin ve Anton Podkopaev (JetBrains), James Riely (DePaul Üniversitesi)

Venue

ACM Programlama Dilleri Bildirileri 2021

Abstract

Program mantığı ve semantiği, sıralı bileşim hakkında hoş bir hikaye anlatır: (S1; S2) komutunu yürütürken, önce S1'i, ardından S2'yi yürütürüz. Ancak performansı artırmak için işlemciler komutları sırasız olarak yürütür ve derleyiciler programları çok daha dramatik bir şekilde yeniden sıralar. Tasarım gereği, tek iş parçacıklı sistemler bu yeniden sıralamaları gözlemleyemez; ancak çoklu iş parçacıklı sistemler bunu yapabilir, bu da hikayeyi oldukça daha az hoş hale getirir. Ortaya çıkan karmaşayı anlamaya yönelik resmi bir girişim, "gevşek bellek modeli" olarak bilinir. Önceki modeller ya sıralı bileşimi doğrudan ele almakta başarısız olur, ya da işlemcileri ve derleyicileri aşırı derecede kısıtlar, ya da pratikte gözlemlenemeyen anlamsız, hayali davranışlara izin verir. Modern donanımı hedeflerken sıralı bileşimi desteklemek için, standart olay tabanlı yaklaşımı önkoşullar ve yüklem dönüştürücü aileleriyle zenginleştiriyoruz. (S1;S2) ifadesinin anlamını hesaplarken, S2'den gelen bir olay e'nin önkoşuluna uygulanan yüklem dönüştürücü, e'nin bağlı olduğu S1'deki olaylar kümesine göre seçilir. Bu yaklaşımı mevcut iki bellek modeline uyguluyoruz.