MAKALAH PENGANTAR KOMPUTASI MODERN


MAKALAH
PENGANTAR KOMPUTASI MODERN


https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuUwXGY_oZ4wapoJVczZIoGWKfzoeLMkohRzoVay4SozKKNRxLzapWTa5xqy6T_1w4G1eksFf9-X5ew4S1YVO9KpKjAI1xvGZjUIl55Gr8GzQuSBywcsa0w4P1QgKt_2GIQZQ7Evnx9SV6/s1600/logo_gunadarma.jpg


Disusun Oleh:
Aldis Rachtya                                  50416514
Ardiano Vito Saputra                     51416017
Indra Wibowo                                 53416513
Muhammad Irvan Azmatyan                  54416960


FAKULTAS TEKNOLOGI INDUSTRI
JURUSAN TEKNIK INFORMATIKA
UNIVERSITAS GUNADARMA
2020
-          Parallelism Concept

Paralel Processing adalah kemampuan menjalankan tugas atau aplikasi lebih dari satu aplikasi dan dijalankan secara simultan atau bersamaan pada sebuah komputer. Secara umum, ini adalah sebuah teknik dimana sebuah masalah dibagi dalam beberapa masalah kecil untuk mempercepat proses penyelesaian masalah.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg57sHfWZwEyg6xWSPOLKRtYPaaYnQOoFbK3pkCvjZz8E6pCQgir6PDMvILlY6zLpb8tVl4YMmPkcCKuIA7ARGX5oXcubjKBdFy53i5kf3oZvGfq2FuU8-hTOV9fF5zsBafUuOajZx3pT8/s320/sd.gif

-          Distributed Processing

Distributed data processing (DDP) system merupakan bentuk yang sering digunakan sekarang sebagai perkembangan dari time sharing system. Bila beberapa sistem komputer yang bebas tersebar yang masing-masing dapat memproses data sendiri dan dihubungkan dengan jaringan telekomunikasi, maka istilah time sharing sudah tidak tepat lagi. DDP system dapat didefinisikan sebagai suatu sistem komputer interaktif yang terpencar secara geografis dan dihubungkan dengan jalur telekomunikasi dan seitap komputer mampu memproses data secara mandiri dan mempunyai kemampuan berhubungan dengan komputer lain dalam suatu sistem.

-          Architectural Parallel Computer

Arsitektur komputer paralel ada beberapa versi pengertian. Di sini saya akan menjelaskan sedikit tentang arsitektur komputer menurut Flynn. Sesuai taksonomi Flynn, seorang Designer Processor, Organisasi Prosesor dibagi menjadi 4 :
SISD
Single Instruction – Single Data. Komputer ini memiliki hanya satu prosesor dan satu instruksi yang dieksekusi secara serial. Komputer ini adalah tipe komputer konvensional. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.
sisd
SIMD
Single Instruction – Multiple Data. Komputer ini memiliki lebih dari satu prosesor, tetapi hanya mengeksekusi satu instruksi secara paralel pada data yang berbeda pada level lock-step. Komputer vektor adalah salah satu komputer paralel yang menggunakan arsitektur ini. 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).
simd
MISD
Multiple Instructions – Single Data. Teorinya komputer ini memiliki satu prosesor dan mengeksekusi beberapa instruksi secara paralel. Sampai saat ini belum ada komputer yang menggunakan model MISD karena sistemnya tidak mudah.
misd
REPORT THIS AD

MIMD
Multiple Instructions – Multiple Data. Komputer ini memiliki lebih dari satu prosesor dan mengeksekusi lebih dari satu instruksi secara paralel. Tipe komputer ini yang paling banyak digunakan untuk membangun komputer paralel, bahkan banyak supercomputer yang menerapkan arsitektur ini. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.
mimd
Sistem komputer paralel dibedakan dari cara kerja memorinya menjadi shared memory dan distributed memory. Shared memory berarti memori tunggal diakses oleh satu atau lebih prosesor untuk menjalankan instruksi sedangkan distributed memory berarti setiap prosesor memiliki memori sendiri untuk menjalankan instruksi. 

-          Konsep Dasar Thread Programming

Thread adalah unit dasar dari penggunaan CPU, thread mengandung Thread ID, program counter, register set, dan stack. Sebuah Thread berbagi code section, data section, dan sumber daya sistem operasi dengan Thread lain yang dimiliki oleh proses yang sama. Thread juga sering disebut lightweight process. Sebuah proses tradisional atau heavyweight process mempunyai thread tunggal yang berfungsi sebagai pengendali. Perbedaan antara proses dengan thread tunggal dengan proses dengan thread yang banyak adalah proses dengan thread yang banyak dapat mengerjakan lebih dari satu tugas pada satu satuan waktu. Banyak software yang berjalan pada PC modern didesain secara multithreading. Sebuah aplikasi biasanya diimplementasi sebagai proses yang terpisah dengan beberapa thread yang berfungsi sebagai pengendali. Contohnya sebuah web browser mempunyai thread untuk menampilkan gambar atau tulisan sedangkan thread yang lain berfungsi sebagai penerima data dari network.

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8IF_ZXhWLvjIynJrqv-10o7cs5fBYiS8aUzmiJf7e9H463GAoD2vDAPmz8gZnsc44kqv9x3lQdQgUQcg99gNk_pDkSfpQiCBDWJv2UXyPbzwgRHiBW4dtsJAZwrwotrVZcwj5OwQnyzU/s400/11.jpg




-          Konsep Dasar Massage Passing, OpenMP

Message Passing
Message passing itu adalah teknik untuk mengatur suatu alu komunikasi messaging terhadap proses pada sebuah sistem. Suatu proses mengirimkan message yang mewakili suatu request, Message di sampaikan ke penerima yang kemudian memproses request tsb dan mengirim pesan balasan. Kemudian, balasan tersebut memicu request lainnya, yang berlanjut pada balasan berikutnya dan seterusnya. Operasi dasar yang dibutuhkan untuk mendukung paradigma message passing adalah send dan receive. Jadi Message Passing ini bentuk komunikasi yang digunakan oleh komputasi parallel yang udah kita bahas sebelumnya. Objek dalam message passing di distribusikan menggunakan metode sistem remote doa seperti : ONC RPC , CORBA , Java RMI , DCOM , SOAP , . NET Remoting , CTO , QNX Neutrino RTOS , OpenBinder , D-Bus , Unison RTOS.

openMP(Open Multi Processing)
OpenMP adalah sebuah antarmuka pemrograman aplikasi (API) yang mendukung multi processingshared memory pemrograman di C, C++ dan Fortran pada berbagai arsitektur, termasuk Unix dan Microsoft Windows platform. OpenMP Terdiri dari satu set perintah kompiler,perpustakaan rutinitas, danvariabel 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. 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.

-          Konsep Dasar Pemrograman CUDA GPU

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 CUDA, kita dapat memanfaatkan cukup banyak processor yang dimiliki oleh NVIDIA untuk berbagai perhitungan. GPU yang ada  saat ini seperti ATI pun sudah memiliki banyak processor di dalamnya. Pada ATI, skema yang mereka bangun disebut ATI Stream. Saat ini pemrograman paralel menjadi sangat penting karena kebutuhan kemampuan komputasi komputer yang terus meningkat seperti kemampuan multitasking dan pengolahan grafis yang andal. Metode saat ini dalam peningkatan peforma komputer juga berbeda dengan masa lampau dimana peningkatan clock dari processor yang diutamakan.
Peningkatan clock juga dibatasi oleh kemampuan fisik dari perangkat digital yaitu persoalan daya dan panas. Pada 2005 berbagai industri komputer mulai menawakan komputer dengan beberapa core mulai dari 2, 3, 4, 6, dst. Pada awal perkembangan GPU dengan banyak core, pemanfaatan GPU hanya dapat dilakukan dengan antarmuka seperti OpenGL dan DirectX dimana antarmuka tersebut dikhususkan hanya untuk pengolahan grafis.
Seri-seri terbaru dari NVIDIA saat ini telah mendukung CUDA tepatnya keluaran setelah tahun 2006.  Untuk daftar dari seri yang mendukung CUDA dapat dilihat pada http://nvidia.com/cuda. Sebagai tahap awal dalam belajar pemrograman paralel dengan memanfaatkan CUDA sebaiknya menggunakan bahasa pemrograman C atau C++. CUDA C telah menjadi bahasa pemrograman khusus pertama yang dikembangkan oleh suatu perusahaan GPU untuk memfasilitasi general-purpose computing pada GPU. Beberapa hal yang perlu dipersiapkan dalam penggunaan CUDA C untuk membuat suatu aplikasi adalah sebagai berikut.
CUDA-enabled graphics processor
NVIDIA device driver
CUDA development toolkit
Standard C compiler

REFERENSI :

Powered by Blogger.
Write here, about you and your blog.
 
Copyright 2009 #LagiBerjuang All rights reserved.
Free Blogger Templates by DeluxeTemplates.net
Wordpress Theme by EZwpthemes
Blogger Templates