Cara kerja kompresi dalam arsitektur memori berorientasi objek

Sebuah tim insinyur dari MIT telah mengembangkan hierarki memori berorientasi objek untuk bekerja dengan data secara lebih efisien. Dalam artikel ini kita akan memahami cara kerjanya.

Cara kerja kompresi dalam arsitektur memori berorientasi objek
/ Galeri /PD

Seperti diketahui, peningkatan kinerja CPU modern tidak disertai dengan penurunan latensi saat mengakses memori. Perbedaan perubahan indikator dari tahun ke tahun bisa mencapai 10 kali lipat (PDF, halaman 3). Akibatnya, timbul hambatan yang menghalangi penggunaan penuh sumber daya yang tersedia dan memperlambat pemrosesan data.

Kerusakan kinerja disebabkan oleh apa yang disebut penundaan dekompresi. Dalam beberapa kasus, dekompresi data persiapan dapat memakan waktu hingga 64 siklus prosesor.

Sebagai perbandingan: penjumlahan dan perkalian bilangan floating point menempati tidak lebih dari sepuluh siklus. Masalahnya adalah memori bekerja dengan blok data dengan ukuran tetap, dan aplikasi beroperasi dengan objek yang dapat berisi tipe data berbeda dan ukurannya berbeda satu sama lain. Untuk mengatasi masalah ini, para insinyur di MIT mengembangkan hierarki memori berorientasi objek yang mengoptimalkan pemrosesan data.

Bagaimana teknologi itu bekerja

Solusinya didasarkan pada tiga teknologi: Hotpads, Zippads dan algoritma kompresi COCO.

Hotpad adalah hierarki memori terdaftar berkecepatan tinggi yang dikendalikan perangkat lunak (papan penggaris). Register ini disebut pad dan ada tiga di antaranya - dari L1 hingga L3. Mereka menyimpan objek dengan ukuran berbeda, metadata, dan array penunjuk.

Pada dasarnya, arsitekturnya adalah sistem cache, tetapi dirancang untuk bekerja dengan objek. Ketinggian bantalan tempat objek berada bergantung pada seberapa sering objek tersebut digunakan. Jika salah satu level β€œmeluap”, sistem akan memulai mekanisme yang mirip dengan β€œpengumpul sampah” dalam bahasa Java atau Go. Ini menganalisis objek mana yang lebih jarang digunakan dibandingkan objek lain dan secara otomatis memindahkannya antar level.

Zippads bekerja di atas Hotpads - mengarsipkan dan membatalkan pengarsipan data yang masuk atau keluar dari dua tingkat terakhir hierarki - pad L3 dan memori utama. Pad pertama dan kedua menyimpan data tanpa perubahan.

Cara kerja kompresi dalam arsitektur memori berorientasi objek

Zippads memampatkan objek yang ukurannya tidak melebihi 128 byte. Objek yang lebih besar dibagi menjadi beberapa bagian, yang kemudian ditempatkan di area memori berbeda. Seperti yang ditulis oleh pengembang, pendekatan ini meningkatkan rasio penggunaan memori secara efektif.

Untuk mengompresi objek digunakan algoritma COCO (Cross-Object COmpression) yang akan kita bahas nanti, meskipun sistem juga dapat bekerja dengan Basis-Delta-Segera ΠΈΠ»ΠΈ FPC. Algoritma COCO adalah jenis kompresi diferensial (kompresi diferensial). Ini membandingkan objek dengan "basis" dan menghapus bit duplikat - lihat diagram di bawah:

Cara kerja kompresi dalam arsitektur memori berorientasi objek

Menurut para insinyur dari MIT, hierarki memori berorientasi objek mereka 17% lebih produktif dibandingkan pendekatan klasik. Desainnya lebih mirip dengan arsitektur aplikasi modern, sehingga metode baru ini memiliki potensi.

Diharapkan perusahaan yang bekerja dengan big data dan algoritma pembelajaran mesin akan mulai menggunakan teknologi tersebut terlebih dahulu. Arah potensial lainnya adalah platform cloud. Penyedia IaaS akan dapat bekerja lebih efisien dengan virtualisasi, sistem penyimpanan data, dan sumber daya komputasi.

Sumber daya dan sumber tambahan kami:

Cara kerja kompresi dalam arsitektur memori berorientasi objek β€œBagaimana kami membangun IaaS”: materi tentang karya 1cloud

Cara kerja kompresi dalam arsitektur memori berorientasi objek Evolusi arsitektur cloud 1cloud
Cara kerja kompresi dalam arsitektur memori berorientasi objek Layanan penyimpanan objek di 1cloud

Cara kerja kompresi dalam arsitektur memori berorientasi objek Potensi serangan terhadap HTTPS dan cara melindunginya
Cara kerja kompresi dalam arsitektur memori berorientasi objek Apa persamaan dan perbedaan pendekatan Continuous Delivery dan Continuous Integration?
Cara kerja kompresi dalam arsitektur memori berorientasi objek Cara melindungi server di Internet: pengalaman 1cloud

Sumber: www.habr.com

Tambah komentar