มัลติโปรเซสเซอร์และมัลติคอมพิวเตอร์

เราจะกล่าวถึงมัลติโปรเซสเซอร์และมัลติคอมพิวเตอร์ในบทนี้

การเชื่อมต่อระบบมัลติโปรเซสเซอร์

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

ระบบบัสตามลำดับชั้น

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

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

สวิตช์คานและหน่วยความจำมัลติพอร์ต

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

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

เครือข่ายหลายขั้นตอนและการรวมกัน

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

เครือข่ายเหล่านี้ใช้เพื่อสร้างระบบมัลติโปรเซสเซอร์ที่ใหญ่ขึ้น ซึ่งรวมถึง Omega Network, Butterfly Network และอื่น ๆ อีกมากมาย

มัลติคอมพิวเตอร์

คอมพิวเตอร์หลายเครื่องเป็นสถาปัตยกรรม MIMD หน่วยความจำแบบกระจาย แผนภาพต่อไปนี้แสดงแบบจำลองแนวคิดของคอมพิวเตอร์หลายเครื่อง -

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

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

  • หน่วยความจำเสมือนที่ใช้ร่วมกัน (VSM)
  • หน่วยความจำเสมือนที่ใช้ร่วมกัน (SVM)

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

หน่วยความจำเสมือนที่ใช้ร่วมกัน (VSM)

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

หน่วยความจำเสมือนที่ใช้ร่วมกัน (SVM)

SVM เป็นการใช้งานซอฟต์แวร์ในระดับระบบปฏิบัติการพร้อมการสนับสนุนฮาร์ดแวร์จาก Memory Management Unit (MMU) ของโปรเซสเซอร์ ในที่นี้หน่วยของการแบ่งปันคือหน้าหน่วยความจำของระบบปฏิบัติการ

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

สามรุ่นของมัลติคอมพิวเตอร์

ในส่วนนี้เราจะพูดถึงเครื่องมัลติคอมพิวเตอร์สามรุ่น

ตัวเลือกการออกแบบในอดีต

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

สำหรับโครงร่างการเชื่อมต่อโครงข่ายคอมพิวเตอร์หลายเครื่องมีการส่งผ่านข้อความเครือข่ายโดยตรงแบบจุดต่อจุดแทนที่จะเป็นเครือข่ายการสลับที่อยู่ สำหรับกลยุทธ์การควบคุมผู้ออกแบบคอมพิวเตอร์หลายเครื่องจะเลือกการดำเนินการ MIMD, MPMD และ SMPD แบบอะซิงโครนัส Cosmic Cube ของ Caltech (Seitz, 1983) เป็นคอมพิวเตอร์หลายเครื่องรุ่นแรกรุ่นแรก

การพัฒนาในปัจจุบันและอนาคต

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

คอมพิวเตอร์รุ่นที่สามเป็นคอมพิวเตอร์รุ่นต่อไปที่จะใช้โหนดที่ใช้ VLSI แต่ละโหนดอาจมีโปรเซสเซอร์ 14-MIPS, ช่องเส้นทาง 20-Mbytes / s และ RAM 16 Kbytes ที่รวมอยู่ในชิปตัวเดียว

ระบบ Intel Paragon

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

กลไกการส่งข้อความ

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

โครงร่างการกำหนดเส้นทางข้อความ

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

ใน Store and forward routingแพ็คเก็ตเป็นหน่วยพื้นฐานของการส่งข้อมูล ในกรณีนี้แต่ละโหนดจะใช้บัฟเฟอร์แพ็กเก็ต แพ็กเก็ตถูกส่งจากโหนดต้นทางไปยังโหนดปลายทางผ่านลำดับของโหนดกลาง เวลาแฝงเป็นสัดส่วนโดยตรงกับระยะห่างระหว่างต้นทางและปลายทาง

ใน wormhole routingการส่งจากโหนดต้นทางไปยังโหนดปลายทางจะกระทำผ่านลำดับของเราเตอร์ ทั้งหมดของแพ็คเก็ตเดียวกันจะถูกส่งในลำดับที่แยกกันไม่ออกในรูปแบบท่อ ในกรณีนี้เฉพาะส่วนหัวเท่านั้นที่รู้ว่าแพ็คเก็ตกำลังไปที่ใด

Deadlock และ Virtual Channels

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

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