Back to IF3140 Sistem Basis Data

Sistem Paralel: Konsep & Metrik Kinerja

Questions/Cues

  • Apa itu Parallel Database System?

  • Apa beda Coarse-grain vs Fine-grain?

  • Apa 2 metrik kinerja utama?

  • Apa itu Throughput?

  • Apa itu Response Time?

  • Apa itu Speedup?

  • Apa arti Linear Speedup?

  • Apa itu Scaleup?

  • Apa arti Linear Scaleup?

  • Apa beda Batch Scaleup vs Transaction Scaleup?

  • Apa 3 faktor penghambat Speedup & Scaleup?

  • Apa itu Startup Costs?

  • Apa itu Interference?

  • Apa itu Skew?

Reference Points

  • Slides “13 - Database System Architectures.pdf” (Slide 22-26)

1. Parallel Database Systems

Sistem Database Paralel adalah sistem yang menggunakan banyak processor dan banyak disk yang terhubung oleh jaringan interkoneksi berkecepatan tinggi, untuk menjalankan tugas database secara bersamaan (paralel).

  • Coarse-grain: Sistem dengan sedikit (misal: 4-64) processor yang powerful.

  • Fine-grain / Massively Parallel: Sistem dengan ribuan processor yang lebih “lemah”.

Tujuannya adalah untuk meningkatkan performa. Ada dua cara mengukur performa:

  1. Throughput: Jumlah tugas (transaksi) yang dapat diselesaikan dalam satu interval waktu. (Ukuran: tasks per second).

  2. Response Time: Waktu yang dibutuhkan untuk menyelesaikan satu tugas, dari saat dikirim hingga selesai. (Ukuran: seconds).

2. Metrik Kinerja: Speedup

Speedup mengukur seberapa cepat sistem yang lebih besar bisa menyelesaikan pekerjaan dengan ukuran masalah yang tetap.

  • Rumus: Waktu di sistem kecil / Waktu di sistem N-kali lebih besar

  • Linear Speedup: Peningkatan performa yang ideal. Jika kita menambah hardware 2x lipat (misal: 4 CPU jadi 8 CPU), pekerjaan selesai 2x lebih cepat. (Hasil = N).

  • Sublinear Speedup: Peningkatan performa di dunia nyata. Menambah hardware 2x lipat hanya mempercepat 1.8x, karena ada overhead.

3. Metrik Kinerja: Scaleup

Scaleup mengukur kemampuan sistem untuk menangani pekerjaan yang lebih besar dengan memberinya hardware yang lebih besar.

  • Rumus: Waktu (masalah kecil di sistem kecil) / Waktu (masalah N-kali lebih besar di sistem N-kali lebih besar)

  • Linear Scaleup: Peningkatan yang ideal. Jika kita menambah hardware 2x lipat (4 jadi 8 CPU) dan juga menambah ukuran data 2x lipat, waktu eksekusi tetap sama. (Hasil = 1).

  • Sublinear Scaleup: Kinerja di dunia nyata. Saat hardware dan data ditambah 2x lipat, waktu eksekusi malah jadi lebih lambat (misal: 1.1x).

Jenis Scaleup:

  • Batch Scaleup: Untuk 1 pekerjaan besar (misal: query data warehouse). Data 1TB di 16 CPU vs Data 10TB di 160 CPU.

  • Transaction Scaleup: Untuk banyak pekerjaan kecil (misal: OLTP/e-commerce). 1000 user di 16 CPU vs 10.000 user di 160 CPU.

4. Faktor Penghambat (Limitasi)

Speedup dan scaleup jarang sekali linear (ideal) karena 3 alasan:

  1. Startup Costs (Biaya Awal)

    • Biaya untuk memulai (inisialisasi) ribuan proses paralel di banyak CPU.
    • Jika tugasnya sangat singkat, waktu untuk memulai proses bisa lebih lama daripada waktu eksekusi tugas itu sendiri.
  2. Interference (Interferensi / Bottleneck)

    • Proses-proses paralel saling “berebut” sumber daya yang digunakan bersama (shared resource).

    • Contoh: berebut bus memori, berebut lock di lock table, berebut I/O disk. Proses akhirnya lebih banyak menunggu daripada bekerja.

  3. Skew (Kemiringan / Ketidakseimbangan)

    • Pembagian kerja yang tidak merata di antara processor.
    • Waktu eksekusi total ditentukan oleh processor yang kerjanya paling lambat (paling banyak).
    • Contoh: Memproses data pelanggan. Processor A kebagian 1000 pelanggan dari Jakarta, Processor B kebagian 10 pelanggan dari Papua. Processor B selesai duluan dan menganggur, sementara semua menunggu Processor A selesai.

Summary

Sistem Paralel menggunakan banyak CPU dan disk untuk meningkatkan performa, yang diukur dengan Throughput (tugas per detik) dan Response Time (detik per tugas). Kinerja idealnya diukur dengan Speedup (menyelesaikan masalah tetap lebih cepat di sistem besar) dan Scaleup (menyelesaikan masalah besar di sistem besar dalam waktu tetap). Kinerja linear (ideal) jarang tercapai di dunia nyata karena adanya tiga penghambat: Startup Costs (biaya inisialisasi proses), Interference (perebutan bottleneck), dan Skew (pembagian kerja yang tidak seimbang).