Proses yang dijalankan secara paralel harus bersamaan kecuali jika dioperasikan pada saat yang bersamaan tetapi proses yang dilakukan bersamaan tidak akan pernah bisa paralel karena ini tidak diproses pada saat yang sama.
Grafik perbandingan
Dasar untuk perbandingan | Konkurensi | Paralelisme |
---|---|---|
Dasar | Ini adalah tindakan mengelola dan menjalankan banyak komputasi secara bersamaan. | Ini adalah tindakan menjalankan beberapa komputasi secara bersamaan. |
Dicapai melalui | Operasi Interleaving | Menggunakan banyak CPU |
Manfaat | Peningkatan jumlah pekerjaan yang dilakukan sekaligus. | Peningkatan throughput, percepatan komputasi |
Menggunakan | Pergantian konteks | Banyak CPU untuk mengoperasikan banyak proses. |
Unit pemrosesan diperlukan | Mungkin lajang | Berganda |
Contoh | Menjalankan banyak aplikasi sekaligus. | Menjalankan perayap web di sebuah kluster. |
Definisi Konkurensi
Concurrency adalah teknik yang digunakan untuk mengurangi waktu respons sistem menggunakan unit pemrosesan tunggal atau pemrosesan sekuensial . Sebuah tugas dibagi menjadi beberapa bagian, dan bagiannya diproses secara bersamaan tetapi tidak secara bersamaan. Ini menghasilkan ilusi paralelisme, tetapi dalam kenyataannya potongan tugas tidak paralel diproses. Konkurensi diperoleh dengan cara interleaving operasi proses pada CPU, dengan kata lain melalui pengalihan konteks di mana kontrol dengan cepat beralih di antara berbagai proses dan pengalihan tidak dapat dikenali. Itulah alasannya terlihat seperti pemrosesan paralel.
Concurrency memberikan akses multi-pihak ke sumber daya bersama dan memerlukan beberapa bentuk komunikasi. Ia bekerja pada utas saat membuat kemajuan yang bermanfaat lalu menghentikan utas dan beralih ke utas berbeda kecuali jika itu membuat kemajuan yang bermanfaat.
Definisi Paralelisme
Paralelisme dirancang untuk tujuan meningkatkan kecepatan komputasi dengan menggunakan beberapa prosesor. Ini adalah teknik menjalankan tugas yang berbeda secara bersamaan pada saat yang bersamaan. Ini melibatkan beberapa unit pemrosesan komputasi independen atau perangkat komputasi yang secara paralel mengoperasikan dan melakukan tugas-tugas untuk meningkatkan kecepatan komputasi dan meningkatkan throughput.
Paralelisme menghasilkan tumpang tindih aktivitas CPU dan I / O dalam satu proses dengan CPU dan aktivitas I / O dari proses lain. Sedangkan ketika concurrency diimplementasikan, kecepatan ditingkatkan dengan tumpang tindih kegiatan I / O dari satu proses dengan proses CPU dari proses lain.
Perbedaan Kunci Antara Konkurensi dan Paralelisme
- Concurrency adalah tindakan menjalankan dan mengelola banyak tugas secara bersamaan. Di sisi lain, paralelisme adalah tindakan menjalankan berbagai tugas secara bersamaan.
- Paralelisme diperoleh dengan menggunakan banyak CPU, seperti sistem multi-prosesor dan mengoperasikan berbagai proses pada unit pemrosesan atau CPU ini. Sebaliknya, konkurensi dicapai dengan interleaving operasi proses pada CPU dan khususnya pengalihan konteks.
- Konkurensi dapat diimplementasikan dengan menggunakan unit pemrosesan tunggal sementara ini tidak mungkin dilakukan dalam kasus paralelisme, itu membutuhkan beberapa unit pemrosesan.
Kesimpulan
Singkatnya, konkurensi dan paralelisme tidak persis sama dan dapat dibedakan. Concurrency dapat melibatkan berbagai tugas yang berjalan dan memiliki waktu yang tumpang tindih . Di sisi lain, paralelisme melibatkan tugas yang berbeda yang berjalan secara bersamaan dan cenderung memiliki waktu mulai dan berakhir yang sama.