Model Pemrograman Paralel

dokumen-dokumen yang mirip
Pemrosesan Paralel. Haddad Sammir, M.Kom. Arsitektur Memori Komputer Paralel. March 4, 2015

Pemrograman Memori Shared: Thread dan OpenMP

Kuliah#7 TSK617 Pengolahan Paralel - TA 2011/2012. Eko Didik Widianto

KONTRAK PEMBELAJARAN (KP) MATA KULIAH

Penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Tujuan Utama Untuk meningkatkan performa komputasi.

BAB II LANDASAN TEORI

TUGAS SISTEM OPERASI THREAD

SISTEM OPERASI THREAD DAN MULTITHREADING

MODUL 2 KOMPONEN, LAYANAN SISTEM OPERASI M. R A J A B F A C H R I Z A L - S I S T E M O P E R A S I - C H A P T E R 2

10. PARALLEL PROCESSING

Prio Handoko, S.Kom., M.T.I.

Arsitektur Dan Organisasi Komputer. Pengantar Arsitektur Organisasi Komputer

BAB III METODE PENELITIAN

Introduction to Computer Architecture. Mata Kuliah Arsitektur Komputer Program Studi Sistem Informasi 2013/2014 STMIK Dumai -- Materi 01 --

Proses dan Threads Dalam SISTEM OPERAS

Struktur Sistem Komputer

DASKOM & PEMROGRAMAN. Dani Usman

Thread, SMP, dan Microkernel (P ( e P rtemuan ua ke-6) 6 Agustus 2014

Sistem terdistribusi Processes, Threads and Virtualization pertemuan 3. Albertus Dwi Yoga Widiantoro, M.Kom.

Bab I Pengenalan Sistem Operasi. Apa yang dimaksud Sistem Operasi?

Pemrograman MPI (1) Kuliah#11 TSK617 Pengolahan Paralel - TA 2011/2012. Eko Didik Widianto. Teknik Sistem Komputer - Universitas Diponegoro

Operating System. I/O System. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Dosen : Caca E. Supriana, S.Si

Arsitektur Komputer dan Sistem Operasi. Hirarki Memori. Sekolah Teknik Elektro dan Informatika - ITB

Multithreading untuk Algoritma Divide and Conquer

SISTEM OPERASI ISG2B3 THREAD. Agus Setiawan Program Studi Sistem Informasi Fakultas Rekayasa Industri Telkom University

Kompleksitas Algoritma Rank Sort dan Implementasi pada Parallel Programming Dengan Menggunakan OpenMP

Pertemuan Ke 2 Arsitek tur Dasar Komputer

Bab 1. Pengenalan Sistem Terdistribusi

Struktur Sistem Operasi

Struktur Sistem Komputer

1. Hardware terdistribusi. 2. Program terdistribusi. Nama : Gede Doddi Raditya Diputra NIM : Kelas : 5.C

Pertemuan ke 6 Set Instruksi. Computer Organization Dosen : Eko Budi Setiawan

Tipe Sistem Operasi. Stand alone Network Embedded

Pertemuan 2. Struktur Sistem Operasi

Bab 2: Struktur Sistem Operasi. Komponen Sistem Secara Umum

TUGAS SISTEM OPERASI

Pengantar Organisasi Komputer

Thread. pada satu waktu. menjalankan banyak tugas/thread. yang sama

Pengolahan Paralel. Kuliah#2 TSK205 Sistem Digital - TA 2011/2012. Eko Didik Widianto. Teknik Sistem Komputer - Universitas Diponegoro

PAPER MULTIPROCESSOR

SISTEM OPERASI. Belajar SO?

SISTEM OPERASI ISG2B3. Agus Setiawan Program Studi Sistem Informasi Fakultas Rekayasa Industri Telkom University

BAB Arsitektur Komputer. Konsep Arsitektur Komputer. Rini Agustina, S.Kom, M.Pd RINI AGUSTINA - DARI BERBAGAI SUMBER

Perbedaan Kernell Linux dan Windows

Hanif Fakhrurroja, MT

1. Disk Schedulling 2. Buffering

PENYELESAIAN PROBLEM GAUSSIAN ELIMINATION MENGGUNAKAN POSIX THREAD, OPENMP DAN INTEL TBB

BAB II LANDASAN TEORI

Nama : Tsani Agustin Aghnia Toibin.S Nim : Prodi : Teknik Informatika Kelas : 21

Pertemuan Ke-11 MULTIPROSESOR

SATUAN ACARA PERKULIAHAN MATA KULIAH ORGANISASI SISTEM KOMPUTER KODE / SKS : KD / 3

ARSITEKTUR DAN ORGANISASI KOMPUTER

BAB II TINJAUAN PUSTAKA

THREAD Ulir utas thread

Antarmuka CPU. TSK304 - Teknik Interface dan Peripheral. Eko Didik Widianto. Teknik Sistem Komputer - Universitas Diponegoro.

Arsitektur Komputer Sistem Operasi

RENCANA PEMBELAJARAN SEMESTER (RPS)

intruksi kepada CPU untuk mengakses sistem operasi. BIOS tersimpan pada Read Only

Pendahuluan Pemrograman Mikrokontroler

Arsitektur dan Organisasi Komputer. Set instruksi dan Pengalamatan

Analisis Perbandingan Performansi Server VoIP. berbasis Parallel Processing

4. Apa yang dimaksud dengan user mode?(nilai 3) Jawab: Adalah kondisi pada saat program user (job) sedang dieksekusi oleh prosesor.

Thread Proses merupakan sebuah program yang mengeksekusi THREAD tunggal. Kendali thread tunggal ini hanya memungkinkan proses untuk menjalankan satu t

SINKRONISASI DATA DENGAN PEMROSESAN PARALEL MENGGUNAKAN MODEL PEMROGRAMAN MAPREDUCE

Struktur Sistem Operasi

BAB I PENDAHULUAN. Merancang aplikasi Paralel Processing yang diimplementasikan dengan penggunaan Computer-Unified-Device-Architecture (CUDA).

BAB 2 STRUKTUR SISTEM OPERASI. Komponen Sistem Operasi

Bab 3.Proses dan Penjadualan

ARSITEKTUR SISTEM. Alif Finandhita, S.Kom, M.T. Alif Finandhita, S.Kom, M.T 1

SISTEM KOMPUTER SMK MEDIA INFORMATIKA

Rangkuman Materi Presentasi AOK. Input/Output Terprogram, Intterupt Driven dan DMA. (Direct Memory Access)

Artikel Perbedaan Proses Dan Thread. Disusun Oleh : Nama : Rozy Putra Pratama NIM : Prodi : Sistem Informasi

Memory Management. Memory Ch. 8. Latar Belakang. Main-Memory Management

4. SISTEM OPERASI TERDISTRIBUSI

MAKALAH SISTEM OPERASI Perbedaan Proses dan Thread. Disusun Oleh : NOVITA ANGGRAINI PUTRI

TUGAS SISTEM OPERASI

Soal-jawab Quiz 2. Oleh: Endro Ariyanto (END) Oktober 2008

SET INSTRUKSI. Organisasi dan Arsitektur Komputer

PERBEDAAN PROSES DAN THREAD PADA SISTEM INFORMASI

Sistem Operasi Pertemuan 4 Thread, SMP & Microkernel. H u s n i Lab. Sistem Komputer & Jaringan Teknik Informatika Univ.

Arsitektur Sistem Operasi WINDOWS

PENGANTAR ORGANISASI DAN ARSITEKTUR KOMPUTER CENTRAL PROCESSING UNIT

Operating System. Thread. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Dosen : Caca E. Supriana, S.Si

Spesifikasi Tugas Besar II IF3055 Sistem Operasi

INFRASTRUKTUR WAREHOUSE KATEGORI INFRASTRUKTUR DW

Transfer Register. Andang, Elektronika Komputer Digital 1

TUGAS Mata Kuliah : Sistem Terdistribusi

Pengantar Hardware: Sistem Bus pada Komputer. Hanif Fakhrurroja, MT

ARTIKEL PERBEDAAN PROSES DENGAN THREAD. Di susun Oleh: Nama : Sri Wahyuni Nim :

PENGENALAN ARSITEKTUR KOMPUTER

Disusun Oleh: Agenda. Terminologi Klasifikasi Flynn Komputer MIMD. Time Sharing Kesimpulan

INFRASTRUKTUR WAREHOUSE

Teknik Kompiler 12. oleh: antonius rachmat c, s.kom

PERTEMUAN MINGGU KE-5 ARSITEKTUR SET INSTRUKSI

ARSITEKTUR KOMPUTER 1

Pendahuluan Pengolahan Paralel

Hubungan CPU dengan Memory

BAB 2 LANDASAN TEORI

Dukungan Sistem Operasi :

Transkripsi:

Model Pemrograman Paralel Eko Didik Widianto (didik@undip.ac.id) Lab Embedded, Siskom - Undip @2011 eko didik widianto (siskom undip) SK617 Pengolahan Paralel 1 / 22

Pengolahan Paralel Pokok Bahasan Konsep dan terminologi Arsitektur memori paralel Model pemrograman paralel Desain program paralel Memprogram paralel Referensi: Introduction to Parallel Computing: https://computing.llnl.gov/tutorials/parallel_comp/ @2011 eko didik widianto (siskom undip) SK617 Pengolahan Paralel 2 / 22

Bahasan Hirarki Memori Memory Latency Locality dan Paralelisme Review Kuliah Model Pemrograman: Model Shared Memory Model Thread Proses dan Thread Model Message Passing Penutup @2011 eko didik widianto (siskom undip) SK617 Pengolahan Paralel 3 / 22

Hirarki Memori Memory Latency Locality dan Paralelisme Review Kuliah @2011 eko didik widianto (siskom undip) SK617 Pengolahan Paralel 4 / 22

Hirarki Memori Hirarki Memori Memory Latency Locality dan Paralelisme Review Kuliah Kode yang berjalan di satu prosesor seringkali hanya membutuhkan prosesor 10-20% dari kapasitas peaknya (loss performansi) Hal ini sebagian besar terjadi di sistem memori. Memindahkan data membutuhkan waktu lebih lama daripada operasi aritmetika maupun logika Operasi: Read dan write ke register, very fast memory Aritmetika dan logika di register @2011 eko didik widianto (siskom undip) SK617 Pengolahan Paralel 5 / 22

Memory Latency Hirarki Memori Memory Latency Locality dan Paralelisme Review Kuliah Prosesor berkembang lebih cepat daripada memori Untuk mengatasi latensi memory Membatasi operasi memori dengan menyimpannya di memori yang cepat (cache) dan reuse membutuhkan locality (temporal) di program @2011 eko didik widianto (siskom undip) SK617 Pengolahan Paralel 6 / 22

Locality dan Paralelisme Hirarki Memori Memory Latency Locality dan Paralelisme Review Kuliah Sebagian besar program menggunakan locality untuk aksesnya spatial locality: mengakses sesuatu yang dekat dengan akses sebelumnya temporal locality: menggunakan item yang sebelumnya diakses Hirarki memori berusaha untuk memanfaatkan locality untuk meningkatkan performansi @2011 eko didik widianto (siskom undip) SK617 Pengolahan Paralel 7 / 22

Hirarki Memori Memory Latency Locality dan Paralelisme Review Kuliah @2011 eko didik widianto (siskom undip) SK617 Pengolahan Paralel 8 / 22

Implementasi Memori Hirarki Memori Memory Latency Locality dan Paralelisme Review Kuliah di UMA (Uniform Memory Access), CPU berinteraksi dengan MCH untuk mengakses memori. I/O juga. Bottleneck: bus, isu skalabilias Dikenal dengan prosesor SMP, semua prosesor identik dan mempunyai akses yang sama ke semua area memori di NUMA (non-uma), CPU mempunyai kontroler memori sendiri. CPU menggunakan Quick Path Interconnect @2011 eko didik widianto (siskom undip) SK617 Pengolahan Paralel 9 / 22

NUMA dan Distributed Hirarki Memori Memory Latency Locality dan Paralelisme Review Kuliah Perbedaan utama antara NUMA dan distributed Di distributed, prosesor tidak dapat mempunyai mapping ke memori yang terhubung ke prosesor lain. Transfer data ke memori lain dilakukan dengan protokol jaringan di NUMA, prosesor mungkin bisa Klasifikasi memori NUMA: memori lokal dan memori remote NUMA umumnya dibuat dengan menghubungkan secara fisik mesin SMP @2011 eko didik widianto (siskom undip) SK617 Pengolahan Paralel 10 / 22

@2011 eko didik widianto (siskom undip) SK617 Pengolahan Paralel 11 / 22

Model Pemrograman Paralel Model memberikan abstraksi di atas hardware dan arsitektur memori tertentu Model tidak spesifik untuk tipe arsitektur memori tertentu dapat diimplementasikan di sebarang hardware (secara teori) @2011 eko didik widianto (siskom undip) SK617 Pengolahan Paralel 12 / 22

Implementasi Model Model shared memory di atas mesin memori terdistribusi Misalnya: Kendall Square Research (KSR) ALLCACHE Memori secara fisik terdistribusi, tapi dilihat dari user sebagai memori shared tunggal (space alamat global) Disebut juga shared virtual memory Model message passing di atas mesin memori shared Misalnya: MPI di atas mesin NUMA, di mana tiap task mempunyai akses langsung ke memori global Seringkali juga pengiriman message (MPI) dilakukan lewat jaringan mesin-mesin memori terdistribusi (cluster, etc) @2011 eko didik widianto (siskom undip) SK617 Pengolahan Paralel 13 / 22

Model Memori Bersama 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 trafik bus saat prosesor yang lain menggunakan data yang sama @2011 eko didik widianto (siskom undip) SK617 Pengolahan Paralel 14 / 22

Implementasi Shared Memory Kompiler akan mentranslate variabel program user ke dalam alamat memori aktualnya yang global Implementasi model di atas platform distributed belum ada, kecuali KSR ALLCACHE Sumber: http://en.wikipedia.org/wiki/kendall_square_research @2011 eko didik widianto (siskom undip) SK617 Pengolahan Paralel 15 / 22

Model Thread 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 global @2011 eko didik widianto (siskom undip) SK617 Pengolahan Paralel 16 / 22

Process, Thread, Multi-CPU (source: http://www.javamex.com/tutorials/threads/how_threads_work.shtml) @2011 eko didik widianto (siskom undip) SK617 Pengolahan Paralel 17 / 22

Implementasi Model Thread Dari perspektif programmer, implementasi thread dapat dilakukan dari: Pustaka dari subrutin yang dipanggil dari dalam source code paralel Set compiler directive yang embed-kan di source code (serial atau paralel) Implementasi thread: POSIX Threads dan OpenMP Posix (pthread) menggunakan library, memerlukan pengkodean paralel Paralelisme eksplisit, memerlukan programmer yang mahir di paralel OpenMP, menggunaakn compiler directive; dapat menggunakan kode serial @2011 eko didik widianto (siskom undip) SK617 Pengolahan Paralel 18 / 22

OpenMP #include <omp.h> #include <stdio.h> #include <stdlib.h> int main (int argc, char *argv[]) { int th_id, nthreads; #pragma omp parallel private(th_id) { th_id = omp_get_thread_num(); printf("hello World from thread %d\n", th_id); #pragma omp barrier if ( th_id == 0 ) { nthreads = omp_get_num_threads(); printf("there are %d threads\n",nthreads); } } return EXIT_SUCCESS; } Sumber: http://en.wikipedia.org/wiki/openmp http://computing.llnl.gov/tutorials/openmp OpenMP source repository: http://sourceforge.net/projects/ompscr/ @2011 eko didik widianto (siskom undip) SK617 Pengolahan Paralel 19 / 22

Model Message Passing Set task menggunakan memori lokalnya sendiri saat komputasi Beberapa task dapat ditempatkan di mesin fisik sama Task transfer data lewat pesan komunikasi @2011 eko didik widianto (siskom undip) SK617 Pengolahan Paralel 20 / 22

Implementasi Message Passing Implementasi menggunakan library subrutin yang diembed-kan di source code Programmer bertugas menentukan semua paralelism Standar Message Passing Interface (MPI) direlease tahun 1994, dan part-2 di tahun 1996 Tersedia di http://www-unix.mcs.anl.gov/mpi/ MPI Tutorial: https://computing.llnl.gov/tutorials/mpi/ @2011 eko didik widianto (siskom undip) SK617 Pengolahan Paralel 21 / 22

Penutup Framework pemrograman pararel: OpenMP dan MPI @2011 eko didik widianto (siskom undip) SK617 Pengolahan Paralel 22 / 22