Wattson הוא כלי מבוסס-תוכנה שמספק ניתוח מבוסס-עקבות של צריכת החשמל והאנרגיה של בלוק חומרה (כמו CPU ו-GPU) באפליקציות שפועלות במכשירי Android נתמכים. הכלי Wattson נועד להפוך את בדיקת צריכת החשמל לפשוטה, ניתנת להרחבה וניתנת לשחזור, כמו בדיקת ביצועים. הוא מאפשר להתגבר על האתגרים המשמעותיים בחומרה שקשורים בדרך כלל למדידת צריכת החשמל.
אתגרים בבדיקות של צריכת חשמל
אפשר לבצע ניתוח ביצועים באמצעות מכשיר פיתוח רגיל, אבל יש אתגרים משמעותיים כשבודקים את צריכת החשמל:
- חומרה מורכבת: בדיקות צריכת חשמל דורשות חומרה יקרה ומותאמת אישית למדידה, שנוטה לשגיאות בהגדרה ובכיול.
- מוגבלות בהרחבת היקף הפעילות: העלות והתקורה של תחזוקת החומרה הזו מקשות על הרחבת היקף הפעילות במעבדת בדיקות.
- שחזור לא טוב: צריכת החשמל רגישה להבדלים בתהליך הייצור, לטמפרטורת הסביבה ולכיול החומרה, ולכן קשה לשחזר את התוצאות באופן עקבי.
- שיוך גס: גם עם החומרה הכי טובה, שיוך צריכת החשמל מוגבל לרוב למכשיר כולו או, במקרה הטוב, למסילת חשמל ספציפית, ולכן קשה לזהות אילו תהליכי תוכנה אחראים לצריכת האנרגיה.
Wattson: ניתוח צריכת חשמל באמצעות תוכנה
Wattson פותר את האתגרים האלה בניתוח צריכת חשמל על ידי העברת הניתוח מחומרה לתוכנה. Wattson מבוסס על Perfetto, כלי המעקב של Android ברמת המערכת, כדי לנתח את הפעילות של בלוקים בחומרה ולספק הערכות מדויקות של צריכת החשמל ללא ציוד מדידה חיצוני.
איך Wattson עובד
Wattson מסתמך על נקודות מעקב (tracepoints) קיימות בקרנל שתועדו על ידי Perfetto, ובמיוחד על cpufreq, cpuidle ואירועים של תזמון שרשורים. בעזרת עיבוד של נתוני המעקב האלה, Wattson יוצר הערכות מפורטות של צריכת החשמל כסדרת זמן לכל בלוק חומרה.
היתרונות העיקריים של הגישה הזו:
- עלות ההגדרה היא אפס: לא נדרש ציוד נוסף או הוצאות נוספות כדי להשתמש ב-Wattson. אם אתם יכולים לצלם נתוני מעקב של Perfetto, אתם יכולים להשתמש ב-Wattson.
- שיוך ברמת השרשור: מפתחים יכולים לראות אומדנים מדויקים של צריכת האנרגיה של שרשורים בודדים, וכך לבצע אופטימיזציה ממוקדת.
- רזולוציה גבוהה ודיוק: האומדנים של וואטסון מתאימים מאוד למדידות חומרה בפועל, ולכן אפשר להסתמך עליהם בבדיקות A/B ובניתוחים השוואתיים.
- יכולת הרחבה: אפשר לשלב את Wattson בצינורות של בדיקות אוטומטיות ושילוב רציף (CI) כדי לזהות בשלב מוקדם רגרסיות של צריכת חשמל.
מכשירים נתמכים
מערכות ה-SoC הנתמכות כוללות את האפשרויות הבאות:
| היצרן | SoC | ro.soc.model | מכשירים לדוגמה |
|---|---|---|---|
| Tensor G1 | Tensor | Pixel 6, Pixel 6 Pro ו-Pixel 6a | |
| Tensor G4 | Tensor G4 | Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold ו-Pixel 9a | |
| G5 | Tensor G5 | Pixel 10, Pixel 10 Pro, Pixel 10 Pro XL ו-Pixel 10 Pro Fold | |
| Qualcomm | SW5100 | מונקו | Pixel Watch דור 2, 3 ו-4 |
| SXR2230P | SXR2230P | Galaxy XR | |
| SM8750 | SM8750 | Samsung S25 | |
| MediaTek | MT6897 | MT6897 | Transsion Infinix Note 50 Pro+ 5G |
כדי לבקש תמיכה במכשירים נוספים, אפשר לפנות לכתובת wattson-external@google.com.
מה השלב הבא?
- כדי לנתח את צריכת החשמל של האפליקציה, אפשר לעיין במאמר בנושא איסוף וניתוח של עקבות.
- אם יש לכם שאלות או משוב, אתם יכולים לפנות לצוות הפיתוח בכתובת wattson-external@google.com.