แนะนำ, 2024

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

ความแตกต่างระหว่างการประมวลผลหลายอย่างและมัลติเธรด

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

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

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

ความหมายของการประมวลผลแบบมัลติโพรเซสเซอร์

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

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

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

ความหมายของมัลติเธรด

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

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

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

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

ความแตกต่างที่สำคัญระหว่างการประมวลผลหลายอย่างและมัลติเธรด

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

สรุป:

ประโยชน์ของมัลติเธรดสามารถเพิ่มขึ้นทีละน้อยในสภาพแวดล้อมมัลติโพรเซสเซอร์ขณะที่มัลติเธรดบนระบบมัลติโพรเซสซิงจะเพิ่มความขนาน

Top