bab xiv memaksimalkan_prosesor

40
MEMAKSIMALKAN PROSESOR

Upload: billi-u-daeli

Post on 11-Apr-2017

169 views

Category:

Presentations & Public Speaking


1 download

TRANSCRIPT

Page 1: Bab xiv memaksimalkan_prosesor

MEMAKSIMALKAN PROSESOR

Page 2: Bab xiv memaksimalkan_prosesor

Overview

• Prosesor dapat ditingkatkan kinerjanya dengan membuatnya bekerja secara paralel. Namun paralelisme pada prosesor bukanlah hal yang mudah untuk diimplementasikan apabila terdapat ketergantungan antar proses yang sedang dieksekusi.

• Melalui bab ini akan dipelajari bagaimana komputer dapat ditingkatkan kinerjanya dengan menbuat proses paralelisme pada prosesornya.

Page 3: Bab xiv memaksimalkan_prosesor

Tujuan

• Memahami cara mempercepat kinerja pada prosesor secara paralel.

• Mempelajari karakteristik pada teknik memaksimalkan kinerja prosesor.

Page 4: Bab xiv memaksimalkan_prosesor

Latar Belakang• Pada saat ini aplikasi komputer (commercial & scientific)

membutuhkan sistem komputasi dengan jumlah data yang semakin besar/kompleks dan harus diselesaikan dalam waktu tertentu serta dengan spesifikasi yang semakin tinggi, contoh: – Rendering film animasi, pemodelan cuaca, desain struktural,

computer aided design (CAD) dsb.• Beberapa pendekatan solusi permasalahan:

– Superkomputer– Mempercepat prosesor– memperbesar memori– Mempercepat bus– Sistem komputer paralel, dll

Page 5: Bab xiv memaksimalkan_prosesor

Proses Paralel• Salah satu solusi permasalahan adalah sistem komputer

paralel.• Dalam perancangan sistem komputer, penggunaan sistem

komputer paralel menjadi salah satu opsi yang harus dipertimbangkan agar memiliki kinerja yang lebih baik.

• Kinerja dari sistem komputer dinilai dari dua hal: – Seberapa cepat sistem komputer tersebut bisa menyelesaikan

suatu proses. – Seberapa kompleks permasalahan yang bisa diselesaikan

dengan ditambahkannya prosesor yang bekerja secara paralel.

Page 6: Bab xiv memaksimalkan_prosesor

Komponen Sistem Komputasi Paralel

• Hardware:– PC s.d. superkomputer

• Software– Parallel program

• Explicit parallelism: pembagian partisi paraleldilakukan oleh programmer

• Implicit parallelism: pembagian partisi paralel dilakukan oleh kompiler khusus (paralel)

• Operating system• Network:

– backplane, LAN

Page 7: Bab xiv memaksimalkan_prosesor

Bentuk Umum Paralelisme

• Ada dua bentuk umum paralelisme: – Paralelisme instruksilevel

• Paralelisme dimanfaatkan dalam instruksi - instruksi individu agar dapat mengeksekusikan lebih banyak instruksi/detik.

– Paralelisme prosessorlevel. • Berbagai macam CPU bersama -sama menangani

masalah.

Page 8: Bab xiv memaksimalkan_prosesor

Tingkat Paralelisme

• Berdasarkan tingkat paralelismenya prosesor paralel dapat dibagi menjadi beberapa tingkat sebagai berikut :

• Komputer Array : – Prosesor array : beberapa prosesor yang bekerja sama untuk

mengolah set instruksi yang sama dan data yang berbeda – beda atau biasa disebut SIMD (Single Instruction-stream Multiple Data)

– Prosesor vektor : beberapa prosesor yang disusun seperti pipeline.• Multiprosesor, yaitu sebuah sistem yang memiliki 2 prosesor

atau lebih yang saling berbagi memori.• Multikomputer, yaitu sebuah sistem yang memiliki 2 prosesor

atau lebih yang masing-masing prosesor memiliki memori sendiri.

Page 9: Bab xiv memaksimalkan_prosesor

Klasifikasi Struktur Paralel

Ada 3 klasifikasi struktur sistem komputer paralel :• 1. Klasifikasi Flynn

– Didasarkan pada penggandaan alur instruksi dan alur data dalam sistem komputer.

• 2. Klasifikasi Feng– Didasarkan pada pemrosesan paralel dan serial

• 3. Klasifikasi Händler– Didasarkan pada derajat keparalelan dan pipelining

dalam berbagai tingkat subsistem.

Page 10: Bab xiv memaksimalkan_prosesor

Klasifikasi Flynn• Klasifikasi sistem komputer yang didasarkan pada penggandaan alur

instruksi dan alur data.– Alur instruksi (instruction stream) adalah urutan instruksi yang dilaksanakan

oleh sistem komputer.– Alur data adalah urutan data yang dipanggil oleh alur instruksi.

• Baik instruksi maupun data diambil dari modul memori Instruksi didecode (diartikan) oleh Control Unit.

• Alur data mengalir dua arah antara prosesor dan memori.• Ada 4 kategori sistem komputer dalam klasifikasi Flynn:

– 1. Single Instruction stream – Single Data stream (SISD)– 2. Single Instruction stream – Multiple Data stream (SIMD)– 3. Multiple Instruction stream – Single Data stream (MISD)– 4. Multiple Instruction stream – Multiple Data stream (MIMD)

Page 11: Bab xiv memaksimalkan_prosesor

Klasifikasi Flynn dan modelpemrosesan paralel

Page 12: Bab xiv memaksimalkan_prosesor

SISD (Single Instruction Stream, Single Data Stream)

• Instruksi dilaksanakan secara berurut tetapi juga boleh overlap dalam tahapan eksekusi (pipeline)

• Sebuah instruksi tunggal berhubungan dengan paling banyak satu operasi data serta juga dapat di pipeline-kan ke beberapa saluran tambahan.

• Instruksi sekuensial• Data disimpan di satu memori• Di sebut Uni-processor

Page 13: Bab xiv memaksimalkan_prosesor

Sistem Komputer kategori SISD

Page 14: Bab xiv memaksimalkan_prosesor

SIMD (Single Instruction Stream, Multiple Data Stream)

• Merupakan suatu instruksi tunggal mungkin mengawali sejumlah besar operasi.• Dilaksanakan satu per satuan waktu namun bekerja pada beberapa aliran data

sekaligus.• Beberapa Processor Unit (Processing Element) disupervisi oleh Control Unit

yang sama.• Semua Processing Element menerima instruksi yang sama dari control unit

tetapi mengeksekusi data yang berbeda dari alur data yang berbeda pula.• Subsistem memori berisi modul-modul memori.• Yang termasuk SIMD adalah Array Processor dan Vector Processor• Sifat komputer SIMD adalah:

– 1. Mendistribusikan pemrosesan ke sejumlah hardware.– 2. Beroperasi secara bersama-sama pada beberapa elemen data yang berbeda.– 3. Menjalankan komputasi yang sama pada semua elemen data.

Page 15: Bab xiv memaksimalkan_prosesor

Sistem Komputer kategori SIMD

Page 16: Bab xiv memaksimalkan_prosesor

MISD (Multiple Instruction Stream, Single Data Stream)

• Sejumlah prosesor unit , masing-masing menerima instruksi yang berbeda dan mengoperasikan data yang sama.

• Output salah satu prosesor menjadi input bagi prosesor berikutnya, dimana data akan mengalir ke elemen pemroses serial

• Struktur komputer ini tidak praktis, sehingga Belum dapat diimplementasikan dengan baik

Page 17: Bab xiv memaksimalkan_prosesor

Sistem Komputer kategori MISD

Page 18: Bab xiv memaksimalkan_prosesor

MIMD (Multiple Instruction Stream, Multiple Data Stream)

• Sejumlah prosesor secara simultan mengeksekusi rangkaian instruksi yang berbeda pada kumpulan data yang berbeda pula.

• Sifat komputer MIMD :– 1. Mendistribusikan pemrosesan ke sejumlah prosesor independen.– 2. Membagikan sumber termasuk memori utama ke prosesor independen.– 3. Setiap prosesor menjalankan programnya sendiri.– 4. Setiap prosesor berfungsi secara independen dan bersama-sama.

• Yang termasuk MIMD – 1. Multikomputer– 2. Multiprosesor

Page 19: Bab xiv memaksimalkan_prosesor

Sistem Komputer kategori MIMD

Page 20: Bab xiv memaksimalkan_prosesor

Pipeline

• Teknologi pipeline yang digunakan pada komputer bertujuan untuk meningkatkan kinerja dari komputer.

• Secara sederhana, pipeline adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersamaan tetapi dalam tahap yang berbeda yang dialirkan secara kontinu pada unit pemrosesan.

• Dengan cara ini, maka unit pemroses selalu bekerja.

Page 21: Bab xiv memaksimalkan_prosesor

Penerapan Pipeline

Secara umum, prinsip pipeline dapat diterapkan pada beberbagai level, seperti:

• Level instruksi (unit pemrosesan instruksi)

– Berguna untuk komputer yang memiliki set instruksi lebih sederhana

• Level subsystem (unit aritmatika pipeline)

– Berguna untuk operasi vektor• Level system (level hardware/software)

Page 22: Bab xiv memaksimalkan_prosesor

Tahapan Pipeline

• Pada pipeline proses dapat dibagi menjadi beberapa tahap dan beberapa proses serta dapat dilaksanakan secara simultan.

• Operasi pipeline dilaksanakan secara siklus (cyclic pipeline) yang dibagi dalam 5 tahap: – Operasi baca (dari shared memories)– Operasi decode 1 (memori ke elemen pemroses)– Operasi pembacaan/decode 2 (di elemen pemroses)– Operasi eksekusi (di elemen pemroses ke memori)– Operasi transfer/simpan (elemen pemroses ke memori)

Page 23: Bab xiv memaksimalkan_prosesor

Siklus Pipeline 5 Tahap

Page 24: Bab xiv memaksimalkan_prosesor

Pipeline pada Micro-0486

Inst

ruct

ion F

etch

Deco

de 1

(mem

ory

acce

ss)

Deco

de 2

Exec

ution

Writ

e-ba

ck

ADD eax,mem32

Decode ADD,fetch mem32

Decode ADD(continued)

Write resultinto eax

Add eax andmem32

Cycle n

Cycle n+1

Cycle n+2

Cycle n+3

Cycle n+4

Page 25: Bab xiv memaksimalkan_prosesor

Beberapa Hal Yang Perlu Diperhatikan :

• Penggunaan sumber daya secara bersamaan– Karena beberapa instruksi diproses secara bersamaan ada kemungkinan

instruksi tersebut sama-sama memerlukan resource yang sama, sehingga diperlukan adanya pengaturan yang tepat agar proses tetap berjalan dengan benar

• Ketergantungan kepada data – Misalnya instruksi yang berurutan memerlukan data dari instruksi yang

sebelumnya. • Menyebabkan pengaturan Jump ke alamat memory.

– ketika sebuah instruksi meminta untuk melompat ke suatu lokasi memori tertentu, akan terjadi perubahan program counter, sedangkan instruksi yang sedang berada dalam salah satu tahap proses yang berikutnya mungkin tidak mengharapkan terjadinya perubahan program counter.

Page 26: Bab xiv memaksimalkan_prosesor

Superskalar• Superscalar adalah prosesor yang dilengkapi dengan banyak

unit pengolahan untuk menangani beberapa instruksi secara paralel pada tiap stage pengolahan.

• Prosesor tersebut mampu mencapai throughput eksekusi lebih dari satu instruksi per cycle.

• Di dalam superscalar terdapat lebih dari satu pipeline yang juga memiliki tugas tersendiri namun tetap fleksibel dengan tugas yang lain.

• Bahkan untuk pipeline Floating Point (pengolah bilangan berkoma) bisa meningkat secara tajam kecepatannya dalam kegunaan ilmiah yang tentunya juga banyak memerlukan bilangan berkoma.

Page 27: Bab xiv memaksimalkan_prosesor

Superskalar 5 Tahap Dengan Pipeline Ganda

Page 28: Bab xiv memaksimalkan_prosesor

Prosesor Superskalar Dengan 5 Satuan Fungsional

Page 29: Bab xiv memaksimalkan_prosesor

Arsitektur Paralel

• Dalam klasifikasi arsitektur paralel ada dua keluarga arsitektur paralel yang banyak diterapkan yaitu: SIMD dan MIMD

• Contoh arsitektur SIMD adalah prosesor array• Termasuk arsitektur MIMD :

– Multikomputer (Loosely Coupled/ local memory) dengan memori yang terdistribusi

– Multiprosesor (Tightly Coupled/ global memory) dengan memori yang dapat digunakan bersama (shared memory)

Page 30: Bab xiv memaksimalkan_prosesor

Prosesor Array

• Bentuk SIMD pengolahan paralel disebut juga pengolahan array (array processing)

• Sebuah prosesor array terdiri dari sejumlah besar prosesor yang sama, yang menjalankan rangkaian instruksi yang sama pada kumpulan data berbeda.

• Prosesor array pertama di dunia adalah komputer ILLIAC 1V di Universitas Illinois

Page 31: Bab xiv memaksimalkan_prosesor

Struktur Umum 16 Prosessor array Dan Unit Kontroltunggal

Page 32: Bab xiv memaksimalkan_prosesor

Multikomputer• Meskipun multiprosesor dengan sejumlah kecil prosesor

relatif mudah untuk dibuat, multiprosesor besar sangat sulit untuk dibuat.

• Kesulitan tersebut terutama dalam menghubungkan semua prosesor ke memori.

• Untuk mengatasi masalah ini, dibuat sistem yang terdiri dari banyak komputer yang saling terhubung, di mana masing - masing memiliki memorinya sendiri, tetapi tidak ada memori bersama. Sistem ini disebut sistem multikomputer.

• Dalam sebuah multikomputer CPU berkomunikasi dengan saling mengirim pesan, seperti email, tapi dengan kecepatan lebih tinggi.

Page 33: Bab xiv memaksimalkan_prosesor

Multikomputer Con’t

• Karena prosesor-prosesor multikomputer harus berkomunikasi, maka elemen penting perancangan multikomputer adalah jaringan interkoneksi yang harus dapat beroperasi seefisien mungkin.

• Ada beberapa topologi interkoneksi untuk memberikan kinerja yang efisien seperti:– Ring– Mesh– Tree– Hypercube

Page 34: Bab xiv memaksimalkan_prosesor

Multiprosesor

• Suatu sistem dengan lebih dari satu CPU yang memiliki sebuah memori bersama.

• Karena setiap CPU dapat membaca atau menulis bagian apa saja dari memori, mereka harus berkoordinasi (dalam software) agar tidak saling berebut jalurnya masing – masing.

Page 35: Bab xiv memaksimalkan_prosesor

Uniform Memory Access (UMA) MIMD

• Memungkinkan “n” prosesor mengakses “k” memori.

• Setiap prosesor dapat mengakses tiap memori.

• Jeda akses prosesor sama keseluruh memori.

Page 36: Bab xiv memaksimalkan_prosesor

Diagram UMA

Page 37: Bab xiv memaksimalkan_prosesor

Non-Uniform Memory Access (NUMA) MIMD

• Melekatkan modul memori langsung ke prosesor.

• Prosesor selain mengakses memori lokalnya dapat juga mengakses memori lainnya melalui jaringan.

• Terdapat perbedaan waktu antara akses ke momori lokal dengan memori lainnya karena akses jarak jauh melalui jaringan

Page 38: Bab xiv memaksimalkan_prosesor

Diagram NUMA

Page 39: Bab xiv memaksimalkan_prosesor

Sistem Memori Terdistribusi

• Modul memori bersifat privat untuk prosesor yang terhubung langsung.

• Remote memori dapat diakses melalui komunikasi pertukaran pesan dengan prosesor remote menggunakan protokol message – passing.

Page 40: Bab xiv memaksimalkan_prosesor

TERIMA KASIH