Traffine I/O

Bahasa Indonesia

2023-04-09

CPU Bound dan IO Bound

Klasifikasi Beban

Dalam dunia ilmu komputasi, tugas-tugas yang dapat dilakukan oleh sebuah sistem biasanya dibebani oleh jenis beban yang berbeda-beda. Beban-beban ini, yang secara umum dikategorikan, dapat dikelompokkan menjadi dua jenis utama:

  • Beban CPU
  • Beban I/O

Jenis beban yang diberikan oleh suatu program pada sebuah sistem erat kaitannya dengan sifat operasi yang dilakukannya. Beberapa program membutuhkan daya komputasi yang signifikan, menciptakan beban CPU yang tinggi, sementara program lain melakukan operasi baca tulis yang ekstensif, menghasilkan beban I/O yang berat.

Memahami sifat dari beban-beban ini sangat penting dalam merancang, mengimplementasikan, atau mengoptimalkan sistem. Pengetahuan ini memungkinkan alokasi resource yang efisien dan dapat secara signifikan meningkatkan kinerja sistem.

Beban CPU

Beban pada Unit Pemrosesan Sentral (CPU) merujuk pada tuntutan komputasi yang diberikan pada prosesor sistem. Hal ini secara langsung terkait dengan jumlah dan kompleksitas perhitungan yang perlu dilakukan oleh CPU. Beban CPU yang tinggi umumnya berkaitan dengan tugas-tugas yang kompleks dan intensif perhitungannya.

Contoh: Program Perhitungan Ilmiah Skala Besar

Untuk mengilustrasikan konsep ini, mari kita pertimbangkan sebuah program yang dirancang untuk perhitungan ilmiah skala besar. Program-program seperti ini sering digunakan dalam bidang fisika, meteorologi, atau biologi komputasional, dan membutuhkan resource komputasi yang besar.

Ketergantungan pada Kecepatan Perhitungan CPU

Program perhitungan ilmiah semacam ini mungkin tidak melibatkan operasi Input/Output (I/O) yang signifikan, seperti membaca atau menulis ke disk. Namun, program tersebut kemungkinan akan memerlukan waktu yang cukup lama untuk diselesaikan karena jumlah perhitungan yang diperlukan sangat banyak. Karena kecepatan perhitungan ini langsung terkait dengan kecepatan CPU, kecepatan eksekusi program tersebut menjadi CPU-bound.

Karakteristik Program yang CPU Bound

Kecepatan eksekusi program yang CPU bound sangat bergantung pada daya komputasi CPU. Mengupgrade ke CPU yang lebih cepat, atau mengoptimalkan penggunaan CPU dengan menyesuaikan program atau sistem, dapat menghasilkan peningkatan proporsional pada kecepatan eksekusi program yang CPU bound. Program-program semacam ini merupakan sumber beban CPU yang signifikan, dan pemahaman tentang cara mengelolanya dengan efisien dapat sangat meningkatkan kinerja sistem.

Beban I/O

Beban I/O, singkatan dari Input/Output, merujuk pada tuntutan yang diberikan pada kemampuan sebuah sistem untuk membaca (input) atau menulis (output) dari berbagai perangkat penyimpanan, termasuk disk dan memori. Beban I/O yang tinggi umumnya muncul ketika terdapat operasi transfer data yang besar antara sistem dan perangkat penyimpanannya.

Contoh: Program Pencarian yang Membaca dari Disk

Untuk memberikan ilustrasi yang jelas, pertimbangkan sebuah program pencarian yang dirancang untuk menemukan dokumen-dokumen tertentu dalam jumlah data yang sangat besar yang disimpan di sebuah disk. Fungsi utama dari program tersebut adalah membaca data dari disk dan menganalisanya untuk menemukan dokumen yang dibutuhkan.

Ketergantungan pada Kecepatan Membaca Disk

Kecepatan eksekusi program pencarian ini sangat bergantung pada kecepatan membaca disk, bukan kecepatan komputasi CPU. Dengan kata lain, semakin cepat disk dapat menyediakan data untuk diproses, semakin singkat waktu yang dibutuhkan untuk menemukan dokumen yang diinginkan. Oleh karena itu, program ini sering disebut sebagai program I/O-bound.

Karakteristik Program yang I/O Bound

Kecepatan program yang I/O bound sangat bergantung pada kecepatan transfer data antara CPU sistem dan perangkat penyimpanannya. Meningkatkan kapasitas I/O sistem, seperti mengupgrade ke perangkat penyimpanan yang lebih cepat atau mengoptimalkan proses penanganan I/O sistem, dapat menghasilkan peningkatan yang signifikan pada kecepatan eksekusi program yang I/O bound. Memahami sifat beban I/O dan cara mengelolanya dengan efektif sangat penting dalam memaksimalkan kinerja aplikasi yang membutuhkan pemrosesan data secara intensif.

Perbandingan dan Konteks

Sifat CPU Bound pada Server Aplikasi

Server aplikasi, yang sering disebut sebagai server AP, biasanya menangani permintaan dari klien, memproses data dari database, dan mengirimkan hasilnya kembali ke klien. Dalam konteks ini, server-server ini jarang menghasilkan beban I/O yang signifikan. Sebaliknya, beban kerjanya sebagian besar berhubungan dengan komputasi, termasuk pemrosesan dan manipulasi data. Oleh karena itu, server AP umumnya dianggap sebagai sistem yang CPU bound.

Sifat I/O Bound pada Server Database

Sebaliknya, server database, atau server DB, bertanggung jawab utama dalam mengambil dan menyimpan data ke dan dari disk. Tugas ini menjadi semakin intensif dalam hal I/O seiring dengan bertambahnya ukuran data. Oleh karena itu, performa server DB lebih dipengaruhi oleh operasi I/O daripada komputasi CPU, sehingga diklasifikasikan sebagai sistem yang I/O bound.

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!