แนะนำ, 2024

ตัวเลือกของบรรณาธิการ

ความแตกต่างระหว่างการประมวลผลหลายส่วนแบบสมมาตรและแบบอสมมาตร

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

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

แผนภูมิเปรียบเทียบ

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

ความหมายของการประมวลผลหลายส่วนแบบสมมาตร

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

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

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

คำจำกัดความของ Asymmetric Multiprocessing

Asymmetric Multiprocessing มีความสัมพันธ์ระหว่าง master-slave ระหว่างโปรเซสเซอร์ มีตัวประมวลผลหลักหนึ่งตัวที่ควบคุมตัวประมวลผล Slave ที่เหลืออยู่ ตัวประมวลผลหลักจัดสรรกระบวนการให้กับหน่วยประมวลผลสลาฟหรืออาจมีงานที่กำหนดไว้ล่วงหน้าให้ทำงาน

ตัวประมวลผลหลักควบคุม โครงสร้างข้อมูล การ กำหนดเวลา ของกระบวนการการประมวลผล I / O และกิจกรรมระบบอื่น ๆ จะถูกควบคุมโดย ตัวประมวลผลหลัก

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

ความแตกต่างที่สำคัญระหว่างการประมวลผลหลายส่วนแบบสมมาตรและแบบอสมมาตร

  1. จุดที่สามารถแยกแยะได้มากที่สุดระหว่าง symmetric และ asymmetric multiprocessing คืองานใน OS นั้นจัดการโดยตัวประมวลผลหลักใน Asymmetric Multiprocessing เท่านั้น ในทางกลับกันโปรเซสเซอร์ทั้งหมดในมัลติโพรเซสเซอร์แบบสมมาตรจะทำงานในระบบปฏิบัติการ
  2. ในการประมวลผลหลายตัวแบบสมมาตรแต่ละโปรเซสเซอร์อาจมีคิวส่วนตัวของกระบวนการพร้อมหรือพวกเขาสามารถใช้กระบวนการจากคิวพร้อมทั่วไป แต่ในมัลติโพรเซสเซอร์แบบอสมมาตรตัวประมวลผลหลักจะกำหนดกระบวนการให้กับตัวประมวลผลสลาฟ
  3. โปรเซสเซอร์ทั้งหมดใน Symmetric Multiprocessing มีสถาปัตยกรรมเดียวกัน แต่โครงสร้างของโปรเซสเซอร์ในระบบมัลติโปรเซสเซอร์แบบอสมมาตรอาจแตกต่างกัน
  4. โปรเซสเซอร์ในการประมวลผลมัลติโพรเซสเซอร์แบบสมมาตรสื่อสารซึ่งกันและกันโดยหน่วยความจำที่แชร์ อย่างไรก็ตามตัวประมวลผลใน Asymmetric Multiprocessing ไม่จำเป็นต้องสื่อสารซึ่งกันและกันเนื่องจากถูกควบคุมโดยตัวประมวลผลหลัก
  5. ในกรณีที่ตัวประมวลผลหลักล้มเหลวตัวประมวลผล Slave จะเปลี่ยนเป็นตัวประมวลผลหลักเพื่อดำเนินการต่อ แต่ถ้าตัวประมวลผลในการประมวลผลหลายตัวแบบสมมาตรล้มเหลวความสามารถในการคำนวณของระบบจะลดลง
  6. Asymmetric Multiprocessor นั้นง่ายเหมือนตัวประมวลผลหลักเท่านั้นที่เข้าถึงโครงสร้างข้อมูลในขณะที่ symmetric multiprocessor นั้นซับซ้อนเนื่องจากโปรเซสเซอร์ทั้งหมดจำเป็นต้องทำงานในการซิงโครไนซ์

สรุป:

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

Top