Dual CPUs มีความผิดปกติหรือไม่?


16

สมมติว่าฉันซื้อ Intel Xeon สองตัวและติดตั้งลงในฮาร์ดแวร์ระดับเซิร์ฟเวอร์ ... หาก CPU ตัวใดตัวหนึ่งล้มเหลวตัวอื่น ๆ ก็ยังใช้งานได้และหยิบสายหย่อน

สิ่งนี้ดูเหมือนจะไม่น่าเป็นไปได้ แต่ฉันคิดว่าฉันจะถามแทนที่จะทำข้อสันนิษฐาน

คำตอบ:


29

ในระบบซ็อกเก็ตดูอัลซ็อกเก็ตปกติไม่มีแม้ว่าจะมีเซิร์ฟเวอร์ที่อนุญาตการสลับหน่วยประมวลผลและ RAM ดังนั้นสิ่งเหล่านี้ทำอยู่ แต่พวกเขากำลังที่มากระดับ high-end ของตลาด

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


1
Thermal-paste ที่ติดตั้งไม่ดีอาจทำให้เกิดความร้อนสูงเกินของ CPU ในระหว่างการโหลดสูงสุด ฉันแน่ใจว่ามีหลายกรณีที่เกิดขึ้นมากกว่าความล้มเหลวของ riser brass ที่เกิดขึ้นเอง
Oddthinking

8
@ คิดทบทวนฉันคิดว่าคุณจริงจังกับมันมากเกินไป
ปีเตอร์

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

4
@ Patrik: ใช่ถูกต้อง คุณรู้ - ผิด;) สิ่งนี้เป็นพฤติกรรมมาตรฐานสำหรับซีพียูระดับสูง - ได้รับแล้วนี่เป็นเมนเฟรมที่ซีพียูมีราคา 5,000+ ดอลลาร์สหรัฐ ถึงกระนั้นก็ตามพวกเขาใช้หน่วยความจำธุรกรรมและการทำธุรกรรมจะเริ่มต้นใหม่บน CPU ตัวอื่น
TomTom

5
@TomTom: แน่นอนเรากำลังพูดถึงสิ่งต่าง ๆ เช่น TANDEM ที่น่าเคารพนับถือ (และผู้สืบทอดยุคใหม่) ไม่ใช่สถาปัตยกรรมวานิลลา x86-64
Piskvor

9

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

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

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

แน่นอนถ้าคุณมีเมนเฟรมของไอบีเอ็มที่ดีหรือคล้าย ๆ กันการเปลี่ยนซีพียูที่ร้อนแรงนั้นเป็นเรื่องง่าย


อืม แต่แม้ในกรณีที่ฮาร์ดรีบูต: IIRC หาก CPU # 0 ล้มเหลวคุณยังคงเมา - ไม่มี POST ซึ่งหมายถึงไม่มีการบู๊ตเพิ่มเติมเนื่องจากมีเพียง CPU แรกที่ใช้สำหรับกระบวนการเริ่มต้นก่อน
Piskvor

ฉันไม่รู้ว่าเป็นอย่างนั้นหรือเปล่า ฉันควรทดสอบมันบนเซิร์ฟเวอร์ ฉันคิดว่ามันไม่สำคัญและตราบใดที่มี CPU 1 ตัวระบบจะบู๊ตได้ดี
aseq

5

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

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


1
+1 สำหรับการชี้ให้เห็นว่า CPU ที่เพิ่มเป็นสองเท่าจะเพิ่มโอกาสที่จะเกิดความล้มเหลวของเครื่องได้ "ชิ้นส่วนที่เคลื่อนไหวได้" มากกว่าหมายถึงโอกาสที่จะเกิดความล้มเหลวได้มากขึ้น
Evan Anderson

4

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

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

ในหมายเหตุด้าน: ในควอนตัมฟิสิกส์ไม่มีความเป็นไปไม่ได้ แต่ถ้าต้องรอนานกว่าอายุของเอกภพเพื่อสถิติมีโอกาสสังเกตพฤติกรรมบางอย่างเราไม่ต้องบอกว่าเป็นไปได้ พึงระลึกไว้เสมอว่าเมื่อคุณออกแบบระบบของคุณ ;)


2

ความล้มเหลวของ CPU นั้นอาจหายาก ความล้มเหลวอาจส่งผลให้เกิดปัญหาอื่น ๆ ในระดับระบบปฏิบัติการ ฉันจะไม่คิดว่านี่เป็นรูปแบบใดของการยอมรับความผิด


1

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


1
ฉันจะไม่เรียกมันว่าหายากสุด ๆ เพิ่งเกิดขึ้นบนเซิร์ฟเวอร์ตัวใดตัวหนึ่งของฉัน ขณะนี้อยู่ในขั้นตอนการแก้ไขปัญหา เซิร์ฟเวอร์ CPU คู่สูญเสียซีพียูตัวหนึ่งเนื่องจากความล้มเหลวของพัดลม
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.