berikut adalah video mengenai parallel computing
Black Star Blog
Wednesday, July 4, 2018
Pengenalan Parallel Computing Melalui Video
Parallel computing 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, berbeda dengan komputasi tunggal yang hanya menggunakan satu CPU saja.
berikut adalah video mengenai parallel computing
berikut adalah video mengenai parallel computing
Saturday, April 14, 2018
Review Journal/Paper Tentang Komputasi Paralel
REVIEW JURNAL KOMPUTASI PARAREL
Judul:
KOMPUTASI
PARALEL UNTUK PENGOLAHAN PRESTASI AKADEMIK MAHASISWA
Penulis:
Andri Lesmana Wanasurya
Maria Angela Kartawidjaja
Sri Mulyanti
Pendahuluan
Parallel computation adalah suatu teknik untuk mengerjakan suatu
perhitungan yang besar dan memerlukan waktu yang lama dengan memecah menjadi
beberapa bagian dan mengerjakannya secara independen di prosesor yang berbeda
Kesimpulan yang dapat diambil dari Journal tersebut:
- Permasalahan yang memerlukan sejumlah besar proses komputasi bisa diselesaikan lebih efektif dengan menggunakan kekuatan dari processor dan memori banyak komputer
- Metode yang digunakan dalam penelitian menggunakan Message Passing Interface
- Hasil Percobaan yang banyak memakan waktu dengan banyaknya percobaan pada beberapa komputer
- Dalam penelitian tersebut menggunakan bantuan LAN dengan menggunakan topologi Ring, Bus dan Star
- Relative Speedup dan Absolute Speedup digunakan secara bersamaan untuk mencoba kalkulasi terhadap metode yang digunakan
Kelebihan
- Relative Speedup lebih diunggulkan karna lebih cepat karena bekerja secara singlecore
- Komputasi paralel mampu memberikan kinerja komputasi yang lebih tinggi dibandingkan dengan kinerja komputasi sekuensial
Kekurangan
- MPI tidak portable untuk membentuk jaringan workstation karena MPI tidak mempunyai metode standar untuk memulai task pada host yang terpisah.
- Absolute Speedup yang bekerja secara multicore akan bekerja lebih lama karena dikerjakan secara bersama-sama
- Hasil Percobaan yang banyak memakan waktu dengan banyaknya percobaan pada beberapa komputer
Link Journal: http://publikasi.mercubuana.ac.id/index.php/jte/article/viewFile/2180/1428
Thursday, March 15, 2018
Parallel Computation
Parallel computing 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, berbeda dengan komputasi tunggal yang hanya menggunakan satu CPU
saja. Tetapi dalam prakteknya seringkali sulit membagi program sehingga dapat
dieksekusi oleh CPU yang berbeda-beda tanpa berkaitan di antaranya, Maksudnya
program dijalankan dengan banyak CPU secara bersamaan dengan tujuan untuk
membuat program yang lebih baik dan dapat diproses dengan cepat. Dapat diambil
kesimpulan bahwa pada parallel processing berbeda dengan istilah multitasking,
yaitu satu CPU mengangani atau mengeksekusi beberapa program sekaligus, parallel
processing dapat disebut juga dengan istilah parallel computing. Kemudian untuk perbedaan
antara komputasi tunggal dengan komputasi paralel, bisa digambarkan pada gambar
di bawah ini:
Gambar 1 Penyelesaian Sebuah
Masalah pada Komputasi Tunggal
Gambar 2 Penyelesaian Sebuah
Masalah pada Komputasi Paralel
Jenis-Jenis
Komputer Paralel
Berdasarkan
tingkatan perangkat keras yang mendukung paralelisme, secara umum
komputer-komputer paralel dapat diklasifikasikan:
1.
Multicore
processing
Merupakan
prosesor yang memiliki beberapa unit pengeksekusi. Sebuah prosesor multicore
dapat melakukan beberapa instruksi per siklus dari beberapa aliran instruksi.
2.
Symmetric
multiprocessing
Merupakan
sebuah sistem komputer dengan beberapa prosesor yang identik, dapat menggunakan
struktur berbagi memori atau memori tersendiri yang saling terhubung melalui
bus.
3.
Distributed
computing
Merupakan
sebuah sistem komputer dengan memori terdistribusi, dimana masing-masing elemen
pemrosesan dihubungkan oleh jaringan.
4.
Cluster
computing
Merupakan
sekumpulan komputer yang bekerja sama yang dihubungkan oleh jaringan, sehingga
dapat dilihat sebagai sebuah kesatuan, cluster komputer ini dikoordinasi oleh
sebuah komputer induk yang bertugas untuk mendistribusikan pekerjaan kepada
masing-masing komputer lainnya.
5.
Massive
parallel processing
Merupakan
sebuah komputer tunggal dengan banyak prosesor yang terhubung dalam sebuah
jaringan. Di dalam MPP tiap CPU mempunyai memory, sistem operasi dan aplikasi
yang sama. Tiap subsistem berkomunikasi satu dengan yang lainnya melalui
interkoneksi berkecepatan tinggi.
6.
Grid
computing
Grid
computing memanfaatkan Internet dalam berkomunikasi antar komputer untuk
menyelesaikan suatu permasalahan dan merupakan paralel yang paling
terdistribusi.
7.
Specialized
parallel computer Komputer paralel yang berfungsi untuk
menyelesaikan tugas khusus.
A. Parallelism
Concept
Komputasi
paralel merupakan salah satu teknik komputasi, dimana proses komputasinya
dilakukan oleh beberapa resources (komputer) yang independen
secara bersamaan. Komputasi paralel biasanya diperlukan pada saat terjadinya
pengolahan data dalam jumlah besar atau dalam memenuhi proses komputasi yang
sangat banyak. Selanjutnya, komputasi paralel ini juga dapat ditemui dalam
kasus kalkulasi numerik dalam penyelesaian persamaan matematis di bidang fisika
kimia dll. Dalam menyelesaikan suatu masalah, komputasi paralel memerlukan
infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan
dengan jaringan dan mampu bekerja secara pararel, untuk itu diperlukan
perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan
untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel.
kemudian
pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi. Hal
ini disebabkan karena komputer-komputer tersebut tidak dapat berjalan secara
otomatis, namun harus ada program/instruksi yang menjalankannya. Pemrograman
paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi
secara bersamaan, baik dalam komputer dengan satu ataupun banyak CPU. Bila
komputer yang digunakan secara bersamaan tersebut dilakukan oleh
komputer-komputer terpisah yang terhubung dalam suatu jaringan komputer lebih
sering istilah yang digunakan adalah sistem terdistribusi. Tujuan utama dari
pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin
banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama),
semakin banyak pekerjaan yang bisa diselesaikan.
Contoh
penggunaan konsep ini pada kehidupan sehari-hari adalah pada pintu masuk/keluar
jalan tol (jalan raya bebas hambatan). Biasanya pada pintu masuk/keluar jalan
tol yang sepi gardu tol cenderung lebih sedikit dibandingkan pintu masuk/keluar
jalan tol yang ramai, hal ini di maksudkan untuk mengurangi jumlah antrian
kendaraan yang ingin melewati gardu tol tersebut, karena jika dalam satu waktu
banyak kendaraan bisa di layani, maka akan mengurangi waktu antrian kendaraan.
B. Distributed Processing
Pemrosesan terdistribusi merupakan proses
pendistribusian pengolahan paralel dalam pemrosesan paralel menggunakan
beberapa mesin. Jadi, bisa di bilang kemampuan dari suatu komputer-komputer
yang dijalankan secara bersamaan untuk memecahkan suatu masalah dengan proses
yang cepat.
Didistribusikan pengolahan paralel menggunakan pemrosesan
paralel pada beberapa mesin. Salah satu contoh dari hal ini adalah bagaimana
beberapa komunitas memungkinkan pengguna untuk mendaftar dan mendedikasikan
komputer mereka sendiri untuk memproses beberapa data set yang diberikan kepada
mereka oleh server. Ketika ribuan pengguna mendaftar untuk ini, banyak data
dapat diproses dalam jumlah yang sangat singkat.
C. Architectural Parallel Computer
1.
Single
Instruction Single Data Stream (SISD)
Pada model ini hanya
digunakan 1 processor saja. Oleh karena itu model ini bisa dikatakan sebagai
model untuk komputasi tunggal. Pada computer jenis ini semua instruksi
dikerjakan terurut satu demi satu, tetapi juga dimungkinkan adanya overlapping
(tumpang tindih fungsi yang digunakan) dalam eksekusi setiap bagian instruksi
(pipelining). Pada umumnya computer SISD berupa computer yang terdiri atas satu
buah pemroses (single processor). Namun computer SISD juga mungkin memiliki
lebih dari satu unit fungsional (modul memori, unit pemroses, dan lain-lain),
selama seluruh unit fungsional tersebut berada dalam kendali sebuah unit
pengendali. Contoh mesin SISD adalah PC tradisional atau mainframe yang tua.
2.
Single
Instruction Multiple Data Stream (SIMD)
Pada computer SIMD terdapat
lebih dari satu elemen pemrosesan yang dikendalikan oleh sebuah unit pengendali
yang sama. Seluruh elemen pemrosesan menerima dan menjalankan instruksi yang
sama yang dikirimkan unit pengendali, namun melakukan operasi terhadap himpunan
data yang berbeda yang berasal dari aliran data yang berbeda pula. Contoh dari
SIMD adalah prosesor larik (array processor) atau GPU.
3.
Multiple
Instruction Single Data Stream (MISD)
Komputer jenis ini memiliki
n unit pemroses yang masing-masing menerima dan mengoperasikan instruksi yang
berbeda terhadap aliran data yang sama, dikarenakan setiap unit pemroses
memiliki unit pengendali yang berbeda. Keluaran dari satu pemroses menjadi
masukan bagi pemroses berikutnya. Belum ada perwujudan nyata dari computer
jenis ini kecuali dalam bentuk prototype untuk penelitian dan tidak pernah
dirilis secara massal.
4.
Multiple
Instruction Multiple Data Stream (MIMD)
Pada sistem computer MIMD murni terdapat
interaksi di antara n pemroses. Hal ini disebabkan seluruh aliran data dari
dank e memori berasal dari space data yang sama bagi semua pemroses. Komputer
MIMD bersifat tightly coupled (global memory) jika tingkat interaksi antara
pemroses tinggi dan disebut loosely couple jika tingkat interaksi antara
pemroses rendah. Komputer ini memiliki beberapa prosesor yang bersifat otonomus
yang mampu melakukan instruksi yang berbeda pada data yang berbeda. Sistem
terdistribusi umumnya dikenal sebagi MIMD, entah itu menggunakan satu ruangan
memori secara bersama-sama atau sebuah ruangan memori yang terdistribusi.
D. Pengantar
Thread Programming
Sebuah thread di dalam pemrograman komputer
adalah sebuah informasi terkait tentang penggunaan sebuah program tunggal yang
dapat menangani beberapa pengguna secara bersamaan.Thread ini memungkinkan
program untuk mengetahui bagaimana user masuk ke dalam program secara
bergantian dan user akan masuk kembali menggunakan user yang berbeda. Multiple
thread dapat berjalan bersamaan dengan proses lainnya membagi sumberdaya
menjadi memori, disaat proses lain tidak membaginya.. Thread programming di
bagi menjadi 2 yaitu:
1. Static Threading
Teknik
ini biasa digunakan untuk komputer dengan chip multiprocessors dan jenis
komputer shared-memory lainnya. Teknik ini memungkinkan thread berbagi memori
yang tersedia, menggunakan program counter dan mengeksekusi program secara
independen. Sistem operasi menempatkan satu thread pada prosesor dan menukarnya
dengan thread lain yang hendak menggunakan prosesor itu.
2.
Dynamic
Multithreading
Teknik
ini merupakan pengembangan dari teknik sebelumnya yang bertujuan untuk
kemudahan karena dengannya programmer tidak harus pusing dengan protokol
komunikasi, load balancing, dan kerumitan lain yang ada pada static threading.
Concurrency platform ini menyediakan scheduler yang melakukan load balacing
secara otomatis. Walaupun platformnya masih dalam pengembangan namun secara
umum mendukung dua fitur : nested parallelism dan parallel loops.
E. Pengantar Message Pasing, Open MP
Message Passing
merupakan sebuah bentuk dari komunikasi yang digunakan di komputasi paralel,
OOT (Object Oriented Programming) atau Pemrograman Berbasis Objek dan
komunikasi interproses. MPI adalah sebuah standard pemrograman yang
memungkinkan pemrogram untuk membuat sebuah aplikasi yang dapat dijalankan
secara paralel. Proses yang dijalankan oleh sebuah aplikasi dapat dibagi untuk
dikirimkan ke masing–masing compute node yang kemudian masing–masing compute
node tersebut mengolah dan mengembalikan hasilnya ke komputer head node.
Kegunaan
MPI yang lain adalah :
1.
menulis kode paralel secara
portable
2.
mendapatkan performa yang
tinggi dalam pemrograman parallel
3.
menghadapi permasalahan
yang melibatkan hubungan data irregular atau dinamis yang tidak begitu
cocok dengan model data paralel.
OpenMP
Terdiri dari satu set perintah kompiler, perpustakaan rutinitas, dan variabel
lingkungan yang mempengaruhi run-time. Banyak Aplikasi dibangun dengan model
hibrida pemrograman paralel dapat
dijalankan pada komputer cluster dengan menggunakan OpenMP dan Message Passing
Interface (MPI), atau lebih transparan dengan menggunakan ekstensi OpenMP
non-shared memory systems.
F. Pengantar Pemograman CUDA GPU
Sebelum masuk
pada pembahasan CUDA kita harus mempelajari GPU terlebih dahulu. GPU dalah
sebuah processor khusus untuk memepercepat dan mengubah memori untuk
mempercepat pemrosesan gambar. GPU ini sendiri biasanya berada di dalam graphic
card komputer ataupun laptop.
CUDA
(Compute Unified Device Architecture) adalah suatu skema yang dibuat oleh
NVIDIA agar NVIDIA selaku GPU (Graphic Processing Unit) mampu melakukan
komputasi tidak hanya untuk pengolahan grafis namun juga untuk tujuan umum.
Jadi dengan adanya CUDA kita dapat memanfaatkan banyak prosesor dari NVIDIA
untuk melakukan proses perhitungan ataunpun komputasi yang banyak.
Sumber referensi:
http://chachados.blogspot.co.id/2013/07/parallel-computation.html
Thursday, January 11, 2018
Konfigurasi Firewall pada UBUNTU
UFW PADA UBUNTU
UFW, atau Uncomplicated FireWall, adalah sebuah interface
untuk iptables yang dibuat dengan tujuan menyederhanakan proses untuk
konfigurasi firewall. Sementara iptables adalah alat yang kuat dan fleksibel,
tapi mungkin sulit bagi pemula untuk belajar bagaimana menggunakan iptables
untuk mengkonfigurasikan firewall.
KONFIGURASI FIREWALL
DI UBUNTU DENGAN UFW
UFW sebenarnya sudah terinstal
secara default pada Ubuntu. Jika anda sudah menghapusnya, anda bisa
menginstallnya kembali dengan cara menjalankan perintah berikut:
Buka ubuntu dan buka
terminal
Kemudian ketik sudo nano /etc/default/ufw dan kemudian
tekan enter dan kemudian ubah IPV6=no menjadi IPV6=yes kemudian tekan CTRL+X
kemudian tekan Y selanjutnya tekan Enter
Selanjutnya check UFW
status dan rulesnya dengan menekan sudo
ufw status verbose kemudian tekan enter jika status inactive berarti ufw
belum diaktifkan
Aktifkan ufwnya
dengan menggunakan command ufw enable kemudian
tekan enter dan kemudian muncul seperti tampilan diatas
Selanjutnya gunakan
pengaturan default untuk firewall dengan command
Sudo ufw default deny incoming
Sudo ufw default allow outgoing
Selanjutnya buat rule
untuk mengatur segala koneksi
Allow koneksi UFW
Berikut ini cara untuk menambahkan perizinan traffic
pada rule, dan berikut beberapa contoh service yang sangat umum atau yang
disarankan dan perlu untuk dizinkan. Jika ada service lainya yang ingin anda
izinkan anda bisa menambahkan rule
HTTP
– Port 80
Mengizinkan koneksi HTTP
port 80
HTTPS—port
443
Mengizinkan koneksi HTTPS
FTP – Port 21
Mengizinkan koneksi FTP
Port Range
mengizinkan port
range pada tcp dan udp pada 6000:6007
IP Address
Mengizinkan dari IP
dari konekti tertentu
Mengizinkan IP dari
port tertentu
Subnet
Jika Anda ingin mengizinkan
subnet IP Address, Anda dapat melakukannya dengan menggunakan notasi CIDR untuk
menentukan netmask. Sebagai contoh, jika Anda ingin mengizinkan semua alamat IP
mulai dari 192.100.10.1 ke 192.100.10.254 kita bisa menggunakan perintah ini:
Atau gambar dibawah
untuk menggunakan port tertentu
Deny Connection
Berikut merupakan cara untuk memblokir koneksi dimana
koneksi tersebut tidak akan bisa diakses sesuai dengan perintah yang digunakan
Berikut adalah
perintah untuk memblokir koneksi dari http port 80
Berikut adalah
perintah untuk memblokir koneksi dari IP yang ditentukan
Reject Connection
Berikut merupakan cara untuk mereject koneksi yang
digunakan, hampir sama seperti deny connection hanya saja perintah yang berbeda,
berikut adalah perintahnya
Berikut adalah
perintah untuk mereject koneksi dari http port 80
Berikut adalah
perintah untuk mereject koneksi dari IP yang ditentukan
Sekian tutorial dari saya konfigurasi firewall di ubuntu
Subscribe to:
Posts (Atom)