בצע אופטימיזציה לקיימות עם Amazon CodeWhisperer | שירותי האינטרנט של אמזון

בצע אופטימיזציה לקיימות עם Amazon CodeWhisperer | שירותי האינטרנט של אמזון

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

Amazon CodeWhisperer הוא מלווה יצירתי לקידוד בינה מלאכותית שמאיץ את פיתוח התוכנה על ידי הצעות המבוססות על הקוד הקיים וההערות בשפה הטבעית, צמצום מאמצי הפיתוח הכוללים ומפנה זמן לסיעור מוחות, פתרון בעיות מורכבות ויצירת קוד מובחן. Amazon CodeWhisperer יכולה לעזור למפתחים לייעל את זרימות העבודה שלהם, לשפר את איכות הקוד, לבנות תנוחות אבטחה חזקות יותר, ליצור חבילות בדיקה חזקות ולכתוב קוד ידידותי למשאבים חישוביים, שיכול לעזור לך לבצע אופטימיזציה לקיימות סביבתית. זה זמין כחלק מ- ערכת כלים עבור Visual Studio Code, AWS Cloud9, JupyterLab, סטודיו SageMaker של אמזון, AWS למבדה, דבק AWS, ו-JetBrains IntelliJ IDEA. Amazon CodeWhisperer תומך כיום ב- Python, Java, JavaScript, TypeScript, C#, Go, Rust, PHP, Ruby, Kotlin, C, C++, Shell scripting, SQL ו-Scala.

ההשפעה של קוד לא מותאם על מחשוב ענן וטביעת רגל פחמנית של יישומים

התשתית של AWS חסכונית באנרגיה פי 3.6 מהחציון של מרכזי נתונים ארגוניים שנסקרו בארה"ב ועד פי 5 יותר יעילה באנרגיה ממרכז הנתונים הארגוני הממוצע באירופה. לכן, AWS יכולה לעזור להוריד את טביעת הרגל הפחמנית של עומס העבודה עד ל-96%. כעת אתה יכול להשתמש ב- Amazon CodeWhisperer כדי לכתוב קוד איכותי עם צריכת משאבים מופחתת וצריכת אנרגיה, ולעמוד ביעדי מדרגיות תוך תועלת מתשתית יעילה באנרגיה של AWS.

שימוש מוגבר במשאבים

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

  • ניצול CPU - קוד לא מותאם מכיל לרוב אלגוריתמים לא יעילים או שיטות קידוד שדורשות מחזורי CPU מוגזמים כדי לרוץ.
  • צריכת זיכרון - ניהול זיכרון לא יעיל בקוד לא מותאם עלול לגרום להקצאת זיכרון מיותרת, ביטול הקצאה או שכפול נתונים.
  • פעולות קלט/פלט של דיסק - קוד לא יעיל יכול לבצע פעולות קלט/פלט מוגזמות (I/O). לדוגמה, אם נתונים נקראים או נכתבים לדיסק בתדירות גבוהה מהנדרש, זה יכול להגביר את ניצול ה-I/O והשהייה של הדיסק.
  • שימוש ברשת - עקב טכניקות העברת נתונים לא יעילות או תקשורת כפולה, קוד לא אופטימלי עלול לגרום לכמות מוגזמת של תעבורת רשת. זה יכול להוביל להשהייה גבוהה יותר ולניצול מוגבר של רוחב הפס של הרשת. ניצול מוגבר של הרשת עשוי לגרום להוצאות גבוהות יותר ולצרכי משאבים גבוהים יותר במצבים בהם משאבי רשת מחויבים במס על בסיס שימוש, כגון במחשוב ענן.

צריכת אנרגיה גבוהה יותר

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

אתגרי מדרגיות

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

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

Amazon CodeWhisperer משתמשת למידת מכונה (ML) ומודלים של שפות גדולות כדי לספק המלצות קוד בזמן אמת על סמך הקוד המקורי והערות השפה הטבעית, ומספקת המלצות קוד שיכולות להיות יעילות יותר. ניתן להגביר את יעילות השימוש בתשתית של התוכנית על ידי אופטימיזציה של הקוד באמצעות אסטרטגיות כולל התקדמות אלגוריתמית, ניהול זיכרון יעיל והפחתה בפעולות I/O חסרות טעם.

יצירת קוד, השלמה והצעות

הבה נבחן מספר מצבים שבהם Amazon CodeWhisperer יכול להיות שימושי.

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

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

צילום המסך הבא מציג תוצאות שנוצרו מ-CodeGuru Profiler במצב חביון, הכולל קלט/פלט ברשת ודיסק. במקרה זה, האפליקציה עדיין מבלה את רוב זמנה ImageProcessor.extractTasks (שורה שנייה תחתונה), וכמעט כל הזמן בפנים זה ניתן להרצה, מה שאומר שהוא לא חיכה לכלום. אתה יכול להציג את מצבי השרשור הללו על ידי מעבר למצב חביון ממצב CPU. זה יכול לעזור לך לקבל מושג טוב מה משפיע על זמן שעון הקיר של היישום. למידע נוסף, עיין ב צמצום טביעת הרגל הפחמנית של הארגון שלך עם Amazon CodeGuru Profiler.

תמונה

הפקת מקרי בדיקה

Amazon Code Whisperer יכול לעזור להציע מקרי בדיקה ולאמת את הפונקציונליות של הקוד על ידי התחשבות בערכי גבול, מקרי קצה ובעיות פוטנציאליות אחרות שאולי יש צורך לבדוק. כמו כן, Amazon CodeWhisperer יכול לפשט את יצירת קוד חוזר לבדיקת יחידות. לדוגמה, אם אתה צריך ליצור נתונים לדוגמה באמצעות הצהרות INSERT, Amazon CodeWhisperer יכול ליצור את התוספות הנחוצות בהתבסס על דפוס. ניתן להפחית את דרישות המשאב הכוללות לבדיקות תוכנה גם על ידי זיהוי ואופטימיזציה של מקרי בדיקה עתירי משאבים או הסרת מקרי בדיקה מיותרים. לחבילות בדיקה משופרות יש פוטנציאל להפוך את האפליקציה לידידותית יותר לסביבה על ידי הגדלת יעילות האנרגיה, הפחתת צריכת המשאבים, מזעור הפסולת והפחתת טביעת הרגל הפחמנית של עומס העבודה.

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

סיכום

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

על ידי הצעת התאמות קטנות וגישות חלופיות, Amazon CodeWhisperer מאפשר למפתחים לצמצם משמעותית את השימוש במשאבים ופליטות מבלי להקריב את הפונקציונליות. בין אם אתם מחפשים לייעל בסיס קוד קיים או להבטיח שפרויקטים חדשים יהיו יעילים במשאבים, Amazon CodeWhisperer יכול להוות עזר שלא יסולא בפז. למידע נוסף על משאבי Amazon CodeWhisperer ו-AWS Sustainability עבור אופטימיזציה של קוד, שקול את השלבים הבאים:


על המחברים

בצע אופטימיזציה לקיימות עם Amazon CodeWhisperer | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.אשה דואה הוא אדריכל פתרונות בכיר שבסיסו באזור מפרץ סן פרנסיסקו. היא עוזרת ללקוחות ארגוניים של AWS לצמוח על ידי הבנת המטרות והאתגרים שלהם, ומנחה אותם כיצד הם יכולים לתכנן את היישומים שלהם באופן מקורי בענן תוך הבטחת חוסן ומדרגיות. היא נלהבת מטכנולוגיות למידת מכונה וקיימות סביבתית.

בצע אופטימיזציה לקיימות עם Amazon CodeWhisperer | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.אג'אי גובינדראם הוא אדריכל פתרונות בכיר ב-AWS. הוא עובד עם לקוחות אסטרטגיים המשתמשים ב-AI/ML כדי לפתור בעיות עסקיות מורכבות. הניסיון שלו טמון במתן הכוונה טכנית כמו גם סיוע בתכנון לפריסות של יישומי AI/ML צנועות עד בקנה מידה גדול. הידע שלו נע מארכיטקטורת יישומים ועד ביג דאטה, אנליטיקה ולמידת מכונה. הוא נהנה להאזין למוזיקה בזמן מנוחה, להתנסות בחיק הטבע ולבלות עם יקיריו.

בצע אופטימיזציה לקיימות עם Amazon CodeWhisperer | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.אריק אירגויין הוא ארכיטקט פתרונות בחברת Amazon Web Services המתמקד בלקוחות בתעשיית המוליכים למחצה והאלקטרוניקה. הוא עובד בשיתוף פעולה הדוק עם לקוחות כדי להבין את האתגרים העסקיים שלהם ולזהות כיצד ניתן למנף את AWS להשגת היעדים האסטרטגיים שלהם. עבודתו התמקדה בעיקר בפרויקטים הקשורים לבינה מלאכותית ולמידת מכונה (AI/ML). לפני שהצטרף ל-AWS, הוא היה יועץ בכיר ב-Advanced Analytics של Deloitte, שם הוביל זרמי עבודה במספר התקשרויות ברחבי ארצות הברית תוך התמקדות ב-Analytics ובינה מלאכותית/ML. לאריק יש תואר ראשון בעסקים מאוניברסיטת סן פרנסיסקו ותואר שני באנליטיקה מאוניברסיטת צפון קרוליינה סטייט.

בול זמן:

עוד מ למידת מכונות AWS