Anda di halaman 1dari 15

Tugas Algoritma Paralel

Hubungan Algoritma Paralel dengan Super komputer

Disusun oleh:
Dewi Wulansari
Dwi Sekti Handayani
Rahmat Dwi CN
Rhicky Arif Juan Fals
Ririn Hardiyanti
Murtiarani
Verra
Pandu Achmat Maulana
Dosen:
Aris Gunaryati, S.Si., M.M.S.I

FAKULTAS TEKNOLOGI KOMUNIKASI DAN INFORMATIKA


UNIVERSITAS NASIONAL
JAKARTA
2014

Kata Pengantar

Puji syukur kami panjatkan kehadirat Allah SWT yang telah memberikan rahmat serta
karunia-NYA kepada kami sehingga kami berhasil menyelesaikn Tugas Makalah ini dengan tepat
waktunnya yang berjudul Pengertian Komputer & Komputer Dari Kalkulasi Hingga
Komuniksi .
Makalah ini berisi tentang pembahasan judul di atas sehingga dapat menambah wawasasan ilmu
pengetahuan untuk pembaca dan khususnya kelompok kami.
Kami menyadari bahwa makalah ini masih jauh dari sempurna, Oleh karna itu kritik dan saran
dari semua pihak yang bersifat membangun selalu kami harapkan demi kesempurnaan makalah
ini.
Akhir kata, kami mengucapkan terima kasih kepada semua pihak yang telah berperan serta
dalam penyusunan makalah ini dari awal sampai akhir penyelesaian. Semoga Allah SWT
senantiasa meridloi segala usaha kita

DAFTAR ISI
1

KATA PENGANTAR ..2

DAFTAR
ISPRAKATA

.1
DAFTAR ISI..3
BAB I..4
PENDAHULUAN..4
1.1
1.2

LATAR BELAKANG...................4
RUMUSAN MASALAH..................5

BAB II6
LANDASAN TEORI.6
2.1

PENGERTIAN ALGORITMA PARALLEL6

2.2

KOMPUTASI PARALLEL...7

2.3

SEJARAH KOMPUTASI PARALLEL7

2.3.1. HUKUM AMDAHL...8


2.3.2. TAKSONOMI FLYNN..8
BAB III12
ISI & PEMBAHASAN..................12
3.1 ARSITEKTUR SUPER KOMPUTER.12
3.2 RANCANGAN PERANGKAT KERAS DAN PERANGKAT LUNAK.12
3.3 PERBANDINGAN ANTARA SERIAL KOMPUTASI DAN
PARALLEL KOMPUTASI.13
BAB IV.................15
KESIMPULAN.15

BAB I
PENDAHULUAN
1.1 LATAR BELAKANG
Dalam kehidupan sehari-hari, kebutuhan akan data merupakan hal yang tak bisa
terhindarkan lagi. Semua dari hasil kerja kita pasti berupa data baik yang berupa nyata
ataupun

data

digital.

Data

digital

merupakan

suatu

kumpulan

kode

yang

merepresenasikan hasil kerja kita agar bisa dibaca oleh komputer atau alat olah data kita.
Untuk data digital, pastilah memeliki suatu ukuran besar (size) yang menjadi batasannya.
Dengan size tersebut maka data digital dapat diartikan sebagai sesuatu yang spesifik dan
dapat didefinisikan bentuknya.
Data digital, memiliki kelebihan jika dibanding dengan data nyata yaitu dapat
dipakai terus menerus tanpa mengalami perusakan atau dapat disebut memiliki kualitas
yang sama.Data digital dapat digunakan terus menerus karena dapat disimpan untuk bisa
digunakan terus menerus jika disimpan di dalam alat penyimpanan (storage). Dengan
semua kemudahan dari data digital tersebut, data digital juga memiliki suatu kekurangan
yaitu dengan adanya ukuran size, maka storage(alat simpan) dari data tersebut harus
memiliki ukuran (Space Storage) yang sejumlah dengan data yang akan disimpan. Untuk
beberapa data memang masalah ini belum begitu terlihat, tapi jika data digital yang akan
disimpan terus menumpuk akibat dari pentingya danbanyaknya tugas. Maka solusi yang
biasanya diambil adalah penghapusan data yang lama atau dengan penambahan storage
baru. Memang untuk penambahan storage baru bisa menyelamatkan data yang sudah
tidak muat, tetapi dengan begitu akan menambah jumlah limbah dan biaya yang besar.

1.2 Rumusan Masalah


Berdasarkan latar belakang yang telah di uraikan di atas, pokok permasalahan yang dapat
di angkat adalah:
1.
2.
3.
4.

Pengertian Algoritma Paralel?


Komputasi parallel
Arsitektur Super Komputer
Hubungan Algoritma Parallel dengan super komputer

BAB II
LANDASAN TEORI
4

1. Pengertian Algoritma Paralel


Algoritma Paralel adalah sebuah algoritma yang dapat dieksekusi sepotong pada
waktu pada banyak perangkat pengolahan yang berbeda, dan kemudian digabungkan
bersama-sama lagi pada akhir untuk mendapatkan hasil yang benar. Algoritma paralel
berharga karena perbaikan substansial dalam multiprocessing sistem dan munculnya
multi-core prosesor. Secara umum, lebih mudah untuk membangun komputer dengan
prosesor cepat tunggal dari satu dengan banyak prosesor lambat dengan sama throughput
yang . Tapi kecepatan prosesor meningkat terutama dengan mengecilkan sirkuit, dan
prosesor modern yang mendorong ukuran fisik dan batas panas. Hambatan kembar telah
membalik persamaan, membuat multiprocessing praktis bahkan untuk sistem kecil. Biaya
atau kompleksitas algoritma serial diperkirakan dalam hal ruang (memori) dan waktu
(siklus prosesor) yang mereka ambil. Algoritma paralel perlu mengoptimalkan satu
sumber daya yang lebih, komunikasi antara prosesor yang berbeda. Ada dua cara paralel
prosesor berkomunikasi, memori bersama atau pesan lewat.

2. Komputasi Paralel
Komputasi paralel adalah suatu bentuk komputasi dimana instruksi-instruksi
dijalankan secara berkesinambungan. Masalah yang besar dapat dibagi menjadi beberapa
masalah yang lebih kecil(submasalah), untuk kemudian diselesaikan secara serempak.
Komputasi paralel telah digunakan untuk melakukan komputasi yang mensyaratkan
unjuk kerja yang tinggi(high-performance computing). Teknik komputasi ini semakin
berkembang dewasa ini, hal ini disebabkan oleh batasan fisik di dalam penskalaan
frekuensi(frequency scaling[1]). Komputasi paralel telah menjadi paradigma yang
mendominan di dalam arsitektur komputer, yaitu misalnya prosesor multicore.
Program komputer paralel lebih susah untuk dibangun dibandingkan dengan
program komputer serial, hal ini disebabkan keserempakan menimbulkan masalah yang
potensial di dalam membagi pekerjaan menjadi subpekerjaan dan menggabungkan
kembali subpekerjaan tersebut menjadi hasil oleh perangkat lunak, diantaranya kondisi
berebut(race condition).
Komunikasi dan sinkronisasi diantara unit pemroses(processing unit) menjadi satu
diantara tantangan terbesar untuk menghasilkan program paralel dengan performa yang
baik.

3. Sejarah Singkat
Pada tahun 1958, Peneliti IBM, John Cocke dan Daniel Slotnick membahas tentang
pemanfaatan paralelisme di dalam komputasi numerik untuk pertama kalinya. Burroughs
Corporationmemperkenalkan D825 pada tahun 1962, sebuah komputer dengan empat
buah prosesor yang mengakses 16 modul memori dengan bantuan saklar barsilang(crossbar switch).
Komputasi paralel memanfaatkan beberapa elemen pemroses secara
berkesinambungan untuk menyelesaikan permasalahan, dengan cara memecah masalah
menjadi bagian-bagian independen, kemudian masing-masing bagian tersebut
diselesaikan oleh masing-masing elemen pemroses sesuai dengan algoritma secara
serempak. Elemen pemroses dapat terdiri dari unit pemroses yang heterogen, dan dapat
pula terdiri dari unit pemroses yang homogen. Elemen pemroses dapat berupa komputer
tunggal dengan banyak prosesor, beberapa komputer yang terhubung dalam suatu
jaringan, perangkat keras yang dikhususkan untuk melakukan komputasi paralel, ataupun
kombinasi dari perangkat-perangkat yang telah disebutkan.
Penskalaan frekuensi menjadi alasan utama dalam peningkatan performa
komputer sejak pertengahan 1980an sampai dengan 2004. Waktu eksekusi(runtime) dari
sebuah program adalah banyaknya instruksi dikali dengan waktu rata-rata sebuah
instruksi. Dengan menganggap faktor lain adalah konstan, meningkatkan detak
frekuensi(clock frequency) akan menurunkan waktu rata-rata yang diperlukan untuk
menjalankan sebuah instruksi, yang kemudian akan mengurangi waktu eksekusi.
Konsumsi daya sebuah chip dirumuskan dengan persamaan:
P = C x V2 x F

Dimana P adalah daya, C adalah kapasitansi, V adalah tegangan, dan F adalah frekuensi
prosesor. Apabila frekuensi ditingkatkan, maka akan terjadi peningkatan daya yang
dikonsumsi oleh sebuah prosesor.

A. Hukum Amdahl

Secara teoritis, peningkatan kecepatan akibat paralelisasi adalah linear, yaitu apabila
elemen pemroses digandakan, maka waktu ekseskusi akan menjadi setengahnya. Tetapi,
sangat sedikit algoritma paralel yang dapat mencapai peningkatan kecepatan yang
optimal.
Menurut Hukum Amdahl, bagian kecil dari sebuah program yang tidak dapat lagi
diparalelkan, akan membatasi peningkatan kecepatan yang dapat dicapai dari paralelisasi
secara keseluruhan. Semua masalah mengandung bagian yang dapat diparalelkan dan
bagian yang tidak dapat diparalelkan juga. Hubungan antara kedua bagian ini dinyatakan
dalam:

S = 1 / (1-P)
Dimana S adalah besarnya peningkatan kecepatan dari sebuah program, P adalah
besarnya bagian yang dapat diparalelkan.
Tidak semua hasil dari paralelisasi dapat meningkatkan kecepatan. Secara umum, ketika
sebuah pekerjaan dibagi menjadi lebih banyak subpekerjaan, subpekerjaan tersebut
menghabiskan waktu lebih banyak, yaitu untuk berkomunikasi diantara subpekerjaan.
Hal ini tidak akan membuat waktu eksekusi menjadi lebih singkat, melainkan sebaliknya,
hal inilah yang disebut sebagai perlambatan paralel(parallel slowdown).

B. Taksonomi Flynn
Michael J. Flynn menciptakan satu diantara sistem klasifikasi untuk komputer dan
program paralel, yang dikenal dengan sebutan Taksonomi Flynn. Flynn mengelompokkan
komputer dan program berdasarkan banyaknya set instruksi yang dieksekusi dan
banyaknya set data yang digunakan oleh instruksi tersebut.

Instruksi Tunggal
(single instruction)

Instruksi Majemuk
(multiple instruction)
7

SISD
Data Tunggal
(Single
(single data)
Data)
Data
Majemuk
(multiple
data)

Instruction

Single

MISD
(Multiple Instruction Single Data)

SIMD
MIMD
(Single Instruction Multiple (Multiple
Data)
Data)

Instruction

Multiple

4. DESAIN
SISD (Single Instruction stream, Single Data Stream)
istilah yang mengacu pada arsitektur komputer di mana prosesor tunggal, sebuah
uniprocessor, mengeksekusi aliran instruksi tunggal, untuk beroperasi pada data yang
tersimpan dalam memori tunggal. Ini sesuai dengan arsitektur von Neumann . SISD
adalah salah satu dari empat klasifikasi utama sebagaimana didefinisikan dalam
taksonomi Flynn . Dalam sistem ini klasifikasi didasarkan pada jumlah instruksi
bersamaan dan data stream hadir dalam arsitektur komputer. Menurut Michael J. Flynn ,
SISD dapat memiliki karakteristik pemrosesan konkuren. Instruksi fetching dan eksekusi
pipelined instruksi adalah contoh umum ditemukan di komputer SISD paling modern.
MISD Multiple Instruction Stream, Single Data Stream
jenis komputasi paralel arsitektur di mana banyak unit fungsional melakukan operasi
yang berbeda pada data yang sama. Pipa arsitektur termasuk tipe ini, meskipun purist
mungkin mengatakan bahwa data berbeda setelah pengolahan oleh setiap tahap dalam
pipa. Komputer toleransi kegagalan mengeksekusi instruksi yang sama secara berlebihan
dalam rangka untuk mendeteksi dan masker kesalahan, dengan cara yang dikenal sebagai
replikasi tugas , dapat dianggap milik jenis ini. Tidak banyak contoh arsitektur ini ada,
sebagai MIMD dan SIMD sering lebih tepat untuk data teknik paralel umum. Secara
khusus, mereka memungkinkan skala yang lebih baik dan penggunaan sumber daya
komputasi daripada MISD tidak. Namun, salah satu contoh yang menonjol dari MISD
dalam komputasi adalah Space Shuttle komputer kontrol penerbangan.
SIMD Single Instruction Stream, Multiple Data Stream

Kelas komputer paralel dalam taksonomi Flynn . Ini menggambarkan komputer dengan
beberapa elemen pemrosesan yang melakukan operasi yang sama pada beberapa titik data
secara bersamaan. Dengan demikian, mesin tersebut memanfaatkan data tingkat
paralelisme . SIMD ini terutama berlaku untuk tugas umum seperti menyesuaikan kontras
dalam citra digital atau menyesuaikan volume audio digital . Paling modern CPU desain
termasuk instruksi SIMD dalam rangka meningkatkan kinerja multimedia digunakan.
MIMD Multiple Instruction Stream, Multiple Data Stream
eknik yang digunakan untuk mencapai paralelisme. Mesin menggunakan MIMD
memiliki sejumlah prosesor yang berfungsi asynchronous dan independen. Setiap saat,
prosesor yang berbeda dapat mengeksekusi instruksi yang berbeda pada bagian yang
berbeda dari data. Arsitektur MIMD dapat digunakan di sejumlah area aplikasi seperti
desain dibantu komputer / manufaktur dibantu komputer , simulasi , pemodelan , dan
sebagai switch komunikasi . Mesin MIMD dapat menjadi baik memori bersama atau
memori terdistribusi kategori. Klasifikasi ini didasarkan pada bagaimana prosesor MIMD
memori akses. Mesin memori bersama mungkin dari berbasis bus , diperpanjang, atau
hirarkis jenis. Mesin memori terdistribusi mungkin memiliki hypercube atau jala skema
interkoneksi.
Jenis-Jenis Komputer Paralel
Berdasarkan tingkatan perangkat keras yang mendukung paralelisme, secara umum
komputer-komputer paralel dapat diklasifikasikan:

Multicore processing
Merupakan prosesor yang memiliki beberapa unit pengeksekusi. Sebuah
prosesor multicore dapat melakukan beberapa instruksi per siklus dari beberapa aliran
instruksi.

Symmetric multiprocessing
Merupakan sebuah sistem komputer dengan beberapa prosesor yang identik, dapat
menggunakan struktur berbagi memori atau memori tersendiri yang saling terhubung
melalui bus.

Distributed computing

Merupakan sebuah sistem komputer dengan memori terdistribusi, dimana masing-masing


elemen pemrosesan dihubungkan oleh jaringan.

Cluster computing
Merupakan sekumpulan komputer yang bekerja sama,dihubungkan oleh
jaringan, sehingga dapat dipandang sebagai sebuah kesatuan, cluster komputer ini
dikoordinasi oleh sebuah komputer induk yang bertugas untuk mendistribusikan
pekerjaan kepada masing-masing komputer lainnya.

Massive parallel processing


Merupakan sebuah komputer tunggal dengan banyak prosesor yang terhubung dalam
sebuah jaringan. Di dalam MPP, tiap CPU mempunyai memory tersendiri, sistem operasi
dan aplikasi yang sama. Tiap subsistem berkomunikasi satu dengan yang lainnya melalui
interkoneksi berkecepatan tinggi.

Grid computing
Merupakan
bentuk
pemrosesan
paralel
yang
paling
terdistribusi. Grid
computing memanfaatkan Internet sebagai saluran komunikasi antar komputer untuk
menyelesaikan suatu permasalahan.

Specialized parallel computer


Komputer paralel yang dikhususkan untuk menyelesaikan tugas khusus.

BAB III
PEMBAHASAN
Arsitektur Superkomputer Modern
10

Superkomputer yang dikembangkan oleh CDC merupakan prosesor skalar yang


lebih cepat sepuluh kali dibandingkan mesin tercepat yang ditawarkan oleh perusahaan
lainnya. Pada tahun 1970an, superkomputer dikhususkan untuk bekerja pada prosesor
vektor. Pada permulaan dan pertengahan tahun 1980an, mesin yang terdiri dari beberapa
prosesor vektor yang bekerja secara paralel menjadi sesuatu yang standard. Pada
umumnya prosesor yang dilibatkan berjumlah antara empat sampai enam belas. Pada
akhir tahun 1980an dan tahun 1990an, peralihan dari prosesor vektor ke MPP(massive
parallel processing) yang terdiri dari ribuan CPU. Superkomputer dewasa ini merupakan
komputer cluster yang telah disesuaikan sekaligus memanfaatkan kelebihan prosesor dan
mengkombinasikan dengan interkoneksi.
Superkomputer digunakan untuk melakukan tugas penghitungan yang sangat
intensif, misalnya masalah yang melibatkan fisika mekanika kuantum, peramalan cuaca,
penelitian terhadap iklim, pemodelan molekuler(melakukan komputasi terhadap struktur
dan sifat dari campuran kimia, makromolekul biologikal, polymer, kristal), simulasi
fisik(misalnya simulasi pesawat terbang, simulasi menjinakkan senjata nuklir, penelitian
terhadap fusi nuklir), kriptanalisis, dan lain sebagainya.
Rancangan Perangkat Keras dan Perangkat Lunak
Tertanggal 31 November 2006, sepuluh superkomputer teratas tercatat mempunyai
arsitektur level atas yang sama, yaitu merupakan cluster multiprosesor MIMD, dimana
tiap-tiap prosesor merupakan SIMD. Kemampuan superkomputer berbeda-beda
tergantung pada banyaknya multiprosesor per cluster, banyaknya prosesor per
multiprosesor, dan banyaknya instruksi yang berkelanjutan per prosesor SIMD,
diperoleh:

Sebuah komputer cluster adalah sekumpulan komputer yang terhubung kuat


melalui sebuah jaringan berkecepatan tinggi. Cluster terdiri dari komputerkomputer yang heterogen.
Komputer multiprosesor merupakan sebuah komputer, beroperasi di bawah
sebuah sistem operasi dan memanfaatkan lebih dari satu CPU.
Prosesor SIMD mengekseskusi instruksi yang sama terhadap lebih dari satu set
data pada waktu yang bersamaan.

Perbandingan antara serial komputasi dan parallel komputasi


Pada sistem komputasi parallel terdiri dari beberapa unit prosesor dan beberapa unit
memori. Ada dua teknik yang berbeda untuk mengakses data di unit memori, yaitu shared
memory address dan message passing. Berdasarkan cara mengorganisasikan memori ini
11

komputer paralel dibedakan menjadi shared memory parallel machine dan distributed
memory parallel machine.
Prosesor dan memori ini didalam mesin paralel dapat dihubungkan (interkoneksi) secara
statis maupun dinamis. Interkoneksi statis umumnya digunakan oleh distributed memory
system (sistem memori terdistribusi). Sambungan langsung peer to peer digunakan untuk
menghubungkan semua prosesor. Interkoneksi dinamis umumnya menggunakan switch
untuk menghubungkan antar prosesor dan memori.
Komunikasi data pada sistem paralel memori terdistribusi, memerlukan alat bantu
komunikasi. Alat bantu yang sering digunakan oleh sistem seperti PC Jaringan pada saat
ini adalah standar MPI (Message Passing Interface) atau standar PVM (Parallel Virtual
Machine)yang keduanya bekerja diatas TCP/IP communication layer. Kedua standar ini
memerlukan fungsi remote access agar dapat menjalankan program pada masing-masing
unit prosesor.
Salah satu protocol yang dipergunakan pada komputasi parallel adalah Network File
System (NFS), NFS adalah protokol yang dapat membagi sumber daya melalui jaringan.
NFS dibuat untuk dapat independent dari jenis mesin, jenis sistem operasi, dan jenis
protokol transport yang digunakan. Hal ini dilakukan dengan menggunakan RPC. NFS
memperbolehkan user yang telah diijinkan untuk mengakses file-file yang berada di
remote host seperti mengakses file yang berada di lokal. Protokol yang digunakan
protokol mount menentukan host remote dan jenis file sistem yang akan diakses dan
menempatkan di suatu direktori, protokol NFS melakukan I/O pada remote file system.
Protokol mount dan protokol NFS bekerja dengan menggunakan RPC dan mengiri
dengan protokol TCP dan UDP. Kegunaan dari NFS pada komputasi parallel adalah
untuk melakukan sharing data sehingga setiap node slave dapat mengakses program yang
sama pada node master.
Software yang diperlukan untuk Parallel komputasi adalah PGI CDK, dimana aplikasi ini
telah dilengkapi dengan Cluster Development Kit dimana software ini telah memiliki
feature yang lengkap bila ingin melakukan komputasi dengan parallel prosessing karena
software ini telah mensupport MPI untuk melakukan perhitungan komputasi.
Pada sistem komputasi parallel terdiri dari beberapa unit prosesor dan beberapa unit
memori. Ada dua teknik yang berbeda untuk mengakses data di unit memori, yaitu shared
memory address dan message passing. Berdasarkan cara mengorganisasikan memori ini
komputer paralel dibedakan menjadi shared memory parallel machine dan distributed
memory parallel machine.
Prosesor dan memori ini didalam mesin paralel dapat dihubungkan (interkoneksi) secara
statis maupun dinamis. Interkoneksi statis umumnya digunakan oleh distributed memory
system (sistem memori terdistribusi). Sambungan langsung peer to peer digunakan untuk
12

menghubungkan semua prosesor. Interkoneksi dinamis umumnya menggunakan switch


untuk menghubungkan antar prosesor dan memori.
Komunikasi data pada sistem paralel memori terdistribusi, memerlukan alat bantu
komunikasi. Alat bantu yang sering digunakan oleh sistem seperti PC Jaringan pada saat
ini adalah standar MPI (Message Passing Interface) atau standar PVM (Parallel Virtual
Machine)yang keduanya bekerja diatas TCP/IP communication layer. Kedua standar ini
memerlukan fungsi remote access agar dapat menjalankan program pada masing-masing
unit prosesor.
Salah satu protocol yang dipergunakan pada komputasi parallel adalah Network File
System (NFS), NFS adalah protokol yang dapat membagi sumber daya melalui jaringan.
NFS dibuat untuk dapat independent dari jenis mesin, jenis sistem operasi, dan jenis
protokol transport yang digunakan. Hal ini dilakukan dengan menggunakan RPC. NFS
memperbolehkan user yang telah diijinkan untuk mengakses file-file yang berada di
remote host seperti mengakses file yang berada di lokal. Protokol yang digunakan
protokol mount menentukan host remote dan jenis file sistem yang akan diakses dan
menempatkan di suatu direktori, protokol NFS melakukan I/O pada remote file system.
Protokol mount dan protokol NFS bekerja dengan menggunakan RPC dan mengiri
dengan protokol TCP dan UDP. Kegunaan dari NFS pada komputasi parallel adalah
untuk melakukan sharing data sehingga setiap node slave dapat mengakses program yang
sama pada node master.
Software yang diperlukan untuk Parallel komputasi adalah PGI CDK, dimana aplikasi ini
telah dilengkapi dengan Cluster Development Kit dimana software ini telah memiliki
feature yang lengkap bila ingin melakukan komputasi dengan parallel prosessing karena
software ini telah mensupport MPI untuk melakukan perhitungan komputasi.

BAB IV
KESIMPULAN
Bahwasannya komputasi parallel sebenarnya hal yang sangat penting di kehidupan
teknologi sekarang ini , karena dengan menggunakan multiprocessor lebih mempercepat
13

dalam pengiriman dan penerimaan data sebagai sumber informasi dan Cloud storage akan
diminati oleh banyak masyarakat dunia karena kebutuhan manusia akan data semakin
meningkat, dan manusia butuh sesuatu yang lebih praktis, maka dengan adanya cloud
storage terjawab sudah permasalahan tersebut.

14

Anda mungkin juga menyukai