กูเกิลเปิดเผยเบื้องหลังการแปลงโค้ดของตัวเอง จากเดิมที่รันบน x86 อย่างเดียว ไปสู่สถาปัตยกรรมแบบ Arm ด้วย
แนวทางการใช้ซีพียู Arm ฝั่งเซิร์ฟเวอร์เป็นสิ่งที่ชัดเจนขึ้นเรื่อยๆ ด้วยเหตุผลเรื่องประสิทธิภาพต่อพลังงานที่ดีกว่า x86 ฝั่งกูเกิลมีซีพียู Axion ที่ออกแบบเองมาตั้งแต่ปี 2024 และ ภายหลังเปิดให้คนนอกเช่าใช้งานผ่าน Google Cloud
กูเกิลบอกว่าอนาคตคือการรองรับหลายสถาปัตยกรรมซีพียู (multiarch) ดังนั้นการพอร์ตโค้ดจาก x86 ให้รองรับ Arm ด้วยเป็นสิ่งจำเป็น แต่ด้วยสเกลของกูเกิลที่มีแอพพลิเคชันภายในมากกว่า 100,000 ตัว การพอร์ตโค้ดจึงไม่ใช่เรื่องง่ายเท่าไรนัก (ตอนนี้พอร์ตไปได้แล้วประมาณ 30,000 ตัว เลยมาเขียนเป็นเปเปอร์วิชาการเล่าว่าทำอย่างไร)
ในช่วงแรก กูเกิลเลือกย้ายแอพพลิเคชันยอดนิยมที่มีปริมาณการใช้งานสูง เช่น ฐานข้อมูล F1, ฐานข้อมูล Spanner, ฐานข้อมูล Bigtable ด้วยวิธีการแบบดั้งเดิม คือ ใช้ทีมวิศวกรเฉพาะมานั่งแปลงโค้ด มีการประชุมประจำสัปดาห์ เพื่อเรียนรู้ปัญหาและข้อจำกัดต่างๆ สิ่งที่กูเกิลพบคือ คอมไพเลอร์และเครื่องมือแปลงโค้ดทำงานได้ค่อนข้างดีกว่าที่คาด แต่ต้องมาเสียเวลากับการแก้ระบบ test, ปรับปรุงระบบ build ที่โบราณ, แก้ปัญหาคอนฟิก และสุดท้ายก็สามารถนำโค้ดเหล่านี้รันบนเครื่อง Arm ในระบบ Borg (พ่อของ Kubernetes) ได้สำเร็จ
ปัญหาถัดมาคือ แอพพลิเคชันยอดนิยม top 50 คิดเป็นสัดส่วน 60% ของการประมวลผลทั้งหมด แม้สัดส่วนของกลุ่ม top 50 มีเยอะ แต่สุดท้ายแล้ว กูเกิลจำเป็นต้องพอร์ตโค้ดของแอพที่เหลืออีกหลัก 100,000 ตัวให้เป็น Arm อยู่ดี วิธีการนัดทีมเจ้าของแอพมาคุยคงไม่เวิร์ค เพราะต้องนัดประชุมอย่างน้อย 100,000 ครั้ง กูเกิลจึงหาระบบอัตโนมัติมาช่วยแก้ปัญหานี้
กูเกิลมีระบบช่วยแปลงโค้ดอยู่แล้วหลายตัว เช่น Rosie, Sanitizers และสร้างเครื่องมือขึ้นใหม่อีกหลายตัว เช่น Continuous Health Monitoring Platform (CHAMP) ระบบมอนิเตอร์งาน multiarch และ CogniPort ระบบ agent ที่ช่วยทดสอบการ build และ test หากพบปัญหาข้อผิดพลาดขึ้น จะมี agent อีกตัวมาช่วยแก้โค้ดให้อัตโนมัติ ตามภาพ

อีกเทคนิคที่ใช้คือการนำโค้ดที่ระบบอัตโนมัติสร้างขึ้น (จำนวน 38,156 commits) มาให้ Gemini วิเคราะห์ว่าโค้ดแต่ละส่วนทำอะไร จัดเป็นหมวดหมู่การแก้ปัญหา แล้วแปลงเป็นชาร์ทออกมาดูว่าทำอะไรไปบ้าง ซึ่งพบว่างานส่วนใหญ่ในช่วงแรกเป็นการพัฒนาเครื่องมือและระบบทดสอบ (สีฟ้าอ่อน) ก่อนค่อยๆ เปลี่ยนเป็นการแปลงโค้ด

กูเกิลบอกว่าตอนนี้ยังมีแอพพลิเคชันอีกหลายหมื่นตัวรอแปลงโค้ดต่อ ซึ่งจะใช้แนวทางอัตโนมัติทำงานต่อไปเรื่อยๆ ส่วนโค้ดใหม่ที่ถูกเขียนขึ้นในอนาคตจะเป็น multiarch โดยดีฟอลต์ทั้งหมดแล้ว
ที่มา - Google Cloud Blog
on
ระบบขนาดใหญ่แบบนี้…
suriyan2538 Tue, 28/10/2025 - 10:13
ระบบขนาดใหญ่แบบนี้ พอต้องมีการปรับปรุงแก้ไขขึ้นมานี่ก็ดูเยอะจนขนลุกจริงๆ
กล้าขยับของจริง
thornza007 Tue, 28/10/2025 - 11:23
กล้าขยับของจริง
สุดยอด agent…
deaknaew Tue, 28/10/2025 - 11:47
สุดยอด agent แก้ปัญหาเองก็สุดจัด
ถ้าดีเดี๊ยวต้องมีปล่อยออกมาใ…
max212 Tue, 28/10/2025 - 14:16
In reply to สุดยอด agent… by deaknaew
ถ้าดีเดี๊ยวคงมีปล่อยออกมาให้ใช่เสียตังใช้ แน่นอนครับ server arm ใช้ระยะยาวราคาถูกจริงๆ
Hetzner นี่ ARM แพงสุดนะฮะ…
hisoft Tue, 28/10/2025 - 22:56
In reply to ถ้าดีเดี๊ยวต้องมีปล่อยออกมาใ… by max212
Hetzner นี่ ARM แพงสุดนะฮะ orz
บริษัทระดับนี้…
pexza Tue, 28/10/2025 - 11:54
บริษัทระดับนี้ ก็ต้องระบบระดับนี้ ไม่น่าแปลกใจ
พวกเขาเคลื่อนไหว
iBas_iNaHee Tue, 28/10/2025 - 13:47
พวกเขาเคลื่อนไหว
เป็นสิ่งต้องทำ…
orchidkit Tue, 28/10/2025 - 17:20
เป็นสิ่งต้องทำ
ไม่เหมือนบางบริษัท technical debt กองเป็นภูเขา
เช่นแอพแชทสีเขียวๆ
เช่นแอพแชทสีเขียวๆ…
raindrop Tue, 28/10/2025 - 20:42
In reply to เป็นสิ่งต้องทำ… by orchidkit
โดนเป็นพรวนเลยครับ...WeChat, Whatsapp 🤣 นี่ถ้า Hangouts ยังอยู่ก็โดนไปด้วย
แต่เอ๊ะ เหมือนลืมแอปอะไรไป..
สุดยอดไปเลย แปลงเสร็จ…
btoy Tue, 28/10/2025 - 20:46
สุดยอดไปเลย แปลงเสร็จไปแล้วกว่า 3 หมื่นแอพ
Google ใช้ Golang…
Ooh Wed, 29/10/2025 - 00:10
Google ใช้ Golang เป็นส่วนใหญ่หรือป่าวนะ
ทำไมยังต้องแปลงโค้ด
ไม่ใช่ Write once, run…
TeamKiller Wed, 29/10/2025 - 09:59
ไม่ใช่ Write once, run anywhere เหรอ
agnt agent
Mediumrare Wed, 29/10/2025 - 12:58
agent
ตรงนีัอาจเปนจุดเริ่มต้นเล็กๆ…
aeksael Thu, 30/10/2025 - 08:46
ตรงนีัอาจเปนจุดเริ่มต้นเล็กๆของการเปลี่ยนผ่านx86ไปarmก็ได้