Komputasi dengan performa tinggi (High Performance Computing-HPC) biasa dilakukan ketika permasalahan (model) yang dihadapi kompleks atau ketika data (domain/permasalahan) besar. Untuk menyelesaikan permasalahan besar/komplex tersebut, sebuah komputer dengan performa tinggi biasanya digunakan. Arsitektur komputer modern dengan performa tinggi memiliki prosesor CPU (& GPU) yang cukup banyak untuk membantu menyelesaikan masalah tersebut. Sebelum era Big Data, HPC hanya fokus pada bagaimana permasalahan dipecah menjadi sub masalah dan diselesaikan secara bersamaan (parallel/concurrent) se-efisien mungkin. Karena data yang relatif kecil, total komunikasi antara Prosesor dan memori tidak signifikan dibanding lamanya komputasi yang dilakukan. Namun hal ini tidak lagi tepat ketika datanya besar. Perubahan teknik pemrograman paralel apa saja yang dibutuhkan ketika datanya besar? Post ini adalah catatan kecil dari beberapa pengalaman saya ketika melakukan pemrograman paralel ketika datanya besar (Bagian 1 lebih ke Teori/Konsep, nanti di Bagian 2 merupakan teknis/penerapan dari apa yang dijelaskan di Bagian 1).