להגדלת תדר טיימר לינוקס יהיו יתרונות ביצועים ואופטימיזציה

בשלב מסוים רבים מאיתנו העזנו לשחק עם המושלים במערכת שלנו, זה נעשה על מנת להשיג שיפורי ביצועים מסוימים או למטרה מסוימת, כגון עומס עבודה, אפליקציות, משחקים וכו'.

סוג זה של שינויים, הם אינם נכללים בדרך כלל בהפצות כלליות ומובן למה, שכן זה מתורגם לעלייה או ירידה (בהתאם למקרה) במשאבים של הצוות שלנו.

אני מזכיר זאת, כי לאחרונה א מהנדס גוגל הציע שינוי la הגדרת ברירת מחדל דל טיימר ליבת לינוקס, העלאת קצב ההפרעות שלו מ-250 הרץ ל-1000 הרץ.

השינוי הזה ירמז על תדירות גבוהה יותר בהחלפת משימות והפחתה בכמות הזמן במתזמן המשימות, אשרוהיעילות יכולה להשתפר בתרחישים מסוימים. נכון לעכשיו, 250Hz נחשב לאיזון בין ביצועים, זמן השהייה וצריכת חשמל.

הנעה להצעה

אונו מהטיעונים העיקריים בעד של שינוי זה הוא מיטוב ביצועים במכשירים עם צגי 120Hz, נפוץ יותר ויותר במחשבים ובמכשירים ניידים. בהגדרה הנוכחית של 250Hz, אי דיוק הכימות בזמן מסתכם בכמחצית מזמן המסגרת, מה שמשפיע על יעילות הקצאת המשאבים.

בנוסף, נצפה כי מנגנון קנה המידה הדינמי של המתח והתדר (DVFS) נוטה לאמץ אסטרטגיות בחירת תדרים אגרסיביות כדי למנוע האטות. זה יכול לגרום לצריכת חשמל מיותרת כאשר משימה כבר הסתיימה לעבד, אך המעבד ממשיך לפעול בתדר גבוה יותר מכיוון שקוונטי הזמן שלו עדיין לא פג.

הגידול של תדירות החלפת המשימות יאפשר:

  • יעילות משופרת בניהול תדרים דינמי (DVFS).
  • הקצאה מדויקת יותר של זמני מתזמן המשימות.
  • תדירות מוגברת של עדכון סטטיסטיקות עומס מעבד.
  • זמן המתנה מופחת למשימות ממתינות.
  • טענות נגד התיקון

מצד, מהנדס אחר של גוגל הביע את אי הסכמתו עם השינוי, בטענה כך שמירה על תדר הטיימר על 250 הרץ היא המועילה ביותר עבור מכשירים בעלי הספק נמוך, כגון לוחות IoT ומכשירים ניידים.

לפי הערכתו, הגדלת התדר ל-1000 הרץ עלולה לגרום לעלייה בצריכת החשמל. במכשירי אנדרואיד, למשל, נצפתה עלייה של עד 7% בצריכת המעבד במצבים מסוימים.

בנוסף, תדר טיימר גבוה יותר ירמז על הפעלה מחדש תכופה יותר של המעבד. ב-250 הרץ, טיימרים המתוזמנים ל-t+1 ms, t+2 ms, t+3 ms ו-t+4 ms מקובצים להתעוררות יחידה, בעוד שב-1000 הרץ יהיו ארבע התעוררויות בודדות, מה שיכול להגדיל את צריכת החשמל.

תוצאות בדיקת ביצועים

על המקרה, הפורטל Phoronix ערך סדרה של בדיקות במחשב עם מעבד AMD Ryzen 9 9950X כדי להעריך את ההשפעה של שינוי התדר. התוצאות היו מעורבות:

  • Mביצועים טובים יותר עם 1000 הרץ ב:
    Llama.cpp
    nginx
    Super Tux Kart
    סלניום
    זמני איסוף הליבה
  • הביצועים הטובים ביותר ב-250Hz ב:
    כהה
    PostgreSQL
    לא מנוצח
    קסונוטי
    מַמחֶה
    SVT-AV1
    RawTherapee

באשר ל צריכת אנרגיה, התוצאות היו הבאים:

  • הגדרה של 1000 הרץ:
    צריכה ממוצעת: 144,2 W
    צריכה מינימלית: 0,18 W
    צריכה מרבית: 202,13 W
  • הגדרה של 250 הרץ:
    צריכה ממוצעת: 144,37 W
    צריכה מינימלית: 0,07 W
    צריכה מרבית: 202 W

לבסוף, ראוי להזכיר שהגדלת קצב הפסקת טיימר הליבה ל-1000 הרץ מציעה יתרונות במקרים מסוימים של שימוש, במיוחד ביישומים הדורשים החלפת משימות תכופה יותר ובמכשירים עם תצוגות של קצב רענון גבוה. עם זאת, יש לו גם חסרונות במונחים של צריכת חשמל, במיוחד במכשירים ובסביבות עם הספק נמוך שבהן יעילות אנרגטית היא בראש סדר העדיפויות.

בינתיים, ההצעה עדיין בדיון בתוך הקהילה ואימוצה יהיו תלויים בניתוח מעמיק יותר של ההשפעות בתרחישי שימוש שונים.