Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Chapter 1 Komputer Paralel.

Presentasi serupa


Presentasi berjudul: "Chapter 1 Komputer Paralel."— Transcript presentasi:

1 Chapter 1 Komputer Paralel

2 Tuntutan Terhadap Kecepatan Komputasi
Tuntutan yang terus mendesak agar sistem komputer menunjukkan kecepatan komputasi yang lebih besar dari saat ini. Bidang yang membutuhkan kecepatan komputasi yang tinggi mencakup pemodelan numerik dan simulasi masalah ilmiah dan teknik. Komputasi harus diselesaikan dalam waktu yang “masuk akal”.

3 Masalah yang Merupakan Tantangan Besar
… adalah masalah yang tidak dapat diselesaikan dalam waktu yang masuk akal dengan kecepatan komputer yang sekarang … → berkisar sekitar 10 tahun waktu eksekusi. Contoh Pemodelan struktur DNA yang besar Peramalan cuaca global Pemodelan gerakan benda luar angkasa.

4 Peramalan Cuaca Atmosfir dimodelkan dengan membaginya menjadi sel-sel 3-dimensi. Perhitungan setiap sel diulang-ulang to memodelkan perjalanan waktu.

5 Contoh Peramalan Cuaca Global
Misalkan keseluruhan atmosfir global dibagi menjadi sel sebesar 1 mile  1 mile  1 mile dengan ketinggian 10 miles (tinggi 10 sel) - sekitar 5  108 sel. Misalkan setiap perhitungan membutuhkan 200 operasi floating point. Dalam satu tahap, diperlukan 1011 operasi floating point. Untuk meramalkan cuaca 7 hari dengan interval 1 menit, komputer dengan kecepatan 1Gflops (109 operasi floating point / detik) membutuhkan waktu 106 detik atau lebih dari 10 hari. Untuk melakukan perhitungan tersebut dalam waktu 5 menit dibutuhkan komputer yang beroperasi dengan kecepatan 3.4 Tflops (3.4  operasi floating point / detik).

6 Pemodelan Gerakan Benda Luar Angkasa
Setiap benda saling menarik dengan gaya gravitasi. Gerakan setiap benda diprediksi dengan menghitung gaya total pada setiap benda. Jika ada N benda, diperlukan perhitungan N - 1 gaya untuk setiap benda, atau sekitar N2 perhitungan. (N log2 N untuk algoritma aproksimasi yang efisien.) Setelah menentukan posisi baru untuk setiap benda, perhitungan diulang kembali.

7 Satu galaksi bisa memiliki sekitar 1011 bintang.
Bahkan jika satu perhitungan dilakukan dalam waktu 1 ms (angka yang sangat optimistik), diperlukan 109 tahun untuk satu iterasi dengan menggunakan algoritma N2 algorithm dan hampir satu tahun untuk satu iterasi dengan menggunakan algoritma aproksimasi N log2 N yang efisien.

8 Simulasi Astrofisika N-benda oleh Scott Linssen (mahasiswa undergraduate UNC-Charlotte).

9 Komputasi Paralel Motif
Menggunakan lebih dari 1 komputer, atau komputer dengan lebih dari 1 prosesor, untuk menyelesaikan masalah. Motif Biasanya komputasi yang lebih cepat – ide yang sangat sederhana – bahwa n komputer yang beroperasi secara simultan dapat memberikan hasil n kali lebih cepat – walaupun tidak akan mencapai n kali lebih cepat dengan berbagai alasan. Motif lain mencakup: toleransi kesalahan, kapasitas memori yang tersedia lebih besar, ...

10 Latar Belakang Komputer paralel – komputer dengan lebih dari satu prosesor – dan pemrogramannya – pemrograman paralel – telah ada selama lebih dari 40 tahun.

11 Gill menulis pada tahun 1958:
“... Dengan demikian tidak ada hal baru dalam gagasan pemrograman paralel, selain penerapannya pada komputer. Penulis tidak menganggap akan ada kesulitan besar dalam perluasannya pada komputer. Tidak diharapkan bahwa teknik pemrograman yang diperlukan akan ditemukan dalam semalam. Banyak eksperimen yang masih harus dilakukan. Bagaimanapun, teknik yang biasanya digunakan dalam pemrograman saat ini didapat dengan usaha keras beberapa tahun yang lalu. Pada kenyataannya, munculnya pemrograman paralel bisa berperan dalam menghidupkan kembali semangat perintis dalam pemrograman yang tampaknya menjadi membosankan dan hanya rutin saja ...” Gill, S. (1958), “Parallel Programming,” The Computer Journal, vol. 1, April, pp

12 Faktor Speedup ts S(p) = tp
Waktu eksekusi dengan 1 prosesor (algoritma sekuensial terbaik) S(p) = tp Waktu eksekusi multiprosesor dengan p prosesor dengan ts adalah waktu eksekusi pada prosesor tunggal dan tp adalah waktu eksekusi pada multiprosesor. S(p) menunjukkan bertambahnya kecepatan dengan menggunakan multiprosesor. Gunakan algoritma sekuensial terbaik dengan sistem prosesor tunggal. Algoritma yang mendasari untuk implementasi paralel bisa (dan biasanya) berbeda.

13 Faktor speedup juga bisa dinyatakan dalam langkah komputasi:
Kompleksitas waktu juga dapat diperluas dengan komputasi paralel. Jumlah langkah komputasi dengan satu prosesor S(p) = Jumlah langkah komputasi paralel dengan p prosesor

14 Speedup Maksimum Speedup maksimum biasanya p dengan p prosesor (linear speedup). Dapat dicapai superlinear speedup (lebih besar dari p) tetapi biasanya dengan kondisi tertentu seperti: Memori ekstra pada sistem multiprosesor Algoritma nondeterministik

15 Speedup Maksimum Hukum Amdahl
t s ft (1 - f ) t s s Bagian serial Bagian yang dapat diparalelisasi (a) Satu prosesor (b) Multiple prosesor p prosesor (1 - f ) t / p t s p

16 Faktor speedup dinyatakan dengan:
Persamaan ini dikenal sebagai hukum Amdahl

17 Speedup terhadap jumlah prosesor
f = 0% 20 16 12 f = 5% 8 f = 10% 4 f = 20% 4 8 12 16 20 Jumlah prosesor , p

18 Bahkan dengan jumlah prosesor tak terbatas, speedup maksimum tetap terbatas sampai 1/f.
Contoh Dengan hanya 5% komputasi yang serial, speedup maksimum adalah 20, berapapun jumlah prosesor.

19 Contoh Superlinear Speedup - Searching
(a) Searching setiap sub-space secara sekuensial Start Waktu t s t /p s Sub-space t search x t /p s Solusi ditemukan x indeterminate

20 (b) Searching setiap sub-space secara paralel
t Solusi ditemukan

21 Dengan demikian, Speedup dinyatakan dengan
x s + t p S(p) = t

22 p – 1  t +  t s p S(p) =    t as  t tends to zero
Worst case untuk search sekuensial dengan solusi ditemukan di sub-space terakhir. Pada kasus ini, versi paralel memberikan keuntungan terbesar, yaitu p 1 t + t s p S(p) = t as t tends to zero   

23 Keuntungan terkecil versi paralel ialah jika solusi ditemukan pada sub-space pertama dari search sekuensial, yaitu Speed-up yang sebenarnya bergantung pada subspace yang mana yang menyimpan solusi, tetapi mungkin banyak sekali. t S(p) = = 1 t

24 Tipe Komputer Paralel Dua tipe utama: Shared memory multiprocessor
Distributed memory multicomputer

25 Shared Memory Multiprocessor

26 Komputer Konvensional
Terdiri dari satu prosesor yang mengeksekusi program yang tersimpan pada memori (utama): Setiap lokasi memori utama ditentukan oleh alamatnya. Alamat dimulai dari 0 sampai 2b - 1 jika ada b bit (digit biner) alamat. Memori Utama Instruksi(ke prosesor) Data (ke atau dari prosesor) Prosesor

27 Shared Memory Multiprocessor System
Cara natural untuk mengembangkan model prosesor tunggal - multiple processor dihubungkan ke multiple memory modules, sedemikian sehingga setiap prosesor dapat mengakses memory module yang manapun: Memory module One address space Interconnection network Processors

28 Ilustrasi shared memory multiprocessor kecil yang disederhanakan
Processors Shared memory Bus Contoh: Dual Pentium Quad Pentium

29 Quad Pentium Shared Memory Multiprocessor
L1 cache L1 cache L1 cache L1 cache L2 Cache L2 Cache L2 Cache L2 Cache Bus interface Bus interface Bus interface Bus interface Processor/ memory b us I/O interf ace Memory controller I/O b us Memory Shared memory

30 Pemrograman Shared Memory Multiprocessors
Threads - programmer membagi program menjadi urutan paralel individu (threads), masing-masing dapat mengakses variabel yang dideklarasikan di luar thread. Contoh: Pthreads Bahasa pemrograman sekuensial dengan preprocessor compiler directives untuk mendeklarasikan variabel yang dipakai bersama (shared variables) dan menspesifikasi paralelisme. Contoh: OpenMP – standard industri – membutuhkan compiler OpenMP

31 Bahasa pemrograman sekuensial dengan syntax tambahan untuk mendeklarasikan variabel yang dipakai bersama dan menspesifikasi paralelisme. Contoh: UPC (Unified Parallel C) – membutuhkan compiler compiler. Bahasa pemrograman paralel dengan syntax untuk menyatakan paralelisme - compiler membuat executable code untuk setiap prosesor (sekarang tidak umum) Bahasa pemrograman sekuensial dan meminta parallelizing compiler untuk mengubahnya menjadi parallel executable code. - sekarang tidak umum

32 Message-Passing Multicomputer
Komputer lengkap dihubungkan melalui interconnection network: Interconnection network Messages Processor Local memory Computers

33 Interconnection Networks
Interkoneksi yang terbatas dan lengkap Mesh 2- dan 3-dimensi Hypercube (sekarang tidak umum) Menggunakan switch: Crossbar Tree Multistage interconnection network

34 Array dua-dimensi (mesh)
Computer/ Links processor Juga tiga-dimensi – digunakan pada beberapa sistem dengan kinerja tinggi.

35 Hypercube Tiga Dimensi

36 Hypercube Empat Dimensi
Hypercube yang populer pada tahun 1980-an – sekarang tidak

37 Crossbar switch Memor ies Processors Switches

38 Tree Root Switch Links element Processors

39 Multistage Interconnection Network Example: Omega network
2 2 switch elements (straight-through or crossover connections) 000 000 001 001 010 010 011 011 Inputs Outputs 100 100 101 101 110 110 111 111

40 Distributed Shared Memory
Membuat main memory dari kelompok interconnected computers seakan-akan seperti satu memory dengan satu address space. Selanjutnya dapat digunakan teknik pemrograman shared memory. Interconnection netw or k Messages Processor Shared memory Computers

41 Klasifikasi Flynn Flynn (1966) membuat klasifikasi komputer berdasarkan aliran instruksi dan aliran data: Single instruction stream-single data stream (SISD) computer Komputer prosesor tunggal – dibuat satu aliran instruksi dari program. Instruksi beroperasi pada satu aliran data.

42 Multiple Instruction Stream-Multiple Data Stream (MIMD) Computer
Sistem multiprosesor general-purpose – setiap prosesor memiliki program sendiri dan dibuat satu aliran instruksi dari setiap program untuk setiap prosesor. Setiap instruksi beroperasi pada data yang berbeda. Multiprosesor shared memory dan message- passing yang telah dibahas sebelum ini termasuk dalam klasifikasi MIMD.

43 Single Instruction Stream-Multiple Data Stream (SIMD) Computer
Komputer yang dirancang khusus – datu aliran instruksi dari satu program, tetapi terdapat banyak aliran data. Instruksi dari program di-broadcast ke lebih dari satu prosesor. Setiap prosesor mengeksekusi instruksi yang sama secara sinkron, tetapi menggunakan data yang berbeda. Dikembangkan karena banyak aplikasi penting yang beroperasi pada banyak data.

44 Struktur Multiple Program Multiple Data (MPMD)
Termasuk klasifikasi MIMD, setiap prosesor memiliki program sendiri untuk dieksekusi: Program Program Instructions Instructions Processor Processor Data Data

45 Struktur Single Program Multiple Data (SPMD)
Terdapat satu source program yang copy-nya dieksekusi oleh setiap prosesor secara independen dan tidak sinkron. Source program dapat dibuat sedemikian rupa sehingga bagian-bagiannya dieksekusi oleh komputer-komputer tertentu bergantung pada identitas komputer tersebut.

46 Networked Computers sebagai Computing Platform
Jaringan komputer menjadi alternatif yang sangat menarik bagi superkomputer dan sistem komputer paralel yang mahal untuk melakukan for high- performance computing di awal tahun 1990-an. Beberapa proyek awal: Berkeley NOW (network of workstations) project. NASA Beowulf project.

47 Keuntungan utama: Workstation dan PC berkinerja tinggi tersedia dengan harga murah. Prosesor terbaru dapat digabungkan dengan sistem jika telah tersedia. Software yang sudah ada dapat dipakai atau dimodifikasi.

48 Software Tools for Clusters
Berdasarkan pada Message Passing Parallel Programming: Parallel Virtual Machine (PVM) – dikembangkan pada akhir 1980-an. Menjadi sangat populer. Message-Passing Interface (MPI) – standardnya didefinisikan pada tahun 1990-an. Keduanya menyediakan satu set user-level library untuk message passing. Digunakan dengan bahasa pemrograman umum (C, C++, ...).

49 Beowulf Clusters* Sekelompok interconnected “commodity” computers yang dapat mencapai kinerja tinggi dengan harga murah. Biasanya menggunakan commodity interconnects - high speed Ethernet, dan Linux OS. * Beowulf merupakan nama yang diberikan oleh NASA Goddard Space Flight Center cluster project.

50 Cluster Interconnects
Awalnya merupakan fast Ethernet on low cost clusters Gigabit Ethernet - easy upgrade path More Specialized/Higher Performance Myrinet Gbits/sec - disadvantage: single vendor cLan SCI (Scalable Coherent Interface) QNet Infiniband - may be important as infininband interfaces may be integrated on next generation PCs

51 Dedicated cluster with a master node
User Compute nodes Master node Up link 2nd Ether net Exter nal netw or k Switch interf ace


Download ppt "Chapter 1 Komputer Paralel."

Presentasi serupa


Iklan oleh Google