การบรรจบกันของสถาปัตยกรรมคู่ขนาน

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

สถาปัตยกรรมการสื่อสาร

สถาปัตยกรรมแบบขนานช่วยเพิ่มแนวคิดดั้งเดิมของสถาปัตยกรรมคอมพิวเตอร์ด้วยสถาปัตยกรรมการสื่อสาร สถาปัตยกรรมคอมพิวเตอร์กำหนดสิ่งที่เป็นนามธรรมที่สำคัญ (เช่นขอบเขตระบบผู้ใช้และขอบเขตฮาร์ดแวร์ - ซอฟต์แวร์) และโครงสร้างองค์กรในขณะที่สถาปัตยกรรมการสื่อสารกำหนดการสื่อสารขั้นพื้นฐานและการดำเนินการซิงโครไนซ์ นอกจากนี้ยังกล่าวถึงโครงสร้างองค์กร

โมเดลการเขียนโปรแกรมเป็นชั้นบนสุด แอปพลิเคชันถูกเขียนขึ้นในรูปแบบการเขียนโปรแกรม โมเดลการเขียนโปรแกรมแบบขนาน ได้แก่ -

  • พื้นที่ที่อยู่ที่ใช้ร่วมกัน
  • ข้อความผ่าน
  • การเขียนโปรแกรมข้อมูลแบบขนาน

Shared addressการเขียนโปรแกรมก็เหมือนกับการใช้กระดานข่าวซึ่งสามารถสื่อสารกับบุคคลหนึ่งคนหรือหลายคนได้โดยการโพสต์ข้อมูลในสถานที่หนึ่ง ๆ ซึ่งบุคคลอื่น ๆ ทั้งหมดจะใช้ร่วมกัน กิจกรรมส่วนบุคคลจะประสานกันโดยสังเกตว่าใครกำลังทำภารกิจอะไร

Message passing เปรียบเสมือนโทรศัพท์หรือจดหมายที่ผู้รับเฉพาะรับข้อมูลจากผู้ส่งรายใดรายหนึ่ง

Data parallelการเขียนโปรแกรมเป็นรูปแบบความร่วมมือที่จัดขึ้น ที่นี่บุคคลหลายคนดำเนินการกับองค์ประกอบที่แยกจากกันของชุดข้อมูลพร้อมกันและแบ่งปันข้อมูลทั่วโลก

หน่วยความจำที่ใช้ร่วมกัน

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

ในกรณีนี้ระบบคอมพิวเตอร์ทั้งหมดอนุญาตให้โปรเซสเซอร์และชุดของคอนโทรลเลอร์ I / O เข้าถึงชุดหน่วยความจำโดยการเชื่อมต่อระหว่างฮาร์ดแวร์ ความจุหน่วยความจำจะเพิ่มขึ้นโดยการเพิ่มโมดูลหน่วยความจำและความจุ I / O จะเพิ่มขึ้นโดยการเพิ่มอุปกรณ์ไปยังคอนโทรลเลอร์ I / O หรือโดยการเพิ่มคอนโทรลเลอร์ I / O เพิ่มเติม ความสามารถในการประมวลผลสามารถเพิ่มขึ้นได้โดยการรอให้โปรเซสเซอร์ที่เร็วขึ้นพร้อมใช้งานหรือโดยการเพิ่มโปรเซสเซอร์เพิ่มเติม

ทรัพยากรทั้งหมดถูกจัดระเบียบโดยใช้บัสหน่วยความจำส่วนกลาง ผ่านกลไกการเข้าถึงบัสโปรเซสเซอร์ใด ๆ สามารถเข้าถึงที่อยู่จริงใดก็ได้ในระบบ เนื่องจากโปรเซสเซอร์ทั้งหมดอยู่ห่างจากตำแหน่งหน่วยความจำทั้งหมดไม่เท่ากันเวลาในการเข้าถึงหรือเวลาแฝงของโปรเซสเซอร์ทั้งหมดจะเท่ากันบนตำแหน่งหน่วยความจำ นี้เรียกว่าsymmetric multiprocessor.

สถาปัตยกรรมการส่งข้อความ

สถาปัตยกรรมการส่งข้อความยังเป็นคลาสสำคัญของเครื่องคู่ขนาน ให้การสื่อสารระหว่างโปรเซสเซอร์เป็นการดำเนินการ I / O อย่างชัดเจน ในกรณีนี้การสื่อสารจะรวมกันที่ระดับ I / O แทนที่จะเป็นระบบหน่วยความจำ

ในสถาปัตยกรรมการส่งข้อความการสื่อสารกับผู้ใช้จะดำเนินการโดยใช้ระบบปฏิบัติการหรือการเรียกไลบรารีที่ดำเนินการในระดับที่ต่ำกว่าจำนวนมากซึ่งรวมถึงการดำเนินการสื่อสารจริง เป็นผลให้มีระยะห่างระหว่างโมเดลการเขียนโปรแกรมและการดำเนินการสื่อสารในระดับฮาร์ดแวร์ทางกายภาพ

Send และ receiveเป็นการดำเนินการสื่อสารระดับผู้ใช้ที่พบบ่อยที่สุดในระบบส่งข้อความ Send ระบุบัฟเฟอร์ข้อมูลภายในเครื่อง (ซึ่งจะถูกส่ง) และตัวประมวลผลระยะไกลที่ได้รับ รับระบุกระบวนการส่งและบัฟเฟอร์ข้อมูลภายในซึ่งจะวางข้อมูลที่ส่ง ในการส่งไฟล์identifier หรือก tag แนบกับข้อความและการดำเนินการรับระบุกฎการจับคู่เช่นแท็กเฉพาะจากโปรเซสเซอร์เฉพาะหรือแท็กจากโปรเซสเซอร์ใด ๆ

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

การบรรจบกัน

การพัฒนาฮาร์ดแวร์และซอฟต์แวร์ทำให้ขอบเขตที่ชัดเจนระหว่างหน่วยความจำร่วมกับค่ายส่งข้อความ การส่งข้อความและพื้นที่ที่อยู่ที่ใช้ร่วมกันแสดงถึงรูปแบบการเขียนโปรแกรมที่แตกต่างกันสองแบบ แต่ละคนให้กระบวนทัศน์ที่โปร่งใสสำหรับการแบ่งปันการซิงโครไนซ์และการสื่อสาร อย่างไรก็ตามโครงสร้างเครื่องจักรพื้นฐานได้รวมเข้ากับองค์กรทั่วไป

การประมวลผลข้อมูลแบบขนาน

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

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

ปัญหาการออกแบบพื้นฐาน

การพัฒนารูปแบบการเขียนโปรแกรมเพียงอย่างเดียวไม่สามารถเพิ่มประสิทธิภาพของคอมพิวเตอร์และไม่สามารถพัฒนาฮาร์ดแวร์เพียงอย่างเดียวได้ อย่างไรก็ตามการพัฒนาสถาปัตยกรรมคอมพิวเตอร์สามารถสร้างความแตกต่างในประสิทธิภาพของคอมพิวเตอร์ได้ เราสามารถเข้าใจปัญหาในการออกแบบโดยเน้นที่โปรแกรมต่างๆใช้เครื่องจักรและเทคโนโลยีพื้นฐานใดบ้างที่จัดหาให้

ในส่วนนี้เราจะพูดถึงสิ่งที่เป็นนามธรรมการสื่อสารและข้อกำหนดพื้นฐานของแบบจำลองการเขียนโปรแกรม

การสื่อสารที่เป็นนามธรรม

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

สิ่งที่เป็นนามธรรมของการสื่อสารเปรียบเสมือนสัญญาระหว่างฮาร์ดแวร์และซอฟต์แวร์ซึ่งทำให้กันและกันมีความยืดหยุ่นในการปรับปรุงโดยไม่ส่งผลกระทบต่องาน

ข้อกำหนดโมเดลการเขียนโปรแกรม

โปรแกรมแบบขนานมีเธรดอย่างน้อยหนึ่งเธรดที่ทำงานกับข้อมูล แบบจำลองการเขียนโปรแกรมแบบขนานกำหนดข้อมูลที่เธรดสามารถทำได้nameซึ่ง operations สามารถดำเนินการกับข้อมูลที่ตั้งชื่อและลำดับที่ตามด้วยการดำเนินการ

เพื่อยืนยันว่ามีการบังคับใช้การอ้างอิงระหว่างโปรแกรมโปรแกรมคู่ขนานจะต้องประสานกิจกรรมของเธรด