Komputasi heterogen saat ini menjadi arus-utama dalam bidang high performance computing. Komponen-komponen dalam sistem komputer heterogen biasanya terdiri atas CPU yang dilengkapi dengan akselerator, seperti GPU, yang diprogram dengan suatu kerangka kerja pemrograman, seperti OpenCL. Untuk memperoleh kinerja yang terbaik, maka beban kerja, dalam hal ini kernel OpenCL, harus dipetakan ke prosesor yang tepat. Mekanisme pemetaan juga harus dapat mempertimbangkan ketersediaan prosesor. Jika prosesor yang dipilih tidak tersedia, maka mekanisme pemetaan harus mampu memilih prosesor alternatif di antara prosesor yang masih tersedia dengan tetap mempertahankan optimalitas. Untuk mengakomodasi hal-hal tersebut, maka pada penelitian disertasi ini diajukan metode baru yang memetakan beban kerja ke sekuen prosesor. Sekuen prosesor merupakan terminologi baru yang diajukan pada penelitian ini. Sekuen prosesor merupakan daftar prosesor yang terurut berdasarkan kinerjanya ketika mengeksekusi suatu beban kerja. Sekuen prosesor digunakan untuk memilih prosesor terbaik untuk mengeksekusi suatu beban kerja.
Pada penelitian ini, pemetaan beban kerja dilakukan dengan menggunakan algoritme K-Nearest Neighbor (KNN) karena secara natural mendukung klasifikasi multikelas. Agar algoritme klasifikasi data KNN menghasilkan akurasi yang baik, maka terlebih dahulu dilakukan pemilihan fitur yang representatif dengan model filter dan model wrapper. Pada skenario dua prosesor, pengujian dilakukan dengan metode k-fold cross-validation dan partisi data uji-data latih. Pada skenario empat prosesor, pengujian dilakukan dengan metode k-fold cross-validation, dan dengan beban kerja yang tidak termasuk ke dalam set data. Berdasarkan hasil pengujian, metode yang diajukan mampu mencapai akurasi terbaik sebesar 93%-100% pada pemetaan beban kerja terhadap dua prosesor, dan mencapai 87% pada pemetaan beban kerja terhadap empat prosesor. Berdasarkan hasil percobaan dapat disimpulkan bahwa fitur-fitur beban kerja yang berkontribusi tinggi terhadap akurasi pemetaan pada skenario dua prosesor adalah vector integer operations dan vector memory access, sedangkan untuk skenario empat prosesor adalah barriers dan uncoalesced memory access.