Optimeerige jätkusuutlikkuse tagamiseks Amazon CodeWhisperer | Amazoni veebiteenused

Optimeerige jätkusuutlikkuse tagamiseks Amazon CodeWhisperer | Amazoni veebiteenused

See postitus uurib, kuidas Amazon Code Whisperer võib aidata kaasa koodi optimeerimisele jätkusuutlikkuse tagamiseks, suurendades ressursitõhusust. Arvutuslikult ressursitõhus kodeerimine on üks tehnika, mille eesmärk on vähendada koodirea töötlemiseks kuluvat energiahulka ja selle tulemusena aidata ettevõtetel üldiselt vähem energiat tarbida. Sellel pilvandmetöötluse ajastul kasutavad arendajad nüüd avatud lähtekoodiga teeke ja neile saadaolevat täiustatud töötlemisvõimsust, et luua suuremahulisi mikroteenuseid, mis peavad olema tõhusad, toimivad ja vastupidavad. Kaasaegsed rakendused koosnevad aga sageli ulatuslik kood, mis nõuab märkimisväärseid arvutusressursse. Kuigi otsene keskkonnamõju ei pruugi olla ilmne, võimendab alaoptimeeritud kood kaasaegsete rakenduste süsiniku jalajälge selliste tegurite kaudu nagu suurenenud energiatarbimine, pikaajaline riistvarakasutus ja aegunud algoritmid. Selles postituses avastame, kuidas Amazon CodeWhisperer aitab neid probleeme lahendada ja teie koodi keskkonnajalajälge vähendada.

Amazon CodeWhisperer on generatiivne AI kodeerimiskaaslane, mis kiirendab tarkvaraarendust, tehes ettepanekuid olemasoleva koodi ja loomuliku keele kommentaaride põhjal, vähendades üldist arendustegevust ja vabastades aega ajurünnakuteks, keeruliste probleemide lahendamiseks ja diferentseeritud koodi loomiseks. Amazon CodeWhisperer võib aidata arendajatel oma töövooge sujuvamaks muuta, koodi kvaliteeti parandada, tugevamaid turvapositsioone luua, luua tugevaid testkomplekte ja kirjutada arvutuslikult ressursisõbralikku koodi, mis aitab teil optimeerida keskkonnasäästlikkust. See on saadaval osana Visual Studio koodi tööriistakomplekt, AWSi pilv, JupyterLab, Amazon SageMaker Studio, AWS Lambda, AWS liimja JetBrains IntelliJ IDEA. Amazon CodeWhisperer toetab praegu Pythoni, Java, JavaScripti, TypeScripti, C#, Go, Rusti, PHP, Ruby, Kotlini, C, C++, Shelli skriptimist, SQL-i ja Scalat.

Optimeerimata koodi mõju pilvandmetöötlusele ja rakenduste süsiniku jalajäljele

AWS-i infrastruktuur on 3.6 korda energiatõhusam kui uuritud USA ettevõtete andmekeskuste mediaan ja kuni viis korda energiasäästlikum kui keskmine Euroopa ettevõtete andmekeskus. Seetõttu võib AWS aidata vähendada töökoormuse süsiniku jalajälge kuni 96%. Nüüd saate kasutada Amazon CodeWhispererit kvaliteetse koodi kirjutamiseks väiksema ressursikasutuse ja energiatarbimisega ning täita skaleeritavuse eesmärke, saades kasu AWS-i energiatõhusast infrastruktuurist.

Suurenenud ressursikasutus

Optimeerimata kood võib põhjustada pilvandmetöötluse ressursside ebatõhusa kasutamise. Selle tulemusena võib vaja minna rohkem virtuaalmasinaid (VM-e) või konteinereid, mis suurendab ressursside jaotamist, energiakasutust ja sellega seotud töökoormuse süsiniku jalajälge. Suurenemist võib täheldada järgmistel juhtudel:

  • Protsessori kasutamine – Optimeerimata kood sisaldab sageli ebaefektiivseid algoritme või kodeerimisvõtteid, mis nõuavad töötamiseks liigseid protsessoritsükleid.
  • Mälu tarbimine – Ebatõhus mäluhaldus optimeerimata koodis võib põhjustada tarbetut mälu eraldamist, eraldamist või andmete dubleerimist.
  • Ketta I/O toimingud – Ebaefektiivne kood võib sooritada liigseid sisend/väljund (I/O) toiminguid. Näiteks kui andmeid loetakse kettalt või kirjutatakse kettale sagedamini kui vaja, võib see suurendada ketta I/O kasutust ja latentsust.
  • Võrgukasutus – Ebatõhusate andmeedastustehnikate või dubleeritud side tõttu võib halvasti optimeeritud kood põhjustada liigset võrguliiklust. See võib kaasa tuua suurema latentsusaja ja suurema võrgu ribalaiuse kasutamise. Suurem võrgukasutus võib põhjustada suuremaid kulutusi ja ressursivajadusi olukordades, kus võrguressursse maksustatakse kasutuse alusel, näiteks pilvandmetöötluses.

Suurem energiakulu

Ebaefektiivse koodiga infrastruktuuri toetavad rakendused kasutavad rohkem töötlemisvõimsust. Arvutusressursside ülekasutamine ebatõhusa ja ülepaisutatud koodi tõttu võib kaasa tuua suurema energiatarbimise ja soojuse tootmise, mis omakorda nõuab jahutamiseks rohkem energiat. Koos serveritega tarbivad energiat ka jahutussüsteemid, elektrijaotuse infrastruktuur ja muud abielemendid.

Skaleeritavuse väljakutsed

Rakenduste arendamisel võib skaleeritavuse probleeme põhjustada optimeerimata kood. Selline kood ei pruugi ülesande kasvades tõhusalt skaleeruda, mistõttu on vaja rohkem ressursse ja kulub rohkem energiat. See suurendab nende koodifragmentide tarbitavat energiat. Nagu eelnevalt mainitud, on ebaefektiivsel või raiskaval koodil mastaabis komplitseeriv mõju.

Klientide teatud andmekeskustes kasutatava koodi optimeerimisest tulenev energiasääst on veelgi suurem, kui võtta arvesse, et pilveteenuse pakkujatel, nagu AWS, on kümneid andmekeskusi üle maailma.

Amazon CodeWhisperer kasutab masinõpet (ML) ja suuri keelemudeleid, et pakkuda reaalajas koodisoovitusi algse koodi ja loomuliku keele kommentaaride põhjal ning pakub koodisoovitusi, mis võiksid olla tõhusamad. Programmi infrastruktuuri kasutamise tõhusust saab suurendada, optimeerides koodi, kasutades strateegiaid, sealhulgas algoritmilisi edusamme, tõhusat mäluhaldust ja mõttetute I/O-toimingute vähendamist.

Koodi genereerimine, lõpetamine ja soovitused

Uurime mitut olukorda, kus Amazon CodeWhisperer võib olla kasulik.

Automatiseerides korduva või keeruka koodi väljatöötamist, vähendavad koodi genereerimise tööriistad inimlike vigade võimalust, keskendudes samal ajal platvormipõhisele optimeerimisele. Kasutades väljakujunenud mustreid või malle, võivad need programmid luua koodi, mis järgib järjepidevamalt jätkusuutlikkuse parimaid tavasid. Arendajad saavad koostada koodi, mis vastab teatud kodeerimisstandarditele, aidates pakkuda kogu projekti jooksul ühtsemat ja töökindlamat koodi. Saadud kood võib olla tõhusam ja seetõttu, et see eemaldab inimeste kodeerimise variatsioonid ja võib olla loetavam, parandades arenduskiirust. See võib automaatselt rakendada viise rakendusprogrammi suuruse ja pikkuse vähendamiseks, näiteks üleliigse koodi kustutamine, muutuva salvestusruumi parandamine või tihendusmeetodite kasutamine. Need optimeerimised võivad aidata mälutarbimist optimeerida ja suurendada süsteemi üldist tõhusust, vähendades paketi suurust.

Generatiivne AI on potentsiaali muuta programmeerimine jätkusuutlikumaks, optimeerides ressursside jaotamist. Rakenduse süsiniku jalajälje terviklik vaatlemine on oluline. Tööriistad nagu Amazon CodeGuru Profiler saab koguda jõudlusandmeid, et optimeerida komponentide vahelist latentsust. Profileerimisteenus uurib koodi käitamist ja tuvastab võimalikud täiustused. Seejärel saavad arendajad nende leidude põhjal automaatselt loodud koodi käsitsi täpsustada, et veelgi parandada energiatõhusust. Generatiivse tehisintellekti, profiilide koostamise ja inimliku järelevalve kombinatsioon loob tagasisideahela, mis võib pidevalt parandada koodi tõhusust ja vähendada keskkonnamõju.

Järgmine ekraanipilt näitab teile CodeGuru Profileri latentsusrežiimis genereeritud tulemusi, mis hõlmab võrgu ja ketta I/O-d. Sellisel juhul veedab rakendus ikkagi suurema osa ajast ImageProcessor.extractTasks (teine ​​alumine rida) ja peaaegu kogu aeg sees on joostav, mis tähendab, et see ei oodanud midagi. Neid lõime olekuid saate vaadata, kui lülitate protsessorirežiimist latentsusrežiimi. See võib aidata teil saada hea ettekujutuse sellest, mis mõjutab rakenduse seinakella aega. Lisateabe saamiseks vaadake Vähendage oma organisatsiooni süsiniku jalajälge Amazon CodeGuru Profileri abil.

pilt

Testjuhtumite genereerimine

Amazon Code Whisperer võib aidata soovitada testjuhtumeid ja kontrollida koodi funktsionaalsust, võttes arvesse piirväärtusi, servajuhtumeid ja muid võimalikke probleeme, mida võib olla vaja testida. Samuti võib Amazon CodeWhisperer lihtsustada korduva koodi loomist ühiku testimiseks. Näiteks kui teil on vaja luua näidisandmeid kasutades INSERT-lauseid, saab Amazon CodeWhisperer genereerida vajalikud lisad mustri alusel. Tarkvara testimise üldist ressursinõuet saab vähendada ka ressursimahukate testjuhtumite tuvastamise ja optimeerimisega või üleliigsete eemaldamisega. Täiustatud testikomplektid võivad muuta rakenduse keskkonnasõbralikumaks, suurendades energiatõhusust, vähendades ressursitarbimist, minimeerides jäätmeid ja vähendades töökoormuse süsiniku jalajälge.

Amazon CodeWhispereriga praktilisema kogemuse saamiseks vaadake Optimeerige tarkvaraarendust Amazon CodeWhispereri abil. Postitus tutvustab Amazon CodeWhispereri koodisoovitusi Amazon SageMaker Studio. Samuti demonstreerib see soovitatud koodi andmestiku laadimise ja analüüsimise kommentaaride põhjal.

Järeldus

Selles postituses õppisime, kuidas Amazon CodeWhisperer saab aidata arendajatel optimeeritud ja jätkusuutlikumat koodi kirjutada. Täiustatud ML-mudeleid kasutades analüüsib Amazon CodeWhisperer teie koodi ja annab isikupärastatud soovitusi tõhususe parandamiseks, mis võib vähendada kulusid ja aidata vähendada süsiniku jalajälge.

Väiksemaid kohandusi ja alternatiivseid lähenemisviise soovitades võimaldab Amazon CodeWhisperer arendajatel märkimisväärselt vähendada ressursikasutust ja heitkoguseid ilma funktsionaalsust ohverdamata. Ükskõik, kas soovite optimeerida olemasolevat koodibaasi või tagada uute projektide ressursitõhusus, võib Amazon CodeWhisperer olla hindamatu abivahend. Koodi optimeerimise Amazon CodeWhispereri ja AWS-i jätkusuutlikkuse ressursside kohta lisateabe saamiseks kaaluge järgmisi samme.


Autoritest

Optimeerige jätkusuutlikkuse tagamiseks Amazon CodeWhisperer | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Isha Dua on San Francisco lahe piirkonnas asuv vanemlahenduste arhitekt. Ta aitab AWS-i äriklientidel kasvada, mõistes nende eesmärke ja väljakutseid, ning juhendab neid, kuidas nad saavad oma rakendusi pilvepõhiselt üles ehitada, tagades samal ajal vastupidavuse ja mastaapsuse. Ta on kirglik masinõppetehnoloogiate ja keskkonnasäästlikkuse vastu.

Optimeerige jätkusuutlikkuse tagamiseks Amazon CodeWhisperer | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Ajjay Govindaram on AWSi vanemlahenduste arhitekt. Ta töötab strateegiliste klientidega, kes kasutavad AI/ML-i keerukate äriprobleemide lahendamiseks. Tema kogemused seisnevad nii tehniliste juhiste kui ka disainiabi pakkumises tagasihoidlike kuni suuremahuliste AI/ML-rakenduste juurutamiseks. Tema teadmised ulatuvad rakendusarhitektuurist suurandmete, analüütika ja masinõppeni. Talle meeldib puhates muusikat kuulata, õues kogeda ja oma lähedastega aega veeta.

Optimeerige jätkusuutlikkuse tagamiseks Amazon CodeWhisperer | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Erick Irigoyen on Amazon Web Servicesi lahenduste arhitekt, kes keskendub pooljuhtide ja elektroonikatööstuse klientidele. Ta teeb tihedat koostööd klientidega, et mõista nende äriprobleeme ja teha kindlaks, kuidas saab AWS-i nende strateegiliste eesmärkide saavutamiseks kasutada. Tema töö on keskendunud peamiselt tehisintellekti ja masinõppega (AI/ML) seotud projektidele. Enne AWS-iga liitumist oli ta Deloitte'i Advanced Analytics praktika vanemkonsultant, kus ta juhtis töövoogusid mitmes töös Ameerika Ühendriikides, keskendudes Analyticsile ja AI/ML-ile. Erick on omandanud äriteaduse bakalaureusekraadi San Francisco ülikoolist ja magistrikraadi analüütikas Põhja-Carolina osariigi ülikoolist.

Ajatempel:

Veel alates AWS-i masinõpe