Pages

Kamis, 28 Mei 2015

Komputasi paralel

0 komentar
 
Komputasi paralel
Apa itu komputasi parallel?
Menurut Michael j. Flynn membagi komputer dalam 4 kategori yaitu :
a. SISD (Single Instruction, Single Data Stream)
b. MISD (Multiple Instruction, Single Data Stream)
c. SIMD (Single Instruction, Multiple Data Streams)
d. MIMD (Multiple Instruction, Multiple Data Streams)
Disini akan saya jelaskan  komputasi paralel yang terdiri dari konsep paralelisme, pemrosesan distribusi, arsitektur komputer, pengantar thread programming dan Pengantar message Parsing, Open MP.
1. Konsep Paralelisme
Banyak perkembangan-perkembangan baru dalam arsitektur komputer yang didasarkan pada konsep pemrosesan paralel. Pemrosesan paralel dalam sebuah komputer dapat didefinisikan sebagai pelaksanaan instruksi-instruksi secara bersamaan waktunya. Hal ini dapat menyebabkan pelaksanaan kejadian-kejadian, dalam interval waktu yang sama, dalam waktu yang bersamaan atau dalam rentang waktu yang saling tumpang tindih.
Sekalipun didukung oleh teknologi prosesor yang berkembang sangat pesat, komputer sekuensial tetap akan mengalami keterbatasan dalam hal kecepatan pemrosesannya. Hal ini menyebabkan lahirnya konsep keparalelan (parallelism) untuk menangani masalah dan aplikasi yang membutuhkan kecepatan pemrosesan yang sangat tinggi, seperti misalnya prakiraan cuaca, simulasi pada reaksi kimia, perhitungan aerodinamika dan lain-lain. Konsep keparalelan itu sendiri dapat ditinjau dari aspek design mesin paralel, perkembangan bahasa pemrograman paralel atau dari aspek pembangunan dan analisis algoritma paralel. Algoritma paralel itu sendiri lebih banyak difokuskan kepada algoritma untuk menyelesaikan masalah numerik, karena masalah numerik merupakan salah satu masalah yang memerlukan kecepatan komputasi yang sangat tinggi.

2. Pemrosesan Terdistrubusi
Pemrosesan Terdistribusi atau Sistem Terdistribusi adalah Sekumpulan komputer otonom yang terhubung ke suatu jaringan, dimana bagi pengguna sistem terlihat sebagai satu komputer. Maksud komputer otonomi adalah walaupun komputer tidak terhubung ke jaringan, komputer tersebut tetap data berjalan. Dengan menjalankan sistem terdistribusi, komputer dapat melakukan :
Koordinasi Aktifitas
Berbagi sumber daya : hardware, software dan data

3. Arsitektur Komputer Paralel
Paralelisme dalam suatu komputer dapat diaplikasikan pada beberapa tingkatan, seperti berikut:
A. Tingkat pekerjaan: antara pekerjaan-pekerjaan atau fase-fase suatu pekerjaan. Hal ini menjadi prinsip dasar dari multiprogramming.
B. Tingkat prosedur: antara prosedur-prosedur dan di dalam loop. Hal ini harus tercakup sebagai hal yang penting bagi suatu bahasa.
C. Tingkat instruksi: antara fase-fase sebuah siklus instruksi, yaitu fetch, decode dan eksekusi suatu instruksi.
D. Tingkat aritmatika dan bit: antara bit-bit dalam sirkuit aritmatika. Salah satu contohnya adalah adder paralel.

4. Pengantar Thread Programming
Threading / Thread adalah sebuah alur kontrol dari sebuah proses. Konsep threading adalah menjalankan 2 proses ( proses yang sama atau proses yang berbeda ) dalam satu waktu. Contohnya sebuah web browser mempunyai thread untuk menampilkan gambar atau tulisan sedangkan thread yang lain berfungsi sebagai penerima data dari network.
Threading dibagi menjadi 2 :
A. 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.
B. 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.

5. Pengantar Message Parsing, Open MP
Message Passing Interface (MPI)
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.Untuk merancang aplikasi paralel tentu membutuhkan banyak pertimbangan-pertimbangan diantaranya adalah latensi dari jaringan dan lama sebuah tugas dieksekusi oleh prosesor.MPI ini merupakan standard yang dikembangkan untuk membuat aplikasi pengirim pesan secara portable. Sebuah komputasi paralel terdiri dari sejumlah proses, dimana masing-masing bekerja pada beberapa data lokal. Setiap proses mempunyai variabel lokal, dan tidak ada mekanismesuatu proses yang bisa mengakses secara langsung memori yang lain. Pembagian data antar proses dilakukan dengan message passing, yaitu dengan mengirim dan menerima pesan antar proses. MPI menyediakan fungsi-fungsi untuk menukarkan antar pesan.

Kegunaan MPI yang lain :
menulis kode paralel secara portable
mendapatkan performa yang tinggi dalam pemrograman paralel
menghadapi permasalahan yang melibatkan hubungan data irregular atau dinamis yang tidak begitu cocok dengan model data paralel.
OpenMP
Open MP Merupakan API yang mendukung multi-platform berbagi memori multiprocessing pemrograman C , C + + , dan Fortran , pada kebanyakan arsitektur prosesor dan system operasi , termasuk Solaris , AIX , HP-UX , GNU / Linux , Mac OS X , dan Windows platform. Ini terdiri dari satu set perintah kompiler, rutinitas library, dan variable lingkungan yang mempengaruhi perilaku run-time. OpenMP dikelola oleh nirlaba teknologi konsorsium OpenMP Arsitektur Review Board (ARB atau OpenMP), bersama-sama didefinisikan oleh sekelompok perangkat keras komputer utama dan vendor perangkat lunak, termasuk AMD , IBM , Intel , Cray , HP , Fujitsu , Nvidia , NEC , Microsoft , Texas Instruments , Oracle Corporation , dan banyak lagi.

6. Pengantar Pemrograman CUDA GPU
GPU ( Graphical Processing Unit ) awalnya adalah sebuah prosesor yang berfungsi khusus untuk melakukan rendering pada kartu grafik saja, tetapi seiring dengan semakin meningkatnya kebutuhan rendering, terutama untuk mendekati waktu proses yang realtime, maka meningkat pula kemampuan prosesor grafik tersebut. akselerasi peningkatan teknologi GPU ini lebih cepat daripada peningkatan teknologi prosesor sesungguhnya ( CPU ), dan pada akhirnya GPU menjadi General Purpose, yang artinya tidak lagi hanya untuk melakukan rendering saja melainkan bisa untuk proses komputasi secara umum.
Penggunaan Multi GPU dapat mempercepat waktu proses dalam mengeksekusi program karena arsitekturnya yang natively parallel. Selain itu Peningkatan performa yang terjadi tidak hanya berdasarkan kecepatan hardware GPU saja, tetapi faktor yang lebih penting adalah cara membuat kode program yang benarbenar bisa efektif berjalan pada Multi GPU.
CUDA (Compute Unified Device Architecture) merupakan teknologi anyar dari produsen kartu grafis Nvidia, dan mungkin belum banyak digunakan orang secara umum. Teknologi ini dapat digunakan untuk menjalankan proses pengolahan gambar, video, rendering 3D, dan lain sebagainya. Kartu grafis lebih banyak digunakan untuk menjalankan aplikasi game, namun dengan teknologi CUDA ini kartu grafis dapat digunakan lebih optimal ketika menjalankan sebuah software aplikasi. Fungsi kartu grafis Nvidia digunakan untuk membantu Processor (CPU) dalam melakukan kalkulasi dalam proses data
VGA dari Nvidia yang sudah menggunakan teknologi CUDA antara lain : Nvidia GeForce GTX 280, GTX 260,9800 GX2, 9800 GTX+,9800 GTX,9800 GT,9600 GSO, 9600 GT,9500 GT,9400 GT,9400 mGPU,9300 mGPU,8800 Ultra,8800 GTX,8800 GTS,8800 GT,8800 GS,8600 GTS,8600 GT,8500 GT,8400 GS, 8300 mGPU, 8200 mGPU, 8100 mGPU, dan seri sejenis untuk kelas mobile ( VGA notebook ).Singkatnya, CUDA dapat memberikan proses dengan pendekatan bahasa C, sehingga programmer atau pengembang software dapat lebih cepat menyelesaikan perhitungan yang komplek. Bukan hanya aplikasi seperti teknologi ilmu pengetahuan yang spesifik. CUDA sekarang bisa dimanfaatkan untuk aplikasi multimedia. Misalnya meng-edit film dan melakukan filter gambar. Sebagai contoh dengan aplikasi multimedia, sudah mengunakan teknologi CUDA. Software TMPGenc 4.0 misalnya membuat aplikasi editing dengan mengambil sebagian proces dari GPU dan CPU. VGA yang dapat memanfaatkan CUDA hanya versi 8000 atau lebih tinggi.

Referensi :
http://blogdedy.blogspot.com/
http://ananda-syaifullah.blogspot.com/
http://mojomakearocket.blogspot.com
http://arditoadi.blogspot.com
https://krustybrain.wordpress.com/2013/05/25/tugas-4-softskill-pengantar-komputasi-modern-sem-8/
http://wwwpengembanganblogspot.blogspot.com/
http://rrezzablog.blogspot.com/2009/11/parallel-processing.html

http://id.wikipedia.org/wiki/Komputasi_paralel
Readmore...
Minggu, 10 Mei 2015

Membuat web sederhana dengan wix.com

0 komentar
 
Halo semuanya , kali ini saya akan membahas tentang pembuatan web sederhana , tujuan awalnya saya membuat web ini karena ada nya tugas kuliah softskill yang dilakukan secara kelompok dan kami memutuskan untuk membuat nya dengan menggunakan wix.com,

Pertama tama apakah itu wix.com , itu adalah sebuah website builder online gratis . Dengan membuat akun kita bisa membuat web yang sudah ada template nya disana dengan drag n drop, ya drag n drop kita tinggal mencari template yang kita inginkan , Menurut kami wix ini cocok digunakan untuk berbagai keperluan seperti membuat portofolio , pembuatan profil perusahaan kecil , online shop , dll
Oke langsung saja kita akan membahas cara pembuatannya , 
1. Arahkan browser ke situs www.wix.com
2. Klik tombol “start now”
3. Pastikan kita memilih “I’m a new user” karena kita adalah pengguna baru
4. Isi email dan password kemudian klik “Go”
5. Setelah klik go, muncul lagi jendela “Sign Up”, lengkapi data-data seperti email dan sandi yang telah dimasukkan sebelumnya.
6. Pilih kategori yang kamu inginkan, misalkan “Design” kemudian pada kotak sebelah kanan pilih “Portfolio” dan klik “GO”.
7.  Pada halaman ini akan muncul berbagai macam template web yang terkait dengan pilihan kita sebelumnya, yaitu “design” dan    “portfolio”.
8.  Pada halaman ini, kita juga bisa memilih template web untuk kategori lain. Termasuk template “blank” dimana kita dapat mendesain tampilan situs web sesuai dengan keinginan kita.
9. jika template yang diinginkan didapatkan, langkah berikutnya meng-klik icon edit pada bagian template yang kita inginkan.
10. Lalu kita akan diarahkan ke wix html editor, Disini kita dapat mengedit web, tambahkan link , gambar dan teks sesuai keinginan kita 
 11. jika desaign website telah selesai dengan keinginnan kita, klik priview pada bagian pojok kanan atas untuk melihat hasil website yang telah selesai kita buat.
12. setelah melihat website yang kita buat, langkah selanjutnya mempublish website tersebut.
maka kita akan mendapatkan link website dari wix.com. link tersebutlah yang menjadi alamat URL website yang kita buat tadi.
13. http://raditrawr.wix.com/tugassoftskill inilah alamat website yang telah saya buat. mohon dimaafkan jika website yang telah saya tidaklah bagus seperti website yang telah ada. karena saya masih perlu banyak belajar dalam membuat website yang kompleks dan menarik pengujung.


Anggota Kelompok :
Aprian Pasma Dewanto 
Brian Mantika Putra
Muhammad Raditya Noor
Readmore...