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

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

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

ฉันพูดถึงเรื่องนี้เพราะเมื่อเร็ว ๆ นี้ วิศวกรของ Google ได้เสนอให้แก้ไข la การตั้งค่าเริ่มต้น เดล ตัวจับเวลาเคอร์เนล Linuxโดยเพิ่มอัตราการขัดจังหวะจาก 250 เฮิรตซ์ เป็น 1000 เฮิรตซ์

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

แรงจูงใจในการเสนอ

Uno ของข้อโต้แย้งหลักที่สนับสนุน การเปลี่ยนแปลงนี้คือ เพิ่มประสิทธิภาพการทำงานบนอุปกรณ์ที่มีจอแสดงผล 120Hz, พบมากขึ้นทั่วไปบนพีซีและอุปกรณ์พกพา ในการตั้งค่า 250Hz ในปัจจุบัน ความไม่แม่นยำในการหาปริมาณเวลาจะเท่ากับประมาณครึ่งหนึ่งของเวลาเฟรม ซึ่งส่งผลกระทบต่อประสิทธิภาพในการจัดสรรทรัพยากร

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

การเพิ่มขึ้น ของความถี่ในการสลับงาน จะช่วยให้:

  • ปรับปรุงประสิทธิภาพในการจัดการความถี่แบบไดนามิก (DVFS)
  • การจัดสรรเวลาการกำหนดเวลาการทำงานที่แม่นยำยิ่งขึ้น
  • เพิ่มความถี่ในการอัพเดตสถิติการโหลด CPU
  • ลดเวลาการรอสำหรับงานที่รอดำเนินการ
  • ข้อโต้แย้งต่อการแก้ไข

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

ตามการประเมินของเขา การเพิ่มความถี่เป็น 1000 เฮิรตซ์ อาจทำให้การใช้พลังงานเพิ่มขึ้น ตัวอย่างเช่น ในอุปกรณ์ Android พบว่าการใช้โปรเซสเซอร์เพิ่มขึ้นถึง 7% ในบางสถานการณ์

นอกจากนี้ ความถี่ของตัวจับเวลาที่สูงขึ้นจะหมายถึงการเปิดใช้งานซ้ำบ่อยขึ้น ของซีพียู ที่ความถี่ 250 เฮิรตซ์ ตัวจับเวลาที่ตั้งเวลาไว้ที่ t+1 มิลลิวินาที, t+2 มิลลิวินาที, t+3 มิลลิวินาที และ t+4 มิลลิวินาที จะถูกจัดกลุ่มเป็นการปลุกครั้งเดียว ในขณะที่ที่ความถี่ 1000 เฮิรตซ์ จะมีการปลุกแยกกันสี่ครั้ง ซึ่งอาจเพิ่มการใช้พลังงานได้

ผลการทดสอบสมรรถนะ

เกี่ยวกับคดีพอร์ทัล โฟโรนิกซ์ได้ทำการทดสอบชุดหนึ่ง บนพีซีที่มี CPU AMD Ryzen 9 9950X เพื่อประเมินผลกระทบของการเปลี่ยนแปลงความถี่ ผลลัพธ์ออกมาผสมกัน:

  • Mประสิทธิภาพที่ดีขึ้นด้วยความถี่ 1000 เฮิรตซ์ใน:
    ลามะ.ซีพีพี
    Nginx
    ซุปเปอร์ทักซ์ คาร์ท
    ซีลีเนียม
    เวลาคอมไพล์เคอร์เนล
  • ประสิทธิภาพที่ดีที่สุดที่ 250Hz บน:
    Darktable
    PostgreSQL
    ไม่สมหวัง
    โซโนติก
    เครื่องปั่น
    SVT-AV1
    RawTherapee

ว่า การใช้พลังงาน ผลที่ได้คือ ดังต่อไปนี้:

  • การตั้งค่าที่ 1000 Hz:
    อัตราการบริโภคเฉลี่ย: 144,2 วัตต์
    อัตราการบริโภคขั้นต่ำ: 0,18 วัตต์
    การบริโภคพลังงานสูงสุด: 202,13 W
  • การตั้งค่าที่ 250 Hz:
    อัตราการบริโภคเฉลี่ย: 144,37 วัตต์
    อัตราการบริโภคขั้นต่ำ: 0,07 วัตต์
    การบริโภคพลังงานสูงสุด: 202 W

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

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