Cara Pemampatan Berfungsi dalam Seni Bina Memori Berorientasikan Objek

Pasukan jurutera di MIT membangunkan hierarki memori berorientasikan objek untuk bekerja dengan data dengan lebih cekap. Dalam artikel kami memahami bagaimana ia disusun.

Cara Pemampatan Berfungsi dalam Seni Bina Memori Berorientasikan Objek
/ Px Di Sini /PD

Seperti yang anda ketahui, pertumbuhan prestasi CPU moden tidak disertai dengan penurunan kependaman yang sepadan apabila mengakses memori. Perbezaan dalam perubahan penunjuk dari tahun ke tahun boleh mencapai sehingga 10 kali ganda (PDF, muka surat 3). Akibatnya, kesesakan muncul, yang tidak membenarkan penggunaan penuh sumber yang tersedia dan memperlahankan pemprosesan data.

Penalti prestasi ialah apa yang dipanggil kelewatan penyahmampatan. Dalam sesetengah kes, penyahmampatan data persediaan boleh mengambil masa sehingga 64 kitaran pemproses.

Sebagai perbandingan: penambahan dan pendaraban nombor titik terapung menduduki tidak lebih daripada sepuluh kitaran. Masalahnya ialah memori berfungsi dengan blok data bersaiz tetap, manakala aplikasi beroperasi dengan objek yang boleh mengandungi jenis data yang berbeza dan saiz yang berbeza antara satu sama lain. Untuk menyelesaikan masalah, jurutera MIT membangunkan hierarki memori berorientasikan objek yang mengoptimumkan pemprosesan data.

Bagaimana teknologi berfungsi

Penyelesaiannya adalah berdasarkan tiga teknologi: Hotpads, Zippads dan algoritma pemampatan COCO.

Hotpads ialah hierarki dipacu perisian bagi memori daftar scratchpad (pad calar). Daftar ini dipanggil pad (pad) dan terdapat tiga daripadanya - dari L1 hingga L3. Mereka menyimpan objek dengan saiz yang berbeza, metadata dan tatasusunan penunjuk.

Pada dasarnya, seni bina adalah sistem cache, tetapi diasah untuk berfungsi dengan objek. Tahap pad di mana objek terletak bergantung pada kekerapan ia digunakan. Jika salah satu tahap "melimpah", sistem mencetuskan mekanisme yang serupa dengan "pengumpul sampah" dalam Java atau Go. Ia menganalisis objek yang digunakan kurang kerap daripada yang lain dan secara automatik memindahkannya antara tahap.

Zippads berfungsi berdasarkan Hotpads - arkib dan nyahzip data yang memasuki atau meninggalkan dua peringkat terakhir hierarki - pad L3 dan memori utama. Dalam pad pertama dan kedua, data disimpan tidak berubah.

Cara Pemampatan Berfungsi dalam Seni Bina Memori Berorientasikan Objek

Zippads memampatkan objek sehingga 128 bait. Objek yang lebih besar dibahagikan kepada bahagian, yang kemudiannya diletakkan di kawasan ingatan yang berbeza. Semasa pembangun menulis, pendekatan ini meningkatkan pekali memori yang digunakan dengan berkesan.

Untuk memampatkan objek, algoritma COCO (Cross-Object COmpression) digunakan, yang akan kita bincangkan kemudian, walaupun sistem dapat berfungsi dengan Pangkalan-Delta-Segera atau FPC. Algoritma COCO ialah variasi pemampatan pembezaan (mampatan pembezaan). Ia membandingkan objek kepada "asas" dan membuang bit pendua - lihat rajah di bawah:

Cara Pemampatan Berfungsi dalam Seni Bina Memori Berorientasikan Objek

Menurut jurutera MIT, hierarki memori berorientasikan objek mereka adalah 17% lebih cepat daripada pendekatan klasik. Strukturnya jauh lebih dekat dengan seni bina aplikasi moden, jadi kaedah baharu itu berpotensi.

Pertama sekali, syarikat yang bekerja dengan data besar dan algoritma pembelajaran mesin dijangka mula menggunakan teknologi tersebut. Satu lagi arah yang berpotensi ialah platform awan. Pembekal IaaS akan dapat bekerja dengan lebih cekap dengan virtualisasi, sistem storan dan sumber pengkomputeran.

Sumber dan sumber tambahan kami:

Cara Pemampatan Berfungsi dalam Seni Bina Memori Berorientasikan Objek "Cara kami membina IaaS": bahan tentang kerja 1cloud

Cara Pemampatan Berfungsi dalam Seni Bina Memori Berorientasikan Objek Evolusi seni bina awan 1cloud
Cara Pemampatan Berfungsi dalam Seni Bina Memori Berorientasikan Objek Perkhidmatan penyimpanan objek dalam 1cloud

Cara Pemampatan Berfungsi dalam Seni Bina Memori Berorientasikan Objek Potensi Serangan pada HTTPS dan Cara Melindungi Terhadap Mereka
Cara Pemampatan Berfungsi dalam Seni Bina Memori Berorientasikan Objek Apakah persamaan dan perbezaan antara pendekatan Penyampaian Berterusan dan Integrasi Berterusan
Cara Pemampatan Berfungsi dalam Seni Bina Memori Berorientasikan Objek Cara melindungi pelayan di Internet: pengalaman 1cloud

Sumber: www.habr.com

Tambah komen