Sobes.tech
Middle+

Sıralı tutarlılık nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Sıralı Tutarlılık (Sequential Consistency), dağıtık sistemler veya çok iş parçacıklı programlar içinde bir tutarlılık modelidir ve herhangi bir paralel programın yürütülmesinin sonucu, tüm işlemcilerin (iş parçacıklarının) işlemlerinin belirli bir sıralı şekilde gerçekleştirilmiş gibi olmasını ve her bir işlemcinin (iş parçacığının) bu sıralı düzen içinde, programda belirtildiği sırayla işlemlerini takip etmesini garanti eder.

Başka bir deyişle:

  1. İşlem sırasını iş parçacığı içinde koruma: Bir iş parçacığı tarafından başlatılan işlemler, diğer iş parçacıklarına aynı sırayla görünür.
  2. Tek bir küresel sıralama: Tüm iş parçacıklarının işlemlerinin, tüm işlemlerin tek bir, doğrusal, küresel sıralaması vardır ve tüm iş parçacıkları buna uyar.

Bu model en güçlü ve sezgisel olanlardan biridir, ancak uygulaması performans açısından maliyetli olabilir çünkü senkronizasyon gerektirir ve derleyici ile donanım tarafından işlemlerin yeniden sıralanmasını engellemek gerekir.

Örnek:

// İş Parçacığı 1
x = 1;
y = 2;

// İş Parçacığı 2
// x ve y okuma işlemleri

Sıralı tutarlılık ile, İş Parçacığı 1 önce 1'i x'e yazar ve sonra 2'yi y'ye yazar ise, İş Parçacığı 2 asla y'nin 2 olduğunu görmeden önce x'in 1 olduğunu görmez. Olası sıralı yürütmeler:

  • x = 1; y = 2; read(x); read(y); (read(x) = 1, read(y) = 2)
  • x = 1; read(x); y = 2; read(y); (read(x) = 1, read(y) = 2)
  • read(x); x = 1; read(y); y = 2; (read(x) 0 olabilir, read(y) 0 olabilir, sonra read(x) = 1, read(y) = 2)

İş Parçacığı 2 y'yi 2 olarak görse bile, x'in hâlâ 0 olması mümkün değildir, eğer İş Parçacığı 1 önce x = 1 yazar ve sonra y = 2 yazar.