Komputasi paralel dan terdistribusi – hukum Amdahl, GPU, dan pipelining

InformatikaKomputer dan perangkat kerasUsia 16–17

Gunakan di kelas saya ✨ Sesuaikan dengan AI Laporkan masalah

Bagi sebuah pekerjaan menjadi tugas-tugas dengan fraksi paralel p, lalu jalankan secara sekuensial pada satu inti, paralel pada n inti, atau terdistribusi pada komputer-komputer dalam jaringan yang harus menerima datanya lebih dulu. Diagram Gantt menunjukkan apa yang dikerjakan setiap inti, grafik percepatan mengikuti hukum Amdahl S = 1/((1 − p) + p/n) dan batasnya 1/(1 − p), dan tabel mencatat percobaan Anda. Tab GPU menjalankan filter gambar pada beberapa inti CPU yang cepat dan banyak inti GPU yang sederhana; tab Pipelining menunjukkan tahap ambil, dekode, dan eksekusi yang tumpang-tindih, dengan jeda akibat konflik data.

Pelajaran: Komputasi paralel dan terdistribusi: tugas sekuensial dan paralel, prosesor multi-inti, hukum Amdahl, percepatan dan efisiensi, biaya komunikasi, GPU, pipelining, dan konflik data

Yang ditunjukkan

Komputasi paralel menjalankan bagian-bagian program secara bersamaan pada beberapa inti; komputasi terdistribusi membagi pekerjaan ke komputer-komputer dalam jaringan yang harus saling mengirim data. Hanya fraksi paralel p dari suatu pekerjaan yang dapat dibagi, sehingga hukum Amdahl memberikan percepatan S = 1/((1 − p) + p/n) yang tidak pernah melebihi 1/(1 − p). Pada sistem terdistribusi, waktu komunikasi bertambah seiring jumlah komputer dan dapat membuat pekerjaan malah melambat bila komputer ditambah. GPU memiliki ribuan inti sederhana yang cocok untuk operasi sama pada banyak data. Pipelining menumpuk tahap ambil, dekode, dan eksekusi dari instruksi-instruksi berurutan.

Cara menggunakan

Di tab Paralel dan terdistribusi, pilih Mode, atur Fraksi paralel p, Jumlah inti n, Tugas, dan pada mode terdistribusi Kirim data per komputer; klik Jalankan untuk menganimasikan diagram Gantt dan Tambah ke tabel untuk mencatat hasil. Di tab CPU dan GPU, pilih Tugas dan jumlah inti GPU lalu klik Jalankan. Di tab Pipelining, pilih Program, centang atau hapus centang Pipelining, lalu gunakan Langkah atau Putar.

Parameter yang dapat diubah

  • Tab awal Paralel dan terdistribusi, CPU dan GPU, Pipelining
  • Mode Sekuensial (1 inti), Paralel (n inti), Terdistribusi (n komputer berjaringan)
  • Fraksi paralel p 0–100 %
  • Jumlah inti atau komputer n 1–32
  • Jumlah tugas paralel 4–48
  • Waktu mengirim data ke tiap komputer 0–5 s
  • Jumlah inti GPU 32, 64, 128, 256, 512
  • Tugas di tab GPU Filter hitam-putih (tiap piksel mandiri), Pemburaman berantai (tiap piksel perlu piksel sebelumnya)
  • Pipelining aktif
  • Program di tab Pipelining Tanpa ketergantungan, Dengan konflik data, Konflik, instruksi diurutkan ulang

Pertanyaan untuk dijelajahi

  1. Dengan p = 80%, mengapa menambah inti dari 16 menjadi 32 hampir tidak mempercepat pekerjaan?
  2. Pada mode terdistribusi, mengapa menambah komputer bisa membuat pekerjaan lebih lambat?
  3. Mengapa GPU menang pada filter hitam-putih tetapi kalah dari CPU pada pemburaman berantai?