Anda di halaman 1dari 30

Dewi Rahayuningtias - Norma G.

Istriati - Anni Karimatul Fauziyyah - Fauzunnisa Laily - Khafid Aulia Rahman - Muhammad Al Akbari
-

Sistem Paralel : sistem yang mempunyai lebih dari satu processor yang dapat berkomunikasi, membagi bus, clock dan juga perangkat memori dan peripheral. Sistem Terdistribusi : sistem komputer yang mendistribusikan komputasi diantara beberapa processor, processor berkomunikasi dengan processor lain melalui saluran komunikasi, misalnya bus kecepatan tinggi atau saluran telepon. Jika pada sistem paralel tiap processor dapat menggunakan memori atau clock bersama-sama, sedangkan pada sistem terdistribusi kumpulan processor tidak dapat digunakan secara bersamaan.

Salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. 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. Performa dalam pemrograman paralel diukur dari berapa banyak peningkatan kecepatan (speed up) yang diperoleh dalam menggunakan tehnik paralel.

Single

Instruction, Single Data (SISD) Single Instruction, Multiple Data (SIMD) Multiple Instruction, Single Data (MISD) Multiple Instruction, Multiple Data (MIMD)

Komputer

serial (non-paralel) Hanya satu instruksi yang dijalankan oleh CPU dalam satu siklus waktu Hanya satu data yang digunakan sebagain input dalam satu siklus waktu Eksekusi deterministik Contoh: PC single-core, mainframe generasi lama

Tipe

komputer paralel Semua processing unit (PU) mengeksekusi instruksi yang sama dalam satu waktu Tiap PU memproses dapat beroperasi dengan data yang berbeda Untuk problem spesial: pemrosesan grak Sinkronous dan eksekusi deterministik Tipe: prosesor array, vector pipeline Contoh: Komputer dengan GPU

Data

tunggal diolah oleh beberapa PU Tiap PU mengolah data secara independen Contoh: komputer experimen Carnigie Mellon (1971) Beberapa penggunaan:

Operasi pemlteran frekuensi secara multiple dari sinyal tunggal Penerapan algoritma kriptogra multipe untuk memecah satu pesan terkode (ciphertext)

Hampir

semua komputer modern masuk kategori MIMD Tiap prosesor mungkin mengeksekusi instruksi yang berbeda Tiap prosesor mungkin mengolah data yang berbeda Eksekusi bisa sinkronous atau asinkron, deterministik atau non-deterministik

Eksekusi deterministik di sistem paralel menjadi objek riset

Contoh:

multicore PC, cluster computer, grid computer

1. 2.

Shared Memory : prosesor dapat mengakses semua memori sebagai space alamat global. Uniform Memory Access (UMA) Non-Uniform Memory Access (NUMA) Distributed Memory : prosesor mempunyai lokal sendiri. Inter-prosesor memori perlu networking.

Hybrid Distributed-Shared Memory : menggunakan shared dan distributed.

Karakteristik: semua prosesor dapat mengakses semua memori sebagai ruang alamat global Multi prosesor dapat beroperasi secara independen namun sharing memori Perubahan di lokasi memori oleh satu prosesor dapat dilihat oleh prosesor lain

Prosesor identik, misalnya mesin SMP Upto 8 prosesor Mempunyai akses dan waktu akses yang sama ke memori Kadang disebut CC-UMA (cache coherent) cache coherent: jika satu prosesor update suatu lokasi di memori, semua prosesor mengetahui update tsb Koherensi dilakukan di level hardware

Karakteristik:

prosesor mempunyai bank alamat memori sendiri Prosesor dapat mengakses memori lokal dengan cepat, memori remote lebih lambat

Meningkatkan throughput memori selama mengakses data lokal Seringkali dibuat dengan menghubungkan secara sik 2 atau lebih SMP Satu SMP dapat mengakses memori secara langsung ke SMP lain NUMA Tidak semua prosesor mempunyai waktu akses yang sama ke memori Akses memori lewat bus interconnect lebih lambat
Jika cache coherence dilakukan, disebut CC-NUMA

Kelebihan : 1. Space alamat memori global menyediakan perspektif pemrograman user-friendly ke memori 2. Sharing data antar task cepat dan uniform karena dekatnya 3. memori ke CPU

Kekurangan : 1. Tidak scalable. Menambah CPU dapat meningkatkan trak di jalur shared memory-CPU. Di cc-(N)UMA, pertambahan trak berkaitan dengan manajemen cache/memori 2. Programmer bertanggung jawab untuk sinkronisasi yang memastikan akses yang tepat ke memori global 3. Akan bertambah semakin kompleks dan mahal seiring bertambahnya jumlah prosesor

Tiap

prosesor mempunyai memori lokal sendiri

Sehingga prosesor dapat beroperasi secara independen Perubahan ke lokal memori tidak membawa efek ke memori lain Konsep cache coherence tidak berlaku Jika memerlukan interprosesor, tugas programmer secara eksplisit mendenisikan bagaimana dan kapan data akan dikomunikasikan

Kelebihan : 1. Scalable jumlah prosesor dan ukuran memori dapat ditingkatkan 2. Tiap prosesor dapat mengakses memorinya tanpa interferensi dan overhead, seperti di koherensi cache 3. Cost effective: dapat menggunakan PC komoditas, off-the-self processor Kekurangan : 1. Tugas programmer semakin kompleks terkait detail komunikasi data 2. Mapping data struktur berbasis memori globlal bisa susah

Terdiri dari arsitektur memori shared dan distributed Komponen memori shared biasanya mesin SMP koheren Prosesor di mesin SMP mempunyai akses global ke memori mesin tersebut Komponen distributed adalah jaringan SMP multiple SMP hanya tahu memorinya saja Komunikasi jaringan diperlukan untuk memindahkan data dari satu SMP ke lainnya Trend ke depan menggunakan tipe arsitektur memori ini

Model

Shared Memory Model Thread Model Message Passing CUDA

Task berbagi bersama space alamat memori, dengan penulisan dan pembacaan secara asinkron Mekanisme yang digunakan adalah semaphore / lock untuk mengontrol akses ke shared memori Keuntungannya (dari sudut programmer): ownership data tidak diperlukan, sehingga tidak perlu untuk menyatakan dengan eksplisit komunikasi data antar task. Pengembangan program dapat disederhanakan Kelemahannya adalah di performansi, yaitu akan lebih susah untuk memanage locality data

Menjaga data lokal untuk prosesor yang mengirimnya akan memerlukan alokasi/akses memori dan mempengaruhi trak bus saat prosesor yang lain menggunakan data yang sama

Satu proses dapat mempunyai beberapa jalur eksekusi yang konkuren Program utama dijadwalkan untuk berjalan oleh OS, program load dan mengambil semua kebutuhan resource sistem Program membuat thread yang dijadwalkan dapat dijalankan secara bersamaan Tiap thread mempunyai data lokal, namun shared resources dari program. Menghemat resources (bandingkan dengan clone) Komunikasi antar thread lewat memori globalProcess, Thread, Mult

Set

task menggunakan memori lokalnya sendiri saat komputasi


Beberapa task dapatditempatkan di mesin sik sama

Task

transfer data lewat pesan komunikasi

Komputasi berkembang dari "central processing" pada CPU untuk "co-processing" pada CPU dan GPU. Untuk mengaktifkan ini paradigma komputasi baru, NVIDIA menemukan arsitektur komputasi paralel CUDA yang sekarang pengiriman di GeForce, ION Quadro, dan Tesla GPU, mewakili dasar terinstal signifikan untuk pengembang aplikasi. Di pasar konsumen, hampir setiap aplikasi video yang konsumen utama telah, atau akan segera, dipercepat oleh CUDA, termasuk produk dari Teknologi Elemental, MotionDSP dan LoiLo, CUDA telah antusias diterima di bidang penelitian ilmiah.

Anda mungkin juga menyukai