Paralel
Processing Sistem Terdistribusi
Paralel
Processing
Pengertian
Pemrosesan paralel (parallel processing) :
•Penggunaan lebih dari satu CPU untuk menjalankan sebuah program
secara simultan. Idealnya, paralel processing membuat
program berjalan lebih cepat karena semakin banyak CPU yang
digunakan. Tetapi dalam prakteknya, seringkalo sulit membagi
program sehinggadapat dieksekusi oleh CPU yang berbeda-beda
tanpa berkaitan diantaranya.
•Pemrosesan paralel dalam sebuah komputer dapat didefinisikan
sebagai pelaksanaan instruksi-instruksi secara bersamaan waktunya.
Hal ini dapat menyebabkan pelaksanaan kejadian-kejadian :
1. dalam interval waktu yang sama,
2. dalam waktu yang bersamaan atau
3. dalam rentang waktu yang saling tumpang tindih
Komputasi paralel
•Salah satu teknik melakukan komputasi secara bersamaan
denganmemanfaatkan beberapa komputer secara bersamaan.
Biasanya diperlukan saat kapasitas yang diperlukan sangat besar, baik
karena harus mengolah data dalam jumlah besar ataupun karena
tuntutan proses komputasi yang banyak. Untuk melakukan aneka jenis
komputasi paralel ini diperlukan infrastruktur mesin paralel yang
terdiri dari banyak komputer yang dihubungkan dengan jaringan dan
mampu bekerja secara paralel untuk menyelesaikan satu masalah.
Untuk itu
diperlukan aneka perangkat lunak pendukung yang biasa disebut
middleware yang berperan untuk mengatur distribusi pekerjaan antar
node dalam satu mesin paralel. Selanjutnya pemakai harus membuat
pemrograman paralel untuk merealisasikan komputasi.
• Parallel processing berbeda dengan multitasking,
• Multitasking adalah komputer dengan processor tunggal
mengeksekusi beberapa tugas secara bersamaan. Sedangkan
komputasi paralel bahwa komputasi paralel menggunakan
beberapa processor atau komputer.
• Parallel processing disebut juga Komputasi Paralel. Pada system
komputasi Paralel terdiri dari beberapa unit prosesor dan
beberapa unit memori.
Ada dua teknik yang berbeda untuk mengakses data di unit memori,
yaitu
shared memory address dan message passing.
Berdasarkan cara mengorganisasikan memori ini computer parallel
dibedakan menjadi shared memory parallel machine dan
distributed memory parallel machine.
• Untuk lebih memperjelas lebih dalam mengenai perbedaan
komputasi tunggal (menggunakan 1 processor) dengan
komputasi paralel (menggunakan beberapa processor), maka
kita harus mengetahui terlebih dahulu Arsitektur Komputer
Pararel dan pengertian mengenai model pemrosesan pararel.
Arsitektur paralel komputer menurut Klasifikasi Taksonomi Flynn :
• Ada 4 model komputasi yang digunakan Taksonomi Flynn , yaitu:
1. SISD (Single Instruction, Single Data) Komputer ini memiliki hanya
satu prosesor dan satu instruksi yang dieksekusi secara serial.
Komputer ini adalah tipe komputer konvensional. Menurut mereka tipe
komputer ini tidak ada dalam praktik komputer paralel karena bahkan
mainframe pun tidak lagi menggunakan satu prosesor. Klasifikasi ini
sekedar untuk melengkapi definisi komputer paralel.
Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1,
IBM 360, CDC 7600, Cray 1 dan PDP 1.
2. SIMD (Single Instruction, Multiple Data) Komputer ini memiliki lebih dari
satu prosesor, tetapi hanya mengeksekusi satu instruksi secara paralel
pada data yang berbeda pada level lock-step.
Komputer vektor adalah salah satu komputer paralel yang menggunakan
arsitektur ini. Beberapa contoh komputer yang menggunakan model
SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine
CM-2 dan Cell Processor (GPU).
3. MISD (Multiple Instruction, Single Data) Teorinya komputer ini memiliki
satu prosesor dan mengeksekusi beberapa instruksi secara paralel tetapi
praktiknya tidak ada komputer yang dibangun dengan arsitektur ini
karena sistemnya tidak mudah dipahami. Sampai saat ini belum ada
komputer yang menggunakan model MISD.
4. MIMD ( Multiple Instruction, Multiple Data) Multiple Instructions – Multiple
Data. Komputer ini memiliki lebih dari satu prosesor dan mengeksekusi
lebih dari satu instruksi secara paralel. Tipe komputer ini yang paling
banyak digunakan untuk membangun komputer paralel, bahkan banyak
supercomputer yang menerapkan arsitektur ini. Beberapa komputer yang
menggunakan model MIMD adalah IBM POWER5, HP/Compaq
AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.
Singkatnya untuk perbedaan antara komputasi tunggal dengan komputasi
paralel, bisa digambarkan pada gambar di bawah ini:
Penyelesaian Sebuah Masalah pada Komputasi Tunggal
Penyelesaian Sebuah Masalah pada Komputasi Paralel
Dari perbedaan kedua gambar di atas, kita dapat menyimpulkan bahwa kinerja komputasi
paralel lebih efektif dan dapat menghemat waktu untuk pemrosesan data yang banyak dan
besar daripada komputasi tunggal.
Namun keefektifan akan hilang ketika kita hanya mengolah data dalam jumlah yang kecil,
karena data dengan jumlah kecil atau sedikit lebih efektif jika kita menggunakan
komputasi tunggal.
Teknik pemrograman komputer yang memungkinkan eksekusi
perintah/operasi secara bersamaan baik dalam komputer dengan satu
(prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin
paralel) CPU.
Tujuan utama dari pemrograman paralel adalah untuk
meningkatkan performa komputasi. Semakin banyak hal yang
bisa dilakukan
secara bersamaan (dalam waktu yang sama), semakin banyak
pekerjaan yang bisa diselesaikan.
Komputasi paralel membutuhkan:·
1. algoritma·
2. bahasa pemrograman·
3. compiler
Pemrograman Paralel
Ada 2 tehnik pemrograman
pararel :
1.Message Passing Interface (MPI).
MPI adalah sebuah standard pemrograman yang memungkinkan
pemrogram (programmer) untuk membuat sebuah aplikasi yang dapat
dijalankan secara paralel.
Proses yang dijalankan oleh sebuah aplikasi dapat dibagi untuk dikirimkan
ke masing - masing compute node yang kemudian masing -masing
compute node tersebut mengolah dan mengembalikan hasilnya ke
komputer head node. Untuk merancang aplikasi paralel tentu
membutuhkan banyak
pertimbangan - pertimbangan diantaranya adalah latensi dari jaringan dan
lama sebuah tugas dieksekusi oleh prosesor.
Kegunaan MPI yang lain adalah :
•Menulis kode paralel secara portable,
•Mendapatkan performa yang tinggi dalam pemrograman paralel,
•Menghadapi permasalahan yang melibatkan hubungan data irregular atau
dinamis yang tidak begitu cocok dengan model data paralel.
2. PVM (Parallel Virtual Machine)
Paket software yang mendukung pengiriman pesan untuk komputasi parallel
antara komputer.
PVM dapat berjalan diberbagai macam variasi UNIX atau pun windows dan
telah portable untuk banyak arsitektur seperti PC, workstation,
multiprocessor dan superkomputer.
.

Paralel Computing - Big Data and Coding Subject

  • 1.
  • 2.
    Paralel Processing Pengertian Pemrosesan paralel (parallelprocessing) : •Penggunaan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, paralel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam prakteknya, seringkalo sulit membagi program sehinggadapat dieksekusi oleh CPU yang berbeda-beda tanpa berkaitan diantaranya. •Pemrosesan paralel dalam sebuah komputer dapat didefinisikan sebagai pelaksanaan instruksi-instruksi secara bersamaan waktunya. Hal ini dapat menyebabkan pelaksanaan kejadian-kejadian : 1. dalam interval waktu yang sama, 2. dalam waktu yang bersamaan atau 3. dalam rentang waktu yang saling tumpang tindih
  • 3.
    Komputasi paralel •Salah satuteknik melakukan komputasi secara bersamaan denganmemanfaatkan beberapa komputer secara bersamaan. Biasanya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak. Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.
  • 5.
    • Parallel processingberbeda dengan multitasking, • Multitasking adalah komputer dengan processor tunggal mengeksekusi beberapa tugas secara bersamaan. Sedangkan komputasi paralel bahwa komputasi paralel menggunakan beberapa processor atau komputer. • Parallel processing disebut juga Komputasi Paralel. Pada system komputasi Paralel terdiri dari beberapa unit prosesor dan beberapa unit memori. Ada dua teknik yang berbeda untuk mengakses data di unit memori, yaitu shared memory address dan message passing. Berdasarkan cara mengorganisasikan memori ini computer parallel dibedakan menjadi shared memory parallel machine dan distributed memory parallel machine.
  • 6.
    • Untuk lebihmemperjelas lebih dalam mengenai perbedaan komputasi tunggal (menggunakan 1 processor) dengan komputasi paralel (menggunakan beberapa processor), maka kita harus mengetahui terlebih dahulu Arsitektur Komputer Pararel dan pengertian mengenai model pemrosesan pararel. Arsitektur paralel komputer menurut Klasifikasi Taksonomi Flynn :
  • 7.
    • Ada 4model komputasi yang digunakan Taksonomi Flynn , yaitu: 1. SISD (Single Instruction, Single Data) Komputer ini memiliki hanya satu prosesor dan satu instruksi yang dieksekusi secara serial. Komputer ini adalah tipe komputer konvensional. Menurut mereka tipe komputer ini tidak ada dalam praktik komputer paralel karena bahkan mainframe pun tidak lagi menggunakan satu prosesor. Klasifikasi ini sekedar untuk melengkapi definisi komputer paralel. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.
  • 8.
    2. SIMD (SingleInstruction, Multiple Data) Komputer ini memiliki lebih dari satu prosesor, tetapi hanya mengeksekusi satu instruksi secara paralel pada data yang berbeda pada level lock-step. Komputer vektor adalah salah satu komputer paralel yang menggunakan arsitektur ini. Beberapa contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell Processor (GPU).
  • 9.
    3. MISD (MultipleInstruction, Single Data) Teorinya komputer ini memiliki satu prosesor dan mengeksekusi beberapa instruksi secara paralel tetapi praktiknya tidak ada komputer yang dibangun dengan arsitektur ini karena sistemnya tidak mudah dipahami. Sampai saat ini belum ada komputer yang menggunakan model MISD.
  • 10.
    4. MIMD (Multiple Instruction, Multiple Data) Multiple Instructions – Multiple Data. Komputer ini memiliki lebih dari satu prosesor dan mengeksekusi lebih dari satu instruksi secara paralel. Tipe komputer ini yang paling banyak digunakan untuk membangun komputer paralel, bahkan banyak supercomputer yang menerapkan arsitektur ini. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.
  • 11.
    Singkatnya untuk perbedaanantara komputasi tunggal dengan komputasi paralel, bisa digambarkan pada gambar di bawah ini: Penyelesaian Sebuah Masalah pada Komputasi Tunggal
  • 12.
    Penyelesaian Sebuah Masalahpada Komputasi Paralel Dari perbedaan kedua gambar di atas, kita dapat menyimpulkan bahwa kinerja komputasi paralel lebih efektif dan dapat menghemat waktu untuk pemrosesan data yang banyak dan besar daripada komputasi tunggal. Namun keefektifan akan hilang ketika kita hanya mengolah data dalam jumlah yang kecil, karena data dengan jumlah kecil atau sedikit lebih efektif jika kita menggunakan komputasi tunggal.
  • 13.
    Teknik pemrograman komputeryang memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU. Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan. Komputasi paralel membutuhkan:· 1. algoritma· 2. bahasa pemrograman· 3. compiler Pemrograman Paralel
  • 14.
    Ada 2 tehnikpemrograman pararel : 1.Message Passing Interface (MPI). MPI adalah sebuah standard pemrograman yang memungkinkan pemrogram (programmer) untuk membuat sebuah aplikasi yang dapat dijalankan secara paralel. Proses yang dijalankan oleh sebuah aplikasi dapat dibagi untuk dikirimkan ke masing - masing compute node yang kemudian masing -masing compute node tersebut mengolah dan mengembalikan hasilnya ke komputer head node. Untuk merancang aplikasi paralel tentu membutuhkan banyak pertimbangan - pertimbangan diantaranya adalah latensi dari jaringan dan lama sebuah tugas dieksekusi oleh prosesor. Kegunaan MPI yang lain adalah : •Menulis kode paralel secara portable, •Mendapatkan performa yang tinggi dalam pemrograman paralel, •Menghadapi permasalahan yang melibatkan hubungan data irregular atau dinamis yang tidak begitu cocok dengan model data paralel.
  • 15.
    2. PVM (ParallelVirtual Machine) Paket software yang mendukung pengiriman pesan untuk komputasi parallel antara komputer. PVM dapat berjalan diberbagai macam variasi UNIX atau pun windows dan telah portable untuk banyak arsitektur seperti PC, workstation, multiprocessor dan superkomputer. .