Apple terus meningkatkan teknologi Rosetta 2, kini menghadirkan peningkatan kinerja signifikan untuk mesin virtual Linux yang berjalan di Apple Silicon melalui dukungan model memori Total Store Ordering (TSO). Perkembangan ini merupakan langkah penting dalam kompatibilitas biner x86_64 pada sistem berbasis ARM.
Pentingnya Dukungan TSO
Patch kernel yang baru diumumkan ini memungkinkan dukungan model memori TSO untuk instruksi x86_64 yang dikompilasi ulang, berpotensi mempercepat kinerja Rosetta di lingkungan Linux. Peningkatan ini mencakup fitur seperti dukungan context-switching untuk bit ACTLR.TSOEN dan kemampuan kontrol proses baru melalui API prctl.
Tanggapan Komunitas dan Dampak Nyata
Komunitas pengembang telah merespons positif terhadap peningkatan ini, terutama menyoroti manfaat praktisnya. Seperti yang dibagikan oleh salah satu pengembang:
Rosetta 2 untuk Linux adalah fitur favorit saya di Mac saat ini. Saya telah mengerjakan proyek selama bertahun-tahun yang memiliki ketergantungan kuat pada pustaka yang hanya dapat dikompilasi pada arsitektur amd64... Saya tidak melihat adanya penurunan kecepatan yang terasa, meskipun kami harus menyesuaikan beberapa sleep untuk tes konkurensi/threading untuk mengakomodasi Rosetta. Source
Kemajuan Teknis dan Keterbatasan
Perkembangan terbaru juga membawa peningkatan dukungan ekstensi vektor, dengan Rosetta kini mendukung AVX2 mulai tahun ini. Ini mengatasi keterbatasan signifikan yang sebelumnya dihadapi pengembang saat bekerja dengan biner terkompilasi yang membutuhkan ekstensi vektor.
Tantangan Implementasi
Meskipun patch tersedia, implementasi memerlukan patching kernel secara manual, yang menimbulkan kekhawatiran di komunitas pengembang. Alat pengembangan populer seperti Docker dan Colima saat ini tidak mengimplementasikan optimasi TSO secara default, meskipun ada diskusi berkelanjutan tentang penggabungannya.
Upaya Kontribusi Upstream
Perlu dicatat bahwa Apple telah mencoba mengupstream perubahan ini ke kernel Linux. Namun, patch tersebut ditolak karena kekhawatiran tentang fragmentasi dan pendekatan implementasi yang tidak standar. Ini menyoroti tantangan berkelanjutan dalam menjembatani optimasi proprietary dengan sistem open-source.
Implikasi Masa Depan
Pengembangan ini menandakan komitmen berkelanjutan Apple untuk mendukung alur kerja pengembang, khususnya di lingkungan virtual. Meskipun terutama ditargetkan untuk lingkungan Linux yang tervirtualisasi, beberapa anggota komunitas mencatat bahwa optimasi dapat bekerja pada instalasi Linux bare metal, meskipun ini tetap menjadi kasus penggunaan yang tidak didukung.