Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
PARALLEL MODEL DAN FORMAL MODEL
KELIPING
Diajukan sebagai syarat mengikuti Mata Kuliah
Sistem Informasi Manajemen (SIM)
Dosen Pembimbing:Bapak Asep Jalaludin,S.T,M.M
Disusun Oleh:
ROJAKUL
MAHMUDIN
SELINAWULANDARI
Semester : 5
PROGRAM STUDI MANAJEMEN INFORMATIKA
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
STMIK CIKARANG
BEKASI 2014/2015
KATA PENGANTAR
Puji syukur kami panjatkan kehadirat Allah SWT, berkat limpahan rahmat-Nya,
kami dapat menyelesaikan keliping ini. Shalawat serta salam kami sampaikan kepada
junjungan kita Nabi Muhammad SAW, para sahabat dan keluarganya.
Keliping ini yang berjudul “Paralel Model dan Formal model” sebagai tugas
kelompok Mata Kuliah “SISTEM INFORMASI MANAGEMENT (SIM)” Pada STMIK
AMIK Cikarang
Kami berharap agar para pembaca Keliping ini tidak merasa puas dengan tulisan ini,
akan tetapi harus lebih memacu semangat untuk lebih menggali kebenaran yang hakiki yang
menggunakan refrensi yang lebih banyak lagi.
Kami menyadari sifat manusia tidak lepas dari kesalahan dan khilaf, kami juga
menyadari dalam pembuatan keliping ini jauh dari kesempurnaan oleh karena itu apabila
ada kritik dan saran yang sifatnya membangun sangat kami harapkan untuk perbaikan
keliping selanjutnya.
Tidak lupa kami ucapkan terima kasih kepada bapak Asep Jalaludin,S.T,M.Mselaku
dosen mata kuliahSistem Informasi Management di STMIK AMIK Cikarang
Terima kasih
Cikarang, November2014
Penyusun
DAFTAR ISI
KATA PENGANTAR ......................................................................................... i
DAFTAR ISI..................................................................................................... ii
CONTENT........................................................................................................ 1
A. PARALEL MODEL........................................................................................ 1
1. Processing parallel dan komputasi parallel.................................................. 1
a. Pengertian Processing parallel dan komputasi paralel............................ 1
b. Apa itu parallel Processing?.................................................................... 2
c. Perbedaan komputasi tunggal dan parallel............................................. 2
d. Tujuan pemrosesan parallel.................................................................... 5
e.Kroteria yang menentukan baik buruknya topologi yang di pakai
dalam parallel processing........................................................................... 5
f. Kinerja komputasi dengan parallel processing........................................... 6
g.Hubungan antara komputasi modern dan parallel processing................... 7
B. FORMAL MODEL......................................................................................... 8
a. Formal Specification.................................................................................. 8
b.Formal Synthesis........................................................................................ 9
c. Formal Verification..................................................................................... 10
d.Formal Methods di bidang Software.......................................................... 11
DAFTAR PUSTAKA........................................................................................... 12
CONTENT
A. PARALLEL MODEL
1. PROCESSING PARALLEL DAN KOMPUTASI PARALLEL
Untuk pembahasan kali ini saya akan membahas parallel processing. Dalam tugas
softskill ini akan dijelaskan apa itu processing parallel sampai dengan kelebihan dan
kekurangan dari processing parallel.
a. Pengertian Parallel Processing dan Komputasi Parallel
Pemrosesan paralel (parallel processing) adalah penggunakan lebih dari satu CPU
untuk menjalankan sebuah program secara simultan.Idealnya, parallel processing membuat
program berjalan lebih cepat karena semakin banyak CPU yang digunakan.Tetapi dalam
praktek, seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang
berbeda-beda tanpa berkaitan di antaranya.
Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan
dengan memanfaatkan beberapa komputer secara bersamaan. Biasanya diperlukan saat
kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah
besar ataupun karena tuntutan proses komputasi yang banyak. Untuk itu diperlukan aneka
perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk
mengatur distribusi pekerjaan antar node dalam satu mesin paralel.
b. Apa itu Parallel Processing?
Parallel Processing merupakan salah satu teknik yang digunakan dalam komputasi, yaitu
teknik yang menggunakan dua atau lebih processor dalam melakukan komputasi dan
dilakukan secara bersamaan.Komputasi adalah suatu aktifitas penghitungan atau
pemecahan masalah, lalu bagaimana dengan processor.Processor merupakan sumber semua
perintah, jika diibaratkan dalam makhluk hidup, prosessor merupakan otaknya. Idealnya
satu komputer hanya memiliki satu prosesor saja, namun dengan berkembangnya teknologi,
muncullah multi prosesor dimana dalam satu komputer terdapat dua prosessor yang
digabung menjadi satu, contohnya dual core, core 2 duo, quad core, dan lain-lain.
Dalam parallel processing ini juga memiliki berbagai kelemahan dan kelebihan dimana,
untuk memiliki banyak prosessor memerlukan biaya yang tidak sedikit, tetapi dengan
banyaknya prosessor maka proses komputasinya pun semakin cepat. Komputasi yang
menggunakan teknik parallel processing ini disebut dengan komputasi parallel.Ada dua tipe
komputasi dilihat dari banyaknya prosessor, yaitu komputasi tunggal dan komputasi
parallel. Untuk lebih jelasnya akan saya jelaskan perbedaan nya.
c. Perbedaan Komputasi Tunggal & Parallel ?
Perbedaan komputasi tunggal (menggunakan 1 processor) dengan komputasi paralel
(menggunakan beberapa processor), maka kita harus mengetahui terlebih dahulu pengertian
mengenai model dari komputasi. Ada 4 model komputasi yang digunakan, yaitu:
1. Komputer SISD (Single Instruction stream-Single Data stream)
2. Komputer SIMD (Single Instruction stream-Multiple Data stream)
3. Komputer MISD (Multiple Instruction stream-Single Data stream)
4. Komputer MIMD (Multiple Instruction stream-Multiple Data stream)
1. SISD
Yang merupakan singkatan dari Single Instruction, Single Data adalah satu-satunya
yang menggunakan arsitektur Von Neumann.Ini dikarenakan pada model ini hanya
digunakan 1 processor saja.Oleh karena itu model ini bisa dikatakan sebagai model untuk
komputasi tunggal.Sedangkan ketiga model lainnya merupakan komputasi paralel yang
menggunakan beberapa processor.Beberapa contoh komputer yang menggunakan model
SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.
2. SIMD
Yang merupakan singkatan dari Single Instruction, Multiple Data. SIMD
menggunakan banyak processor dengan instruksi yang sama, namun setiap processor
mengolah data yang berbeda. Sebagai contoh kita ingin mencari angka 27 pada deretan
angka yang terdiri dari 100 angka, dan kita menggunakan 5 processor. Pada setiap processor
kita menggunakan algoritma atau perintah yang sama, namun data yang diproses berbeda.
Misalnya processor 1 mengolah data dari deretan / urutan pertama hingga urutan ke 20,
processor 2 mengolah data dari urutan 21 sampai urutan 40, begitu pun untuk processor-
processor yang lain. Beberapa contoh komputer yang menggunakan model SIMD adalah
ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell
Processor (GPU).
3. MISD
Yang merupakan singkatan dari Multiple Instruction, Single Data. MISD menggunakan
banyak processor dengan setiap processor menggunakan instruksi yang berbeda namun
mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Untuk contoh,
kita bisa menggunakan kasus yang sama pada contoh model SIMD namun cara penyelesaian
yang berbeda. Pada MISD jika pada komputer pertama, kedua, ketiga, keempat dan kelima
sama-sama mengolah data dari urutan 1-100, namun algoritma yang digunakan untuk teknik
pencariannya berbeda di setiap processor. Sampai saat ini belum ada komputer yang
menggunakan model MISD.
4. MIMD
Yang merupakan singkatan dari Multiple Instruction, Multiple Data.MIMD
menggunakan banyak processor dengan setiap processor memiliki instruksi yang berbeda
dan mengolah data yang berbeda. Namun banyak komputer yang menggunakan model
MIMD juga memasukkan komponen untuk model SIMD. Beberapa komputer yang
menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32,
AMD Opteron, Cray XT3 dan IBM BG/L.
Terlihat pada gambar diatas bahwa komputasi tunggal hanya menggunakan 1 CPU atau
processor, sehingga dalam hal ini, jika instruksi yang dilakukan banyak, processor
akanmemprosesnya satu persatu. Hal ini menimbulkan antrian yang akhirnya akan
memperlambat hasil yang diperoleh (waktunya lama).
Namun jika kita lihat pada gambar komputasi paralel, instruksi akan dibagi menjadi
beberapa instruksi sesuai dengan banyaknya processor. Hal ini tentunya akan mempercepat
kerja komputer dan mempercepat waktu untuk mendapatkan hasil.
d. Tujuan Pemrosesan Parallel
Tujuan utama dari pemrosesan paralel adalah untuk meningkatkan performa komputasi.
Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama),
semakin banyak pekerjaan yang bisa diselesaikan. Analogi yang paling mudah untuk diingat
adalah, bila kamu dapat merebus air dalam sebelum memotong motong bawang saat kamu
akan masak, waktu yang kamu butuhkan akan lebih sedikit dibandingkan bila kamu
mengerjakan hal tersebut secara berurutan (serial). Atau waktu yang kamu butuhkan pada
saat memotong bawang akan lebih sedikit jika kamu kerjakan berdua.
e. Kriteria yang menentukan baik buruknya topologi yang dipakai dalam Parallel
Processing
1. Diameter
Semakin kecil diameter yang digunakan akan semakin baik.
2. Bisection Width
Semakin besar bisection width semakin baik.
3. Derajat
Derajat yang tetap adalah yang terbaik.
4. Panjang maximum garis
Panjang garis tetap adalah terbaik.
Dead-Lock terjadi jika ditemui kondisi sebagai berikut :
1. Mutual Exclusion
Larangan bagi lebih dari satu prosesor menggunakan resource yang sama pada waktu
yang sama.
2. Incremental Request Resource
Permintaan untuk menggunakan suatu resource pada proses meningkat.
3. No Preemption
Proses yang sedang berjalan tidak bisa dihentikan (diputus).
4. Circular wait
Terjadi saling menunggu antara proses.
f. Kinerja Komputasi dengan Parallel Processing
Komputasi Paralel merupakan salah satu teknologi paling menarik sejak
ditemukannya komputer pada tahun 1940-an. Terobosan dalam pemorosesan parallel selalu
berkembang dan mendapatkan tempat disamping teknologi-teknologi lainnya sejak Era
Kebangkitan (1950-an), Era Mainframe (1960-an), Era Minis (1970-an), Era PC (1980-an),
dan Era Komputer Paralel (1990-an). Dengan berbagai pengaruh atas perkembangan
teknologi lainnya, dan bagaimana teknologi ini mengubah persepsi terhadap komputer,
dapat dimengerti betapa pentingnya komputasi parallel itu.
Inti dari komputasi parallel yaitu hardware, software, dan aplikasinya. Paralel
prosesing merupakan suatu pemrosesan informasi yang lebih mendekatkan pada manipulasi
rata-rata dari elemen data terhadap satu atau lebih penyelesaian proses dari sebuah masalah.
Dengan kata lain komputasi parallel adalah komputer dengan banyak processor dapat
melakukan parallel processing dengan cara membagi-bagi proses ke source-source yang
dimiliki.
Paradigma pemrosesan parallel bergantung pada model SIMD (single instruction
multiple data), dan paradigma functional dataflow yang memperkenalkan konsep model
MIMD (Multiple Instrution Multiple Data). Suatu program parallel memerlukan koordinasi
ketika sebuah tugas bergantung pada tugas lainnya. Ada dua macam bentuk koordinasi pada
komputer parallel : asynchronous dan synchronous. Bentuk synchronous merupakan
koordinasi pada hardware yang memaksa semua tugas agar dilaksanakan pada waktu yang
bersamaan dengan mengesampingkan adanya ketergantungan tugas yang satu dengan yang
lainnya.Sementara bentuk asynchronous mengandalkan mekanisme pengunci untuk
mengkoordinasikan processor tanpa harus berjalan bersamaan.
g. Hubungan Antara Komputasi Modern Dan Parallel Processing
Pemrosesan paralel juga disebut komputasi paralel.Dalam upaya lebih murah pengolahan
komputasi paralel menyediakan alternatif pilihan yang layak. Waktu idle siklus prosesor di
seluruh jaringan dapat digunakan secara efektif oleh perangkat lunak komputasi terdistribusi
yang canggih. Pengolahan paralel istilah digunakan untuk mewakili kelas besar teknik yang
digunakan untuk memberikan tugas pengolahan simultan data untuk tujuan meningkatkan
kecepatan komputasi dari sistem komputer.
- Kelebihan dan Kekurangan
Kelebihan:
a. Waktu eksekusi lebih cepat.
b. Throughput jadi lebih tinggi.
Kerugian:
a. Perangkat keras lainnya yang dibutuhkan.
b. Kebutuhan daya juga lebih.
c. Tidak baik untuk daya rendah dan perangkat mobile.z
d. Parallel processing adalah salah satu teknik komputasi modernKarena membutuhkan
banyak prosesor maka biaya mahal.
B. FORMAL MODEL
Teknik formal method adalah teknik yang mengandalkan perhitungan matematika dalam
setiap prosesnya.Hanya digunakan pada sistem yang sangat memperhatikan keamanan atau
keselamatan dari pengguna.Contoh penggunaan teknik ini adalah aerospace engineering.
1. Keuntungan menggunakan teknik formal method adalah meminimalkan resiko
dengan adanya perhitungan komputasi.
2. Sedangkan kerugiannya adalah:
a. Biaya Tinggi.
b. Kompleks
c. Tidak Umum untuk Proyek Software pada umumnya
a. Formal Specification
Seperti telah diungkapkan sebelumnya, spesifikasi dengan menggunakan bahasa natural
(seperti bahasa Indonesia dan bahasa Inggris) sering menimbulkan kerancuan dan ketidak
jelasan (ambiguous). Untuk menghindari hal ini, digunakan formal specification.
Ada beberapa bahasa, notasi, atau formalism yang dapat digunakan untuk formal
specification. Berikut ini adalah daftar beberapa notasi yang umum digunakan:
1. Communicating Sequential Processes (CSP), yaitu basis notasi dan
matematika yang dikembangan oleh Hoare. Basis CSP inilah yang digunakan
oleh bahasa PROMELA dan tools SPIN yang dikembangkan oleh Holzmann.
PROMELA dan SPIN ini kemudian digunakan untuk formalism hardware
dan verifikasi di.
2. Calculus of Communicating System, yaitu sebuah calculus yang
dikembangan oleh Milner.
3. Higher-Order Logic, yaitu representasi dari sistem dalam bentuk logic
tingkat tinggi yang didukung oleh theorem proving tools seperti HOL dan
PVS.
4. Petri nets
5. Synchronized Transitions,
Selain notasi atau bahasa di atas, ada juga formalism yang lebih umum (populer)
digunakan dalam disain perangkat lunak dan tidak dalam disain perangkat keras, seperti
antara lain:
1. VDM
Bahasa VHDL sering diperdebatkan apakah dapat dikategorikan sebagai formal
specification atau tidak.Menurut para pakar, bahasa VHDL ini tidak dapat dikategorikan
sebagai formal specification sebab kita tidak dapat melakukan manipulasi (matematis)
dalam deskripsi yang ditulis di dalam bahasa VHDL itu sendiri. Sebagai contoh, kita tidak
bisa membuktikan secara matematis bahwa dua buah deskripsi yang keduanya ditulis dalam
bahasa VHDL adalah sama. Ada sebuah usaha untuk melakukan formalisasi terhadap subset
kecil dari VHDL dengan menggunakan HOL Theorem Proving Environment, sehingga
judul yang digunakan adalah “femto VHDL” (karena sangat kecil subset yang dapat
diverifikasi).
b. Formal Synthesis
Setelah memiliki sebuah spesifikasi, baik dalam bentuk formal maupun informal, maka
implementasi dapat dibuat.Implementasi dapat dibuat secara manual atau
otomatis.Pembuatan implementasi secara manual hanya cocok untuk digunakan dalam
disain yang tingkat kompleksitasnya tidak terlalu tinggi.Untuk sistem yang kompleks,
kesalahan mudah terjadi (error prone).
Proses pembuatan implementasi secara otomatis disebut automatic synthesis. Untuk
menjamin kebenaran hasil proses sintesa, maka proses synthesis tersebut harus dibuktikan
kebenarannya. Jika alat untuk melakukan synthesis secara otomatis dan proses synthesis
yang digunakan ini dapat dibuktikan benar maka hasil yang diperoleh dapat dikatakan
“correct by construction”. Biasanya hal ini dilakukan untuk sistem yang berangkat dari
sebuah sistem yang dispesifikasikan secara formal, kemudian dilakukan “refining” sehingga
dapat diperoleh hasil yang lebih detail, dan dilakukan secara berulang-ulang sampai
akhirnya menjadi implementasi dalam level abstraksi yang diinginkan (misalnya sampai
menjadi level layout transistor). Setiap langkah dalam proses refining dijaga oleh sebuah
mekanisme (misalnya oleh sebuah theorem prover) sehingga tidak dapat melakukan proses
refining yang salah.
c. Formal Verification
Formal verification membuktikan bahwa sebuah implementasi betul-betul
mengimplementasikan apa-apa yang dijabarkan dalam spesifikasinya. Formal verification
dapat juga digunakan untuk menjamin kebenaran dalam proses translasi. Ketika kita
melakukan translasi, misalnya ketika kita melakukan optimasi, bagaimana kita menjamin
bahwa rangkaian yang dihasilkan masih memiliki fungsi yang sama (ekivalen) dengan
rangkaian sebelumnya (atau bahkan sama dengan spesifikasi awalnya). Formal verification
dapat dilakukan dengan menggunakan:
1. equivalence checker
2. model checking
3. theorem proving
a. pendapat para pakar, banyak “link” dari disain VIPER ini yang belum
diverifikasi secara penuh. Makalah yang membahas masalah VIPER ini
antara lain.
b. Cray Research (tahun 1997?) menggunakan formal verification untuk
memverifikasi disainnya (bidang high-end computing).
c. more to be written …
d. Formal methods di bidang softwere
Seperti telah dikemukakan di awal tulisan ini bahwa formal methods dapat digunakan di
bidang software.Bahkan, sebetulnya formal methods lebih awal digunakan di bidang
software. Akan tetapi tampaknya hasil yang positif lebih banyak terlihat di bidang hardware,
hal ini mungkin disebabkan oleh beberapa hal:
1. hardware memiliki kompleksitas lebih kecil dibandingkan software;
2. disainer hardware lebih terbiasa menggunakan paradigma reuse, yaitu
menggunakan komponen dasar yang sudah standar yang bisa diverifikasi
secara individual (misalnya, jarang disainer membuat AND gate sendiri,
biasanya tinggal menggunakan standard cell, bahkan untuk skala besar
menggunakan IP core), sementar software designer belum dipaksa
menggunakan metoda reuse (berapa banyak metoda untuk melakukan sort?
Setiap disainer dapat membuat metoda sendiri-sendiri).
DAFTAR PUSTAKA
1. http://coretanmuvi.blogspot.com/search/label/Pengantar%20Komputasi%20Modern
2. http://rzbeuty.blogspot.com/2012/03/artikel-komputasi-processing-parallel.html
3. http://ianspace.wordpress.com/2011/03/30/kinerja-komputasi-dengan-parallel-
processing/
4. http://jaketkuning.unsri.ac.id/dwijayantisari/blog/296/
5. http://ghani.gxrg.org/2011/04/01/kinerja-komputasi-dengan-parallel-processing/
6. http://qodel.blogspot.com/2011/04/parallel-processing.html
7. http://rivanipai.blogspot.com/2012/04/processing-parallel-dan-komputasi.html