1 poin oleh GN⁺ 9 hari lalu | 1 komentar | Bagikan ke WhatsApp
  • Dalam perbandingan Windows Server 2025 tervirtualisasi, konfigurasi guest ARM64 di atas host ARM64 berjalan stabil, dan terasa lebih responsif dalam startup layanan, menjalankan konsol manajemen, serta menangani tugas praktikum
  • Kedua VM disamakan dalam memori, prosesor virtual, dan konfigurasi peran; pada pengukuran, sistem Snapdragon menunjukkan variasi penggunaan CPU yang lebih kecil, Processor Queue Length yang tetap 0, serta nilai CPU Wait Time Per Dispatch yang konsisten
  • Pada pengukuran berulang untuk IIS, DNS, kueri Active Directory, autentikasi domain, dan file I/O, Snapdragon X Elite hampir selalu menunjukkan waktu yang konsisten dan dapat direproduksi; Intel terkadang lebih cepat pada sebagian eksekusi, tetapi secara keseluruhan variasinya lebih besar
  • Perbedaan ini tidak disimpulkan semata-mata berasal dari arsitektur CPU; bersama karakteristik penyimpanan, memori, manajemen daya, dan panas, konsistensi latensi serta penjadwalan yang dapat diprediksi dinilai lebih penting untuk beban server tervirtualisasi
  • Pada workload yang berfokus pada throughput maksimum, x64 masih memiliki keunggulan, tetapi pada deployment Windows Server tipikal dengan banyak tugas kecil yang sensitif terhadap latensi, daya tarik ARM64 makin besar; namun untuk platform standar pendidikan, x64 tetap dipakai karena ARM64 belum mendukung nested virtualization

Lingkungan pengujian dan dasar perbandingan

  • Lingkungan virtual Windows Server 2025 dibangun pada dua sistem lalu dibandingkan
    • Sistem Intel Core i9 generasi ke-14 berbasis Windows 11 menjalankan beberapa mesin virtual Hyper-V
    • Sistem Snapdragon X Elite berbasis Windows 11 on ARM juga dikonfigurasi dengan lingkungan Windows Server 2025 yang sama
  • Karena Microsoft tidak menyediakan ISO instalasi resmi Windows Server 2025 ARM di situsnya, instalasi dilakukan menggunakan image berbasis server pembaruan Microsoft yang dibuat dengan UUP dump
  • Kedua VM Hyper-V disamakan dalam memori, prosesor virtual, dan role yang diinstal
    • Snapdragon X Elite: ARM64 guest on ARM64 host
    • Intel Core i9: x64 guest on x64 host

Observasi awal dan cakupan interpretasi

  • Lingkungan Windows Server 2025 pada sistem ARM terbukti stabil dan berfungsi normal, serta secara keseluruhan terasa lebih cepat pada tingkat yang layak untuk penggunaan nyata
    • Startup layanan lebih cepat
    • Konsol manajemen berjalan lebih cepat
    • Waktu penyelesaian tugas praktikum untuk penulisan materi ajar lebih singkat
  • Namun, perbedaan performa tidak disimpulkan sebagai hasil dari arsitektur CPU semata
    • Penyimpanan, memori, manajemen daya, dan karakteristik termal juga dapat memengaruhi hasil
    • Alih-alih menyatakan “ARM lebih cepat”, hasil perlu ditafsirkan berdasarkan karakteristik sistem secara keseluruhan
  • Beban layanan Windows Server pada umumnya memiliki proporsi thread yang tinggi dan berfokus pada tugas CPU dan I/O yang kecil namun sering terjadi
    • Termasuk Active Directory, DNS, DHCP, IIS, layanan file SMB/NFS/DFS, Print Services, Certificate Services, Remote Desktop Services, Routing and Remote Access, NPS, dan lainnya
    • Tipe seperti ini sensitif terhadap latensi dan context switching, sehingga performa yang konsisten secara berkelanjutan memberi keuntungan

Pengamatan terhadap perbedaan performa

  • Sistem ARM keluarga Snapdragon cenderung memberikan performa yang berkelanjutan dan stabil dibanding mengejar boost clock yang tinggi
  • CPU Intel modern dapat memberikan performa puncak tinggi melalui akselerasi frekuensi dan throttling dinamis
    • Namun pada beban berkelanjutan atau campuran, hal ini dapat meningkatkan variasi penjadwalan dan latensi
  • Dalam lingkungan virtualisasi, variasi ini menjadi lebih penting
    • Hypervisor seperti Hyper-V pada dasarnya berperan sebagai penjadwal perangkat keras
    • Semakin dapat diprediksi timing eksekusi perangkat keras, semakin konsisten pula hasil penjadwalan hypervisor
    • Efeknya tercermin pada responsivitas VM dan layanan di dalam VM
  • Kemungkinan adanya perbedaan pada build Windows Server ARM64 itu sendiri juga disebutkan
    • Berdasarkan beberapa catatan rilis yang ditemukan secara online, versi ARM64 kemungkinan menghindari sebagian lapisan kompatibilitas legacy dan menggunakan binary yang lebih modern serta teroptimasi
    • Ada pengamatan bahwa build ini bisa jadi lebih rapi daripada versi x64
    • Namun tidak ada dasar implementasi internal yang lebih rinci untuk mendukung hal itu

Pengukuran Performance Monitor

  • Pada kedua host Windows 11, pengukuran dilakukan dengan menambahkan counter Performance Monitor
    • \\Processor(_Total)\\% Processor Time
      • Penggunaan CPU berdasarkan seluruh core
    • \\System\\Processor Queue Length
      • Jumlah thread yang menunggu waktu CPU
      • Dalam kondisi ideal, nilai 0 sebaiknya dipertahankan
    • \\Hyper-V Hypervisor Virtual Processor(*)\\CPU Wait Time Per Dispatch
      • Rata-rata waktu tunggu sebelum prosesor virtual dijadwalkan ke CPU
  • Setelah menghasilkan beban dari PowerShell di dalam masing-masing VM, hasilnya diamati
    • Menjalankan 8 loop tak berhingga yang berulang kali mengambil 5 proses teratas dari hasil Get-Process setelah diurutkan berdasarkan penggunaan CPU
  • Hasil pengukuran menunjukkan Snapdragon memiliki pola performa yang berkelanjutan dan stabil
    • Variasi % Processor Time jauh lebih kecil
    • Processor Queue Length tetap 0
    • CPU Wait Time Per Dispatch juga tetap datar dan konsisten
  • Pada sistem Intel, variasi boost/throttle tercermin dalam metrik
    • Variasi % Processor Time lebih besar
    • Processor Queue Length meningkat tajam secara berkala
    • CPU Wait Time Per Dispatch juga menunjukkan variasi yang signifikan

Pengukuran respons layanan

  • Di PowerShell masing-masing VM, Measure-Command digunakan untuk mengukur waktu tugas layanan umum
  • Pengujian dilakukan pada web server IIS
    • Invoke-WebRequest http://localhost -UseBasicParsing | Out-Null diulang 1000 kali
  • Layanan lain juga diukur berulang dengan cara yang sama
    • DNS
      • Resolve-DnsName "domainX.com" -Server 127.0.0.1 | Out-Null
    • Kueri Active Directory
      • Get-ADUser -Filter * -ResultSetSize 1 | Out-Null
    • Latensi autentikasi domain
      • Test-ComputerSecureChannel -Verbose:$false
    • File I/O
      • Membuat direktori C:\TestFiles
      • Mengulang 2000 kali pembuatan file, penulisan isi, pembacaan, dan penghapusan
  • Dari hasil beberapa kali pengulangan, sistem Snapdragon hampir selalu mencatat waktu yang konsisten dan dapat direproduksi
  • Sistem Intel menunjukkan variasi hasil yang lebih besar
    • Pada sebagian eksekusi, Intel kadang lebih cepat daripada Snapdragon
    • Namun dalam kebanyakan kasus, hasilnya tertinggal
  • Secara keseluruhan, kesimpulannya adalah Snapdragon unggul di semua pengujian

Kesimpulan utama

  • Unsur bersama yang menembus semua hasil adalah konsistensi latensi
  • Beban Windows Server tervirtualisasi sangat menekankan respons cepat terhadap tugas kecil namun sering terjadi dan penjadwalan yang dapat diprediksi
  • Pada workload yang mementingkan throughput maksimum, sistem x64 masih memiliki keunggulan yang jelas
  • Sebaliknya, pada lingkungan seperti deployment Windows Server tipikal, di mana banyak tugas kecil yang sensitif terhadap latensi berjalan bersama di bawah virtualisasi, konsistensi lebih penting daripada kecepatan puncak murni
  • Dalam konteks itu, daya tarik ARM64 semakin besar
  • ARM64 sudah banyak digunakan di lingkungan cloud, dan disebutkan bahwa rasio performa terhadap biaya lebih baik daripada x64
  • Microsoft dinilai perlu mempertimbangkan peningkatan porsi ARM64 dalam masa depan Windows Server
    • Saat ini Microsoft belum mendukung penuh Windows Server on ARM64
    • Namun disebutkan bahwa tahun lalu 33% instance VM baru Microsoft Azure adalah ARM64, dan di Amazon AWS 50% adalah ARM64

Pemilihan platform standar untuk pendidikan

  • Lingkungan praktikum untuk materi ajar tetap distandardisasi pada x64
  • Alasannya, konfigurasi praktikum mencakup nested virtualization
  • Karena Hyper-V belum mendukung nested virtualization di ARM64, ARM64 saat ini belum diadopsi sebagai lingkungan dasar untuk pendidikan
  • Mahasiswa masih bisa menyusun konfigurasi alternatif untuk praktikum, tetapi salah satu tujuan materi ajar adalah reproducibility, sehingga lingkungan yang bekerja sama secara bertahap lebih diprioritaskan
  • Untuk saat ini, dalam konteks pendidikan, x64 tetap menjadi pilihan yang praktis

1 komentar

 
GN⁺ 9 hari lalu
Komentar Hacker News
  • Pengaturan, asumsi, bahkan kode yang diperlukan untuk mereproduksi pengujian sudah dibuka semua, tetapi hasil yang benar-benar terasa justru tidak ada, jadi terasa agak meragukan. Saya penasaran seberapa cepat ARM dalam angka nyata
    • Ada alasan mengapa tangkapan layar output sengaja tidak disertakan. Saya ingin menghindari tulisan ini bergeser menjadi posting benchmark, dan hasilnya bisa berbeda tergantung perangkat keras ARM atau model detail Snapdragon X Elite sehingga berpotensi menimbulkan salah paham. Sebagai gantinya, saya menyertakan snippet PowerShell agar siapa pun bisa mereproduksinya. Hasil kasarnya, VM Snapdragon sekitar 20~80% lebih cepat daripada VM Intel tergantung pengujiannya: DNS sekitar 20%, IIS sekitar 50%, dan sisanya umumnya mendekati 80%
  • Dari sudut pandang pengembang Windows, ini tampaknya sangat mungkin dipengaruhi oleh segment heap. Implementasi heap Windows punya dua lini yang terpisah, yaitu NT heap lama dan segment heap dari era 2010-an, dan segment heap lebih efisien dalam hal fragmentasi memori dan penggunaan ulang alokasi kecil. Namun Windows sangat memprioritaskan kompatibilitas legacy, sehingga tidak mengalihkan default secara menyeluruh karena aplikasi lama bisa saja bergantung pada perilaku berbahaya seperti use-after-free atau pada struktur internal NT heap. Karena itu diambil kompromi: executable yang packaged memakai segment heap secara default, sedangkan yang unpackaged dibiarkan seperti semula. Namun karena transisi UWP gagal, ekosistem Windows makin terpecah, dan sebagian besar software penting tetap berupa x64 unpackaged. Sebaliknya, binary arm64 kecil kemungkinan merupakan kode legacy lama, sehingga di arm segment heap aktif secara default. Saya rasa sebagian yang tidak kecil dari alasan pengguna merasa Windows arm lebih responsif ada di sini. Akan menarik jika pengujian ini diulang dengan memaksa segment heap aktif di x64. Per executable, Anda bisa memberi DWORD FrontEndHeapDebugOptions bernilai 8 di bawah HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\.exe, dan secara global Anda bisa memberi DWORD Enabled bernilai 3 di bawah HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Segment Heap. Di mesin pengembangan saya, saya tidak melihat masalah setelah aktivasi global, dan penggunaan memori turun sekitar 15% dalam pengujian saya
    • Pada workload yang intensif RAM/CPU milik saya, beralih dari NT Heap ke Segment Heap secara konsisten meningkatkan kinerja total sekitar 7%. Pekerjaan gabungan selesai 7% lebih cepat. Jika sertifikasi lama seperti "Compatible with Windows XXX" masih ada di Windows 10/11, saya rasa akan bagus jika ada item pemeriksaan segment heap di sana agar lebih banyak aplikasi dan pengguna mendapat manfaat performa, efisiensi daya, dan dampak lingkungan yang lebih baik. Dan menurut saya masalah UWP bukan pada teknologinya sendiri, melainkan pada keras kepala mengikatnya ke packaging dan Store, yang bertentangan dengan cara OS Windows hadir
    • Jika tertarik, seseorang bisa melakukan opt-in ke perilaku ini dengan menetapkan heapType menjadi SegmentHeap di application manifest executable mereka. Ada penjelasannya di dokumentasi
    • Tips praktis seperti inilah yang membuat HN berharga. Saya penasaran apakah kunci registry global itu memerlukan reboot, atau langsung berlaku sejak executable mulai dijalankan
    • Ini cukup menarik sampai-sampai terasa layak menjadi postingan blog, bukan sekadar komentar forum
    • Dulu saya pernah melihat pengaturan global ini dijelaskan sebagai 0 versus non-zero, jadi saya penasaran mengapa nilainya justru 3. Apa arti 2, dan di mana orang bisa memeriksa sendiri makna nilai-nilai seperti ini
  • Ungkapan dalam artikel bahwa "ARM tidak mengejar boost clock tinggi dan memberikan performa yang konsisten" terasa agak berlebihan. Semua sistem ARM yang pernah saya pakai juga melakukan frequency scaling, dan dalam hal itu bekerja mirip x86. Pada akhirnya perbedaannya tampak hanya pada seberapa tinggi ia bisa naik
    • Ini mungkin tergantung workload, tetapi di lingkungan cloud beberapa organisasi tempat saya bekerja, beralih ke ARM dari x86 saja sudah memberi penghematan biaya yang cukup besar. Harga instance lebih murah dan efisiensinya juga lebih baik. Khususnya di satu organisasi, dalam lingkungan yang menskalakan ratusan node Kubernetes secara dinamis, tanpa perubahan tambahan selain x86 -> ARM saja kami memperkirakan penghematan konservatif sekitar 15% dan benar-benar mencapainya. Jika workload bersifat CPU-bound dan tidak terlalu terikat pada fitur khusus x86, saya rasa hasilnya bisa jauh lebih besar dari 15%
  • Jika yang utama adalah performa CPU ARM yang lebih stabil dan lebih dapat diprediksi, saya rasa memakai CPU server seperti Epyc alih-alih CPU desktop juga bisa memberi manfaat serupa. CPU server punya rentang perubahan clock yang lebih kecil dan kebijakan boost yang tidak seagresif itu. Bahkan pada perangkat desktop yang ada sekarang pun, dengan mematikan Turbo di BIOS dan mengunci CPU Intel pada clock dasar, menurut saya kita bisa membuat performa yang lebih rendah tetapi stabil dan dapat diprediksi untuk dibandingkan
    • Perilaku turbo juga bisa dimatikan dari power plan. Hanya saja pengaturannya mungkin tidak tampil secara default di GUI
  • Saya penasaran apakah Windows on ARM memakai VBS atau Virtualization Based Security, dan apakah itu juga didukung di dalam VM melalui nested virtualization. Penting juga apakah mitigasi kerentanan CPU diterapkan ganda di VM dan memengaruhi performa. Banyak masalah performa yang sekarang umum terlihat saat Windows dijalankan di VM berasal dari sini. Sayangnya artikel ini tidak menyinggung bagian tersebut
  • Saya penasaran dengan konfigurasi RAM dan penyimpanan kedua sistem. Di sisi Snapdragon mungkin menggunakan RAM terkemas dalam paket sehingga interconnect bisa lebih cepat, sedangkan sisi x86 mungkin memakai DIMM dengan jalur yang lebih panjang. Penyimpanan atau model CPU juga bisa sangat memengaruhi perbedaan performa. Benchmark sering kali terlalu menekan satu bagian sistem, jadi saya pikir perbedaan yang sebenarnya bisa saja berasal dari faktor lain seperti RAM, syscall, atau SSD, bukan dari arsitektur ARM itu sendiri
    • Kedua sistem sama-sama memakai DDR5 yang disolder ke motherboard dan SSD NVMe. Malah SSD di sisi Intel adalah model Samsung yang lebih cepat daripada Foresee di sisi Snapdragon
  • Di Linux semuanya berjalan lebih baik, dan rasanya tidak membuang siklus pada overhead pengawasan
  • Artikel itu terlihat seperti sengaja menghindari menyebut prosesor Intel yang dipakai, jadi saya bertanya-tanya apakah saya melewatkan sesuatu
    • CPU yang digunakan adalah 14th Gen Intel Core i9
  • Di server HV, biasanya x86 dicegah agar tidak downclock dengan cara seperti menonaktifkan C States dan menyetel manajemen daya ke high. Jika CPU dijaga agar tidak naik-turun, performanya bisa membaik banyak. Hanya saja hal seperti ini biasanya tidak dilakukan pada perangkat pribadi atau peralatan lab
    • Atau cukup nonaktifkan turbo boost saja
  • Setelah membaca artikel itu, bagi saya ada dua poin utama. Pertama, ARM64 tampaknya kurang "pintar" dibanding x64, jadi alih-alih berulang kali melakukan boost dan throttling secara agresif seperti Core i9, ia memberikan performa yang lebih konsisten, dan itu memudahkan penjadwalan OS. Kedua, di ARM Windows tampaknya punya lebih sedikit beban sejarah dibanding di x64, sehingga build ARM itu sendiri mungkin lebih efisien. Pada akhirnya saya jadi penasaran apakah throttling CPU sudah menjadi terlalu pintar sampai justru merugikan
    • Namun ini juga perlu dilihat dalam konteks bahwa yang diuji adalah OS server di CPU x86 desktop. CPU server x86 seperti AMD Epyc atau Intel Xeon punya rentang perubahan clock yang lebih kecil dan kebijakannya tidak seagresif itu, sehingga memberi performa yang lebih konsisten dan dapat diprediksi daripada CPU desktop. Karakteristik seperti ini menguntungkan workload multithread, sedangkan CPU desktop disetel untuk performa puncak single-thread sehingga pada multithread justru bisa merugikan menurut saya