بهینه سازی پایداری با Amazon CodeWhisperer | خدمات وب آمازون

بهینه سازی پایداری با Amazon CodeWhisperer | خدمات وب آمازون

این پست به بررسی چگونگی آن می پردازد آمازون کد Whisperer می تواند به بهینه سازی کد برای پایداری از طریق افزایش کارایی منابع کمک کند. کدگذاری منابع محاسباتی کارآمد تکنیکی است که هدف آن کاهش مقدار انرژی مورد نیاز برای پردازش یک خط کد و در نتیجه کمک به شرکت ها در مصرف انرژی کمتر است. در این عصر رایانش ابری، توسعه‌دهندگان اکنون از کتابخانه‌های منبع باز و قدرت پردازش پیشرفته در دسترس برای ساخت ریزسرویس‌هایی در مقیاس بزرگ استفاده می‌کنند که باید از نظر عملیاتی کارآمد، کارآمد و انعطاف‌پذیر باشند. با این حال، برنامه های کاربردی مدرن اغلب شامل کد گسترده ای که نیاز به منابع محاسباتی قابل توجهی دارد. اگرچه تأثیر مستقیم محیطی ممکن است آشکار نباشد، کد زیر بهینه شده ردپای کربن برنامه‌های مدرن را از طریق عواملی مانند افزایش مصرف انرژی، استفاده طولانی‌مدت از سخت‌افزار و الگوریتم‌های قدیمی تقویت می‌کند. در این پست، متوجه می‌شویم که Amazon CodeWhisperer چگونه به رفع این نگرانی‌ها و کاهش ردپای محیطی کد شما کمک می‌کند.

Amazon CodeWhisperer یک همراه کدنویسی مولد هوش مصنوعی است که با ارائه پیشنهادهایی بر اساس کد موجود و نظرات زبان طبیعی، توسعه نرم‌افزار را سرعت می‌بخشد، تلاش کلی توسعه را کاهش می‌دهد و زمان را برای طوفان فکری، حل مشکلات پیچیده و نوشتن کدهای متفاوت آزاد می‌کند. Amazon CodeWhisperer می تواند به توسعه دهندگان کمک کند تا گردش کار خود را ساده کنند، کیفیت کد را بهبود بخشند، وضعیت های امنیتی قوی تری ایجاد کنند، مجموعه های آزمایشی قوی ایجاد کنند و کدهای محاسباتی را بنویسند که با منابع محاسباتی سازگار هستند، که می تواند به شما در بهینه سازی پایداری محیطی کمک کند. به عنوان بخشی از موجود است جعبه ابزار برای کد ویژوال استودیو, AWS Cloud9JupyterLab، Amazon SageMaker Studio, 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 به اهداف مقیاس پذیری دست یابید.

افزایش استفاده از منابع

کدهای بهینه نشده می تواند منجر به استفاده ناکارآمد از منابع رایانش ابری شود. در نتیجه، ممکن است به ماشین‌های مجازی (VM) یا کانتینرهای بیشتری نیاز باشد، که تخصیص منابع، مصرف انرژی و ردپای کربن مربوط به حجم کار را افزایش می‌دهد. ممکن است در موارد زیر با افزایش مواجه شوید:

  • استفاده از پردازنده - کدهای بهینه نشده اغلب حاوی الگوریتم های ناکارآمد یا روش های کدگذاری هستند که برای اجرا به چرخه های CPU بیش از حد نیاز دارند.
  • مصرف حافظه - مدیریت ناکارآمد حافظه در کدهای بهینه‌نشده می‌تواند منجر به تخصیص حافظه غیرضروری، توزیع یا تکثیر داده‌ها شود.
  • عملیات ورودی/خروجی دیسک – کد ناکارآمد می تواند عملیات ورودی/خروجی (I/O) بیش از حد را انجام دهد. به عنوان مثال، اگر داده ها بیشتر از حد لازم از روی دیسک خوانده یا نوشته شوند، می تواند استفاده از ورودی/خروجی دیسک و تأخیر را افزایش دهد.
  • استفاده از شبکه - به دلیل تکنیک‌های ناکارآمد انتقال داده یا ارتباطات تکراری، کد بهینه‌سازی ضعیف ممکن است باعث ترافیک شبکه شود. این می تواند منجر به تاخیر بیشتر و افزایش استفاده از پهنای باند شبکه شود. افزایش استفاده از شبکه ممکن است منجر به هزینه‌ها و نیاز به منابع بیشتر در شرایطی شود که منابع شبکه بر اساس استفاده مالیات می‌گیرند، مانند رایانش ابری.

مصرف انرژی بالاتر

برنامه های کاربردی پشتیبانی از زیرساخت با کد ناکارآمد از قدرت پردازش بیشتری استفاده می کنند. استفاده بیش از حد از منابع محاسباتی به دلیل کد ناکارآمد و متورم می تواند منجر به مصرف انرژی و تولید گرما بیشتر شود که متعاقباً نیاز به انرژی بیشتری برای خنک کردن دارد. در کنار سرورها، سیستم های خنک کننده، زیرساخت های توزیع برق و سایر عناصر کمکی نیز انرژی مصرف می کنند.

چالش های مقیاس پذیری

در توسعه برنامه، مشکلات مقیاس پذیری می تواند ناشی از کدهای بهینه نشده باشد. چنین کدهایی ممکن است با بزرگ شدن کار به طور موثر مقیاس نشوند و به منابع بیشتر و مصرف انرژی بیشتر نیاز داشته باشند. این باعث افزایش انرژی مصرف شده توسط این قطعات کد می شود. همانطور که قبلا ذکر شد، کد ناکارآمد یا بیهوده یک اثر ترکیبی در مقیاس دارد.

صرفه جویی ترکیبی انرژی ناشی از بهینه سازی کدی که مشتریان در مراکز داده خاص اجرا می کنند، با در نظر گرفتن این که ارائه دهندگان ابری مانند AWS ده ها مرکز داده در سراسر جهان دارند، بیشتر می شود.

Amazon CodeWhisperer از یادگیری ماشینی (ML) و مدل‌های زبان بزرگ برای ارائه توصیه‌های کد در زمان واقعی بر اساس کد اصلی و نظرات زبان طبیعی استفاده می‌کند و توصیه‌هایی برای کد ارائه می‌کند که می‌تواند کارآمدتر باشد. کارایی استفاده از زیرساخت برنامه را می توان با بهینه سازی کد با استفاده از استراتژی هایی از جمله پیشرفت های الگوریتمی، مدیریت موثر حافظه و کاهش عملیات بیهوده I/O افزایش داد.

تولید کد، تکمیل و پیشنهادات

بیایید چندین موقعیت را بررسی کنیم که Amazon CodeWhisperer می تواند مفید باشد.

ابزارهای تولید کد با خودکارسازی توسعه کدهای تکراری یا پیچیده، احتمال خطای انسانی را به حداقل می‌رسانند و در عین حال بر بهینه‌سازی‌های پلتفرم خاص تمرکز می‌کنند. با استفاده از الگوها یا الگوهای تثبیت شده، این برنامه ها ممکن است کدی تولید کنند که به طور مداوم به بهترین شیوه های پایداری پایبند باشد. توسعه دهندگان می توانند کدی را تولید کنند که با استانداردهای کدنویسی خاص مطابقت داشته باشد و به ارائه کد سازگارتر و قابل اعتمادتر در سراسر پروژه کمک کند. کد به دست آمده ممکن است کارآمدتر باشد و به این دلیل که تغییرات کدگذاری انسانی را حذف می کند و می تواند خواناتر باشد، سرعت توسعه را بهبود می بخشد. این می تواند به طور خودکار روش هایی را برای کاهش اندازه و طول برنامه کاربردی، مانند حذف کدهای اضافی، بهبود ذخیره سازی متغیر یا استفاده از روش های فشرده سازی، پیاده سازی کند. این بهینه‌سازی‌ها می‌توانند به بهینه‌سازی مصرف حافظه کمک کنند و با کاهش اندازه بسته، کارایی کلی سیستم را افزایش دهند.

هوش مصنوعی مولد این پتانسیل را دارد که با بهینه سازی تخصیص منابع، برنامه نویسی را پایدارتر کند. نگاه جامع به ردپای کربن یک برنامه مهم است. ابزارهایی مانند نمایه کدگورو آمازون می تواند داده های عملکرد را برای بهینه سازی تأخیر بین مؤلفه ها جمع آوری کند. سرویس نمایه سازی اجرای کد را بررسی می کند و پیشرفت های بالقوه را شناسایی می کند. سپس توسعه‌دهندگان می‌توانند به صورت دستی کد تولید شده خودکار را بر اساس این یافته‌ها برای بهبود بیشتر بهره‌وری انرژی اصلاح کنند. ترکیبی از هوش مصنوعی مولد، نمایه سازی و نظارت انسانی یک حلقه بازخورد ایجاد می کند که می تواند به طور مداوم کارایی کد را بهبود بخشد و اثرات زیست محیطی را کاهش دهد.

اسکرین شات زیر نتایج تولید شده از CodeGuru Profiler را در حالت تأخیر نشان می دهد که شامل ورودی/خروجی شبکه و دیسک است. در این مورد، برنامه همچنان بیشتر وقت خود را در آن می گذراند ImageProcessor.extractTasks (ردیف پایین دوم)، و تقریباً در تمام مدت داخل آن قابل اجرا است، به این معنی که منتظر چیزی نبود. شما می توانید این حالت های رشته را با تغییر به حالت تاخیر از حالت CPU مشاهده کنید. این می تواند به شما کمک کند تا ایده خوبی در مورد اینکه چه چیزی بر زمان ساعت دیواری برنامه تأثیر می گذارد داشته باشید. برای اطلاعات بیشتر مراجعه کنید کاهش ردپای کربن سازمان شما با نمایه Amazon CodeGuru.

تصویر

ایجاد موارد آزمایشی

آمازون کد Whisperer می تواند با در نظر گرفتن مقادیر مرزی، موارد لبه و سایر مسائل احتمالی که ممکن است نیاز به آزمایش داشته باشند، به پیشنهاد موارد آزمایشی و تأیید عملکرد کد کمک کند. همچنین، Amazon CodeWhisperer می تواند ایجاد کدهای تکراری را برای آزمایش واحد ساده کند. به عنوان مثال، اگر نیاز به ایجاد داده های نمونه با استفاده از دستورات INSERT دارید، Amazon CodeWhisperer می تواند درج های لازم را بر اساس یک الگو ایجاد کند. منابع مورد نیاز کلی برای تست نرم افزار را نیز می توان با شناسایی و بهینه سازی موارد تست منابع فشرده یا حذف موارد اضافی کاهش داد. مجموعه های آزمایشی بهبودیافته این پتانسیل را دارند که با افزایش بهره وری انرژی، کاهش مصرف منابع، به حداقل رساندن ضایعات و کاهش حجم کار، ردپای کربن را دوستدار محیط زیست کنند.

برای تجربه عملی بیشتر با Amazon CodeWhisperer، مراجعه کنید توسعه نرم افزار را با Amazon CodeWhisperer بهینه کنید. این پست توصیه‌های کد از Amazon CodeWhisperer را نشان می‌دهد Amazon SageMaker Studio. همچنین کد پیشنهادی را بر اساس نظرات برای بارگذاری و تجزیه و تحلیل یک مجموعه داده نشان می دهد.

نتیجه

در این پست، یاد گرفتیم که چگونه Amazon CodeWhisperer می تواند به توسعه دهندگان کمک کند تا کدهای بهینه و پایدارتر بنویسند. با استفاده از مدل‌های پیشرفته ML، Amazon CodeWhisperer کد شما را تجزیه و تحلیل می‌کند و توصیه‌های شخصی برای بهبود کارایی ارائه می‌دهد که می‌تواند هزینه‌ها را کاهش داده و به کاهش ردپای کربن کمک کند.

با پیشنهاد تنظیمات جزئی و رویکردهای جایگزین، Amazon CodeWhisperer به توسعه دهندگان این امکان را می دهد تا بدون به خطر انداختن عملکرد، مصرف منابع و انتشار گازهای گلخانه ای را به میزان قابل توجهی کاهش دهند. چه به دنبال بهینه‌سازی یک پایگاه کد موجود باشید و چه از منابع کارآمد پروژه‌های جدید اطمینان حاصل کنید، Amazon CodeWhisperer می‌تواند کمک ارزشمندی باشد. برای کسب اطلاعات بیشتر در مورد منابع CodeWhisperer و AWS Sustainability برای بهینه سازی کد، مراحل بعدی زیر را در نظر بگیرید:


درباره نویسندگان

بهینه سازی پایداری با Amazon CodeWhisperer | خدمات وب آمازون هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.عشا دعا یک معمار ارشد راه حل مستقر در منطقه خلیج سانفرانسیسکو است. او به مشتریان سازمانی AWS با درک اهداف و چالش‌های آن‌ها کمک می‌کند رشد کنند و آنها را راهنمایی می‌کند که چگونه می‌توانند برنامه‌های خود را به روشی ابری معماری کنند و در عین حال انعطاف‌پذیری و مقیاس‌پذیری را تضمین کنند. او مشتاق فن آوری های یادگیری ماشین و پایداری محیطی است.

بهینه سازی پایداری با Amazon CodeWhisperer | خدمات وب آمازون هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.آجی گوویندارام یک معمار ارشد راه حل در AWS است. او با مشتریان استراتژیک که از AI/ML برای حل مشکلات پیچیده تجاری استفاده می کنند کار می کند. تجربه او در ارائه جهت فنی و همچنین کمک طراحی برای استقرار برنامه های کاربردی AI/ML در مقیاس متوسط ​​تا بزرگ نهفته است. دانش او از معماری اپلیکیشن گرفته تا داده های بزرگ، تجزیه و تحلیل و یادگیری ماشینی را شامل می شود. او از گوش دادن به موسیقی در هنگام استراحت، تجربه در فضای باز و گذراندن وقت با عزیزانش لذت می برد.

بهینه سازی پایداری با Amazon CodeWhisperer | خدمات وب آمازون هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.اریک ایریگوین یک معمار راه حل در خدمات وب آمازون است که بر مشتریان در صنعت نیمه هادی ها و الکترونیک تمرکز دارد. او از نزدیک با مشتریان همکاری می کند تا چالش های تجاری آنها را درک کند و شناسایی کند که چگونه می توان از AWS برای دستیابی به اهداف استراتژیک آنها استفاده کرد. کار او در درجه اول بر پروژه های مرتبط با هوش مصنوعی و یادگیری ماشین (AI/ML) متمرکز شده است. قبل از پیوستن به AWS، او مشاور ارشد Deloitte's Advanced Analytics بود که در آن جریان های کاری را در چندین تعامل در سراسر ایالات متحده با تمرکز بر تجزیه و تحلیل و AI/ML هدایت می کرد. اریک دارای مدرک لیسانس تجارت از دانشگاه سانفرانسیسکو و کارشناسی ارشد تجزیه و تحلیل از دانشگاه ایالتی کارولینای شمالی است.

تمبر زمان:

بیشتر از آموزش ماشین AWS