Tags:
Node Thumbnail

ทีมนักวิจัยจาก University of Waterloo ในแคนาดา ค้นพบการปรับแต่งโค้ดเคอร์เนลลินุกซ์ 30 บรรทัด สามารถช่วยลดการใช้พลังงานในศูนย์ข้อมูลลงได้สูงสุด 30%

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

งานวิจัยนี้ถูกตีพิมพ์ และนำเสนอในงาน ACM SIGMETRICS 2024 ส่วนแพตช์ตัวนี้ถูกรวมเข้ากับเคอร์เนลเวอร์ชัน 6.13 ที่เพิ่งออกไป

ที่มา - University of Waterloo, Data Center Dynamics

Martin Karsten ศาสตราจารย์ด้าน Systems and Networking ของ University of Waterloo หัวหน้าทีมวิจัยนี้

No Description

Get latest news from Blognone

Comments

By: abstractox on 27 January 2025 - 10:32 #1332265

เอาจริงๆเรื่องพวกนี้มีอยู่เยอะมาก บริษัททั่วๆไปก็เป็น ใน Software ทำวนลูปซ้ำซอน หรือเขียน CODE แบบไม่ Optimize ส่วนใน Database ก็ไม่ได้ทำ Index บ้าง หรือมี Strategy ในการวางฐานข้อมูลไว้ไม่ดี ที่เคย Optimize code ก็เคยลดพวก Process หนักๆที่เป็นการ Process ข้อมูลทั้งระบบได้จาก 3 ชั่วโมง เหลือ 1 ชั่วโมง แก้ CODE 5 บรรทัดเหมือนกัน

ควรมีทีมไล่ Optimize process ต่างๆ น่าจะรีดประสิทธิภาพได้มากขึ้น

By: deaknaew on 27 January 2025 - 10:44 #1332268 Reply to:1332265

มันเป็น technical dept ที่มีหมดทุกที่แหละ ส่วนใหญ่ก็โดนจำกัดด้วยเวลา ไม่ก็งบประมาณ

พอผ่านไป ของมันทำงานได้อยู่แล้ว ก็ไม่มีใครอยากจะแก้ให้มันพัง

By: abstractox on 27 January 2025 - 11:07 #1332273 Reply to:1332268

อันนี้น่าจะเป็น point หลักเลยครับ บางทีแก้ไขไป จากใช้งานได้ปกติเป็นทำให้พัง ยิ่งระบบที่มีความสำคัญระดับ Critical ด้วย

By: whitebigbird
Contributor
on 27 January 2025 - 16:11 #1332322 Reply to:1332273
whitebigbird's picture

แสดงว่าไม่ได้เขียน test เอาไว้

By: tstcnr1u
iPhoneWindows PhoneAndroidUbuntu
on 27 January 2025 - 11:15 #1332274 Reply to:1332268

ใช่เลยครับมันแพงคนก็ไม่พอด้วย งานนั้นเสร็จถ้ามันอยู่ในระดับที่รับได้ก็ไปทำอย่างอื่นใครจะอยากไปลงทุนยิ่งอะไรที่ไม่ใช่ของเอาไปใช้ซ้ำๆหลายที่ด้วย

By: rattananen
AndroidWindows
on 27 January 2025 - 10:52 #1332270 Reply to:1332265

ไม่จำเป็นครับ เพราะมันเป็นหน้าที่ของคนเขียนครับ
จะให้ code มันดีขึ้น ก็ต้องหาทางปรับปรุงคนเขียนครับ

By: shub on 27 January 2025 - 14:00 #1332295 Reply to:1332270

คนเขียนหลายๆคนก็ไม่ได้ว่างมานั่งเทสมานั่งปรับ มีคิวงานอย่างอื่นล้น หรืออาจจะไม่ได้เก่งด้านนี้
งานมันไม่ได้จำเป็นตายตัวต้องเป็นหน้าที่คนเขียนอย่างเดียวหรอก ไม่งั้นจะทำงานกันเป็นทีมทำไมไม่เขียนไปคนเดียวเลย

By: rattananen
AndroidWindows
on 27 January 2025 - 14:48 #1332302 Reply to:1332295

ถ้าเลือกที่จะเขียน code แล้ว
- เขียนให้มีคุณภาพ
- manage เวลา
- หาความรู้เพิ่มเติม
ก็ถือเป็นหน้าที่/จรรยาบรรณ ที่ต้องทำ เพราะเราเลือกเอง
เพราะถ้าเราไม่ทำ ภาระงานเราจะตกไปอยู่กับผู้อื่น คนที่รับภาระเราไปก็ไม่ได้เงินเพิ่ม กลายเป็นเราเอาเปรียบผู้อื่นอีก

และมันก็จะกลายเป็นต้นตอของปัญหาการเมืองต่างๆ ในองค์กร

By: max212
AndroidRed HatSUSEUbuntu
on 27 January 2025 - 18:14 #1332334 Reply to:1332270
max212's picture

ระดับเขียน Kernel ใช้กันเกือบทั่วโลกแล้วคุณบอกว่าไม่ดีนี่ไม่น่าจะใช่นะครับ แบบนั้นโปรแกรมเมอร์ทั่วไปจะต้องอยู่ระบบไหนเนีย😆😆😆
จากประสบการณ์ทำงาน การ Optimize ตั่งแต่แรกไม่ wokr ผู้ใช้ด่าใช้เวลาในการพัฒนานาน และ คนให้ทำไม่เห็นค่าเพราะมันเร็วเกินไป แปลกพออีกทีมมาทำปัญหาเยอะเยะแต่พัฒนาออกได้เร็วแล้วค่อย Optimize ตามหลังด้วย MA กับ Work กว่ามาก
เห็นมา 3 โครงการล่าสุด ผมดูแล้วมันก็ work จริงๆ เพราะในเวลาจริงมีแต่การแข่งขัน ในส่วนที่ไม่สำคัญมากไม่มีใครเค้ามานั่งรอให้เรา Optimize ให้ครบทุกส่วนหรอก แล้วยิ่งใช้เวลาพัฒนานาน requirement ก็จะเปลี่ยนเรื่อยๆ ท้ายสุด คนจ้างที่หัวหมอก็จะบอกว่าทำแค่นี้เอง
คือถ้าเขียน code ให้เป็นมาตฐาน แยกส่วนให้ชัดเจน ถ้ามีการปรับหรือแก้ไขตามหลังมันทำได้ไม่ยาก แต่แค่ต้องใช้แรงทำส่วน Optimize เพิ่ม อย่างในข่าวก็เพียงแค่สลับตำแหน่ง code แต่คิดดูว่าจะออกมาสูตรนี้ได้ ใช้เวลาหลังจากออก code มาตั่งเท่าไหร่

By: rattananen
AndroidWindows
on 28 January 2025 - 00:33 #1332375 Reply to:1332334

คิดว่า context ของ reply คุณ
มันไม่ตรงกับ reply ของผมนะครับ
ตอบผิดที่หรือเปล่าครับ

By: darthvader
Windows PhoneWindows
on 27 January 2025 - 11:34 #1332278
darthvader's picture

ศูนย์ใหญ่ๆ Code 30 บรรทัดชุดนี้ น่าจะช่วยลดค่าใช้จ่าย ได้มากๆเลยนะครับ

By: btoy
ContributorAndroidWindows
on 27 January 2025 - 11:42 #1332280
btoy's picture

สมมุติว่าโดยเฉลี่ยแล้วลดการใช้พลังงานลงมาได้ราวๆ 10% ก็ช่วยลดค่าใช้จ่ายได้มากแล้วนะ เพราะศูนย์ข้อมูลนี่ค่าไฟน่าจะมหาศาลกันทั้งนั้น


..: เรื่อยไป

By: vulkan on 27 January 2025 - 12:28 #1332288
vulkan's picture

น่าจะแก้โค้ดสัก 50 บรรทัด
ลดได้ 50% หยอกๆ ครับ

By: orbitalz
ContributorWindows PhoneAndroidUbuntu
on 27 January 2025 - 12:35 #1332289

ลดการใช้พลังงานในศูนย์ข้อมูลลงได้สูงสุด 30%

อยากรู้ค่าเฉลี่ยด้วย

By: Quinn on 27 January 2025 - 13:08 #1332290
Quinn's picture

นั่นก็คือใช้ CPU ในการประมวลผลน้อยลง

By: Architec
ContributorWindows PhoneAndroidWindows
on 27 January 2025 - 14:10 #1332299

เคยเขียนโค้ดนึงทำงาน 11 วิ Optimize ใหม่จนเหลือ 4 วิ แต่พอเป็นงาน robotics ลด latency ให้ต่ำมากๆไม่ได้เนื่องด้วยกลไกของมันและ Back-EMF

By: mk-
Symbian
on 28 January 2025 - 01:53 #1332381
mk-'s picture

จากประสบการณ์ โค้ดต่างๆต้องเน้นทำถูกไว้ก่อน ถ้ามันผิดแล้วเรื่องยาว ส่วนความเร็วมาทีหลัง ไปเน้นเร็วก็ไม่ได้อะไรมาก ตราบใดที่เครื่องยังรับไหวก็ถือว่าใช้ได้