เครื่องทัวริงแบบกระจาย?


10

ฉันเป็นนักเรียนปริญญาโทที่มุ่งเน้นไปที่ระบบกระจาย แต่ยังสนใจในวิทยาการคอมพิวเตอร์เชิงทฤษฎี ฉันสงสัยว่ามีตัวแทนอย่างเป็นทางการของระบบกระจายที่ด้านบนของเครื่องทัวริงหรือไม่? นั่นคือมันเป็นไปได้ที่จะขยาย (สร้างตัวแปร) แนวคิดของเครื่องทัวริงเพื่อใช้ประโยชน์จากการคำนวณแบบกระจายหรือไม่?

หนึ่งความคิดคือการสร้างเทปที่ใช้ร่วมกัน (สิ่งที่คล้ายกับTuple Space ) ระหว่าง TM


8
อาจเกี่ยวข้องกับ: cstheory.stackexchange.com/questions/426/…
Jukka Suomela

3
คำถามที่ Jukka ลิงก์อาจตอบคำถามของคุณไม่ได้ทั้งหมด ถ้าเป็นเช่นนั้นบางทีคุณสามารถปิดอันนี้และถ้าไม่คุณอาจอธิบายได้ว่ามีอะไรแตกต่างกันอย่างไร
Suresh Venkat

@Suresh Venkat ฉันคิดว่าคำถามที่ Jukka เชื่อมโยงนั้นแน่นอนในหัวข้อ แต่ถามคำถามที่ใหญ่กว่า: "ทำไมไม่มีรูปแบบมาตรฐาน / เป็นที่ยอมรับสำหรับการคำนวณแบบกระจาย" คำถามของฉันมีทุกอย่างที่เกี่ยวข้องกับสิ่งนั้น แต่ฉันมีแรงจูงใจที่จะค้นหาเกี่ยวกับ/ การเป็นตัวแทนอย่างเป็นทางการของการคำนวณแบบกระจาย
Marcos Rorizo ​​n จูเนียร์

ตกลง. ฟังดูสมเหตุสมผล
Suresh Venkat

2
อย่างไรก็ตามวิธีการ "เทปที่ใช้ร่วมกัน" ของคุณนั้นฟังดูคล้ายกับรูปแบบการคำนวณแบบขนานแทนการคำนวณแบบกระจาย ดังนั้นจึงอาจเหมาะสมที่จะดูรุ่นที่ใช้ในด้านการคำนวณแบบขนาน (เช่นรุ่น PRAM)
Jukka Suomela

คำตอบ:


10

[มี] การเป็นตัวแทนอย่างเป็นทางการของระบบการกระจายที่ด้านบนของเครื่องทัวริงหรือไม่?

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

[เป็นไปได้ไหมที่จะขยาย (สร้างตัวแปร) แนวคิดของเครื่องทัวริงเพื่อใช้ประโยชน์จากการคำนวณแบบกระจาย?

ฉันคิดว่ามันเป็นไปได้ทั้งหมด แต่ไม่มีใคร (ที่ฉันรู้) ได้ตรวจสอบมัน สิ่งที่ฉันรู้คือ:

  1. นอกจากนี้Timed IO Automataยังใช้ในหนังสือ Distributed Computing ของ Lynch
  2. การสื่อสารกระบวนการตามลำดับ
  3. ตรรกะการกระทำชั่วคราว
  4. Pi-แคลคูลัส (ที่ Alex กล่าวถึงแล้ว)
  5. และอื่น ๆ (เคยมีและจะกล่าวถึงที่นี่) ...

ขอบคุณสำหรับคำอธิบาย จุดที่คุณทำเกี่ยวกับการไม่ลงรอยกันกับรูปแบบที่ควรจะเป็น (ซิงค์, async, ฯลฯ ) ส่งผลกระทบต่อการสร้างแบบจำลองมาตรฐานอย่างแน่นอน ลิงก์ที่ยอดเยี่ยมและขอบคุณสำหรับการตอบ :-)
Marcos Rorizo ​​n จูเนียร์

6

คุณอาจต้องการดู Pi-แคลคูลัส

http://en.wikipedia.org/wiki/%CE%A0-calculus

มันเป็นแคลคูลัสที่ผ่านการประมวลผลที่ออกแบบมาสำหรับการให้เหตุผลเกี่ยวกับระบบกระจาย


แบบจำลองที่น่าสนใจจริงๆ :-) ฉันจะอ่านมันในสุดสัปดาห์นี้
Marcos Rorizo ​​n จูเนียร์

5

ฉันประหลาดใจที่Petri Netsยังไม่ได้กล่าวถึง! การขยายเครือข่ายของ Petri Nets เช่น Petri Nets สีหรือPetri Nets ที่มีตัวยับยั้งส่วนโค้งนั้นสมบูรณ์แบบทัวริง


ตาข่าย Petri เป็นพิธีการสำคัญในการเกิดพร้อมกัน แต่เนื่องจากแรงจูงใจของพวกเขามาจากการพยายามสร้างแบบจำลองกระบวนการทางกายภาพบางอย่างพวกเขาไม่ได้เทียบเคียงกับ TM ได้จริงๆ
Charles Stewart

มีเพียง Petri เท่านั้นที่ยืนยันในการนำไปใช้กับระบบกายภาพ ส่วนใหญ่จะใช้เพื่ออธิบายซอฟต์แวร์การสื่อสารกระบวนการทางธุรกิจและอื่น ๆ
reinierpost

5

( คำเตือน: มุมมองที่ค่อนข้างลำเอียง, การทำให้ oversimplifications และการทำให้เห็นภาพรวมที่เบาบางข้างหน้า )

บ่อยครั้งที่ความแตกต่างระหว่างการคำนวณแบบกระจายและการคำนวณแบบขนานสามารถสรุปได้ดังนี้:

  • ในการคำนวณแบบกระจายมาตรการความซับซ้อนหลักเกี่ยวข้องกับการสื่อสารและการไหลของข้อมูล : จำนวนรอบการสื่อสาร ("เวลา") จำนวนบิตที่ส่ง
  • ในการคำนวณแบบขนานมาตรการความซับซ้อนหลักเกี่ยวข้องกับการคำนวณและการประมวลผลข้อมูล : ขั้นตอนเบื้องต้นกี่ขั้น ("เวลา") เก็บไว้กี่บิต

หากคุณใช้มุมมองนี้บ่อยครั้งที่ปรากฎว่าในการสร้างแบบจำลองระบบแบบกระจายมันไม่สำคัญเลยว่าคอมพิวเตอร์ของคุณ (หรือโปรเซสเซอร์หรือคอมพิวเตอร์) มีพลังการคำนวณแบบใด

O(n)

XX

TT

ดังนั้นการใช้เครื่องจักรทัวริงเป็นจุดเริ่มต้นในการสร้างแบบจำลองระบบกระจายเสียงฟังดูแปลก ๆ สำหรับฉัน: ถ้านี่เป็นแง่มุมที่ไม่เกี่ยวข้องทำไมต้องสร้างทุกสิ่งที่อยู่ด้านบน ในทางตรงกันข้ามในการคำนวณแบบขนานนี่จะเป็นเรื่องธรรมดา (ยกเว้นว่าตัวแบบมักจะเป็นแบบรถเข็นแทนที่จะเป็นเครื่องจักรทัวริง)


3

บางคนแย้งว่าขึ้นอยู่กับมุมมองของคุณคุณอาจคิดว่าระบบแบบกระจายเป็นสิ่งที่มีพลังยิ่งกว่าเครื่องทัวริงเพราะการตีความที่แตกต่างกันของขอบเขตของความไม่แน่นอนและความยุติธรรม ลิงค์นี้มีการอภิปรายที่น่าสนใจในหัวข้อ Herlihy / Shavit ในหนังสือของพวกเขา "ศิลปะการเขียนโปรแกรมมัลติโปรเซสเซอร์" ยืนยันว่าทัวริงคอมพิวเตอร์คำนวณโดยกำเนิดหมายถึงความคิดของอัลกอริธึม (ตามลำดับ) และในแง่หนึ่งก็ไม่เหมาะสมสำหรับเหตุผลเกี่ยวกับการคำนวณแบบกระจาย ฉันควรพูดถึงว่านี่เป็นสิ่งที่โต้แย้งได้และเป็นที่ถกเถียงกันดังนั้นฉันหวังว่าจะไม่มีใครขว้างก้อนหินให้ฉันเพราะฉันพูดแบบนี้


1
ฉันคิดว่าการเปรียบเทียบนั้นไม่เหมาะสม เพียงพูดในบริบทของทัวริงเครื่องไม่ใช่การกำหนดเป็นทรัพยากร: มันหมายถึงความสามารถของเครื่องที่จะปฏิบัติตามเส้นทางการดำเนินการหลาย ๆ พร้อมกันจึงเป็นรูปแบบของการขนาน ในบริบทของระบบกระจายแทนที่จะไม่ใช่ระดับเป็นอุปสรรคมากกว่าปกติ: มันถูกใช้เพื่อจำลองคุณสมบัติที่คาดเดาไม่ได้ต่าง ๆ ของระบบการกระจายในโลกแห่งความจริงเช่นขาดการประสานและความล้มเหลว
Antonio Valerio Miceli-Barone
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.