Laman

Kamis, 12 April 2012

Paralel Processing

Paralel Processing
Komputasi dapat diartikan sebagai cara untuk menemukan pemecahan suatu permasalahan dari data input dengan suatu algoritma. Pemrosesan paralel (parallel processing) adalah penggunaan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. parallel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan maka akan semakin cepat. Tetapi pada saat dalam praktek, seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbeda-beda tanpa berkaitan di antaranya.

Kebanyakan sebagian besar komputer hanya mempunyai satu CPU, namun ada juga yang mempunyai lebih dari satu CPU. Bahkan juga ada komputer dengan ribuan CPU. Komputer dengan satu CPU dapat melakukan parallel processing dengan menghubungkannya dengan komputer lain pada jaringan. Tetapi, parallel processing ini memerlukan software yang canggih, software yang digunakan disebut distributed processing software. Parallel processing berbeda dengan multitasking, yaitu hanya satu CPU mengeksekusi beberapa program sekaligus. Parallel processing disebut juga dengan parallel computing.
Komputasi paralel adalah salah satu teknik yang melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan. Biasanya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dengan jumlah yang besar ataupun karena tuntutan proses komputasi yang banyak. Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasanya disebut sebagai middleware yang berperan sebagai untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.
Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun lebih/banyak (prosesor ganda dengan mesin paralel) CPU. Tujuan utama dari dibuatnya pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa cepat diselesaikan.
Komputansi parallel membutuhkan diantaranya adalah:
• algoritma
• bahasa pemrograman
• compiler

Arsitektur Komputer Parallel berdasarkan simetrinya, multiprocessing dapat dibagi ke dalam :
1. Asymmetric Multiproce ssing (ASMP)
2. Symmetric Multiprocessing (SMP)
3. Non-uniform memory access (NUMA)multi processing

Perbandingan antara serial komputasi dengan 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 untuk 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 yang digunakan untuk menghubungkan semua prosesor. Interkoneksi dinamis umumnya menggunakan switch untuk menghubungkan antar prosesor dengan memori. Komunikasi data pada sistem paralel memori terdistribusi, juga 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 MPI (Message Passing Interface) dan PVM (Parallel Virtual Machine) memerlukan fungsi remote access agar dapat menjalankan program pada masing -masing unit prosesor.
Salah satu protocol yang dipergunakan dalam 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 diremote host seperti mengakses suatu file yang berada di lokal. Protokol yang digunakannya adalah protokol mount yang 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 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 sangat diperlukan untuk mendukung Parallel komputasi adalah PGI CDK, dimana aplikasi ini telah dilengkapi dengan Cluster Development Kit dimana software ini telah memiliki feature yang sangat lengkap bila ingin melakukan komputasi dengan parallel prosessing karena software ini telah mensupport MPI (Message Passing Interface) untuk melakukan suatu perhitungan komputasi.

Hubungan Paralel Processing pada Komputasi Modern
Pada materi kali ini, hubungan yang dapat saya tarik adalah efisiensi dan ketepatan waktu untuk komputasi (prosesor) dalam pemecahan masalah pada komputer. Penggunaan komputer saat ini / komputasi dianggap lebih cepat dibandingkan dengan penyelesaian masalah secara manual. Oleh sebab itu, peningkatan kinerja atau proses komputasi semakin diterapkan, salah satunya adalah dengan cara meningkatkan kecepatan perangkat keras. Dimana komponen utama dalam perangkat keras komputer adalah processor. Sedangkan parallel processing adalah penggunaan beberapa processor (multiprocessor atau arsitektur komputer dengan banyak processor) agar kinerja computer semakin cepat.

File Service Terdistribusi


Definisi File Service terdistribusi
File Sistem Terdistribusi ( Distributed File System , disingkat) adalah file sistem yang mendukung sharing files dan resources dalam bentuk penyimpanan persistent di sebuah network. File server pertama kali didevelop pada tahun 1970 dan Sun NFS (Network File System) menjadi DFS pertama yang banyak digunakan setelah awal pemunculannya di tahun 1985. DFS yang terkenal selain NFS adalah AFS (Andrew File System) dan CIFS (Common Internet File System).
File service adalah suatu perincian atau pelayanan dari file system yang ditawarka pada komputer client. Suatu file server adalah implementasi dari file service dan berjalan pada satu atau lebih mesin. File itu sendiri berisi dari nama, data dan atribut file seperti kepemilikan file, ukuran, waktu pembuatan file dan hak akses file. File sistem merupakan mekanisme penyimpanan on-line serta untuk akses, baik data maupun program yang berada dalam sistem operasi.

Arsitektur File Server
Component :
            a. Layanan Flat File
                        • Operation pada file contents
                        • Uniq File Identifiers (UFIDs)
                        • Penterjemahan dari UFIDs ke lokasi file

Senin, 09 April 2012

Mengetahui Lebih Fungsi Dari Operating System


Secara umum pengguna hanya menggunakan suatu system operasi saja tanpa mengetahui arti dari fungsi system tersebut. Naah disini saya akan menjelaskan lebih lanjut fungsi dari system operasi yang biasa kita pakai pada PC (Personal Komputer), Latop, SmartPhone, PC tablet dll.
Sistem operasi-sistem operasi utama yang digunakan komputer sistem umum (termasuk PC, komputer personal) terbagi menjadi 3 kelompok besar:
  1. Keluarga Microsoft Windows - yang antara lain terdiri dari Windows Desktop Environment (versi 1.x hingga versi 3.x), Windows 9x (Windows 95, 98, dan Windows ME), dan Windows NT (Windows NT 3.x, Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7 (Seven) yang dirilis pada tahun 2009, dan Windows 8 yang akan dirilis pada tahun 2012 atau lebih lambat)).
  2. Keluarga Unix yang menggunakan antarmuka sistem operasi POSIX, seperti SCO UNIX, keluarga BSD (Berkeley Software Distribution), GNU/Linux, MacOS/X (berbasis kernel BSD yang dimodifikasi, dan dikenal dengan nama Darwin) dan GNU/Hurd.
  3. Mac OS, adalah sistem operasi untuk komputer keluaran Apple yang biasa disebut Mac atau Macintosh. Sistem operasi yang terbaru adalah Mac OS X versi 10.6 (Snow Leopard). Musim panas 2011 direncanakan peluncuran versi 10.7 (Lion).
Sedangkan komputer Mainframe, dan Super komputer menggunakan banyak sekali sistem operasi yang berbeda-beda, umumnya merupakan turunan dari sistem operasi UNIX yang dikembangkan oleh vendor seperti IBM AIX, HP/UX, dll.

Minggu, 01 April 2012

Mengenal Lebih Jauh Thread & Multithread Server



Apa itu Thread?

Thread adalah sebuah pengontrol aliran program pelaksanaan program dengan menggunakan kendali tunggal. Operasi yang paling Modern saat ini adalah sistem yang banyak sekali menyediakan berbagai cara, dan memungkinkan suatu proses terkendali dengan baik. Suatu proses yang multithreaded mengandung beberapa perbedaan alur kontrol dengan ruang alamat yang sama. Keuntungan dari multithreaded meliputi peningkatan respon dari user, pembagian sumber daya proses, ekonomis, dan kemampuan untuk mengambil keuntungan dari arsitektur multiprosesor. User level thread adalah thread yang tampak oleh programmer dan tidak diketahui oleh kernel. User level thread secara tipikal dikelola oleh sebuah library thread di ruang user. Kernel level thread didukung dan dikelola oleh kernel sistem operasi. Secara umum, user level thread lebih cepat dalam pembuatan dan pengelolaan dari pada kernel thread. Ada tiga perbedaan tipe dari model yang berhubungan dengan user dan kernel thread.