Back to IF3140 Sistem Basis Data

Arsitektur Hardware Paralel (Shared Memory, Disk, Nothing)

Questions/Cues

  • Apa 3 topologi Interconnection Network?

  • Apa itu Bus? (Kelemahan?)

  • Apa itu Mesh?

  • Apa itu Hypercube?

  • Apa 3 arsitektur paralel utama?

  • Apa itu Shared Memory?

  • Kelebihan & Kekurangan Shared Memory?

  • Apa itu Shared Disk?

  • Kelebihan & Kekurangan Shared Disk?

  • Apa itu Shared Nothing (SN)?

  • Kelebihan & Kekurangan Shared Nothing?

  • Arsitektur mana yang paling scalable?

  • Apa itu Hierarchical / NUMA?

Reference Points

  • Slides “13 - Database System Architectures.pdf” (Slide 27-32)

1. Interconnection Network (Jaringan Interkoneksi)

Jaringan ini adalah “lem” yang menghubungkan semua CPU dan disk. Pilihannya memengaruhi bottleneck.

  1. Bus: Satu kabel/jalur komunikasi tunggal yang dipakai bersama.

    • Kekurangan: Cepat menjadi bottleneck. Jika semua CPU bicara bersamaan, bus akan “penuh”. Tidak skalabel.
  2. Mesh: Komponen (CPU) disusun seperti grid. Tiap komponen terhubung ke tetangga sebelahnya (atas, bawah, kiri, kanan).

    • Kelebihan: Lebih skalabel.

    • Kekurangan: Pesan mungkin perlu “melompat” (hops) beberapa kali untuk sampai ke CPU yang jauh.

  3. Hypercube: Topologi canggih di mana komponen terhubung jika alamat binernya hanya beda 1 bit (misal: 001 terhubung ke 011, 000, dan 101).

    • Kelebihan: Jumlah lompatan (hops) sangat sedikit, komunikasi efisien.

2. Arsitektur Paralel Utama

Ini adalah tiga cara klasik untuk membangun sistem paralel, dibedakan berdasarkan apa yang “di-share”.

a) Shared Memory (Berbagi Memori)

  • Arsitektur: Banyak CPU, semua terhubung ke satu bus yang sama, dan semua berbagi satu memori (RAM) yang sama (dan juga disk yang sama).

  • Kelebihan:

    • Komunikasi Super Cepat: CPU 1 bisa berkomunikasi dengan CPU 2 hanya dengan menulis data di alamat memori yang disepakati. Tidak perlu kirim pesan.
  • Kekurangan:

    • Tidak Skalabel: Bus memori menjadi bottleneck utama. Semakin banyak CPU, semakin besar perebutan bus. (Biasanya mentok di 32 atau 64 CPU).
  • Contoh: Server multi-core/multi-socket standar.

b) Shared Disk (Berbagi Disk)

  • Arsitektur: Banyak CPU, setiap CPU punya memori (RAM) sendiri-sendiri, tapi semua terhubung ke satu set disk yang sama melalui jaringan.

  • Kelebihan:

    • Lebih Skalabel: Mengeliminasi bottleneck bus memori.

    • Fault Tolerance: Jika 1 CPU (node) mati, CPU lain bisa mengambil alih kerjanya karena datanya ada di disk yang bisa diakses bersama.

  • Kekurangan:

    • Bottleneck Pindah: Bottleneck pindah ke jaringan interkoneksi ke disk.

    • Komunikasi Lambat: Komunikasi antar CPU (misal: mengirim data dari RAM CPU 1 ke RAM CPU 2) harus lewat jaringan, lebih lambat.

c) Shared Nothing (Tidak Berbagi Apapun)

  • Arsitektur: Sistem terdiri dari banyak “node”. Setiap node memiliki paket komplit: CPU sendiri, RAM sendiri, dan Disk sendiri.

  • Komunikasi: Node berkomunikasi satu sama lain hanya melalui jaringan interkoneksi. Jika CPU 1 butuh data di Disk 2, ia harus meminta (mengirim pesan) ke CPU 2.

  • Kelebihan:

    • Sangat Skalabel: Massively Scalable. Bisa digabungkan hingga ribuan node tanpa bottleneck terpusat (selain jaringan).
  • Kekurangan:

    • Komunikasi Mahal: Biaya komunikasi (kirim pesan) sangat tinggi.

    • Akses Disk Non-Lokal Lambat: Mengambil data dari disk node lain jauh lebih lambat daripada dari disk lokal.

3. Arsitektur Hibrida: Hierarchical / NUMA

Hierarchical (Hibrida): Menggabungkan ketiga arsitektur di atas.

  • Contoh: Arsitektur Shared Nothing di level tertinggi (banyak node).

  • Tapi setiap node di dalamnya adalah sistem Shared Memory (punya 4-8 CPU yang berbagi RAM lokal).

NUMA (Non-Uniform Memory Architecture):

Varian dari Shared Memory untuk mengatasi bottleneck. CPU punya akses ke semua memori, tapi akses ke memori yang “lokal” (terpasang di socket-nya) jauh lebih cepat daripada akses ke memori yang “jauh” (terpasang di socket CPU lain).

Summary

Arsitektur hardware paralel dibedakan oleh sumber daya apa yang dibagi. Shared Memory membagi RAM, membuatnya sangat cepat untuk komunikasi tapi tidak skalabel karena bottleneck bus memori. Shared Disk membagi Disk (tiap CPU punya RAM sendiri), memberikan fault tolerance tapi memindahkan bottleneck ke jaringan disk. Shared Nothing (SN) tidak berbagi apapun (tiap node punya CPU, RAM, Disk sendiri), membuatnya sangat skalabel (hingga ribuan node) namun mengorbankan kecepatan komunikasi antar node. Arsitektur Hierarchical (atau NUMA) adalah hibrida yang menggabungkan model-model ini, misal node-node SN yang masing-masing adalah sistem Shared Memory.