![Operating System](https://i.ytimg.com/vi/ABnbywItmHU/hqdefault.jpg)
เนื้อหา
- ความแตกต่างหลัก
- Symmetric Multiprocessing กับ Asymmetric Multiprocessing
- แผนภูมิเปรียบเทียบ
- คืออะไร การประมวลผลหลายส่วนแบบสมมาตร?
- คืออะไร การประมวลผลหลายส่วนแบบอสมมาตร
- ความแตกต่างที่สำคัญ
ความแตกต่างหลัก
ความแตกต่างระหว่าง symmetric multiprocessing และ asymmetric multiprocessing คือใน symmetric multiprocessing โปรเซสเซอร์แต่ละตัวจะทำงานในระบบปฏิบัติการในขณะที่ในการประมวลผลแบบไม่สมมาตรหลายตัวประมวลผลหลักจะทำงานของระบบปฏิบัติการเท่านั้น
Symmetric Multiprocessing กับ Asymmetric Multiprocessing
ระบบที่มีหน่วยประมวลผลมากกว่าหนึ่งตัวเรียกว่าระบบมัลติโปรเซสเซอร์ มีการเพิ่มตัวประมวลผลมากกว่าสองตัวเพื่อเพิ่มพลังของคอมพิวเตอร์ CPU ได้ตั้งค่าการลงทะเบียนกระบวนการจะถูกเก็บไว้ในการลงทะเบียนเหล่านี้ ตัวอย่างเช่นหากกระบวนการเพิ่มจำนวนสองจำนวนถูกสร้างเป็นจำนวนเต็มจะถูกบันทึกไว้ในรีจิสเตอร์และการเพิ่มจำนวนนั้นจะถูกเก็บไว้ในรีจิสเตอร์ด้วย หากจะมีมากกว่าหนึ่งกระบวนการจะมีการลงทะเบียนมากกว่าหากตัวประมวลผลตัวใดตัวหนึ่งทำงานและคนอื่น ๆ จะว่างในวิธีนี้พลังของคอมพิวเตอร์จะเพิ่มขึ้น มีตัวประมวลผลหลายชนิดเช่นการประมวลผลหลายส่วนแบบสมมาตรและมัลติโพรเซสเซอร์แบบอสมมาตร หากเราพูดถึง symmetric multiprocessing ใน symmetric multiprocessing โปรเซสเซอร์นั้นสามารถรันได้และสามารถรันกระบวนการใด ๆ ในขณะที่ในกรณีของการมัลติเธรดมีความสัมพันธ์แบบมาสเตอร์ - ซาล ในการประมวลผลหลายตัวมีตัวควบคุมหน่วยความจำแบบรวมที่งานของตัวควบคุมหน่วยความจำแบบบูรณาการคือการเพิ่มหน่วยความจำเพิ่มเติม การประมวลผลทวีคูณแบบสมมาตรและมัลติโพรเซสเซอร์แบบอสมมาตรเป็นประเภทของการประมวลผลแบบมัลติโพรเซสเซอร์ ถ้าเราพูดถึงความแตกต่างที่สำคัญระหว่าง symmetric multiprocessing และ asymmetric multiprocessing ดังนั้นความแตกต่างหลักระหว่าง symmetric multiprocessing และ asymmetric multiprocessing คือใน symmetric multiprocessing แต่ละตัวประมวลผลจะทำงานในระบบปฏิบัติการ
ชนิดของการประมวลผลแบบมัลติโพรเซสเซอร์ซึ่งโปรเซสเซอร์ทั้งหมดรันงานในระบบปฏิบัติการเรียกว่าการประมวลผลแบบมัลติโปรเซสเซอร์แบบสมมาตร ในการประมวลผลทวีคูณแบบอสมมาตรจะมีความสัมพันธ์แบบ master-slave แต่ในแบบมัลติโพรเซสเซอร์แบบ symmetric ไม่มีความสัมพันธ์แบบ master-slave ในการประมวลผลหลายอสมมาตรเฉพาะโปรเซสเซอร์หลักเท่านั้นที่ทำงานของระบบปฏิบัติการ มีโปรเซสเซอร์หลายตัวในการประมวลผลหลายอสมมาตรที่แชร์เครือข่ายเดียว Master คือผู้ที่จัดสรรโปรเซสเซอร์ให้กับทาส ทุกตัวประมวลผลที่กำหนดไว้ล่วงหน้าเพื่อดำเนินการ ในโครงสร้างข้อมูลหลักแบบไม่สมมาตรมัลติโพรเซสคือมาสเตอร์ - ทาส กิจกรรมของระบบทั้งหมดควบคุมโดยตัวประมวลผลหลัก หากต้องการดำเนินการต่อไปจะมีกรณีที่ตัวประมวลผลหลักล้มเหลวตัวประมวลผลหนึ่งตัวระหว่างตัวประมวลผลสลาฟ อาจมีหลายเธรดในกระบวนการในการสร้างเธรดหลายเธรดหลายเธรด เธรดในมัลติเธรดเป็นกระบวนการหมายถึงส่วนรหัสของกระบวนการ เธรดมี ID เธรดตัวนับโปรแกรมการลงทะเบียนและสแต็กของตัวเอง ถ้าเราสร้างกระบวนการแยกต่างหากสำหรับแต่ละบริการดังนั้นแต่ละโปรเซสเซอร์ใช้รหัสข้อมูลและทรัพยากรของระบบ หากเราไม่ได้สร้างเธรดระบบอาจหมดแรง การสร้างเธรดสามารถทำให้โปรเซสเซอร์ใช้งานได้ง่าย การตอบสนองเพิ่มขึ้นในมัลติเธรดและนี่คือข้อดีที่ดีที่สุดของการใช้มัลติเธรด ข้อได้เปรียบที่สำคัญของมัลติเธรดคือการแบ่งปันทรัพยากรและในการแบ่งปันทรัพยากรหลายเธรดของกระบวนการใช้รหัสเดียวกัน ในการประมวลผลทวีคูณแบบสมมาตรโปรเซสเซอร์ทั้งหมดสื่อสารโดยใช้หน่วยความจำที่ใช้ร่วมกัน จากคิวที่พร้อมใช้งานทั่วไปตัวประมวลผลเริ่มต้นการประมวลผลกระบวนการ อาจมีคิวส่วนตัวในการประมวลผลหลายส่วนแบบสมมาตรซึ่งช่วยให้กระบวนการสามารถดำเนินการได้ สามารถมีตัวกำหนดตารางเวลาในการประมวลผลหลายตัวแบบสมมาตรที่ทำให้แน่ใจว่าไม่มีตัวประมวลผลสองตัวที่ทำงานในเวลาเดียวกัน การทำโหลดบาลานซ์ที่เหมาะสมเป็นหนึ่งในคุณสมบัติหลักของการประมวลผลหลายตัวแบบสมมาตร ในการประมวลผลแบบมัลติโปรเซสเซอร์แบบสมมาตรจะช่วยลดความผิดพลาดของคอขวดของ CPU ได้ดีขึ้น การประมวลผลหลายตัวแบบสมมาตรมีความซับซ้อนเนื่องจากหน่วยความจำถูกใช้ร่วมกันระหว่างโปรเซสเซอร์ทั้งหมด หากโปรเซสเซอร์มีข้อผิดพลาดระบบมัลติโพรเซสเซอร์แบบสมมาตรจะส่งผลให้ความสามารถในการคำนวณลดลง
แผนภูมิเปรียบเทียบ
การประมวลผลหลายส่วนแบบสมมาตร | การประมวลผลหลายส่วนแบบไม่สมมาตร |
ในการประมวลผลหลายตัวแบบสมมาตรโปรเซสเซอร์แต่ละตัวจะรันงานในระบบปฏิบัติการ | ในการประมวลผลทวีคูณแบบอสมมาตรมีเพียงตัวประมวลผลหลักเท่านั้นที่รันงานของระบบปฏิบัติการ |
กระบวนการ | |
ในการประมวลผลหลายตัวแบบสมมาตรกระบวนการนำมาจากคิวที่พร้อม | ในการประมวลผลทวีคูณแบบอสมมาตรกระบวนการเป็น master-slave |
สถาปัตยกรรม | |
ในการประมวลผลหลายตัวแบบสมมาตรโปรเซสเซอร์ทั้งหมดมีสถาปัตยกรรมเดียวกัน | ในการประมวลผลทวีคูณแบบอสมมาตรโปรเซสเซอร์ทั้งหมดมีสถาปัตยกรรมที่แตกต่างกัน |
ความง่ายดาย | |
การประมวลผลหลายส่วนแบบสมมาตรมีความซับซ้อน | การประมวลผลแบบหลายส่วนไม่สมมาตรเป็นเรื่องง่าย |
คืออะไร การประมวลผลหลายส่วนแบบสมมาตร?
ชนิดของการประมวลผลแบบมัลติโพรเซสเซอร์ซึ่งโปรเซสเซอร์ทั้งหมดรันงานในระบบปฏิบัติการเรียกว่าการประมวลผลแบบมัลติโปรเซสเซอร์แบบสมมาตร ในการประมวลผลทวีคูณแบบอสมมาตรจะมีความสัมพันธ์แบบ master-slave แต่ในการประมวลผลแบบหลายส่วนแบบ symmetric ไม่มีความสัมพันธ์แบบ master-slave ในการประมวลผลทวีคูณแบบสมมาตรโปรเซสเซอร์ทั้งหมดสื่อสารโดยใช้หน่วยความจำที่ใช้ร่วมกัน จากคิวที่พร้อมใช้งานทั่วไปตัวประมวลผลเริ่มต้นการประมวลผลกระบวนการ อาจมีคิวส่วนตัวในการประมวลผลหลายส่วนแบบสมมาตรซึ่งช่วยให้กระบวนการสามารถดำเนินการได้ ระบบที่มีหน่วยประมวลผลมากกว่าหนึ่งตัวเรียกว่าระบบมัลติโปรเซสเซอร์ มีการเพิ่มตัวประมวลผลมากกว่าสองตัวเพื่อเพิ่มพลังของคอมพิวเตอร์ CPU ได้ตั้งค่าการลงทะเบียนกระบวนการจะถูกเก็บไว้ในการลงทะเบียนเหล่านี้ ตัวอย่างเช่นหากกระบวนการเพิ่มจำนวนสองจำนวนถูกสร้างเป็นจำนวนเต็มจะถูกบันทึกไว้ในรีจิสเตอร์และการเพิ่มจำนวนนั้นจะถูกเก็บไว้ในรีจิสเตอร์ด้วย หากจะมีมากกว่าหนึ่งกระบวนการจะมีการลงทะเบียนมากกว่าหากตัวประมวลผลตัวใดตัวหนึ่งทำงานและคนอื่น ๆ จะว่างในวิธีนี้พลังของคอมพิวเตอร์จะเพิ่มขึ้น มีตัวประมวลผลหลายชนิดเช่นการประมวลผลหลายส่วนแบบสมมาตรและมัลติโพรเซสเซอร์แบบอสมมาตร หากเราพูดถึง symmetric multiprocessing ใน symmetric multiprocessing โปรเซสเซอร์นั้นสามารถรันได้และสามารถรันกระบวนการใด ๆ ในขณะที่ในกรณีของการมัลติเธรดมีความสัมพันธ์แบบมาสเตอร์ - ซาล ในการประมวลผลหลายตัวมีตัวควบคุมหน่วยความจำแบบรวมที่งานของตัวควบคุมหน่วยความจำแบบบูรณาการคือการเพิ่มหน่วยความจำเพิ่มเติม สามารถมีตัวกำหนดตารางเวลาในการประมวลผลหลายตัวแบบสมมาตรที่ทำให้แน่ใจว่าไม่มีตัวประมวลผลสองตัวที่ทำงานในเวลาเดียวกัน การทำโหลดบาลานซ์ที่เหมาะสมเป็นหนึ่งในคุณสมบัติหลักของการประมวลผลหลายตัวแบบสมมาตร ในการประมวลผลแบบมัลติโปรเซสเซอร์แบบสมมาตรจะช่วยลดความผิดพลาดของคอขวดของ CPU ได้ดีขึ้น การประมวลผลหลายตัวแบบสมมาตรมีความซับซ้อนเนื่องจากหน่วยความจำถูกใช้ร่วมกันระหว่างโปรเซสเซอร์ทั้งหมด หากโปรเซสเซอร์มีข้อผิดพลาดระบบมัลติโพรเซสเซอร์แบบสมมาตรจะส่งผลให้ความสามารถในการคำนวณลดลง
คืออะไร การประมวลผลหลายส่วนแบบอสมมาตร
ในการประมวลผลทวีคูณแบบอสมมาตรมีเพียงตัวประมวลผลหลักเท่านั้นที่รันงานของระบบปฏิบัติการ มีโปรเซสเซอร์จำนวนมากในการประมวลผลหลายอสมมาตรที่แชร์เครือข่ายเดียว Master คือผู้ที่จัดสรรโปรเซสเซอร์ให้กับทาส ระบบที่มีหน่วยประมวลผลมากกว่าหนึ่งตัวเรียกว่าระบบมัลติโปรเซสเซอร์ มีการเพิ่มตัวประมวลผลมากกว่าสองตัวเพื่อเพิ่มพลังของคอมพิวเตอร์ CPU ได้ตั้งค่าการลงทะเบียนกระบวนการจะถูกเก็บไว้ในการลงทะเบียนเหล่านี้ ตัวอย่างเช่นหากกระบวนการเพิ่มจำนวนสองจำนวนถูกสร้างเป็นจำนวนเต็มจะถูกบันทึกไว้ในรีจิสเตอร์และการเพิ่มจำนวนนั้นจะถูกเก็บไว้ในรีจิสเตอร์ด้วย หากจะมีมากกว่าหนึ่งกระบวนการจะมีการลงทะเบียนมากกว่าหากตัวประมวลผลตัวใดตัวหนึ่งทำงานและอื่น ๆ จะว่างในวิธีนี้พลังของคอมพิวเตอร์จะเพิ่มขึ้น มีตัวประมวลผลหลายชนิดเช่นการประมวลผลหลายส่วนแบบสมมาตรและมัลติโพรเซสเซอร์แบบอสมมาตร ถ้าเราพูดถึง symmetric multiprocessing ใน symmetric multiprocessing โปรเซสเซอร์นั้นสามารถรันได้และสามารถรันกระบวนการใด ๆ ในขณะที่ในกรณีของการมัลติเธรดมีความสัมพันธ์แบบมาสเตอร์ - ซาลวี ในการประมวลผลหลายตัวมีตัวควบคุมหน่วยความจำแบบรวมที่งานของตัวควบคุมหน่วยความจำแบบบูรณาการคือการเพิ่มหน่วยความจำเพิ่มเติม ทุกตัวประมวลผลที่กำหนดไว้ล่วงหน้าเพื่อดำเนินการ ในการประมวลผลทวีคูณแบบอสมมาตรโครงสร้างข้อมูลหลักเป็น master-slave กิจกรรมของระบบทั้งหมดควบคุมโดยตัวประมวลผลหลัก หากต้องการดำเนินการต่อไปจะมีกรณีที่ตัวประมวลผลหลักล้มเหลวตัวประมวลผลหนึ่งตัวระหว่างตัวประมวลผลสลาฟ
ความแตกต่างที่สำคัญ
- ในการประมวลผลทวีคูณแบบสมมาตรโปรเซสเซอร์แต่ละตัวจะรันงานในระบบปฏิบัติการในขณะที่การประมวลผลแบบไม่สมมาตรหลายตัวประมวลผลหลักเท่านั้นที่จะทำงานของการปฏิบัติการ
- ในการประมวลผลหลายตัวแบบสมมาตรกระบวนการนำมาจากคิวที่พร้อมในขณะที่กระบวนการมัลติโพรเซสซิงเป็นแบบมาสเตอร์
- ในการประมวลผลทวีคูณแบบสมมาตรโปรเซสเซอร์ทั้งหมดมีสถาปัตยกรรมเดียวกันในการประมวลผลมัลติไม่สมดุลโปรเซสเซอร์ทั้งหมดมีสถาปัตยกรรมที่แตกต่างกัน
- การประมวลผลหลายส่วนแบบสมมาตรนั้นซับซ้อนในขณะที่การประมวลผลแบบหลายส่วนแบบไม่สมมาตรนั้นง่าย