شعار زيفيرنت

تحسين الاستدامة باستخدام Amazon CodeWhisperer | خدمات ويب أمازون

التاريخ:

يستكشف هذا المنشور كيف أمازون CodeWhisperer يمكن أن تساعد في تحسين التعليمات البرمجية لتحقيق الاستدامة من خلال زيادة كفاءة الموارد. يعد الترميز ذو الكفاءة في استخدام الموارد الحسابية أحد الأساليب التي تهدف إلى تقليل كمية الطاقة المطلوبة لمعالجة سطر من التعليمات البرمجية، ونتيجة لذلك، تساعد الشركات على استهلاك طاقة أقل بشكل عام. في عصر الحوسبة السحابية هذا، يقوم المطورون الآن بتسخير المكتبات مفتوحة المصدر وقوة المعالجة المتقدمة المتاحة لهم لبناء خدمات صغيرة واسعة النطاق تحتاج إلى أن تكون فعالة من الناحية التشغيلية والأداء والمرونة. ومع ذلك، غالبًا ما تتكون التطبيقات الحديثة من كود واسع النطاق، يتطلب موارد حاسوبية كبيرة. على الرغم من أن التأثير البيئي المباشر قد لا يكون واضحًا، إلا أن التعليمات البرمجية المحسّنة تعمل على تضخيم البصمة الكربونية للتطبيقات الحديثة من خلال عوامل مثل زيادة استهلاك الطاقة واستخدام الأجهزة لفترة طويلة والخوارزميات القديمة. في هذا المنشور، نكتشف كيف يساعد Amazon CodeWhisperer في معالجة هذه المخاوف وتقليل البصمة البيئية للتعليمات البرمجية الخاصة بك.

Amazon CodeWhisperer هو رفيق ترميز الذكاء الاصطناعي الإبداعي الذي يعمل على تسريع تطوير البرامج من خلال تقديم اقتراحات بناءً على التعليمات البرمجية الموجودة وتعليقات اللغة الطبيعية، مما يقلل من جهد التطوير الإجمالي ويوفر الوقت للعصف الذهني وحل المشكلات المعقدة وتأليف تعليمات برمجية مختلفة. يمكن لـ Amazon CodeWhisperer مساعدة المطورين على تبسيط سير عملهم، وتحسين جودة التعليمات البرمجية، وبناء مواقف أمنية أقوى، وإنشاء مجموعات اختبار قوية، وكتابة تعليمات برمجية صديقة للموارد الحسابية، والتي يمكن أن تساعدك على تحسين الاستدامة البيئية. وهي متاحة كجزء من مجموعة أدوات لرمز Visual Studio, سحابة AWS 9جوبيتر لاب, أمازون ساجميكر ستوديو, 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) أو الحاويات، مما يزيد من تخصيص الموارد واستخدام الطاقة والبصمة الكربونية ذات الصلة بعبء العمل. قد تواجه زيادات في ما يلي:

  • استخدام وحدة المعالجة المركزية - غالبًا ما تحتوي التعليمات البرمجية غير المحسنة على خوارزميات غير فعالة أو ممارسات ترميز تتطلب دورات وحدة المعالجة المركزية المفرطة للتشغيل.
  • استهلاك الذاكرة - يمكن أن تؤدي إدارة الذاكرة غير الفعالة في التعليمات البرمجية غير المحسنة إلى تخصيص غير ضروري للذاكرة أو إلغاء التخصيص أو تكرار البيانات.
  • عمليات الإدخال/الإخراج على القرص - قد تؤدي التعليمات البرمجية غير الفعالة إلى عمليات إدخال/إخراج (I/O) مفرطة. على سبيل المثال، إذا تمت قراءة البيانات من القرص أو كتابتها عليه بشكل متكرر أكثر من اللازم، فقد يؤدي ذلك إلى زيادة استخدام الإدخال/الإخراج للقرص وزمن الوصول.
  • استخدام الشبكة - بسبب تقنيات نقل البيانات غير الفعالة أو الاتصالات المكررة، قد يؤدي استخدام التعليمات البرمجية المحسنة بشكل سيئ إلى زيادة كبيرة في حركة مرور الشبكة. يمكن أن يؤدي هذا إلى زمن انتقال أعلى وزيادة استخدام النطاق الترددي للشبكة. قد تؤدي زيادة استخدام الشبكة إلى ارتفاع النفقات واحتياجات الموارد في الحالات التي يتم فيها فرض ضرائب على موارد الشبكة على أساس الاستخدام، كما هو الحال في الحوسبة السحابية.

ارتفاع استهلاك الطاقة

تستخدم التطبيقات الداعمة للبنية التحتية ذات التعليمات البرمجية غير الفعالة المزيد من قوة المعالجة. يمكن أن يؤدي الإفراط في استخدام موارد الحوسبة بسبب التعليمات البرمجية المتضخمة وغير الفعالة إلى زيادة استهلاك الطاقة وإنتاج الحرارة، مما يستلزم لاحقًا المزيد من الطاقة للتبريد. إلى جانب الخوادم، تستهلك أنظمة التبريد والبنية التحتية لتوزيع الطاقة والعناصر المساعدة الأخرى الطاقة أيضًا.

تحديات قابلية التوسع

في تطوير التطبيقات، يمكن أن تحدث مشكلات قابلية التوسع بسبب التعليمات البرمجية غير المحسنة. قد لا يتم توسيع نطاق هذه التعليمات البرمجية بشكل فعال مع نمو المهمة، مما يستلزم المزيد من الموارد واستخدام المزيد من الطاقة. يؤدي هذا إلى زيادة الطاقة التي تستهلكها أجزاء التعليمات البرمجية هذه. كما ذكرنا سابقًا، فإن التعليمات البرمجية غير الفعالة أو المسرفة لها تأثير مضاعف على نطاق واسع.

إن التوفير المركب في الطاقة الناتج عن تحسين التعليمات البرمجية التي يقوم العملاء بتشغيلها في بعض مراكز البيانات يتضاعف بشكل أكبر عندما نأخذ في الاعتبار أن موفري الخدمات السحابية مثل AWS لديهم العشرات من مراكز البيانات حول العالم.

يستخدم Amazon CodeWhisperer التعلم الآلي (ML) ونماذج اللغات الكبيرة لتقديم توصيات التعليمات البرمجية في الوقت الفعلي بناءً على التعليمات البرمجية الأصلية وتعليقات اللغة الطبيعية، ويوفر توصيات التعليمات البرمجية التي يمكن أن تكون أكثر كفاءة. يمكن زيادة كفاءة استخدام البنية التحتية للبرنامج عن طريق تحسين التعليمات البرمجية باستخدام استراتيجيات بما في ذلك التقدم الخوارزمي، والإدارة الفعالة للذاكرة، وتقليل عمليات الإدخال/الإخراج غير المجدية.

إنشاء التعليمات البرمجية وإكمالها واقتراحاتها

دعونا نتفحص العديد من المواقف التي يمكن أن يكون فيها Amazon CodeWhisperer مفيدًا.

من خلال أتمتة تطوير التعليمات البرمجية المتكررة أو المعقدة، تقلل أدوات إنشاء التعليمات البرمجية من احتمالية حدوث خطأ بشري مع التركيز على التحسينات الخاصة بالنظام الأساسي. وباستخدام الأنماط أو القوالب الراسخة، قد تنتج هذه البرامج تعليمات برمجية تلتزم بشكل أكثر اتساقًا بأفضل ممارسات الاستدامة. يمكن للمطورين إنتاج تعليمات برمجية تتوافق مع معايير ترميز معينة، مما يساعد على تقديم تعليمات برمجية أكثر اتساقًا ويمكن الاعتماد عليها طوال المشروع. قد يكون الكود الناتج أكثر كفاءة لأنه يزيل اختلافات الترميز البشري، ويمكن أن يكون أكثر وضوحًا، مما يحسن سرعة التطوير. يمكنه تلقائيًا تنفيذ طرق لتقليل حجم برنامج التطبيق وطوله، مثل حذف التعليمات البرمجية الزائدة أو تحسين التخزين المتغير أو استخدام طرق الضغط. يمكن أن تساعد هذه التحسينات في تحسين استهلاك الذاكرة وتعزيز كفاءة النظام بشكل عام عن طريق تقليص حجم الحزمة.

الذكاء الاصطناعي التوليدي لديه القدرة على جعل البرمجة أكثر استدامة من خلال تحسين تخصيص الموارد. من المهم النظر بشكل شامل إلى البصمة الكربونية للتطبيق. أدوات مثل ملف تعريف Amazon CodeGuru يمكن جمع بيانات الأداء لتحسين زمن الوصول بين المكونات. تقوم خدمة ملفات التعريف بفحص تشغيل التعليمات البرمجية وتحديد التحسينات المحتملة. يمكن للمطورين بعد ذلك تحسين الكود الذي تم إنشاؤه تلقائيًا يدويًا بناءً على هذه النتائج لتحسين كفاءة استخدام الطاقة بشكل أكبر. يؤدي الجمع بين الذكاء الاصطناعي التوليدي والتوصيف والإشراف البشري إلى إنشاء حلقة تعليقات يمكنها تحسين كفاءة التعليمات البرمجية بشكل مستمر وتقليل التأثير البيئي.

تعرض لقطة الشاشة التالية النتائج التي تم إنشاؤها من CodeGuru Profiler في وضع زمن الوصول، والذي يتضمن الإدخال/الإخراج للشبكة والقرص. وفي هذه الحالة، يظل التطبيق يقضي معظم وقته في ImageProcessor.extractTasks (الصف السفلي الثاني)، وفي كل الأوقات تقريبًا يكون هذا قابلاً للتشغيل، مما يعني أنه لم يكن ينتظر أي شيء. يمكنك عرض حالات مؤشر الترابط هذه عن طريق التغيير إلى وضع زمن الوصول من وضع وحدة المعالجة المركزية. يمكن أن يساعدك هذا في الحصول على فكرة جيدة عما يؤثر على وقت ساعة الحائط الخاصة بالتطبيق. لمزيد من المعلومات، راجع تقليل البصمة الكربونية لمؤسستك باستخدام Amazon CodeGuru Profiler.

صورة

توليد حالات الاختبار

أمازون CodeWhisperer يمكن أن يساعد في اقتراح حالات اختبار والتحقق من وظائف التعليمات البرمجية من خلال النظر في قيم الحدود وحالات الحافة والمشكلات المحتملة الأخرى التي قد تحتاج إلى اختبار. كما يمكن لـ Amazon CodeWhisperer تبسيط إنشاء تعليمات برمجية متكررة لاختبار الوحدة. على سبيل المثال، إذا كنت بحاجة إلى إنشاء بيانات نموذجية باستخدام عبارات INSERT، فيمكن لـ Amazon CodeWhisperer إنشاء الإدخالات الضرورية بناءً على النمط. يمكن أيضًا تقليل متطلبات الموارد الإجمالية لاختبار البرامج عن طريق تحديد حالات الاختبار كثيفة الاستخدام للموارد وتحسينها أو إزالة الحالات الزائدة عن الحاجة. تتمتع مجموعات الاختبار المحسنة بالقدرة على جعل التطبيق أكثر صداقة للبيئة من خلال زيادة كفاءة استخدام الطاقة، وتقليل استهلاك الموارد، وتقليل النفايات، وتقليل البصمة الكربونية لأعباء العمل.

للحصول على مزيد من الخبرة العملية مع Amazon CodeWhisperer، راجع تحسين تطوير البرامج باستخدام Amazon CodeWhisperer. يعرض المنشور توصيات التعليمات البرمجية من Amazon CodeWhisperer في أمازون ساجميكر ستوديو. ويوضح أيضًا الكود المقترح بناءً على التعليقات لتحميل مجموعة البيانات وتحليلها.

وفي الختام

في هذا المنشور، تعلمنا كيف يمكن لـ Amazon CodeWhisperer مساعدة المطورين على كتابة تعليمات برمجية محسّنة وأكثر استدامة. باستخدام نماذج التعلم الآلي المتقدمة، يقوم Amazon CodeWhisperer بتحليل التعليمات البرمجية الخاصة بك ويقدم توصيات مخصصة لتحسين الكفاءة، مما يمكن أن يقلل التكاليف ويساعد في تقليل البصمة الكربونية.

من خلال اقتراح تعديلات طفيفة وأساليب بديلة، يمكّن Amazon CodeWhisperer المطورين من خفض استخدام الموارد والانبعاثات بشكل كبير دون التضحية بالوظائف. سواء كنت تتطلع إلى تحسين قاعدة التعليمات البرمجية الموجودة أو التأكد من كفاءة المشاريع الجديدة في استخدام الموارد، يمكن أن يكون Amazon CodeWhisperer بمثابة مساعدة لا تقدر بثمن. لمعرفة المزيد حول موارد Amazon CodeWhisperer وAWS Sustainability لتحسين التعليمات البرمجية، فكر في الخطوات التالية التالية:


عن المؤلفين

العشاء دعاء هو مهندس حلول أول مقره في منطقة خليج سان فرانسيسكو. تساعد عملاء AWS من المؤسسات على النمو من خلال فهم أهدافهم وتحدياتهم ، وتوجههم حول كيفية تصميم تطبيقاتهم بطريقة سحابية أصلية مع ضمان المرونة وقابلية التوسع. إنها شغوفة بتقنيات التعلم الآلي والاستدامة البيئية.

أججاي جوفيندارام هو مهندس حلول أول في AWS. يعمل مع العملاء الاستراتيجيين الذين يستخدمون الذكاء الاصطناعي / تعلم الآلة لحل مشاكل الأعمال المعقدة. تكمن خبرته في تقديم التوجيه الفني بالإضافة إلى المساعدة في التصميم لعمليات نشر تطبيقات الذكاء الاصطناعي / التعلم الآلي المتواضعة إلى الواسعة النطاق. تتراوح معرفته من هندسة التطبيقات إلى البيانات الضخمة والتحليلات والتعلم الآلي. إنه يستمتع بالاستماع إلى الموسيقى أثناء الراحة ، وتجربة الهواء الطلق ، وقضاء الوقت مع أحبائه.

إريك إيريجوين هو مهندس الحلول في Amazon Web Services ويركز على العملاء في صناعة أشباه الموصلات والإلكترونيات. وهو يعمل بشكل وثيق مع العملاء لفهم تحديات أعمالهم وتحديد كيفية الاستفادة من AWS لتحقيق أهدافهم الإستراتيجية. وقد ركز عمله في المقام الأول على المشاريع المتعلقة بالذكاء الاصطناعي والتعلم الآلي (AI/ML). قبل انضمامه إلى AWS، كان مستشارًا أول في ممارسة التحليلات المتقدمة في Deloitte حيث قاد مسارات العمل في العديد من المشاركات عبر الولايات المتحدة مع التركيز على التحليلات والذكاء الاصطناعي/تعلم الآلة. يحمل إريك درجة البكالوريوس في إدارة الأعمال من جامعة سان فرانسيسكو ودرجة الماجستير في التحليلات من جامعة ولاية كارولينا الشمالية.

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة