Peneliti mengembangkan analisis jaringan yang lebih cepat untuk berbagai perangkat keras komputer
Sciences

Peneliti mengembangkan analisis jaringan yang lebih cepat untuk berbagai perangkat keras komputer


Peneliti MIT mengembangkan perangkat lunak untuk menjalankan aplikasi grafik secara lebih efisien pada berbagai perangkat keras komputasi, termasuk CPU dan GPU. Penghargaan: Gambar: Gambar Istockphoto diedit oleh MIT News

Grafik — struktur data yang menunjukkan hubungan antar objek — sangat serbaguna. Sangat mudah untuk membayangkan grafik yang menggambarkan jaringan koneksi jaringan media sosial. Tetapi grafik juga digunakan dalam program yang beragam seperti rekomendasi konten (apa yang harus ditonton selanjutnya di Netflix?) Dan navigasi (apa rute tercepat ke pantai?). Seperti yang diringkas Ajay Brahmakshatriya, “Grafik pada dasarnya ada di mana-mana.”

Brahmakshatriya telah mengembangkan perangkat lunak untuk menjalankan aplikasi grafik secara lebih efisien pada perangkat keras komputer yang lebih luas. Perangkat lunak ini memperluas GraphIt, bahasa pemrograman grafik yang canggih, untuk dijalankan pada unit pemrosesan grafis (GPU), perangkat keras yang memproses banyak aliran data secara paralel. Kemajuan dapat mempercepat analisis grafik, terutama untuk aplikasi yang memanfaatkan paralelisme GPU, seperti algoritme rekomendasi.

Brahmakshatriya, Ph.D. Mahasiswa di Departemen Teknik Elektro dan Ilmu Komputer MIT serta Laboratorium Ilmu Komputer dan Kecerdasan Buatan, akan mempresentasikan karya tersebut pada Simposium Internasional tentang Pembuatan dan Pengoptimalan Kode bulan ini. Rekan penulis termasuk penasihat Brahmakshatriya, Profesor Saman Amarasinghe, serta Asisten Profesor Pengembangan Karir Douglas T. Ross dari Teknologi Perangkat Lunak Julian Shun, postdoc Changwan Hong, MIT Ph.D. siswa Yunming Zhang Ph.D. ’20 (sekarang dengan Google), dan Shoaib Kamil dari Adobe Research.

Ketika programmer menulis kode, mereka tidak berbicara langsung dengan perangkat keras komputer. Perangkat keras itu sendiri beroperasi dalam biner — 1 dan 0 — sementara pembuat kode menulis dalam bahasa “tingkat tinggi” yang terstruktur yang terdiri dari kata dan simbol. Menerjemahkan bahasa tingkat tinggi itu ke dalam biner yang dapat dibaca perangkat keras membutuhkan program yang disebut kompiler. “Kompilator mengubah kode ke format yang dapat dijalankan di perangkat keras,” kata Brahmakshatriya. Salah satu penyusun tersebut, yang dirancang khusus untuk analisis grafik, adalah GraphIt.

Para peneliti mengembangkan GraphIt pada 2018 untuk mengoptimalkan kinerja algoritma berbasis grafik terlepas dari ukuran dan bentuk grafik. GraphIt memungkinkan pengguna tidak hanya untuk memasukkan algoritma, tetapi juga untuk menjadwalkan bagaimana algoritma itu berjalan pada perangkat keras. “Pengguna dapat memberikan opsi yang berbeda untuk penjadwalan, sampai mereka menemukan yang terbaik untuk mereka,” kata Brahmakshatriya. “GraphIt menghasilkan kode yang sangat khusus yang disesuaikan untuk setiap aplikasi agar berjalan seefisien mungkin.”

Sejumlah perusahaan rintisan dan perusahaan teknologi mapan telah mengadopsi GraphIt untuk membantu pengembangan aplikasi grafik mereka. Tapi Brahmakshatriya mengatakan iterasi pertama GraphIt memiliki kekurangan: Ini hanya berjalan pada unit pemroses pusat atau CPU, jenis prosesor di laptop biasa.

“Beberapa algoritme sangat paralel,” kata Brahmakshatriya, “artinya algoritme tersebut dapat menggunakan perangkat keras dengan lebih baik seperti GPU yang memiliki 10.000 inti untuk dieksekusi.” Dia mencatat bahwa beberapa jenis analisis grafik, termasuk algoritme rekomendasi, memerlukan tingkat paralelisme yang tinggi. Jadi Brahmakshatriya memperluas GraphIt untuk memungkinkan analisis grafik berkembang pada GPU.

Tim Brahmakshatriya mempertahankan cara pengguna GraphIt memasukkan algoritme, tetapi mengadaptasi komponen penjadwalan untuk perangkat keras yang lebih luas. “Keputusan desain utama kami dalam memperluas GraphIt ke GPU adalah menjaga representasi algoritme tetap sama,” kata Brahmakshatriya. “Sebagai gantinya, kami menambahkan bahasa penjadwalan baru. Jadi, pengguna dapat menyimpan algoritme yang sama dengan yang mereka tulis sebelumnya [for CPUs], dan cukup ubah input penjadwalan untuk mendapatkan kode GPU. “

Penjadwalan baru yang dioptimalkan untuk GPU ini memberikan dorongan pada algoritme grafik yang memerlukan paralelisme tinggi — termasuk algoritme rekomendasi atau fungsi pencarian internet yang menyaring jutaan situs web secara bersamaan. Untuk mengonfirmasi keefektifan ekstensi baru GraphIt, tim menjalankan 90 eksperimen yang mengadu runtime GraphIt dengan kompiler grafik canggih lainnya di GPU. Eksperimen tersebut mencakup berbagai algoritme dan jenis grafik, dari jaringan jalan raya hingga jaringan sosial. GraphIt berjalan tercepat di 65 dari 90 kasus dan berada di belakang algoritma terkemuka di sisa percobaan, menunjukkan kecepatan dan keserbagunaannya.

GraphIt “memajukan bidangnya dengan mencapai kinerja dan produktivitas secara bersamaan,” kata Adrian Sampson, seorang ilmuwan komputer di Cornell University yang tidak terlibat dalam penelitian tersebut. “Cara tradisional dalam melakukan analisis grafik memiliki satu atau yang lain: Anda dapat menulis algoritme sederhana dengan kinerja biasa-biasa saja, atau Anda dapat menyewa seorang ahli untuk menulis penerapan yang sangat cepat — tetapi kinerja semacam itu jarang dapat diakses oleh manusia biasa. Ekstensi GraphIt adalah kunci untuk memungkinkan orang biasa menulis algoritme abstrak tingkat tinggi dan meskipun demikian mendapatkan kinerja tingkat ahli dari GPU. “

Sampson menambahkan bahwa kemajuan bisa sangat berguna dalam bidang yang berubah dengan cepat: “Sebuah domain yang menarik seperti itu adalah genomik, di mana algoritme berkembang begitu cepat sehingga implementasi pakar berkinerja tinggi tidak dapat mengimbangi laju perubahan. Saya bersemangat untuk praktisi bioinformatika untuk mendapatkan GraphIt untuk memperluas jenis analisis genom yang mereka mampu. “

Brahmakshatriya mengatakan ekstensi GraphIt yang baru memberikan kemajuan yang berarti dalam analisis grafik, memungkinkan pengguna untuk beralih antara CPU dan GPU dengan kinerja canggih dengan mudah. “Bidang hari ini adalah kompetisi gigi-dan-kuku. Ada kerangka kerja baru yang keluar setiap hari,” katanya. Namun dia menekankan bahwa imbalan untuk pengoptimalan yang sedikit saja sepadan. “Perusahaan mengeluarkan jutaan dolar setiap hari untuk menjalankan algoritme grafik. Bahkan jika Anda membuatnya berjalan hanya 5 persen lebih cepat, Anda menghemat ribuan dolar.”


Kerangka kerja dibangun untuk menggunakan teori grafik untuk memecahkan masalah optimasi diskrit


Informasi lebih lanjut:
Mengompilasi Aplikasi Grafik untuk GPU dengan GraphIt. intimeand.space/docs/gpu-graphit.pdf

Disediakan oleh Massachusetts Institute of Technology

Kisah ini diterbitkan ulang atas izin MIT News (web.mit.edu/newsoffice/), situs populer yang meliput berita tentang penelitian, inovasi, dan pengajaran MIT.

Kutipan: Peneliti mengembangkan analisis jaringan yang lebih cepat untuk berbagai perangkat keras komputer (2021, 22 Februari), diakses pada 22 Februari 2021 dari https://techxplore.com/news/2021-02-speedier-network-analysis-range-hardware.html

Dokumen ini memiliki hak cipta. Selain dari transaksi yang adil untuk tujuan studi atau penelitian pribadi, tidak ada bagian yang boleh direproduksi tanpa izin tertulis. Konten disediakan untuk tujuan informasi saja.


Halaman Ini Di Persembahkan Oleh : Hongkong Prize