Dalam pengantar makalah ini Akhirnya Objek Linearizable Bersama (PODC'10) , penulis telah menyajikan pernyataan berikut tanpa referensi:
Akan tetapi, linierabilitas dapat dicapai jika dan hanya jika konsensus dapat diselesaikan.
Di sini, kemampuan linierisasi adalah sifat konsistensi terkuat yang diketahui dari objek bersama, yang diusulkan dalam makalah Kemampuan linierisasi: Kondisi yang Tepat untuk Objek Bersamaan .
Saya bingung tentang pernyataan di atas karena argumen berikut:
Dalam makalah Berbagi Memori yang Kuat dalam Sistem Pass-message (JACM95) , kita tahu bahwa kemampuan linierisasi dapat dicapai dalam sistem passing pesan asinkron, sambil mentolerir sebagian kecil proses crash:
Algoritma bebas-tunggu apa pun yang didasarkan pada register multi-pembaca atom, penulis tunggal dapat secara otomatis ditiru dalam sistem penyampaian pesan, asalkan setidaknya sebagian besar prosesor tidak rusak dan tetap terhubung.
Di sisi lain, kertas Imposibilitas Konsensus Terdistribusi dengan One Faulty Process (JACM85) telah membuktikan hasil ketidakmungkinan konsensus bahkan dengan hanya satu proses crash:
Masalah konsensus melibatkan sistem proses yang tidak sinkron, beberapa di antaranya mungkin tidak dapat diandalkan. Masalahnya adalah proses yang dapat diandalkan untuk menyetujui nilai biner. Dalam makalah ini, ditunjukkan bahwa setiap protokol untuk masalah ini memiliki kemungkinan nonterminasi, bahkan dengan hanya satu proses yang salah.
Karena itu, dapatkah kita mencapai kesimpulan berikut:
konsensus lebih kuat daripada linierabilitas?
Apa yang salah dengan argumen saya? Apakah ada beberapa referensi langsung untuk kesimpulan kesetaraan ?
Jawaban:
Hal yang Anda salah adalah "kami tahu bahwa kemampuan linierisasi dapat dicapai dalam sistem pengiriman pesan yang tidak sinkron, sambil mentoleransi sebagian kecil proses yang macet." Kami tidak tahu itu, dan ternyata itu salah.
Apa yang ditunjukkan oleh kutipan dari makalah JACM95 adalah bahwa register multi-penulis tunggal dapat diimplementasikan menggunakan passing pesan. Dan hanya register semacam ini, atau objek lain yang dapat diimplementasikan (diberikan minoritas crash) dari register tersebut. Ini termasuk misalnya register multi-penulis multi-penulis (MWMR).
Sebaliknya, linearitas tidak terbatas pada objek yang dapat diimplementasikan menggunakan register multi-reader satu penulis. Salah satu contoh objek tersebut adalah yang mendukung operasi (atom) Baca-Ubah-Tulis.
Faktanya seperti yang ditunjukkan oleh Attiya dkk (Bagian 7) objek-objek semacam itu tidak dapat diimplementasikan oleh register MWMR karena mereka memungkinkan penyelesaian konsensus (lih. Sinkronisasi bebas tunggu oleh Herlihy) dan dengan demikian implementabilitas akan bertentangan dengan hasil FLP.
sumber
atomicity of operations on a single object
dengansequential specifications are not violated
?Eventually Linearizable Shared Objects (PODC'10)
dan memperhatikan bahwa objek yang berubah-ubah (bukan hanya register SWMR) dipertimbangkan.