Departemen Ilmu Komputer IPB

Slides:



Advertisements
Presentasi serupa
Fisika 2 Pendahuluan. Rencana Kuliah Fisika 2 Aturan Penilaian No.Komponen PenilaianPersentase Kehadiran Tugas-tugas Ujian Tengah Semester.
Advertisements

Developing Knowledge Management dalam perusahaan Week 10 – Pert 19 & 20 (Off Class Session)
WE-2010 Web Engineering Husni husni.trunojoyo.ac.id
This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2006 Microsoft Corporation. All.
Algoritma & Pemrograman #10
CHAPTER 7 Pengembangan Sistem
Perangkat Lunak Komputer (Software) And Teknologi Informasi (TI)
PEMOGRAMAN BERBASIS JARINGAN
Electronic Commerce Chapter 2 Communications Options.
Aspek Sosial & Organisasi Restyandito, S.Kom, MSIS.
LOCAL AREA NETWORK (LAN)
Program Keahlian I – SI By Antonius Rachmat C, S.Kom
EL10T1 Konsep Teknologi Perbandingan Daftar Isi Hotzapple, MT and WD Rice, Concepts in Engineering, MGH, 2005 Horenstein, MN, Design Concepts for Engineer,
Evaluasi Ujian Ketrampilan dan Laporan. 14:30 – 14:10 : Penjelasan Tugas14:10 – 15:10 : Kerja Mandiri15:10 – 16: 00 : Diskusi Alokasi waktu.
Materi Analisa Perancangan System.
Sistem Operasi Tawar, S.Si, M.Kom
PENGANTAR TEKNOLOGI INFORMASI PENGENALAN PERANGKAT KERAS (HARDWARE)
Statistika Nonparametrik PERTEMUAN KE-1 FITRI CATUR LESTARI, M. Si
IT SEBAGAI ALAT UNTUK MENCIPTAKAN KEUNGGULAN KOMPETISI
Process to Process Delivery
PERULANGANPERULANGAN. 2 Flow of Control Flow of Control refers to the order that the computer processes the statements in a program. –Sequentially; baris.
EL10T1 Konsep Teknologi Perbandingan Daftar Isi Hotzapple, MT and WD Rice, Concepts in Engineering, MGH, 2005 Horenstein, MN, Design Concepts for Engineer,
Pemrograman Dasar Warsun Najib
1 IKI20210 Pengantar Organisasi Komputer Kuliah No. 18: I/O, Interupsi 15 November 2002 Bobby Nazief Johny Moningka
Taken From William Stallings Chapter 2 TCP/IP Models.
Introduction to The Design & Analysis of Algorithms
PENGENALAN PL/SQL.
Ilmu Komputer, FMIPA UGM
PROSES PADA WINDOWS Pratikum SO. Introduksi Proses 1.Program yang sedang dalam keadaan dieksekusi. 2.Unit kerja terkecil yang secara individu memiliki.
M. Suwarso Kegiatan Lembaga Standarisasi Internasional Dalam Hal Telepon Internet Telepon Internet.
1 IKI10230 Pengantar Organisasi Komputer Kuliah no. 07: Tugas No. 2 Sumber: 1. Paul Carter, PC Assembly Language 2. Hamacher. Computer Organization, ed-5.
DEPARTEMEN ILMU KOMPUTER FMIPA IPB 2011 Praktikum Bahasa Pemrograman.
Pengantar/pengenalan (Introduction)
Interface Komputer
EL 3014 Sistem Mikroprosesor
2-Metode Penelitian Dalam Psikologi Klinis
EL 3096 Sistem Mikroprosesor & Lab
MEMORY Bhakti Yudho Suprapto,MT. berfungsi untuk memuat program dan juga sebagai tempat untuk menampung hasil proses bersifat volatile yang berarti bahwa.
LOGO Manajemen Data Berdasarkan Komputer dengan Sistem Database.
Chapter 1 Pendahuluan Komputer sebagai sebuah sistem yang berhirarki
ORGANISASI KOMPUTER Oleh : PUTRA PRIMA NAUFAL, S.ST SUMBER
JARINGAN KOMPUTER DAHLAN ABDULLAH Web : FB Pribadi : Dahlan Abdullah FB MK : MK Jaringan Komputer.
Lecture 1 Introduction to C# Erick Pranata © Sekolah Tinggi Teknik Surabaya 1.
Linked List dan Double Linked List
Definisi VLAN Pemisahan jaringan secara logis yang dilakukan pada switch Pada tradisional switch, dalam satu switch menunjukkan satu segmentasi LAN.
SEARCHING ( PENCARIAN )
MANPRO-M13: MUTU PROYEK SISTEM
Algoritma dan Struktur Data Menggunakan Java
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Fungsi dan Protokol Layer Aplikasi Network Fundamentals – Chapter 3.
© 2009 Fakultas Teknologi Informasi Universitas Budi Luhur Jl. Ciledug Raya Petukangan Utara Jakarta Selatan Website:
Pemrograman Lanjut Pemrograman Berbasis Obyek Lanjut.
Algoritma dan Struktur Data
PENJUMLAHAN GAYA TUJUAN PEMBELAJARAN:
Silabus Erick Pranata © Sekolah Tinggi Teknik Surabaya 1.
Lecture 2 Introduction to C# - Object Oriented Sandy Ardianto & Erick Pranata © Sekolah Tinggi Teknik Surabaya 1.
ILMU PERILAKU KESEHATAN
KONTROL ALUR EKSEKUSI PROGRAM
Situasi Saat Program Berjalan (Run-time Environment)
Artificial Intelligence
Interaksi Manusia dan Komputer
PROCESS DAN THREADS Pengertian : Program Proses MonoProgramming
Analisis dan Perancangan Sistem Informasi
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
Organisasi dan arsitektur komputer
Organisasi dan arsitektur komputer
Pendahuluan Algoritma Pengolahan Paralel S1-TI Prepared by: MT Wilson.
Paralel Processing Sistem Terdistribusi.
PARALEL PROCESSING.
Conditional Move and Arrays
What is Kerberos? Network Security.
Transcript presentasi:

Departemen Ilmu Komputer IPB Komputasi Paralel Kuliah 01: Pendahuluan Yeni Herdiyeni http://www.cs.ipb.ac.id/~yeni/paralel Departemen Ilmu Komputer IPB Semester Genap 2010

Deskripsi Membahas kebutuhan dan klasifikasi mesin paralel (SISD, SIMD, MISD, MIMD, SPMD), komunikasi antar prosesor, memori persekutuan (shared memory), pengiriman pesan (message passing), jaringan interkoneksi (interconnection network), Desain algoritma paralel, efisiensi dan percepatan pemrosesan paralel, dan contoh aplikasi pemprosesan paralel. Perangkat lunak yang digunakan : MPI (Message Passing Interface)

Pengajar Dr. Yeni Herdiyeni, S.Si, M.Komp Hendra Rahmawan, S.Si, M.T Endang Purnama, S.Si, M.Komp Komponen Penilaian UTS UAS Tugas Quiz Project

Materi Kuliah Pendahuluan Definisi dan motivasi pemrosesan paralel Arsitektur system, Shared memory multiprocessor system, Message passing multicomputer distributed, Shared memory dan klasifikasi memori persekutuan MIMD dan SIMD Topologi Network Paradigma pengiriman pesan dengan menggunakan MPI Prinsip-prinsip Desain Algoritme Paralel Analisis kinerja Pemrosesan paralel UTS

Materi Kuliah #2 Pemrograman Paralel : Distributed Memory Tinjauan ulang critical section dengan menggunakan Pthread, siknronisasi dengan Semaphore, Implementasi Semaphore dilingkungan MPI Sorting Dense Matrix Algorithm Aplikasi pemrosesan (shared memory): problema produsen-konsumen, problema writer reader, problema dining philosophy Presentasi/diskusi proyek UAS Materi Kuliah dapat diakses di http://www.cs.ipb.ac.id/kulon

Buku Ajar Grama, Ananth., Gupta, Anshul., Karypis, George., Kumar, Vipin. 2003. Introduction to Parallel Computing. Second Edition. Pearson Addision Wesley. Quinn, Michael J. 2003. Parallel Programming in C with MPI and OpenMP . International Edition, McGraw-Hill. Wilkinson, Barry & Allen, Michael. 2005. Parallel Programming . 2nd Edition,Pearson Educational International. Jordan, Harry F., Alaghband Gita. 2003. Fundamentals of Parallel Processing. Prentice Hall.

Motivation : Classical Science Nature Observation Physical Experimentation Theory

Modern Scientific Method Nature Observation Numerical Simulation Physical Experimentation Theory

Modern Parallel Architectures Two basic architectural scheme: Distributed Memory Shared Memory Now most computers have a mixed architecture

What is Parallel and Distributed computing? Solving a single problem faster using multiple CPUs Parallel = Shared Memory among all CPUs Distributed = Local Memory/CPU Common Issues: Partition, Synchronization, Dependencies

Distributed Memory NETWORK CPU CPU CPU CPU CPU CPU memory memory node

Shared Memory memory CPU CPU CPU CPU CPU

Seeking Concurrency Data dependence graphs Data parallelism Functional parallelism Task Parallelism Pipelining

Interconnection Networks Uses of interconnection networks Connect processors to shared memory Connect processors to each other Interconnection media types Shared medium Switched medium

Most Common Networks switched switch Cube, hypercube, n-cube Torus in 1,2,...,N Dim Fat Tree

Real Shared Memory banks System Bus CPU CPU CPU CPU CPU

Virtual Shared Network CPU CPU CPU CPU CPU CPU node node node node memory memory memory memory memory memory HUB HUB HUB HUB HUB HUB CPU CPU CPU CPU CPU CPU node node node node node node

Mixed Architectures NETWORK CPU CPU CPU CPU CPU CPU memory memory node CPU CPU CPU CPU node node NETWORK

General MPI Program Structure MPI include file #include <mpi.h> void main (int argc, char *argv[]) { int np, rank, ierr; ierr = MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD,&rank); MPI_Comm_size(MPI_COMM_WORLD,&np); /* Do Some Works */ ierr = MPI_Finalize(); } variable declarations #include <mpi.h> void main (int argc, char *argv[]) { int np, rank, ierr; ierr = MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD,&rank); MPI_Comm_size(MPI_COMM_WORLD,&np); /* Do Some Works */ ierr = MPI_Finalize(); } Terminate MPI Environment #include <mpi.h> void main (int argc, char *argv[]) { int np, rank, ierr; ierr = MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD,&rank); MPI_Comm_size(MPI_COMM_WORLD,&np); /* Do Some Works */ ierr = MPI_Finalize(); } Initialize MPI environment #include <mpi.h> void main (int argc, char *argv[]) { int np, rank, ierr; ierr = MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD,&rank); MPI_Comm_size(MPI_COMM_WORLD,&np); /* Do Some Works */ ierr = MPI_Finalize(); } Do work and make message passing calls #include <mpi.h> void main (int argc, char *argv[]) { int np, rank, ierr; ierr = MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD,&rank); MPI_Comm_size(MPI_COMM_WORLD,&np); /* Do Some Works */ ierr = MPI_Finalize(); }

The Message-Passing Programming Paradigm

Message

Foster’s Design Methodology Partitioning Communication Agglomeration Mapping

Foster’s Methodology

Example program (1) Calculating the value of  by:

=3.141... Start calculation! OK! OK! Calculated by process 0

Sequential Algorithm 19 1 3 4 2 3 1 2 1 4 3 =  14 1 3 4 2 4 1 3 1 9 2 4 3 =  14 1 3 4 2 4 1 3 1 9 2 1 4 3 2 1 11 1 3 4 2 1 3 5 5 4 9 4 1 3 9 2 3 13 3 13 1 4 14 1 17 1 4 11 2 4 19 2 1 11 1

Phases of Parallel Algorithm b Row i of A b ci Inner product computation Row i of A Row i of A b c All-gather communication

Contoh 4x0 +6x1 +2x2 – 2x3 = 8 2x0 +5x2 4 –4x0 – 3x1 – 5x2 +4x3 1 8x0 40

Partitioning P0 P1

Communication P0 P1

Communication (CONT..) P0 P1

Communication (cont..) P0 P1

Communication (cont..) P0 P1

Shared memory multiprocessor using a single bus

Process “A program in a run”, a program in the memory. A high level view of a UNIX process

Threads A stream of control in a process. A high level view of threads in a UNIX process

Parallel Bubble Sort Iteration could start before previous iteration finished if does not overtake previous bubbling action: Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M. Allen, @ 2004 Pearson Education Inc. All rights reserved.

Virtual Topology