Sebuah tim insinyur dari MIT telah mengembangkan hirarki memori berorientasi objek untuk pekerjaan yang lebih efisien dengan data. Artikel ini membahas cara mengaturnya.
/ PxHere / PDSeperti yang Anda ketahui, peningkatan kinerja CPU modern tidak disertai dengan pengurangan latensi terkait saat mengakses memori. Perbedaan dalam perubahan indikator dari tahun ke tahun dapat mencapai hingga 10 kali lipat (
PDF, hal .
3 ). Akibatnya, kemacetan muncul yang mencegah penggunaan penuh sumber daya yang tersedia dan memperlambat pemrosesan data.
Apa yang disebut penundaan dekompresi menyebabkan hilangnya kinerja. Dalam beberapa kasus, hingga 64 siklus prosesor dapat mengambil dekompresi data persiapan.
Sebagai perbandingan: menambah dan mengalikan angka floating-point tidak lebih dari sepuluh siklus. Masalahnya adalah memori bekerja dengan blok data dengan ukuran tetap, sementara aplikasi beroperasi dengan objek yang dapat berisi berbagai jenis data dan berbeda dalam ukuran satu sama lain. Untuk mengatasi masalah tersebut, insinyur MIT mengembangkan hierarki memori berorientasi objek yang mengoptimalkan pemrosesan data.
Bagaimana teknologinya bekerja
Solusinya didasarkan pada tiga teknologi: Hotpads, Zippads dan algoritma kompresi COCO.
Hotpads adalah hirarki yang dikendalikan perangkat lunak dari memori register super-operatif (
scratchpad ). Register ini disebut pembalut dan ada tiga - dari L1 ke L3. Mereka menyimpan objek dengan berbagai ukuran, metadata, dan array pointer.
Intinya, arsitektur adalah sistem cache, tetapi dipertajam untuk bekerja dengan objek. Level pad di mana objek berada tergantung pada seberapa sering ia 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 daripada yang lain dan secara otomatis memindahkannya antar level.
Zippads bekerja atas dasar Hotpads - ini mengarsipkan dan mengarsipkan data yang tiba atau meninggalkan dua tingkat hirarki terakhir - L3 pad dan memori utama. Di bantalan pertama dan kedua, data disimpan tidak berubah.

Zippads mengkompres objek yang volumenya tidak melebihi 128 byte. Objek yang lebih besar dibagi menjadi beberapa bagian, yang kemudian ditempatkan di berbagai bagian memori. Menurut pengembang, pendekatan ini meningkatkan koefisien memori yang digunakan secara efisien.
Untuk mengkompres objek, algoritma COCO (Cross-Object COmpression) digunakan, yang akan kita bahas nanti, meskipun sistem juga dapat bekerja dengan
Base-Delta-Immediate atau
FPC . Algoritma COCO adalah bentuk kompresi diferensial. Ini membandingkan objek dengan yang "dasar" dan menghapus bit duplikat - lihat diagram di bawah ini:
Menurut insinyur dari MIT, hirarki memori berorientasi objek mereka 17% lebih produktif daripada pendekatan klasik. Ini jauh lebih dekat dalam strukturnya dengan arsitektur aplikasi modern, sehingga metode baru memiliki potensi.
Diharapkan bahwa di tempat pertama teknologi dapat mulai digunakan oleh perusahaan yang bekerja dengan big data dan algoritma pembelajaran mesin. Area 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:
"Bagaimana Kita Membangun IaaS": 1 bahan keras
Evolusi Arsitektur Awan Keras
Layanan penyimpanan objek dalam 1cloud
Potensi serangan pada HTTPS dan cara-cara untuk melindunginya
Apa persamaan dan perbedaan antara pendekatan Pengiriman Kontinyu dan Integrasi Berkelanjutan?
Cara melindungi server di Internet: 1cloud experience