เป็นไปได้หรือไม่ที่จะมีอิทธิพลต่อวิธีการที่ซีพียูจะระบุภายใต้ Linux?


32

ฉันมี HP DL380 G7 ที่มีซีพียู 2 ตัวที่ไม่ตรงกัน หนึ่งคือซีพียู Quad คอร์ที่มีแกนที่เร็วกว่าและอีกหนึ่งคือซีพียู 6 คอร์ที่มีแกนที่ช้ากว่า

ในกล่องนี้ฉันเรียกใช้แอปพลิเคชันที่เกิดจากเหตุผลด้านลิขสิทธิ์จะใช้เฉพาะ CPU0-CPU3

สำหรับฉันมันน่าจะเป็นที่ต้องการสำหรับคอร์ที่เร็วกว่าในคอร์คอร์ Quad เพื่อระบุ CPU0-CPU3 ในระบบปฏิบัติการให้โบนัสประสิทธิภาพสำหรับฉัน a) โดยใช้คอร์ที่มีนาฬิกาที่เร็วกว่าและ b) ทำให้เธรดทั้งหมดบน CPU ทางกายภาพเดียวกัน .

มีวิธีที่จะทำให้สิ่งนี้เกิดขึ้นไม่ว่าจะภายใน BIOS หรือในไฟล์กำหนดค่าหรือตัวเลือกการบูตใน Linux?

CPU รุ่นเฉพาะคือ:

Intel (R) Xeon (R) CPU E5649 @ 2.53GHz (hex core)

Intel (R) Xeon (R) CPU E5640 @ 2.67GHz (ควอดคอร์)


กรุณาโพสต์รูปแบบที่เฉพาะเจาะจงของ CPU cat /proc/cpuinfoจาก
ewwhite

24
Upvoting เพราะฉันไม่รู้ด้วยซ้ำว่า CPU มีความเป็นไปได้เสมอสิ่งใหม่ ๆ ที่จะเรียนรู้ ...
Kyle Brandt

2
@kyle เป็นไปได้ แต่ไม่รองรับหรือรับรองโดย HP
ewwhite

1
@kasperd ใน HP-land หากคุณโหลดซีพียูสองตัวที่แตกต่างกันคุณจะได้รับCPU mismatch detectedข้อผิดพลาดที่ POST สิ่งนี้อาจเกิดขึ้นภายในการสร้างซีพียู เช่น Intel 5606 และ 5690 ในแชสซีเดียวกัน
ewwhite

3
หากใครสนใจสิ่งที่เราทำจริงที่นี่เรามีการเดินทางไปยังศูนย์ข้อมูล & ลบ CPU แบบ quad core ออกจากเซิร์ฟเวอร์
paulos

คำตอบ:


27

wut?!?

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

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

บางทีสิ่งที่ชัดเจนถ้าแอปพลิเคชันของคุณถูก hardcoded เพื่อใช้ CPU0-CPU3 คือการสลับซ็อกเก็ตทางกายภาพ ... แต่จริงๆแล้วเพียงแค่เรียกใช้กับ CPU หนึ่งตัวที่นี่

หากคุณอ้างถึงฮาร์ดแวร์ ProLiant DL380 G7 ซีพียู "เร็วกว่า" ของคุณน่าจะเป็น Nehalem 5500-series proc โดยที่ซีพียู hex-core ที่ช้ากว่านั้นจะเป็น Westmere คุณเคยทำการเปรียบเทียบแล้วหรือยัง? มีการติดตั้ง CPU เฉพาะใด

แก้ไข:

ตกลงดังนั้นสิ่งเหล่านี้เป็นซีพียูอย่างน้อยในรุ่น / ก้าวที่เหมือนกัน แต่มันก็ยังเป็นความคิดที่ไม่ดี ... ความแตกต่างในสเปคของ CPU นั้นยอดเยี่ยม (เทียบกับ Intel X5690 ที่ความเร็ว 3.47GHz)


4
ทุกคนมีปฏิกิริยาเหมือนกัน! ฉันรู้ว่าอุดมคติของซีพียูจะเหมือนกัน แต่นี่คือสิ่งที่ HP มอบให้เราในตอนกลางวัน นี่คือมือที่ฉันได้รับการจัดการแม้ว่าฉันจะต้องทำให้ดีที่สุดจนกว่าจะมีการรีเฟรชฮาร์ดแวร์ครั้งต่อไป ซีพียูคือ Xeon E5649 @ 2.53GHz (hex core) และ E5640 @ 2.67GHz (quad core) จริงๆแล้วการถอดซีพียู 6 คอร์นั้นเป็นตัวเลือกหนึ่งในตาราง มันจะเป็น neater ที่จะสามารถปิดการใช้งานซ็อกเก็ตทั้งหมดใน BIOS แต่ดูเหมือนจะเป็นไปไม่ได้
paulos

@paulos แอปพลิเคชันนี้คืออะไร
ewwhite

มันเป็นจริงการดำเนินงานเป็นด่านไฟร์วอลล์
Paulos

3
@paulos แล้วทำไม 2.67GHz เทียบกับ 2.53GHz ถึงมีความหมาย? เพียงแค่ใส่ซีพียู 6-core ลงในเซิร์ฟเวอร์และเอา 4-core ออก
ewwhite

เรื่องสเปคของ CPU ใช่ฉันคิดว่ามันเร็วขึ้นเพียง 5% หรืออย่างนั้น ฉันคาดหวังว่าประสิทธิภาพที่เพิ่มขึ้นนั้นจะมาจากการมีเธรดของผู้ปฏิบัติงานทั้งหมดและโดยเฉพาะอย่างยิ่งพายุ irq จากการ์ดเครือข่ายที่อยู่บน CPU จริงเดียวกัน แก้ไข: ใช่การใช้ 6 คอร์ซีพียูเท่านั้นก็เป็นไปได้เช่นกัน
paulos
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.