Saya percaya jawaban ini lebih benar daripada jawaban yang ada dan mengeditnya akan mengubah esensinya. Saya telah mencoba menautkan ke berbagai sumber atau halaman wikipedia sehingga orang lain dapat menegaskan kebenaran.
Concurrency: properti suatu sistem yang memungkinkan unit program, algoritma, atau masalah dieksekusi out-of-order atau dalam urutan parsial tanpa mempengaruhi hasil akhir 1 2 .
Contoh sederhana dari ini adalah penambahan berturut-turut:
0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 = 45
Karena sifat komutatif dari tambahan, urutannya dapat diatur ulang tanpa memengaruhi kebenaran; pengaturan berikut akan menghasilkan jawaban yang sama:
(1 + 9) + (2 + 8) + (3 + 7) + (4 + 6) + 5 + 0 = 45
Di sini saya telah mengelompokkan angka menjadi pasangan yang akan berjumlah 10, sehingga memudahkan saya untuk sampai pada jawaban yang benar di kepala saya.
Komputasi Paralel: jenis komputasi di mana banyak perhitungan atau pelaksanaan proses dilakukan secara bersamaan 3 4 . Dengan demikian komputasi paralel memanfaatkan properti konkurensi untuk mengeksekusi banyak unit program, algoritma, atau masalah secara bersamaan.
Melanjutkan dengan contoh penambahan berturut-turut, kita dapat mengeksekusi bagian-bagian berbeda dari jumlah secara paralel:
Execution unit 1: 0 + 1 + 2 + 3 + 4 = 10
Execution unit 2: 5 + 6 + 7 + 8 + 9 = 35
Kemudian pada akhirnya kami menjumlahkan hasil dari setiap pekerja untuk mendapatkan 10 + 35 = 45
.
Sekali lagi, paralelisme ini hanya mungkin karena penambahan berturut-turut memiliki sifat konkurensi.
Konkurensi dapat dimanfaatkan oleh lebih dari sekedar paralelisme. Pertimbangkan pre-emption pada sistem single-core: selama periode waktu sistem dapat membuat kemajuan pada beberapa proses yang berjalan tanpa ada yang menyelesaikan. Memang, contoh I / O asinkron adalah contoh umum dari konkurensi yang tidak memerlukan paralelisme.
Kebingungan
Di atas relatif mudah. Saya curiga orang menjadi bingung karena definisi kamus tidak serta-merta cocok dengan yang diuraikan di atas:
- Bersamaan: terjadi atau ada secara bersamaan atau berdampingan 5 .
- Konkurensi: fakta dari dua atau lebih peristiwa atau keadaan yang terjadi atau ada pada saat yang sama Dari pencarian di google: "define: concurrency" .
Kamus mendefinisikan "concurrency" sebagai fakta kejadian, sedangkan definisi dalam bahasa sehari-hari adalah properti laten dari suatu program, properti, atau sistem. Padahal terkait hal-hal ini tidak sama.
Rekomendasi Pribadi
Saya merekomendasikan menggunakan istilah "paralel" ketika eksekusi simultan dipastikan atau diharapkan, dan untuk menggunakan istilah "bersamaan" ketika tidak pasti atau tidak relevan jika eksekusi simultan akan digunakan.
Karena itu saya akan menggambarkan simulasi mesin jet pada beberapa core sebagai paralel.
Saya akan menggambarkan Makefiles sebagai contoh konkurensi. Makefiles menyatakan dependensi dari setiap target. Ketika target bergantung pada target lain, ini menciptakan pemesanan parsial. Ketika hubungan dan resep didefinisikan secara komprehensif dan benar, ini membangun properti konkurensi: ada urutan parsial sehingga urutan tugas tertentu dapat diatur ulang tanpa memengaruhi hasilnya. Sekali lagi, konkurensi ini dapat dimanfaatkan untuk membangun beberapa aturan secara bersamaan tetapi konkurensi tersebut adalah properti dari Makefile apakah paralelisme digunakan atau tidak.