Parallel Processing dengan Matlab

Melanjutkan tulisan yang lalu (https://rahmadya.com/2014/04/04/mengimpor-big-data-ke-matlab/) tentang import big data ke Matlab, saya akan sharring suka dukanya mengolah big data dengan Matlab. Setelah berhasil meramu kode untuk mencari data dan mengumpulkannya dalam satu tabel untuk data kecil, ketika diterapkan ke data besar muncul masalah besar juga. Mencari 2 juta nama yang memiliki kemiripan harus saya hentikan karena 14 jam baru selesai pengarang ke 16442 yang sedang dibandingkan ke pengarang ke 1.352.700. Tobat.

Algoritmanya sederhana, misalnya kita punya 4 nama A,B,C dan D. Akan kita cek apakah di antara 4 nama itu ada sama nama belakangnya. Alurnya adalah A dibandingkan dengan B, C, dan D. Berikutnya B dibandingkan dengan C, dan D. Terakhir C dibandingkan dengan D. Jika prosesnya memakan waktu sehari maka dapat saja kita pecah jadi misalnya dua proses. Proses pertama membandingkan A,B dengan B,C, D dan proses kedua membandingkan C,D dengan B,C,D. Maka waktu prosesnya diperkirakan jadi setengah hari. Jika dibagi menjadi empat proses, jauh lebih cepat lagi. Setelah diperoleh hasil, perlu satu kode untuk menggabungkan tabel-tabel hasil pencarian yang terpisah tersebut.

Apakah memerlukan komputer yang berbeda? Ternyata tidak, Matlab dapat dijalankan lebih dari satu jendela. Coba Anda buka Matlab Anda, kemudian Anda buka lagi Matlabnya, maka Anda telah menjalankan dua mesin Matlab. Hanya saja Anda harus membedakan variabel pada proses 1 dengan proses 2 karena akan bentrok nantinya, minimal membedakan current directory jika Anda malas merubah listing programnya. Oke, kita buat data baru ujicoba:

Berikutnya jalankan kode untuk mencari nama yang sama seperti tulisan yang lalu dengan bantuan fungsi strfind Matlab (https://rahmadya.com/2014/04/07/mencari-kata-dalam-text-dengan-matlab/). Misal saya memecah menjadi 2 maka dari total 20 nama, maka proses pertama i=1 sampai 10, proses kedua i=11 sampai 20.

Perhatikan untuk proses 1 diperoleh hasil yang banyak karena memang data cenderung terbagi dua karena sementara proses 2 hanya diperoleh satu yang sam yang kebetulan sudah diperoleh juga di proses 1. Seandainya data memang terbagi dua, maka proses 2 tidak menemukan kesamaan.

Tentang rahmadya

I'm a simple man .. Lahir di Sleman Yogyakarta, 7 Juni 1976 PENDIDIKAN: TK : - (tidak ada TK di tj Priok waktu itu) SDN : Papanggo, Jakarta 83 - 89 SMPN : 129, Jakarta 89 - 92 SMAN : 8, Yogyakarta 92 - 95 Univ. : Fak. Teknik UGM, Yogyakarta 95 - 2001 Pasca. : Tek. Informatika STMIK Nusa Mandiri, Jakarta 2008 - 2010 Doctoral : Information Management Asian Institute of Technology, Thailand 2013 - 2018 PEKERJAAN: Tek. Komputer AMIK BSI Jakarta : 2002 - 2005 IT Danamon Jakarta : 2005 - 2008 Tek. Informatika STMIK Nusa Mandiri Jakarta : 2005 - 2008 Univ. Darma Persada Jakarta: 2008 - 2013 Fakultas Teknik Universitas Islam "45" Bekasi : 2008 - Skrg ( Homebase) Univ. Bhayangkara Jakarta Raya: 2018 - Skrg Univ. Nusa Putra Sukabumi: 2018 - Skrg
Pos ini dipublikasikan di Asian Institute of Technology, Decision Support System. Tandai permalink.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google

You are commenting using your Google account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.