เพิ่มประสิทธิภาพเพื่อความยั่งยืนด้วย Amazon CodeWhisperer | อเมซอนเว็บเซอร์วิส

เพิ่มประสิทธิภาพเพื่อความยั่งยืนด้วย Amazon CodeWhisperer | อเมซอนเว็บเซอร์วิส

โพสต์นี้จะสำรวจวิธีการ Amazon Code Whisperer สามารถช่วยเพิ่มประสิทธิภาพโค้ดเพื่อความยั่งยืนผ่านการเพิ่มประสิทธิภาพทรัพยากร การเขียนโค้ดโดยใช้ทรัพยากรอย่างมีประสิทธิภาพทางคอมพิวเตอร์เป็นเทคนิคหนึ่งที่มีจุดมุ่งหมายเพื่อลดปริมาณพลังงานที่ต้องใช้ในการประมวลผลบรรทัดโค้ด และผลที่ได้คือ ช่วยให้บริษัทต่างๆ ใช้พลังงานโดยรวมน้อยลง ในยุคของการประมวลผลบนคลาวด์นี้ นักพัฒนากำลังควบคุมไลบรารีโอเพ่นซอร์สและพลังการประมวลผลขั้นสูงที่มีอยู่เพื่อสร้างไมโครเซอร์วิสขนาดใหญ่ที่ต้องมีประสิทธิภาพในการปฏิบัติงาน มีประสิทธิภาพ และฟื้นตัวได้ อย่างไรก็ตามแอปพลิเคชันสมัยใหม่มักประกอบด้วย รหัสที่กว้างขวางซึ่งต้องการทรัพยากรการประมวลผลจำนวนมาก. แม้ว่าผลกระทบโดยตรงต่อสิ่งแวดล้อมอาจไม่ชัดเจน แต่โค้ดที่ได้รับการปรับปรุงย่อยจะขยายการปล่อยก๊าซคาร์บอนไดออกไซด์ของแอปพลิเคชันสมัยใหม่ผ่านปัจจัยต่างๆ เช่น การใช้พลังงานที่เพิ่มขึ้น การใช้ฮาร์ดแวร์เป็นเวลานาน และอัลกอริธึมที่ล้าสมัย ในโพสต์นี้ เราจะค้นพบวิธีที่ Amazon CodeWhisperer ช่วยแก้ไขข้อกังวลเหล่านี้และลดผลกระทบต่อสิ่งแวดล้อมของโค้ดของคุณ

Amazon CodeWhisperer คือคู่หูในการเขียนโค้ด AI ที่สร้างความเร็วในการพัฒนาซอฟต์แวร์โดยให้คำแนะนำตามโค้ดที่มีอยู่และความคิดเห็นในภาษาธรรมชาติ ลดความพยายามในการพัฒนาโดยรวม และเพิ่มเวลาในการระดมความคิด แก้ไขปัญหาที่ซับซ้อน และการเขียนโค้ดที่แตกต่าง Amazon CodeWhisperer สามารถช่วย Developer ปรับปรุงเวิร์กโฟลว์ของตน ปรับปรุงคุณภาพโค้ด สร้างมาตรการรักษาความปลอดภัยที่แข็งแกร่งขึ้น สร้างชุดการทดสอบที่มีประสิทธิภาพ และเขียนโค้ดที่เป็นมิตรต่อทรัพยากรในการคำนวณ ซึ่งสามารถช่วยคุณปรับให้เหมาะสมเพื่อความยั่งยืนด้านสิ่งแวดล้อม มีจำหน่ายเป็นส่วนหนึ่งของ ชุดเครื่องมือสำหรับโค้ด Visual Studio, AWS Cloud9, จูปิเตอร์แล็บ, สตูดิโอ Amazon SageMaker, AWS แลมบ์ดา, AWS กาวและ JetBrains IntelliJ IDEA ปัจจุบัน Amazon CodeWhisperer รองรับ Python, Java, JavaScript, TypeScript, C#, Go, Rust, PHP, Ruby, Kotlin, C, C++, การเขียนสคริปต์ Shell, SQL และ Scala

ผลกระทบของโค้ดที่ไม่ได้รับการปรับให้เหมาะสมต่อการประมวลผลแบบคลาวด์และการปล่อยก๊าซคาร์บอนไดออกไซด์ของแอปพลิเคชัน

โครงสร้างพื้นฐานของ AWS ประหยัดพลังงานมากกว่าค่ามัธยฐานของศูนย์ข้อมูลองค์กรของสหรัฐอเมริกาที่ทำการสำรวจถึง 3.6 เท่า และประหยัดพลังงานมากกว่าศูนย์ข้อมูลองค์กรโดยเฉลี่ยของยุโรปถึง 5 เท่า. ดังนั้น AWS สามารถช่วยลดปริมาณการปล่อยก๊าซคาร์บอนไดออกไซด์ของงานได้สูงสุดถึง 96% ตอนนี้คุณสามารถใช้ Amazon CodeWhisperer เพื่อเขียนโค้ดคุณภาพโดยลดการใช้ทรัพยากรและการใช้พลังงาน และบรรลุวัตถุประสงค์ด้านความสามารถในการปรับขนาดในขณะที่ได้รับประโยชน์จากโครงสร้างพื้นฐานที่ประหยัดพลังงานของ AWS

การใช้ทรัพยากรเพิ่มขึ้น

รหัสที่ไม่ได้รับการปรับให้เหมาะสมอาจส่งผลให้การใช้งานทรัพยากรการประมวลผลบนคลาวด์ไม่มีประสิทธิภาพ เป็นผลให้อาจจำเป็นต้องใช้เครื่องเสมือน (VM) หรือคอนเทนเนอร์เพิ่มขึ้น เพิ่มการจัดสรรทรัพยากร การใช้พลังงาน และปริมาณการปล่อยก๊าซคาร์บอนไดออกไซด์ที่เกี่ยวข้อง คุณอาจพบการเพิ่มขึ้นของสิ่งต่อไปนี้:

  • การใช้งาน CPU – โค้ดที่ไม่ได้รับการปรับให้เหมาะสมมักจะมีอัลกอริธึมหรือวิธีปฏิบัติในการเขียนโค้ดที่ไม่มีประสิทธิภาพซึ่งต้องใช้รอบ CPU มากเกินไปในการทำงาน
  • การใช้หน่วยความจำ – การจัดการหน่วยความจำที่ไม่มีประสิทธิภาพในโค้ดที่ไม่ได้รับการปรับให้เหมาะสมอาจส่งผลให้เกิดการจัดสรรหน่วยความจำที่ไม่จำเป็น การจัดสรรคืน หรือการทำสำเนาข้อมูล
  • การดำเนินงานของดิสก์ I/O – รหัสที่ไม่มีประสิทธิภาพสามารถดำเนินการอินพุต/เอาท์พุต (I/O) มากเกินไปได้ ตัวอย่างเช่น หากมีการอ่านหรือเขียนข้อมูลลงดิสก์บ่อยเกินความจำเป็น ข้อมูลดังกล่าวอาจเพิ่มการใช้งาน I/O ของดิสก์และเวลาแฝงได้
  • การใช้งานเครือข่าย – เนื่องจากเทคนิคการส่งข้อมูลที่ไม่มีประสิทธิภาพหรือการสื่อสารซ้ำซ้อน รหัสที่ได้รับการปรับปรุงไม่ดีอาจทำให้เกิดการรับส่งข้อมูลเครือข่ายมากเกินไป สิ่งนี้สามารถนำไปสู่เวลาแฝงที่สูงขึ้นและเพิ่มการใช้แบนด์วิดท์เครือข่าย การใช้งานเครือข่ายที่เพิ่มขึ้นอาจส่งผลให้ค่าใช้จ่ายและความต้องการทรัพยากรสูงขึ้นในสถานการณ์ที่ทรัพยากรเครือข่ายถูกเก็บภาษีตามการใช้งาน เช่น ในการประมวลผลแบบคลาวด์

การใช้พลังงานที่สูงขึ้น

แอปพลิเคชันที่รองรับโครงสร้างพื้นฐานที่มีโค้ดที่ไม่มีประสิทธิภาพจะใช้พลังการประมวลผลมากกว่า การใช้ทรัพยากรการประมวลผลมากเกินไปเนื่องจากโค้ดที่ไม่มีประสิทธิภาพและซับซ้อนอาจส่งผลให้มีการใช้พลังงานและการผลิตความร้อนสูงขึ้น ซึ่งต่อมาจำเป็นต้องใช้พลังงานมากขึ้นในการทำความเย็น นอกจากเซิร์ฟเวอร์แล้ว ระบบระบายความร้อน โครงสร้างพื้นฐานสำหรับการจ่ายพลังงาน และองค์ประกอบเสริมอื่นๆ ยังใช้พลังงานอีกด้วย

ความท้าทายในการขยายขนาด

ในการพัฒนาแอปพลิเคชัน ปัญหาด้านความสามารถในการปรับขนาดอาจเกิดจากโค้ดที่ไม่ได้รับการปรับให้เหมาะสม โค้ดดังกล่าวอาจไม่ปรับขนาดได้อย่างมีประสิทธิภาพเมื่องานเติบโตขึ้น ซึ่งจำเป็นต้องใช้ทรัพยากรมากขึ้นและใช้พลังงานมากขึ้น สิ่งนี้จะเพิ่มพลังงานที่ใช้โดยชิ้นส่วนโค้ดเหล่านี้ ตามที่กล่าวไว้ก่อนหน้านี้ โค้ดที่ไม่มีประสิทธิภาพหรือสิ้นเปลืองจะมีผลกระทบแบบทบต้นในวงกว้าง

การประหยัดพลังงานแบบทบต้นจากการเพิ่มประสิทธิภาพโค้ดที่ลูกค้าเรียกใช้ในศูนย์ข้อมูลบางแห่งนั้นยิ่งทบต้นไปอีกเมื่อเราพิจารณาว่าผู้ให้บริการระบบคลาวด์ เช่น AWS มีศูนย์ข้อมูลหลายสิบแห่งทั่วโลก

Amazon CodeWhisperer ใช้ Machine Learning (ML) และโมเดลภาษาขนาดใหญ่เพื่อให้คำแนะนำโค้ดแบบเรียลไทม์ตามโค้ดต้นฉบับและความคิดเห็นในภาษาธรรมชาติ และให้คำแนะนำโค้ดที่อาจมีประสิทธิภาพมากขึ้น ประสิทธิภาพการใช้งานโครงสร้างพื้นฐานของโปรแกรมสามารถเพิ่มขึ้นได้โดยการเพิ่มประสิทธิภาพโค้ดโดยใช้กลยุทธ์ต่างๆ รวมถึงความก้าวหน้าของอัลกอริธึม การจัดการหน่วยความจำที่มีประสิทธิภาพ และการลดการดำเนินการ I/O ที่ไม่มีจุดหมาย

การสร้างโค้ด ความสมบูรณ์ และข้อเสนอแนะ

มาตรวจสอบสถานการณ์ต่างๆ ที่ Amazon CodeWhisperer มีประโยชน์กันดีกว่า

ด้วยการพัฒนาโค้ดที่ซ้ำหรือซับซ้อนโดยอัตโนมัติ เครื่องมือสร้างโค้ดจึงลดโอกาสที่จะเกิดข้อผิดพลาดจากมนุษย์ในขณะที่มุ่งเน้นไปที่การปรับให้เหมาะสมเฉพาะแพลตฟอร์ม ด้วยการใช้รูปแบบหรือเทมเพลตที่กำหนดไว้ โปรแกรมเหล่านี้อาจสร้างโค้ดที่สอดคล้องกับแนวทางปฏิบัติที่ดีที่สุดด้านความยั่งยืนอย่างสม่ำเสมอมากขึ้น นักพัฒนาสามารถสร้างโค้ดที่สอดคล้องกับมาตรฐานการเข้ารหัสโดยเฉพาะ ช่วยให้ส่งมอบโค้ดที่สอดคล้องกันและเชื่อถือได้มากขึ้นตลอดทั้งโปรเจ็กต์ โค้ดที่ได้อาจมีประสิทธิภาพมากกว่า และเนื่องจากจะลบรูปแบบการเขียนโค้ดของมนุษย์ออก และสามารถอ่านได้ง่ายกว่า ซึ่งจะช่วยปรับปรุงความเร็วในการพัฒนา โดยสามารถปรับใช้วิธีต่างๆ ในการลดขนาดและความยาวของโปรแกรมแอปพลิเคชันได้โดยอัตโนมัติ เช่น การลบโค้ดที่ไม่จำเป็น การปรับปรุงพื้นที่จัดเก็บตัวแปร หรือการใช้วิธีการบีบอัด การปรับให้เหมาะสมเหล่านี้สามารถช่วยเพิ่มประสิทธิภาพการใช้หน่วยความจำและเพิ่มประสิทธิภาพของระบบโดยรวมโดยการลดขนาดแพ็คเกจ

กำเนิด AI มีศักยภาพที่จะทำให้การเขียนโปรแกรมมีความยั่งยืนมากขึ้นโดยเพิ่มประสิทธิภาพการจัดสรรทรัพยากร การคำนึงถึงปริมาณการปล่อยก๊าซคาร์บอนไดออกไซด์ของแอปพลิเคชันแบบองค์รวมเป็นสิ่งสำคัญ เครื่องมือเช่น ตัวสร้างโปรไฟล์ Amazon CodeGuru สามารถรวบรวมข้อมูลประสิทธิภาพเพื่อเพิ่มประสิทธิภาพเวลาแฝงระหว่างส่วนประกอบต่างๆ บริการจัดทำโปรไฟล์จะตรวจสอบการรันโค้ดและระบุการปรับปรุงที่อาจเกิดขึ้น จากนั้นนักพัฒนาสามารถปรับแต่งโค้ดที่สร้างขึ้นโดยอัตโนมัติตามการค้นพบเหล่านี้ เพื่อปรับปรุงประสิทธิภาพการใช้พลังงานให้ดียิ่งขึ้น การผสมผสานระหว่าง generative AI การทำโปรไฟล์ และการกำกับดูแลของมนุษย์ ทำให้เกิดวงจรป้อนกลับที่สามารถปรับปรุงประสิทธิภาพของโค้ดได้อย่างต่อเนื่อง และลดผลกระทบต่อสิ่งแวดล้อม

ภาพหน้าจอต่อไปนี้แสดงผลลัพธ์ที่สร้างจาก CodeGuru Profiler ในโหมดเวลาแฝง ซึ่งรวมถึงเครือข่ายและดิสก์ I/O ในกรณีนี้ แอปพลิเคชันยังคงใช้เวลาส่วนใหญ่อยู่ ImageProcessor.extractTasks (แถวล่างที่สอง) และเกือบตลอดเวลาข้างในนั้นสามารถรันได้ ซึ่งหมายความว่ามันไม่รออะไรเลย คุณสามารถดูสถานะของเธรดเหล่านี้ได้โดยเปลี่ยนเป็นโหมดเวลาแฝงจากโหมด CPU วิธีนี้สามารถช่วยให้คุณเข้าใจได้ดีว่าอะไรส่งผลต่อเวลานาฬิกาแขวนของแอปพลิเคชัน สำหรับข้อมูลเพิ่มเติม โปรดดูที่ ลดคาร์บอนฟุตพริ้นท์ขององค์กรของคุณด้วย Amazon CodeGuru Profiler.

ภาพ

การสร้างกรณีทดสอบ

Amazon Code Whisperer สามารถช่วยแนะนำกรณีทดสอบและตรวจสอบการทำงานของโค้ดโดยการพิจารณาค่าขอบเขต กรณีขอบ และปัญหาที่อาจเกิดขึ้นอื่นๆ ที่อาจจำเป็นต้องทดสอบ นอกจากนี้ Amazon CodeWhisperer ยังช่วยลดความซับซ้อนในการสร้างโค้ดซ้ำสำหรับการทดสอบหน่วยอีกด้วย ตัวอย่างเช่น หากคุณต้องการสร้างข้อมูลตัวอย่างโดยใช้คำสั่ง INSERT Amazon CodeWhisperer สามารถสร้างส่วนแทรกที่จำเป็นตามรูปแบบได้ ความต้องการทรัพยากรโดยรวมสำหรับการทดสอบซอฟต์แวร์สามารถลดลงได้ด้วยการระบุและเพิ่มประสิทธิภาพกรณีทดสอบที่ใช้ทรัพยากรมาก หรือลบกรณีทดสอบที่ซ้ำซ้อนออก ชุดทดสอบที่ได้รับการปรับปรุงมีศักยภาพในการทำให้แอปพลิเคชันเป็นมิตรกับสิ่งแวดล้อมมากขึ้น โดยการเพิ่มประสิทธิภาพการใช้พลังงาน ลดการใช้ทรัพยากร ลดของเสีย และลดปริมาณการปล่อยก๊าซคาร์บอนไดออกไซด์ของภาระงาน

หากต้องการสัมผัสประสบการณ์จริงกับ Amazon CodeWhisperer เพิ่มเติม โปรดดูที่ เพิ่มประสิทธิภาพการพัฒนาซอฟต์แวร์ด้วย Amazon CodeWhisperer. โพสต์นี้แสดงคำแนะนำโค้ดจาก Amazon CodeWhisperer ใน สตูดิโอ Amazon SageMaker. นอกจากนี้ยังสาธิตโค้ดที่แนะนำตามความคิดเห็นสำหรับการโหลดและวิเคราะห์ชุดข้อมูล

สรุป

ในโพสต์นี้ เราได้เรียนรู้วิธีที่ Amazon CodeWhisperer สามารถช่วย Developer เขียนโค้ดที่ได้รับการปรับปรุงให้เหมาะสมและยั่งยืนยิ่งขึ้นได้ Amazon CodeWhisperer ใช้โมเดล ML ขั้นสูงในการวิเคราะห์โค้ดของคุณและให้คำแนะนำเฉพาะบุคคลในการปรับปรุงประสิทธิภาพ ซึ่งสามารถลดต้นทุนและช่วยลดปริมาณการปล่อยก๊าซคาร์บอนไดออกไซด์

ด้วยการแนะนำการปรับเปลี่ยนเล็กน้อยและแนวทางทางเลือก Amazon CodeWhisperer ช่วยให้นักพัฒนาสามารถลดการใช้ทรัพยากรและการปล่อยก๊าซลงได้อย่างมากโดยไม่ต้องเสียสละฟังก์ชันการทำงาน ไม่ว่าคุณกำลังมองหาการเพิ่มประสิทธิภาพฐานโค้ดที่มีอยู่หรือให้แน่ใจว่าโปรเจ็กต์ใหม่ใช้ทรัพยากรอย่างมีประสิทธิภาพ Amazon CodeWhisperer สามารถเป็นตัวช่วยอันล้ำค่าได้ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับทรัพยากร Amazon CodeWhisperer และ AWS Sustainability สำหรับการเพิ่มประสิทธิภาพโค้ด ให้พิจารณาขั้นตอนถัดไปต่อไปนี้:


เกี่ยวกับผู้แต่ง

เพิ่มประสิทธิภาพเพื่อความยั่งยืนด้วย Amazon CodeWhisperer | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.อิชา ดุอา เป็นสถาปนิกโซลูชันอาวุโสที่ตั้งอยู่ในบริเวณอ่าวซานฟรานซิสโก เธอช่วยให้ลูกค้าระดับองค์กรของ AWS เติบโตโดยเข้าใจเป้าหมายและความท้าทายของพวกเขา และแนะนำพวกเขาเกี่ยวกับวิธีที่พวกเขาสามารถออกแบบแอปพลิเคชันในลักษณะแบบเนทีฟบนคลาวด์ ในขณะเดียวกันก็รับประกันความยืดหยุ่นและความสามารถในการปรับขนาด เธอหลงใหลเกี่ยวกับเทคโนโลยีแมชชีนเลิร์นนิงและความยั่งยืนของสิ่งแวดล้อม

เพิ่มประสิทธิภาพเพื่อความยั่งยืนด้วย Amazon CodeWhisperer | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.อาจารย์โกวินทราม เป็นสถาปนิกโซลูชันอาวุโสที่ AWS เขาทำงานร่วมกับลูกค้าเชิงกลยุทธ์ที่ใช้ AI/ML เพื่อแก้ปัญหาทางธุรกิจที่ซับซ้อน ประสบการณ์ของเขาอยู่ที่การให้คำแนะนำด้านเทคนิคตลอดจนความช่วยเหลือด้านการออกแบบสำหรับการปรับใช้แอปพลิเคชัน AI/ML ระดับปานกลางถึงขนาดใหญ่ ความรู้ของเขามีตั้งแต่สถาปัตยกรรมแอปพลิเคชันไปจนถึงข้อมูลขนาดใหญ่ การวิเคราะห์ และการเรียนรู้ของเครื่อง เขาชอบฟังเพลงขณะพักผ่อน สัมผัสประสบการณ์กลางแจ้ง และใช้เวลากับคนที่เขารัก

เพิ่มประสิทธิภาพเพื่อความยั่งยืนด้วย Amazon CodeWhisperer | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.เอริค อิริโกเยน เป็นสถาปนิกโซลูชันที่ Amazon Web Services โดยมุ่งเน้นที่ลูกค้าในอุตสาหกรรมเซมิคอนดักเตอร์และอิเล็กทรอนิกส์ เขาทำงานอย่างใกล้ชิดกับลูกค้าเพื่อทำความเข้าใจความท้าทายทางธุรกิจและระบุวิธีที่ AWS สามารถนำไปใช้เพื่อบรรลุเป้าหมายเชิงกลยุทธ์ได้ งานของเขามุ่งเน้นไปที่โครงการที่เกี่ยวข้องกับปัญญาประดิษฐ์และการเรียนรู้ของเครื่องจักร (AI/ML) เป็นหลัก ก่อนที่จะมาร่วมงานกับ AWS เขาเป็นที่ปรึกษาอาวุโสที่การปฏิบัติงาน Advanced Analytics ของ Deloitte ซึ่งเขาเป็นผู้นำสตรีมงานในการมีส่วนร่วมต่างๆ ทั่วสหรัฐอเมริกาโดยมุ่งเน้นที่การวิเคราะห์และ AI/ML เอริคสำเร็จการศึกษาระดับปริญญาตรีสาขาธุรกิจจากมหาวิทยาลัยซานฟรานซิสโก และปริญญาโทสาขาการวิเคราะห์จากมหาวิทยาลัยนอร์ธแคโรไลนาสเตต

ประทับเวลา:

เพิ่มเติมจาก AWS Machine Learning AWS