Linux Restartable Sequences untuk Pemrograman Sistem Tanpa Lock
Judul asli: Restartable Sequences
Mengapa Ini Penting
Teknologi kunci untuk optimasi performa pada CPU multi-core modern tanpa overhead lock
Justine Tunney menjelaskan Restartable Sequences (rseq) pada Linux 4.18+ yang memungkinkan struktur data thread-safe tanpa lock/atomic. Implementasi malloc() cosmopolitan mencapai 34x lebih cepat pada CPU 128 core Ampere Altra.
Restartable Sequences (rseq) adalah fitur Linux 4.18+ yang memungkinkan pembuatan struktur data thread-safe tanpa menggunakan lock atau atomic operations. Teknologi ini memberikan 32 byte memori TLS yang diperbarui kernel dengan nomor CPU saat thread dijadwalkan ulang. Justine Tunney menunjukkan peningkatan performa signifikan: 3x lebih cepat pada Raspberry Pi 5 (4 core), 34x pada System76 Thelio Astra dengan CPU Ampere Altra 128 core ($4,834), dan 43x pada AMD Threadripper Pro 7995WX 96 core ($17,628). Saat ini hanya tcmalloc, jemalloc, glibc, dan cosmopolitan yang menggunakan rseq. Teknologi ini memungkinkan kernel mendeteksi ketika thread dipindah CPU dan menjalankan abort handler untuk retry operasi.