ทำไม Linearizability ถึงมีคุณสมบัติความปลอดภัยและทำไมคุณสมบัติด้านความปลอดภัยถึงปิด?


10

ในบทที่ 13 "อะตอมมิกวัตถุ" ของหนังสือ "อัลกอริธึมแจกจ่าย" โดยแนนซี่ลินช์ความเป็นเส้นตรง (หรือที่เรียกว่าอะตอมมิกซิตี้) ได้รับการพิสูจน์แล้วว่าเป็นคุณสมบัติด้านความปลอดภัย กล่าวคือคุณสมบัติการติดตามที่สอดคล้องกันนั้นเป็นแบบnonempty, prefix-closed และ limit-closedตามที่กำหนดไว้ในส่วน 8.5.3 อย่างไม่เป็นทางการคุณสมบัติด้านความปลอดภัยมักถูกตีความว่าเป็นการกล่าวว่าสิ่งที่ "ไม่ดี" บางอย่างไม่เคยเกิดขึ้น

จากปัญหานี้ปัญหาแรกของฉันมีดังนี้:

linearizability เป็นคุณสมบัติความปลอดภัยคืออะไร? มีผลลัพธ์บางส่วนจากข้อเท็จจริงนี้ในวรรณคดีหรือไม่?

ในการศึกษาการจำแนกประเภทของคุณสมบัติความปลอดภัยและคุณสมบัติการอยู่รอดเป็นที่รู้จักกันดีว่าคุณสมบัติความปลอดภัยสามารถกำหนดเป็นชุดปิดในโทโพโลยีที่เหมาะสม ในบทความ"การจำแนกความปลอดภัย - ความคืบหน้า" @ 1993 โดย Amir Pnueli และคณะ โทโพโลยีเมตริกถูกนำมาใช้ โดยเฉพาะอย่างยิ่งสถานที่ให้บริการคือชุดของ ( จำกัด หรือไม่มีที่สิ้นสุด) คำมากกว่าตัวอักษร\คุณสมบัติประกอบด้วยทุกคำอนันต์ดังกล่าวว่าทุกคำนำหน้าของเป็นของ\ตัวอย่างเช่นถ้าดังนั้นΣ ( Φ ) σΦΣA(Φ)σΦ Φ = + B * ( Φ ) = ω + +ωσΦΦ=a+bA(Φ)=aω+a+bω. สถานที่ให้บริการ infinitaryถูกกำหนดให้เป็นสถานที่ให้บริการด้านความปลอดภัยถ้าสำหรับบางคุณสมบัติ finitary \ตัวชี้วัดระหว่างคำอนันต์และถูกกำหนดให้เป็น 0 ถ้าพวกเขามีเหมือนกันและอย่างอื่นที่คือความยาวของคำนำหน้าทั่วไปที่ยาวที่สุดซึ่งพวกเขาเห็นด้วย ด้วยการวัดนี้คุณสมบัติความปลอดภัยสามารถกำหนดเป็นชุดปิดทอพอโลยีΠΦ d ( σ , σ ' ) σ σ ' d ( σ , σ ' ) = 2 - เจเจΠ=A(Φ)Φd(σ,σ)σσd(σ,σ)=2jj

นี่คือปัญหาที่สองของฉัน:

วิธีการกำหนดลักษณะเชิงเส้นตรงเป็นชุดปิดทอพอโลยี? โดยเฉพาะชุดพื้นฐานคืออะไรและโทโพโลยีคืออะไร?

คำตอบ:


8

linearizability เป็นคุณสมบัติความปลอดภัยคืออะไร? มีผลลัพธ์บางส่วนจากข้อเท็จจริงนี้ในวรรณคดีหรือไม่?

สมมติว่าคุณได้ดำเนินการร่วมกันหน่วยความจำเครื่องเท่านั้นที่ตอบสนองเชิงเส้นในที่สุดที่กำหนดไว้ดังต่อไปนี้ในการทำงานทุกของมีอยู่บางจุดในเวลาเช่นว่า linearization ถือเป็นครั้งบน โปรดทราบว่ามีขอบเขตไม่มีบนของT(*) (นี่คือคู่แท้ของคำนิยามคุณสมบัติความปลอดภัยมาตรฐานของ linearizability)α M T α T α TMαMTαTαT

การใช้งานหน่วยความจำแบบแบ่งใช้นั้นจะไม่เป็นประโยชน์อย่างมากต่อโปรแกรมเมอร์: โปรดทราบว่าหากในที่สุด linearizability เท่านั้นจะไม่มีการรับประกันใด ๆ เกี่ยวกับความสอดคล้องของการดำเนินการอ่าน / เขียนในคำนำหน้า "ก่อน" ของการเรียกใช้ใด ๆ ) หรือกล่าวอีกนัยหนึ่งไม่ว่าจะเกิดอะไรขึ้นจนถึงตอนนี้คุณยังสามารถขยายคำนำหน้าปัจจุบันของการวิ่งไปที่การตอบสนองเชิงเส้นตรงในที่สุด T

(*) หากมีขอบเขตดังกล่าวความเป็นเส้นตรงในที่สุดจะกลายเป็นสมบัติด้านความปลอดภัย

วิธีการกำหนดลักษณะเชิงเส้นตรงเป็นชุดปิดทอพอโลยี? โดยเฉพาะชุดพื้นฐานคืออะไรและโทโพโลยีคืออะไร?

เราสามารถกำหนดเมททอพอโลยีในชุดซึ่งเป็นชุดของการทำงานที่เป็นไปได้ทั้งหมดของอัลกอริทึมแบบกระจาย โปรดทราบว่าการรันแต่ละครั้งสอดคล้องกับลำดับการเปลี่ยนสถานะที่ไม่สิ้นสุด สำหรับ ,เรากำหนดโดยที่เป็นดัชนีแรกสุดที่สถานะการเปลี่ยนในและแตกต่างกัน มิฉะนั้นถ้าเรากำหนด0α S Y N C α , β S Y N C α β d ( α , β ) : = 2 - N N α β α = β d ( α , β ) = 0ASYNCαASYNCα,βASYNCαβ

d(α,β):=2N
Nαβα=βd(α,β)=0

ครั้งแรกที่เรายืนยันว่าเป็นตัวชี้วัดในasyncตามคำนิยามมีค่าลบและเรามี alpha) สำหรับความไม่เท่าเทียมกันของรูปสามเหลี่ยมถือเป็นเรื่องเล็กน้อยถ้าหรือ \ตอนนี้ให้พิจารณากรณีที่ , เช่น และสำหรับบางดัชนี n_2 ตั้งแต่S Y N C d α , β S Y N C d ( α , β ) = d ( β , α ) α , β , แกมมาS Y N C d ( α , β ) d ( α , γ ) + d ( γ , β )dASYNCdα,βASYNCd(α,β)=d(β,α)α,β,γASYNCd(α,β)d(α,γ)+d(γ,β)γ = β d ( α , γ ) d ( γ , β ) > 0 d ( α , γ ) = 2 - n 1 d ( γ , β ) = 2 - n 2 n 1n 2 γ n 2 - 1 β n 1 - 1 อัลฟ่าอัลฟ่าβγ=αγ=βd(α,γ)d(γ,β)>0d(α,γ)=2n1d(γ,β)=2n2n1n2γแบ่งปันคำนำหน้าทั่วไปของความยาวกับแต่เพียงส่วนหน้าของความยาวมีตามด้วยและ แตกต่างกันที่ดัชนีและทำให้และสามเหลี่ยมอสมการดังนี้ กรณีที่ติดตามแบบอะนาล็อกn21βn11ααβ d ( α , β ) = d ( α , γ ) 0 < d ( α , γ ) < d ( γ , β )n1d(α,β)=d(α,γ)0<d(α,γ)<d(γ,β)

ตัวชี้วัดก่อให้เกิดโครงสร้าง (เช่นหน้า 119 [1]) ที่ -balls เป็นชุดเปิดพื้นฐาน ตอนนี้เราจะยืนยันว่าทำไมคุณสมบัติด้านความปลอดภัยจึงตรงกับเซตปิด: หากการประมวลผลไม่ตรงตามคุณสมบัติความปลอดภัย นั่นคือ \ดังนั้นจะมีดัชนี ที่รันที่แบ่งปัน a คำนำหน้านานกว่ากับไม่ได้อยู่ในSε B ε ( α ) = { β S Y N C | d ( α , β ) < ε } α S S Y N C α S N β N α S α S N 0 β A S Y N C d ( α , β )dϵBε(α)={βASYNCd(α,β)<ε}αSASYNCαSNβNαSสิ่งนี้ตรงกับสัญชาตญาณอย่างใกล้ชิดเนื่องจากเมื่อมีการละเมิดคุณสมบัติความปลอดภัยในส่วนนำหน้าของการดำเนินการก็ไม่ต่างอะไรกับคำเสริมหน้านี้! อย่างเป็นทางการพูดสมมติว่าS มีเช่นนั้นถ้าบางคน มีนั่นคือและ แบ่งปันคำนำหน้า ความยาวแล้วS ดังนั้นชุดของการรันจะถูกปิดเนื่องจากส่วนประกอบนั้นเปิดอยู่αSN0βASYNCอัลฟ่าบีตาN บีตาS Sd(α,β)<2N,αβNβSS

[1] James Munkres โทโพโลยี


ขอบคุณสำหรับคำตอบ. ฉันต้องไตร่ตรองมากกว่านั้น โดยวิธีการที่คุณอ้างถึงหนังสือ "โทโพโลยี" โดย James R. Munkres เมื่อคุณพูดว่าThe metric d induces a topology (e.g., page~119 of [1]) where the ϵ-balls...?
hengxin

ใช่ฉันได้เพิ่มการอ้างอิง
ปีเตอร์

ฉันสังเกตเห็นว่าคุณได้แนะนำการแก้ไขชื่อของโพสต์นี้ (ถ้าฉันทำผิดโปรดละเว้นความคิดเห็นนี้) ก่อนอื่นฉันยอมรับว่าควรมีปัญหาสองเรื่องย่อยในชื่อเรื่อง อย่างไรก็ตามฉันไม่ได้ถามเกี่ยวกับ " ทำไมคุณสมบัติเชิงเส้นตรงจึงเป็นคุณสมบัติด้านความปลอดภัย?" ฉันถามเกี่ยวกับผลที่ตามมาของความจริงนี้ ฉันไม่แน่ใจว่าจะแก้ไขชื่ออย่างไรและฉันข้ามการแก้ไขนี้ไปแล้ว โปรดแจ้งให้เราทราบหากคุณมีความคิดเห็นหรือความคิดเห็นอื่น ๆ
hengxin

ฉันรู้ว่าการจำแนกคุณลักษณะ (พิสูจน์) ของ linearizability เป็นเซตที่ปิดโดยทั่วไปไม่มีอะไรเกี่ยวข้องกับความคิดของคะแนนการทำให้เป็นเส้นตรง ดูเหมือนว่าหลักฐานทั่วไปมากขึ้นซึ่งลักษณะใด ๆคุณสมบัติด้านความปลอดภัยเป็นชุดปิด ฉันพลาดอะไรไปหรือเปล่า?
hengxin

ใช่คุณสมบัติความปลอดภัยทั้งหมดเป็นชุดปิดในขณะที่คุณสมบัติ liveness เป็นชุดหนาแน่นในโทโพโลยีนี้ ในความเป็นจริงทุกคุณสมบัติ (เช่นชุดของการวิ่ง) สามารถแสดงเป็นแบบร่วม (เช่นทางแยก) ของคุณสมบัติด้านความปลอดภัยและความมีชีวิตชีวา
ปีเตอร์

6

เกี่ยวกับคำถามแรกของคุณ - คุณสมบัติด้านความปลอดภัยนั้นเป็นคุณสมบัติที่ "จัดการได้ง่ายที่สุด" ในแง่ของปัญหาต่างๆเช่นการตรวจสอบแบบจำลองและการสังเคราะห์

เหตุผลพื้นฐานสำหรับสิ่งนี้คือในวิธีการทางทฤษฎีแบบออโตมาตะวิธีการแบบเป็นทางการการใช้เหตุผลเกี่ยวกับคุณสมบัติความปลอดภัยจะลดการให้เหตุผลเกี่ยวกับการติดตามแบบ จำกัด ซึ่งง่ายกว่าการตั้งค่าการติดตามแบบไม่มีที่สิ้นสุดมาตรฐาน

ดูผลงานของOrna Kupferman ที่นี่เป็นจุดเริ่มต้น


u¨

ฉันค่อนข้างแน่ใจว่า Iv'e เห็นเอกสารที่เกี่ยวข้องกับ linearizability ผ่าน LTL อย่างน้อยในบางกรณี หากฉันพบพวกเขาฉันจะแสดงความคิดเห็น
Shaull

นั่นจะดีมาก ฉันมักจะสงสัยเกี่ยวกับวิธีการจัดการกับ linearizability ผ่าน LTL โดยเฉพาะอย่างยิ่งกับความคิดของคะแนนการทำให้เป็นเส้นตรง ต่อไปนี้คำแนะนำของคุณฉันพบกระดาษlinearizability พิสูจน์กับตรรกะชั่วคราว ฉันจะพยายามอ่านในวันนี้ อย่างไรก็ตามฉันไม่แน่ใจเกี่ยวกับคุณภาพของมัน รอคอยที่จะแสดงความคิดเห็นของคุณ
hengxin

บางทีนี่อาจจะเป็นการใช้งาน ตัดสินโดยผู้เขียนนี้เป็นบทความที่ร้ายแรง ฉันไม่แน่ใจว่าการเชื่อมต่อกับ LTL นั้นแน่นแค่ไหน
Shaull
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.