Score:1

ประโยชน์ของไฮเปอร์เธรดสำหรับการประมวลผลหลายตัว?

ธง cn

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

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

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

Score:1
ธง cn

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

คอร์ของ CPU มีหน่วยดำเนินการหลายประเภท จำนวนเต็ม จำนวนทศนิยม และอื่นๆ แต่มากเท่านั้น (มีบล็อกไดอะแกรมเพื่อดูสิ่งเหล่านี้ในการออกแบบ CPU ดูตัวอย่าง ทะเลสาบแคสเคด.) สถาปัตยกรรม Superscalar กำลังพยายามบีบคั้นหลายๆ คำแนะนำต่อนาฬิกา แล้ว. ดังนั้นในขณะที่เธรดของฮาร์ดแวร์อื่นอาจยืมหน่วยจำนวนเต็มที่ไม่ได้ใช้สำหรับวัฏจักร แต่ก็ต้องแบ่งปัน และหน่วยความจำมักจะช้าเกินไป DRAM และแบนด์วิธบัสน่าจะเป็นปัจจัยจำกัดที่แท้จริง

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

cn flag
ขอบคุณสำหรับคำอธิบาย ถ้าฉันเข้าใจถูกต้องก็ยืนยันสัญชาตญาณไร้เดียงสาของฉัน ฉันจะเปิดใช้งานไฮเปอร์เธรดและจำกัดจำนวนสูงสุดของงานพร้อมกันที่ 56
Score:1
ธง cn
Bob

การทำไฮเปอร์เธรดแบบง่ายใช้ประโยชน์จากข้อเท็จจริงที่ว่าในเธรดกระบวนการจำนวนมากจะมีเวลาว่าง ซึ่งปกติคอร์จะรอให้งานอื่นๆ เสร็จสิ้น ด้วยการสลับไปมาระหว่างสองเธรด แกนประมวลผลจะไม่ว่างเมื่อรอในเธรดหนึ่ง แต่จะสามารถทำสิ่งที่มีประโยชน์ในอีกเธรดหนึ่งได้ ดู https://www.intel.com/content/www/us/en/gaming/resources/hyper-threading.html

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

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

โพสต์คำตอบ

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