Apa itu processing in memory?

Processing in memory, atau PIM (kadang disebut juga processor in memory), adalah integrasi prosesor dengan Random Access Memory (RAM) dalam satu chip. Hasil integrasi ini sering disebut sebagai chip PIM.

PIM memungkinkan komputasi dan pemrosesan dilakukan langsung di dalam memori komputer, server, atau perangkat sejenis. Dengan cara ini, proses eksekusi task bisa lebih cepat karena dikerjakan langsung di modul memori.

Bagaimana cara kerja processing in memory

Arsitektur komputer standar biasanya mengalami masalah latency. Masalah ini dikenal sebagai von Neumann bottleneck, di mana semua pemrosesan hanya dilakukan oleh prosesor. Memori komputer tidak ikut serta dalam pemrosesan karena fungsinya hanya untuk menyimpan program dan data. PIM adalah salah satu pendekatan untuk mengatasi masalah latency bawaan ini.

Dalam sistem komputasi atau aplikasi dengan volume data yang besar, proses transfer data bolak-balik antara memori dan prosesor dapat memperlambat kinerja. Dengan menambahkan kemampuan pemrosesan langsung ke dalam memori, masalah ini bisa dikurangi. PIM dapat memanipulasi data langsung di dalam memori komputer. Software aplikasi yang berjalan akan mengatur pemrosesan dan manajemen data di memori.

Jika melibatkan banyak komputer, software akan membagi pemrosesan menjadi task-task kecil. Task ini kemudian didistribusikan ke tiap komputer dan dijalankan secara paralel untuk mengurangi latency dan mempercepat eksekusi.

Perbedaan processing in memory dan database processing

Database processing biasanya mengacu pada penggunaan relational database management systems (RDBMS) yang menggunakan query language seperti SQL. Pada RDBMS, data harus dimuat dulu dari disk sebelum bisa diproses.

Jika volume data besar, performa bisa melambat karena data harus terus-menerus dipindahkan masuk dan keluar memori, sehingga kinerja komputasi keseluruhan juga menurun. Processing in memory bisa mempercepat eksekusi RDBMS dengan cara memuat data langsung ke RAM atau flash memory yang juga punya kemampuan komputasi.

Perbedaan lain ada pada tipe database yang digunakan. Database processing biasanya dioptimalkan untuk row-based database, sedangkan PIM lebih cocok dengan column-based database. Penyimpanan berbasis baris lebih sesuai untuk transactional processing, tapi kurang optimal untuk aplikasi seperti business intelligence (BI), yang lebih cocok dengan penyimpanan berbasis kolom. Inilah alasan kenapa PIM sangat berguna pada aplikasi jenis ini.

Kelebihan processing in memory

Beberapa keunggulan utama dari processing in memory adalah:

  • Pemrosesan data lebih cepat. Dibandingkan pemrosesan berbasis drive, bekerja langsung pada data di RAM atau flash memory bisa mengurangi bottleneck dan meningkatkan kecepatan eksekusi. Selain itu, transfer data antara chip PIM dan storage juga lebih cepat.
  • Aplikasi PIM. Karena mendukung pemrosesan berkecepatan tinggi, PIM sering digolongkan sebagai real-time. Ini sangat bermanfaat untuk aplikasi real-time atau near real-time, seperti:

Aplikasi lain yang membutuhkan kecepatan tinggi juga cocok memakai PIM, misalnya:

  • predictive maintenance
  • payment processing
  • fraud detection
  • algorithmic trading

Bahkan aplikasi yang tidak harus real-time tapi tetap butuh kecepatan tinggi juga bisa mendapat manfaat dari PIM, contohnya:

  • BI dashboards
  • ad hoc data querying
  • Extract-Transform-Load (ETL) workloads

Tantangan dalam mencapai high-speed processing in memory

Walaupun punya banyak keunggulan, PIM juga memiliki beberapa tantangan, terutama terkait desain dan manufaktur.

  • Tantangan desain. PIM butuh pendekatan baru dalam desain chip. Diperlukan desain paralel yang kompleks untuk mengakomodasi queue dekat memori, serta pemahaman yang lebih mendalam tentang berbagai jenis memori untuk membangun sistem PIM.
  • Tantangan manufaktur. Dari sisi produksi, penting untuk meminimalisir jarak fisik antara memori dan logic agar sinyal bisa lebih cepat, namun hal ini bisa meningkatkan biaya atau menimbulkan masalah panas (thermal).
  • Ketergantungan pada memori. Kelemahan lain justru berasal dari kekuatan PIM itu sendiri: ketergantungan pada memori. Jika RAM atau flash memory mengalami kerusakan, bisa terjadi kompromi pada data.
  • Biaya. Sistem berbasis memori cenderung lebih mahal dibanding arsitektur komputasi tradisional. Hal ini bisa menjadi kendala untuk perusahaan kecil atau aplikasi skala kecil, meskipun perusahaan besar dengan data warehouse masif biasanya lebih siap menanggung biaya tersebut.

Lihat juga bagaimana computational storage drive mengubah cara komputasi, serta kunci untuk memanfaatkannya dalam aplikasi. Jelajahi juga penggunaan computational storage untuk big data dan bagaimana ia melampaui sekadar computation offloading.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *