Bagikan melalui


Memahami Pekerjaan Komputasi Paralel

Jenis pekerjaan komputasi paralel yang paling umum yang dapat Anda jalankan pada kluster HPC Pack adalah: pekerjaan MPI, pekerjaan pembersihan parametrik, pekerjaan alur tugas, pekerjaan Service Oriented Architecture (SOA), dan pekerjaan penghitungan Microsoft Excel. HPC Pack menyediakan properti pekerjaan dan tugas, alat, dan API yang membantu Anda menentukan dan mengirimkan berbagai jenis pekerjaan komputasi paralel.

Dalam topik ini:

  • pekerjaan MPI

  • pekerjaan pembersihan parametrik

  • pekerjaan alur tugas

  • pekerjaan SOA

  • penghitungan Microsoft Excel

  • Referensi tambahan

Pekerjaan MPI

MS-MPI, implementasi Microsoft dari Message Passing Interface (MPI) yang dikembangkan untuk Windows, memungkinkan aplikasi MPI untuk berjalan sebagai tugas pada kluster HPC.

Tugas MPI secara intrinsik paralel. Tugas paralel dapat mengambil sejumlah formulir, tergantung pada aplikasi dan perangkat lunak yang mendukungnya. Untuk aplikasi MPI, tugas paralel biasanya terdiri dari satu executable yang berjalan bersamaan pada beberapa inti, dengan komunikasi terjadi di antara proses.

Diagram berikut mengilustrasikan tugas paralel:

Tiga proses, komunikasi dua arah

Untuk tugas yang menjalankan aplikasi MPI, perintah tugas harus didahului oleh mpiexec: oleh karena itu, perintah untuk tugas paralel harus dalam format berikut: mpiexec [mpi_options] <myapp.exe> [arguments], di mana myapp.exe adalah nama aplikasi yang akan dijalankan. Perintah mpiexec mengambil sejumlah argumen yang memungkinkan Anda mengontrol penempatan proses MPI, afinitas jaringan, dan parameter run time lainnya. Untuk detail selengkapnya tentang parameter ini, lihat Referensi Baris Perintah Paket HPC Microsoft .

Nota

Untuk tugas paralel, Windows HPC Server 2008 menyertakan paket MPI berdasarkan standar MPICH2 Argonne National Laboratory. Implementasi MPI Microsoft, yang disebut MS-MPI, mencakup mpiexecpeluncur , layanan MPI untuk setiap simpul, dan Kit Pengembangan Perangkat Lunak (SDK) untuk pengembangan aplikasi pengguna. Windows HPC Server 2008 juga mendukung aplikasi yang menyediakan mekanisme pemrosesan paralel mereka sendiri.

Untuk informasi selengkapnya tentang SDK, lihat Microsoft HPC Pack.

Untuk informasi tentang cara membuat tugas tunggal atau pekerjaan MPI, lihat Menentukan Tugas Dasar atau MPI - Manajer Pekerjaan.

Pekerjaan pembersihan parametrik

Pekerjaan pembersihan parametrik terdiri dari beberapa instans aplikasi yang sama, biasanya aplikasi serial, berjalan bersamaan, dan dengan input yang disediakan oleh file input dan output yang diarahkan ke file output. Input dan output biasanya merupakan sekumpulan file terindeks (misalnya, input1, input2, input3..., output1, output2, output3...) yang disiapkan untuk berada dalam satu folder umum atau di folder umum terpisah. Tidak ada komunikasi atau interdependensi di antara tugas. Tugas mungkin atau mungkin tidak berjalan secara paralel, tergantung pada sumber daya yang tersedia pada kluster saat pekerjaan berjalan.

Diagram berikut mengilustrasikan pekerjaan pembersihan parametrik:

Empat tugas serial, file input dan output terpisah

Untuk informasi tentang cara membuat pekerjaan pembersihan parametrik, lihat Menentukan Tugas Pembersihan Parametrik - Manajer Pekerjaan.

Pekerjaan alur tugas

Dalam pekerjaan alur tugas, serangkaian tugas yang tidak seperti dijalankan dalam urutan yang ditentukan, biasanya karena satu tugas bergantung pada hasil tugas lain. Pekerjaan dapat berisi banyak tugas, beberapa di antaranya parametrik, beberapa serial, dan beberapa paralel. Misalnya, Anda dapat membuat pekerjaan alur tugas yang terdiri dari tugas MPI dan parametrik. Anda dapat menetapkan urutan di mana tugas dijalankan dengan menentukan dependensi antara tugas.

Diagram berikut mengilustrasikan pekerjaan alur tugas:

tugas alur, tugas dependen

Tugas 1 berjalan terlebih dahulu. Perhatikan bahwa hanya Tugas 2 dan 3 yang dapat berjalan secara paralel, karena tidak bergantung pada tugas lainnya. Tugas 4 berjalan setelah Tugas 2 dan 3 selesai.

Untuk informasi tentang cara membuat pekerjaan alur tugas, lihat Menentukan Dependensi Tugas - Manajer Pekerjaan.

Pekerjaan SOA

Service Oriented Architecture (SOA) adalah pendekatan untuk membangun sistem terdistribusi dan digabungkan secara longgar. Dalam sistem SOA, fungsi komputasi yang berbeda dipaketkan sebagai modul perangkat lunak yang disebut layanan. Layanan dapat didistribusikan di seluruh jaringan dan diakses oleh aplikasi lain. Misalnya, jika aplikasi melakukan perhitungan paralel berulang, perhitungan inti dapat dipaketkan sebagai layanan dan disebarkan ke kluster. Hal ini memungkinkan pengembang untuk memecahkan masalah paralel yang memalukan tanpa menulis ulang kode tingkat rendah dan untuk menskalakan aplikasi dengan cepat. Aplikasi dapat berjalan lebih cepat dengan mendistribusikan perhitungan inti di beberapa host layanan (simpul komputasi). Pengguna akhir menjalankan aplikasi di komputer dan node kluster mereka melakukan perhitungan.

Aplikasi klien menyediakan antarmuka bagi pengguna akhir untuk mengakses fungsionalitas satu atau beberapa layanan. Pengembang dapat membuat aplikasi klien kluster-SOA untuk menyediakan akses ke layanan yang disebarkan ke kluster WINDOWS HPC. Di ujung belakang, aplikasi klien mengirimkan pekerjaan yang berisi tugas Service ke kluster, memulai sesi dengan simpul broker, dan mengirim permintaan layanan dan menerima respons (hasil perhitungan). Penjadwal pekerjaan pada simpul kepala mengalokasikan sumber daya ke pekerjaan layanan sesuai dengan kebijakan penjadwalan pekerjaan. Instans tugas Layanan berjalan pada setiap sumber daya yang dialokasikan dan memuat layanan SOA. Penjadwal pekerjaan mencoba menyesuaikan alokasi sumber daya berdasarkan jumlah permintaan layanan.

Nota

Jika klien membuat sesi yang tahan lama, broker menyimpan semua pesan menggunakan MSMQ. Respons yang disimpan oleh broker dapat diambil oleh klien kapan saja, bahkan setelah pemutusan sambungan yang disengaja atau tidak disengaja.

Diagram berikut mengilustrasikan bagaimana pekerjaan SOA berjalan pada kluster:

Bagaimana pekerjaan SOA berjalan pada kluster HPC 2008 R2

Untuk informasi selengkapnya tentang membuat klien SOA untuk kluster HPC, lihat Aplikasi SOA dan Microsoft HPC Pack.

Nota

Layanan HPC untuk Excel menggunakan infrastruktur SOA untuk membantu membongkar perhitungan Microsoft Excel ke kluster.

Penghitungan offloading Microsoft Excel

Layanan HPC untuk Excel, yang disertakan dalam beberapa versi HPC Pack, mendukung sejumlah model untuk membongkar penghitungan Excel ke kluster HPC Pack. Buku kerja yang cocok untuk akselerasi kluster menyertakan perhitungan independen yang dapat berjalan secara paralel. Banyak buku kerja yang kompleks dan berjalan lama berjalan secara berulang—yaitu, buku kerja melakukan satu perhitungan berkali-kali atas kumpulan data input yang berbeda. Buku kerja ini mungkin berisi fungsi Microsoft Visual Basic for Applications (VBA) yang kompleks atau penghitungan add-in XLL intensif. Layanan HPC untuk Excel mendukung pembongkaran buku kerja ke kluster, atau membongkar UDF ke kluster.

Microsoft Excel 2010 memperluas model UDF ke kluster dengan mengaktifkan UDF Excel 2010 untuk dijalankan di kluster WINDOWS HPC. Saat kluster yang didukung tersedia, pengguna dapat menginstruksikan Excel 2010 untuk menggunakan kluster tersebut dengan memilih konektor kluster dan menentukan nama kluster dalam opsi Tingkat Lanjut kotak dialog opsi Opsi Excel. Dalam kluster, UDF berfungsi seperti UDF tradisional, kecuali bahwa perhitungan dilakukan oleh satu atau beberapa server. Manfaat utamanya adalah paralelisasi. Jika buku kerja berisi panggilan ke UDF yang berjalan lama, beberapa server dapat digunakan untuk mengevaluasi fungsi secara bersamaan. Untuk berjalan pada kluster, UDF harus terkandung dalam file XLL yang aman untuk kluster.

Untuk informasi selengkapnya, lihat HPC Services untuk Excel.

Referensi tambahan

Untuk informasi tentang properti pekerjaan dan tugas yang bisa Anda gunakan untuk menentukan pekerjaan komputasi paralel Anda, lihat:

Untuk informasi tentang membuat, mengirimkan, dan memantau pekerjaan dengan menggunakan HPC Job Manager, lihat:

Untuk informasi tentang membuat, mengirimkan, dan memantau pekerjaan dengan menggunakan jendela prompt perintah atau HPC PowerShell, dan untuk sumber daya pengembang, termasuk informasi tentang menggunakan SDK, model pemrograman SOA, dan penghitungan Excel offloading, lihat artikel tambahan dalam kumpulan dokumentasi ini.