12 poin oleh GN⁺ 2025-04-22 | 2 komentar | Bagikan ke WhatsApp
  • Konsumsi listrik pusat data di AS pada 2023 mencapai sekitar 4% dari listrik nasional, dan diperkirakan naik menjadi 12% pada 2028
  • Tim peneliti University of Waterloo mengembangkan cara untuk mengurangi konsumsi daya pusat data hingga 30% melalui perbaikan cara kernel Linux memproses jaringan
  • Intinya adalah kontrol dinamis untuk metode busy polling, yang secara otomatis beralih antara mode interrupt dan polling sesuai kondisi trafik
  • Perubahan ini dapat diterapkan hanya dengan sekitar 30 baris modifikasi kode, dan telah resmi masuk ke kernel Linux 6.13
  • Ada potensi penerapan yang luas pada pusat data dan web server berbasis Linux, serta menekankan pemulihan filosofi pengembangan perangkat lunak yang berfokus pada efisiensi

Konsumsi Daya Pusat Data Bisa Dipangkas hingga 30% hanya dengan 30 Baris Kode Kernel Linux

Kekhawatiran atas meningkatnya konsumsi daya

  • Sebagian besar trafik web dunia diproses melalui pusat data, yang menjadi fondasi bagi aplikasi berkonsumsi daya tinggi seperti layanan AI
  • Di AS, sekitar 4% listrik pada 2023 digunakan oleh pusat data, dan angka ini diperkirakan naik hingga 12% pada 2028

Inti masalah: cara kernel Linux memproses jaringan

  • Kernel Linux menangani paket jaringan dengan menggabungkan metode interrupt dan polling
    • Interrupt: saat paket baru datang, CPU menghentikan pekerjaan saat ini lalu memprosesnya
    • busy polling: untuk mengurangi latensi, sistem memeriksa secara berkala ada tidaknya paket tanpa memedulikan kondisi → tidak efisien

Solusi: mengalihkan busy polling secara dinamis

  • Tim Profesor Martin Karsten dari University of Waterloo, berdasarkan trafik jaringan, melakukan hal berikut:
    • Saat trafik tinggi: menggunakan busy polling
    • Saat trafik rendah: beralih ke mode interrupt
  • Hasilnya, konsumsi daya yang tidak perlu berkurang dan fleksibilitas meningkat

Perubahan kode dan status penerapan

  • Diimplementasikan lewat kolaborasi dengan engineer Fastly Joe Damato, dengan cara menata ulang kode kernel yang sudah ada
  • Tanpa menulis kode baru, hanya dengan mengubah struktur yang ada, sekitar 30 baris kode dimodifikasi
  • Telah resmi dimasukkan ke kernel Linux 6.13 (rilis Januari 2025)
    kernel commit

Efek penghematan energi

  • Pada aplikasi yang berpusat pada jaringan, penghematan daya bisa mencapai 30%
    • Untuk aplikasi umum, tingkat penghematannya mungkin lebih rendah
  • Karena beradaptasi otomatis terhadap perubahan trafik, pendekatan ini cocok untuk pusat data
  • Dapat diperluas ke web server berbasis Linux seperti nginx dan Apache

Penyebaran di komunitas dan dampak open source

  • Damato berencana menerapkan teknologi terkait juga ke server H2O milik Fastly
  • Karena merupakan kode kernel open source, pengembang web server lain juga dapat menjadikannya referensi
  • Diharapkan menjadi pemicu untuk memulihkan budaya pengembangan yang berfokus pada efisiensi energi

Makna filosofis dari riset ini

  • “Pada era 90-an, optimasi sumber daya adalah dasar ilmu komputer,” tetapi dalam 20 tahun terakhir, fokus bergeser ke performa sehingga efisiensi terabaikan
  • Riset ini menunjukkan bahwa “perbaikan kecil pada kode dapat menghasilkan penghematan energi yang sangat besar” dan menawarkan arah bagi pengembangan perangkat lunak yang berkelanjutan

2 komentar

 
GN⁺ 2025-04-22
Komentar Hacker News
  • Linux menambahkan fitur busy polling untuk jaringan berkinerja tinggi. Sebagian besar software Linux tidak menggunakannya, tetapi software yang dipakai di datacenter menjadi tidak efisien secara energi saat sistem tidak sibuk. Patch ini memungkinkan fitur itu dimatikan saat sistem tidak sibuk sehingga efisiensi energi bisa dipulihkan.

    • Judul artikelnya agak menyesatkan. Terdengar seperti ini juga berlaku untuk pekerjaan desktop, padahal sebenarnya untuk datacenter. Jika judulnya menambahkan frasa "in datacenters", kebingungan itu bisa dihindari.
  • Banyak bagian dari beban kerja datacenter berkinerja tinggi sebenarnya tidak melewati network stack Linux kernel.

    • Sebagai gantinya, mereka memakai DPDK, XDP, atau stack user-space seperti Onload atau VMA. Sering kali SmartNICs melakukan hardware offload. Dalam kasus-kasus tersebut, patch ini tidak berlaku.
    • Namun, patch ini jelas membantu pada konfigurasi di mana kernel berada di data path (CDN, node ingress, VM, sistem Linux embedded, dan sebagainya). Ini kemungkinan tidak akan banyak memengaruhi pekerjaan yang sudah melewati kernel karena alasan performa atau latensi. Headline penghematan daya 30% itu akan sangat bergantung pada konteks.
  • Rincian lebih lanjut tentang perubahan ini bisa dilihat di https://lwn.net/Articles/1008399/.

  • Ini perubahan yang sangat keren. Sebagai orang yang bekerja di komputasi berkinerja tinggi, saya sering bertanya-tanya berapa banyak energi yang terbuang karena kode yang tidak efisien, dan betapa besarnya masalah itu saat komputasi planet terus berkembang.

    • Secara pribadi, saya merasa ada kewajiban moral agar kode seefisien mungkin. Terutama ketika suatu pekerjaan berjalan berbulan-bulan di ratusan CPU.
  • Sebaliknya, Meta punya hack untuk menjaga GPU tetap sibuk agar konsumsi daya lebih stabil selama pelatihan LLM. Misalnya, mereka tidak ingin terjadi penurunan daya yang besar saat sinkronisasi batch.

  • Apakah ini berarti "adaptive interrupt moderation" di kernel sudah tidak digunakan lagi? Saya sudah lebih dari sekitar 15 tahun tidak mengerjakan hal terkait ini, tetapi dulu kernel beradaptasi dengan memakai interrupt saat kecepatan jaringan rendah, lalu mematikan interrupt dan menggunakan polling setelah melewati titik tertentu.

    • Masalah yang ingin diselesaikan adalah perubahan trafik yang mendadak dan dramatis. Misalnya, ketika loop diperkenalkan dalam switching dan terjadi packet storm yang terkait. Dalam kasus ini, interrupt datang terlalu cepat sehingga sistem tidak sempat mendapatkan cukup waktu non-interrupt untuk menonaktifkan interrupt. Jadi solusinya adalah memastikan router Linux memiliki lebih banyak core daripada antarmuka jaringannya.
  • Jika sebuah kalimat mengandung "Up To", secara harfiah segalanya mungkin saja.

  • Sedikit di luar topik, tetapi saya senang kembali membaca tulisan tentang Joe Damato. Rasanya nostalgia. Saya pertama kali mengetahui packagecloud.io setelah membaca tulisan James Gollick tentang tcmalloc, lalu menemukan tulisan-tulisan Joe yang luar biasa.

  • Paragraf intinya:

    • "Penghematan energi ini punya catatan penting. '30% adalah skenario terbaik yang berlaku pada network stack atau bagian komunikasi,' jelas Karsten. 'Jika aplikasi terutama melakukan itu, Anda bisa melihat peningkatan 30%. Jika aplikasi banyak melakukan hal lain dan hanya sesekali memakai jaringan, angka 30% itu akan turun menjadi nilai yang lebih kecil.'"
  • Tulisan ini mengingatkan saya pada kenangan lama: https://didgets.substack.com/p/finding-and-fixing-a-billion-bug

 
semanticist 27 hari lalu

Oh~ menarik ya.
Jadi terasa juga bahwa perangkat lunak yang benar-benar sempurna memang belum ada.