Kami terus berbicara tentang alat untuk mengevaluasi kinerja CPU pada mesin Linux. Hari ini dalam materi: temci, uarch-bench, likwid, perf-tools dan llvm-mca.
Lebih banyak tolok ukur:
- Sysbench, UnixBench, Phoronix Test Suite, Vdbench, dan IOzone
- Interbench, Fio, Hdparm, S dan Bonnie
- Iometer, DD, vpsbench, HammerDB dan 7-Zip
Foto - Lukas Blazek - Unsplash
Ini adalah alat untuk memperkirakan waktu pelaksanaan dua program. Bahkan, ini memungkinkan Anda untuk membandingkan waktu eksekusi dua aplikasi. Utilitas ini ditulis oleh seorang siswa dari Jerman Johannes Bechberger, yang mengembangkannya sebagai bagian dari pekerjaan sarjana di tahun 2016. Hari ini, alat
ini dilisensikan di bawah Lisensi Publik Umum GNU.
Johannes ingin membuat alat yang akan mengukur kinerja sistem komputasi dalam lingkungan yang terkendali. Oleh karena itu, salah satu fitur utama temci adalah kemampuan untuk mengkonfigurasi lingkungan pengujian. Misalnya,
Anda dapat : mengubah pengaturan manajer kontrol frekuensi CPU, menonaktifkan cache
hyper-threading dan L1 dan L2, mematikan mode turbo pada prosesor Intel dan lainnya. Untuk pembandingan, temci menggunakan alat
waktu ,
perf_stat dan
getrusage .
Beginilah cara kerja utilitas dalam kasus pertama:
Berdasarkan hasil benchmarking, sistem menghasilkan
laporan yang nyaman dengan diagram, tabel, dan grafik, yang membedakan temci dari solusi serupa.
Dari kekurangan temci menonjol "masa mudanya". Karena itu,
ini tidak mendukung semua konfigurasi perangkat keras dan perangkat lunak. Sebagai contoh, sulit untuk dijalankan di bawah macOS, dan beberapa fungsi tidak tersedia pada sistem dengan prosesor ARM. Situasi mungkin berubah di masa depan, karena penulis secara aktif mengembangkan proyek, dan jumlah bintang di GitHub secara bertahap meningkat - belum lama ini temci bahkan
dibahas dalam komentar di Hacker News.
Utilitas untuk mengevaluasi kinerja fungsi CPU tingkat rendah, yang dikembangkan oleh insinyur Travis Downs (
Travis Downs ). Baru-baru ini, ia telah menjalankan blog
Performance Matters di GitHub Pages, yang berbicara tentang alat benchmarking dan hal-hal terkait lainnya. Secara umum, bangku-bangku baru mulai mendapatkan popularitas, tetapi sudah cukup sering
disebutkan oleh warga Hacker News di utas utas sebagai alat tolok ukur.
Bangku Uarch memungkinkan Anda untuk mengevaluasi kinerja memori, kecepatan pemuatan data paralel dan bekerja untuk membersihkan register YMM . Seperti apa hasil pembandingan yang dihasilkan oleh program dapat ditemukan di repositori resmi di bagian bawah halaman.
Perlu dicatat bahwa uarch-bench, seperti temci,
menonaktifkan fungsi Intel Turbo Boost (secara otomatis meningkatkan kecepatan clock prosesor di bawah beban) sehingga hasil pengujian konsisten.
Sejauh ini, proyek ini masih dalam tahap awal pengembangan, sehingga bangku-uarch tidak memiliki dokumentasi terperinci, dan mungkin ada bug dalam pekerjaannya - misalnya,
kesulitan dalam menjalankan Ryzen
diketahui . Hanya tolok ukur untuk arsitektur x86 yang didukung. Penulis berjanji untuk menambahkan lebih banyak fungsi di masa depan dan mengundang untuk bergabung dalam pengembangan.
Ini adalah toolkit untuk mengevaluasi kinerja mesin Linux dengan prosesor Intel, AMD, dan ARMv8. Itu dibuat di bawah naungan Kementerian Pendidikan dan Penelitian Federal Jerman pada tahun 2017 dan dipindahkan ke sumber terbuka.
Di antara alat likwid, likwid-powermeter dapat dibedakan, yang menampilkan informasi dari register RAPL tentang daya yang dikonsumsi oleh sistem, serta likwid-setFrequencies - memungkinkan Anda untuk mengontrol frekuensi prosesor. Anda dapat
menemukan daftar lengkap
di repositori .
Alat ini digunakan oleh para insinyur yang terlibat dalam penelitian di bidang HPC. Sebagai contoh, sekelompok spesialis dari Pusat Komputasi Regional Universitas Erlangen-Nuremberg (RRZE) di Jerman
bekerja dengan likwid. Dia aktif terlibat dalam pengembangan seperangkat alat ini.
Foto - Clem Onojeghuo - Unsplash
Alat ini untuk menganalisis kinerja server Linux
diperkenalkan oleh Brendan Gregg. Dia adalah salah satu pengembang
DTrace , kerangka penelusuran dinamis untuk debugging aplikasi secara real time.
Perf-tools didasarkan pada subsistem kernel, perf_events dan ftrace. Utilitas mereka memungkinkan Anda untuk menganalisis keterlambatan input / output (iosnoop), melacak argumen untuk mengakses panggilan sistem (unccount, funcslower, funcgraph dan functrace) dan mengumpulkan statistik tentang "hit" dalam cache file (cachestat). Dalam kasus terakhir, perintahnya terlihat seperti ini:
Sebuah komunitas yang agak besar telah terbentuk di sekitar alat (
hampir 6 ribu bintang di GitHub ). Dan ada perusahaan yang aktif menggunakan perf-tools, seperti
Netflix . Tetapi alat ini sedang difinalisasi dan dimodifikasi (meskipun pembaruan telah dirilis sangat jarang belakangan ini). Karena itu, kesalahan dapat terjadi dalam karyanya - penulis menulis bahwa kadang-kadang perf-tools memanggil kernel panik.
Utilitas yang memprediksi berapa banyak sumber daya komputasi yang dibutuhkan oleh kode mesin pada CPU yang berbeda. Ini
mengevaluasi Instructions Per Cycle (
IPC ) dan beban perangkat keras yang dihasilkan aplikasi.
llvm-mca diperkenalkan pada 2018 sebagai bagian dari proyek
LLVM , yang mengembangkan sistem universal untuk analisis, transformasi, dan optimalisasi program. Diketahui bahwa penulis llvm-mca terinspirasi oleh solusi analisis kinerja perangkat lunak
Intel IACA dan berusaha untuk membuat alternatif untuk itu. Dan menurut pengguna, output dari alat (markup dan nomor mereka) sangat mirip dengan IACA - sebuah contoh
dapat ditemukan di sini . Namun, llvm-mca hanya menerima
sintaks AT&T , jadi Anda mungkin perlu menggunakan konverter untuk bekerja dengannya.
Apa yang kami tulis di blog dan jejaring sosial kami:
"Mat. Model Wall Street "atau cara mengoptimalkan biaya cloud
Mengamankan sistem Linux Anda: 10 tips
Minimalisasi risiko: bagaimana tidak kehilangan data Anda
Buku untuk mereka yang sudah terlibat dalam administrasi sistem atau hanya berencana untuk memulai
Pilihan: lima buku dan satu kursus di jaringan

Kami di 1cloud.ru menawarkan layanan "
hosting DNS " gratis. Anda dapat mengelola data DNS Anda dalam satu akun pribadi.