A. Kinerja Cache Memory

Untuk memahami cara kerja cache, kita harus memahami beberapa poin:


Memori cache dapat diakses dengan sangat cepat

Memori cache lebih kecil dan tidak dapat menyimpan data dalam jumlah besar

Ketika CPU membutuhkan data, pertama-tama, CPU mengunjungi L1 cache. Jika tidak menemukan apa pun di L1, maka akan melihat data di L2 cache. Apabila CPU tidak juga menemukan data di L2 cache, maka CPU akan beralih ke L3 cache.


Apabila data yang diperlukan oleh CPU ditemukan dalam cache memory, maka disebut sebagai cache hit. Sebaliknya, jika data tidak ditemukan di dalam cache disebut cache miss.


Jika data tidak tersedia di salah satu cache memory, data tersebut akan ditelusuri di dalam Random Access Memory (RAM). Jika RAM juga tidak memiliki data, maka ia akan mendapatkan data tersebut dari Hard Disk Drive.




B. Penggunaan Asosiasi Untuk Mengurangi Kesalahan


Kinerja memori cache sering diukur dalam hal kuantitas yang disebut rasio Hit. Kita dapat meningkatkan kinerja Cache menggunakan ukuran blok cache yang lebih tinggi, asosiasi yang lebih tinggi, mengurangi tingkat kesalahan, mengurangi penalti kesalahan, dan mengurangi waktu untuk mencapai cache.




C. Penggunaan Cache Bertingkat Hierarki Untuk Mengurangi Kesalahan Penalti


Hierarki memori atau memory hierarchy


peningkatan waktu akses (access time) memori (semakin ke bawah semakin lambat, semakin ke atas semakin cepat)

peningkatan kapasitas (semakin ke bawah semakin besar, semakin ke atas semakin kecil)

peningkatan jarak dengan prosesor (semakin ke bawah semakin jauh, semakin ke atas semakin dekat)

penurunan harga memori tiap bitnya (semakin ke bawah semakin semakin murah, semakin ke atas semakin mahal)

Memori yang lebih kecil, lebih mahal dan lebih cepat diletakkan pada urutan teratas. Sehingga, jika diurutkan dari yang tercepat, maka urutannya adalah sebagai berikut:


register mikroprosesor. Ukurannya yang paling kecil tetapi memiliki waktu akses yang paling cepat, umumnya hanya 1 siklus CPU saja.

Cache mikroprosesor, yang disusun berdasarkan kedekatannya dengan prosesor (level-1, level-2, level-3, dan seterusnya). Memori cache mikroprosesor dikelaskan ke dalam tingkatan-tingkatannya sendiri:

level-1: memiliki ukuran paling kecil di antara semua cache, sekitar puluhan kilobyte saja. Kecepatannya paling cepat di antara semua cache.

level-2: memiliki ukuran yang lebih besar dibandingkan dengan cache level-1, yakni sekitar 64 kilobyte, 256 kilobyte, 512 kilobyte, 1024 kilobyte, atau lebih besar. Meski demikian, kecepatannya lebih lambat dibandingkan dengan level-1, dengan nilai latency kira-kira 2 kali hingga 10 kali. Cache level-2 ini bersifat opsional. Beberapa prosesor murah dan prosesor sebelum Intel Pentium tidak memiliki cache level-2.

level-3: memiliki ukuran yang lebih besar dibandingkan dengan cache level-2, yakni sekitar beberapa megabyte tetapi agak lambat. Cache ini bersifat opsional. Umumnya digunakan pada prosesor-prosesor server dan workstation seperti Intel Xeon atau Intel Itanium. Beberapa prosesor desktop juga menawarkan cache level-3 (seperti halnya Intel Pentium Extreme Edition), meski ditebus dengan harga yang sangat tinggi.

Memori utama: memiliki akses yang jauh lebih lambat dibandingkan dengan memori cache, dengan waktu akses hingga beberapa ratus siklus CPU, tetapi ukurannya mencapai satuan gigabyte. Waktu akses pun kadang-kadang tidak seragam, khususnya dalam kasus mesin-mesin Non-uniform memory access (NUMA).

Cakram Magnetis cakram magnetis, yang sebenarnya merupakan memori yang digunakan dalam memori utama untuk membantu kerja cakram magnetis.

Cakram magnetis

Tape magnetis

Cakram Optik


Bagian dari sistem operasi yang mengatur hierarki memori disebut dengan memory manager. Di era multiprogramming ini, memory manager digunakan untuk mencegah satu proses dari penulisan dan pembacaan oleh proses lain yang dilokasikan di primary memory, mengatur swapping antara memori utama dan disk ketika memori utama terlalu kecil untuk memegang semua proses. Tujuan dari manajemen ini adalah untuk:


Meningkatkan utilitas CPU.

Data dan instruksi dapat diakses dengan cepat oleh CPU.

Efisiensi dalam pemakaian memori yang terbatas.

Transfer dari/ke memori utama ke/dari CPU dapat lebih efisien.


D. Pengoptimalan Perangkat Lunak Untuk Meningkatkan Efektivitas Cache

Teknologi cache atau caching memiliki banyak fungsi dan manfaat yang dijelaskan pada beberapa poin berikut ini;

1. FUNGSI

Cache adalah sistem yang berguna untuk sebuah aplikasi karena memiliki fungsi yang penting. Berikut adalah fungsi dari Cache:


Mempercepat loading gambar yang ada di website atau aplikasi. Keberadaan data Cache dalam aplikasi tentu akan memudahkan prosessor untuk menampilkan gambar atau grafis secara lebih cepat pada pengguna.

Memungkinkan user untuk mengakses website lebih cepat melalui browser-nya. Saat sudah terdapat data Cache, prosessor tidak perlu mengakses database pada perangkat kita.

Meningkatkan dan menstabilkan performa aplikasi atau website saat digunakan. Adanya Cache dalam hal ini akan membantu prosesor dan developer saat pengguna menjalankan aplikasi karena bisa menaikkan kecepatan loading.

2. MANFAAT CACHE

Berikut adalah manfaat dari Cache:


Meningkatkan Kinerja Aplikasi

Akses data yang jauh lebih cepat ini meningkatkan kinerja aplikasi secara keseluruhan. Hal ini dikarenakan Cache bisa membaca data dengan sangat cepat melebihi performa penyimpanan lain seperti SSD.


Mengurangi Biaya Database

Sebuah instans cache tunggal mampu menyediakan ratusan ribu IOPS (Operasi input/output per detik), yang berarti bisa berpotensi menggantikan sejumlah instans database. Sehingga bisa menurunkan total biaya dengan signifikan. Karena dalam hal ini, tingkat penghematan biaya pun bisa mencapai puluhan persen berkat Cache.


Kinerja yang Dapat Diprediksi

Tantangan umum dalam aplikasi saat ini adalah menghadapi lonjakan penggunaan aplikasi yang tidak tertebak setiap saatnya. Contohnya seperti aplikasi e-commerce dan sejenisnya. Peningkatan beban pada database menghasilkan latensi (durasi waktu yang dibutuhkan untuk penyampaian data) yang lebih tinggi untuk mendapatkan data. Dengan memanfaatkan cache dalam memori throughput tinggi, masalah seperti ini akan terminimalisir.


Menghilangkan Hotspot Database

Dalam hal ini manfaat Cache adalah menghilangkan hotspot database. Dalam banyak aplikasi, kemungkinan sebagian kecil data, seperti profil selebriti atau produk populer, akan lebih sering diakses daripada yang lain. Hal ini dapat mengakibatkan hotspot di database Anda dan mungkin memerlukan penyediaan sumber daya database yang berlebihan berdasarkan persyaratan throughput untuk data yang paling sering digunakan. 


Menyimpan kunci umum dalam cache dalam memori mengurangi kebutuhan untuk penyediaan yang berlebihan sambil memberikan kinerja yang cepat dan dapat diprediksi untuk data yang paling sering diakses.


Meningkatkan Throughput Baca (IOPS)

Selain latensi yang lebih rendah, sistem dalam memori juga membuat tingkat permintaan (IOPS) yang jauh lebih tinggi dibandingkan dengan basis data berbasis disk yang sebanding. Sebuah instans tunggal yang digunakan sebagai cache samping, dapat melayani ratusan ribu permintaan per detik.


Mengurangi Beban di Backend

Manfaat berikutnya dari Cache adalah dapat mengurangi beban pada database Anda, dan melindunginya dari kinerja yang lebih lambat saat under load, atau bahkan dari crash pada saat lonjakan tinggi.






Reviewed by Farrel Rizki Utama on December 29, 2022 Rating: 5

No comments

Related Posts No. (ex: 9)