MAKALAH
PENGANTAR KOMPUTASI MODERN

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.

-
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.

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).

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.

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.

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.
-
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 :
