Kamis, 09 Juni 2016

Tugas Tambahan

A.Internet 
Teknologi Internet (kependekan dari interconnection-networking) ialah sistem global dari seluruh jaringan komputer yang saling terhubung menggunakan standar Internet Protocol Suite (TCP/IP) untuk melayani miliaran pengguna di seluruh dunia. Manakala Internet (huruf ‘I’ besar) ialah sistem komputer umum, yang berhubung secara global dan menggunakan TCP/IP sebagai protokol pertukaran paket (packet switching communication protocol). Rangkaian internet yang terbesar dinamakan Internet.
Cara menghubungkan rangkaian dengan kaedah ini dinamakan internetworking.” internet, menurut saya sendiri Internet adalah fasilitas yang bisa menghubungkan banyak penggunanya di seluruh dunia contohnya adalah kita dapat berteman dengan orang lain yang jauh disana dengan Facebook, kita bisa ngobrol dengan teman-teman kita lewat chatting, berbagi/sharing file, video, lagu dengan orang lain dengan mudah. Nah itu semua adalah manfaat dari Internet,yang terhubung dari komputer kita ke Jaringan telepon yang kemudian disambungkan ke perusahaan penyedia layanan Internet (provider) yang kita gunakan, kemudian ke satelit telekomunikasi dan ke provider teman kita dan akhirnya terhubung ke komputer teman kita.
    Berikut adalah layanan Internet yang tentunya populer dan sering kita gunakan:
    Facebook (social network)
    Twitter (micro-blog, social network)
    Yahoo Messenger (chatting)
    Blogger, wordpress (blog)
    Picassa (album foto online)
    wikipedia (ensiklopedia online)
Sumber : http://kampoeng-it.blogspot.com/2012/10/teknologi-internet-dan-new-media.html
Pendapat:
    Sosial  Media  akhir-akhir ini  sangat  ramai digunakan  dan  canggih penggunaannya, apalagi dengan adanya  situs-situs  internet  yang  menyediakan  content-content  social  network  yang  beragam. Misalnya  saja  facebook  dan  twitter, yahoo, blogger, dan lain-lain yang  sudah  sangat  banyak  dipakai  dari  berbagai  macam kalangan, mulai dari anak kecil, remaja, sampai dewasa. Media internet tidak hanya sekedar sebagai media komunikasi saja melainkan juga tidak terlepas dari dunia pergaulan sosial, dunia bisnis dan pendidikan.  Sosial  media  akan  berdampak  positif  dan  negatif  bagi  penggunanya.
    Dampak  positifnya  adalah dengan  media  sosial  pengguna  dapat  mengakses  data  dan  berita  dengan  cepat,  mempermudah berbisnis  dan  memperluas  pergaulan.  Ada  istilah  dalam  media  sosial  internet  ‘Yang  jauh  semakin terasa dekat’. Media sosial juga dapat membuat seseorang jadi terkenal, menjadi kaya, dan memiliki banyak relasi (pertemanan). Dalam bisnis juga media sosial adalah salah satu strategi penjual dalam memasarkan  barang  dagangan  secara  cepat  dan  menguntungkan  dibandingkan  dengan  menjual secara  langsung  ke  pasar. Sebagai media penyebaran informasi, sebagai sarana untuk mengembangkan keterampilan dan sosial, dan memperluas jejaringan pertemanan.
    Dampak negatifnya  adalah  semakin  maraknya  penipuan,  pencemaran  nama  baik/penghinaan,  kejahatan seksual  (pornoaksi  dan  pornografi), kejahatan dunia maya(cyber crime), melemahkan dan menurunkan sensitifitas, menyebabkan penyakit maag,  judi  online  dan  dampak  kejahatan  lainnya  yang  sangat  marak terjadi akhir-akhir ini.  Sebagai  media  sosial  komunikasi,  internet  juga  dapat  bersifat  netral.  Namun  dapat  sebagai  pisau yang  bermata  dua,  dampak  negetif  dan  positif  pasti  akan  terjadi.  Sebab  dengan  internet,  semua resource ada disana dan  semua akan terjadi disana, tergantung  individu dalam menggunakannya. Waspada  dan  menggunakan  media  sosial  secara  cerdas,  sehat  dan  tepat  guna  akan  sangat menguntungkan  bagi  pengguna.
B.Gadget
Gadget merupakan sebuah istilah yang sering kita dengar utamanya bagi para blogger akan tetapi walaupun sering kita dengar terkadang kita belum mengerti Apa itu Gadget? dan Pengertian Gadget sebenarnya apa?. Pada kesempatan ini saya akan mencoba apa itu gadget dan pengertian gadget.

Apa itu gadget?
A gadget is a smalltechnological object (such as a device or an appliance) that has a particular function, but is often thought of as a novelty. Gadgets are invariably considered to be more unusually or cleverly designed than normal technology at the time of their invention. Gadgets are sometimes also referred to as gizmos. (Wikipedia.com)

Gadget adalah sebuah istilah yang berasal dari bahasa Inggris, yang artinya perangkat elektronik kecil yang memiliki fungsi khusus. Dalam bahasa Indonesia, gadget disebut sebagai “acang”. Salah satu hal yang membedakan gadget dengan perangkat elektronik lainnya adalah unsur “kebaruan”. Artinya, dari hari ke hari gadget selalu muncul dengan menyajikan teknologi terbaru yang membuat hidup manusia menjadi lebih praktis.


Contoh-contoh dari gadget di antaranya telepon pintar (smartphone) seperti iphone dan blackberry, serta netbook (perpaduan antara komputer portabel seperti notebook dan internet).


Gadget untuk Akses Internet
Salah satu fitur terkenal dan paling menarik dari gadget adalah internet. “Siswa dapat dengan mudah mencari informasi apa pun untuk tugas-tugas sekolah di internet,” ujar Kak Daniel Kusnadi, mahasiswa Teknik Informatika dan salah satu pembicara di diskusi tersebut. Dalam diskusi tersebut, praktisi TI, Bapak Bambang Juwono memberikan contoh situs yang berguna untuk menambah wawasan kita, di antaranya stumbleupon.com dan thinkquest.org. Selain memperkaya wawasan, dengan gadget yang menyediakan akses internet, kita bisa memperluas persahabatan melalui situs jejaring sosial seperti facebook, twitter atau multiply.

Efek Negatif Gadget
Walau memberi begitu banyak keuntungan bagi pemakainya, jika tidak bijak dalam menggunakannya, gadget bisa memberi kerugian. Salah satunya, ketidakmampuan untuk hidup sendiri. “Coba saja, hampir tiap saat para pengguna facebook ingin bercerita tentang hidupnya kepada orang lain lewat update status,” ujar seorang rohaniawan, Romo Deshi Ramadhani, SJ. 



Kemudahan akses internet lewat gadget juga membuat kita semakin mudah dan cepat mendapat apa yang kita mau. “Akibatnya, anak-anak menjadi malas, tidak mau berusaha, dan tidak tahan banting,” begitu jelas psikolog anak dan remaja, Ibu Ratih Ibrahim.


Gadget memang bisa memudahkan hidup kita, namun kita perlu membatasi waktu penggunaannya sehingga tidak mengganggu waktu berharga bersama keluarga dan sahabat. Selain itu, akseslah situs-situs yang memang bermanfaat dan membuat kita semakin cerdas!

sumber :

Parallel Computing 2

D. PENGANTAR THREAD PROGRAMMING
Dalam pemrograman komputer, sebuah thread adalah informasi terkait dengan penggunaan sebuah program tunggal yang dapat menangani beberapa pengguna secara bersamaan. Dari program point-of-view, sebuah thread adalah informasi yang dibutuhkan untuk melayani satu pengguna individu atau permintaan layanan tertentu. Jika beberapa pengguna menggunakan program atau permintaan bersamaan dari program lain yang sedang terjadi, thread yang dibuat dan dipelihara untuk masing-masing proses. Thread memungkinkan program untuk mengetahui user sedang masuk didalam program secara bergantian dan akan kembali masuk atas nama pengguna yang berbeda. Salah satu informasi thread disimpan dengan cara menyimpannya di daerah data khusus dan menempatkan alamat dari daerah data dalam register. Sistem operasi selalu menyimpan isi register saat program interrupted dan restores ketika memberikan program kontrol lagi.
Sebagian besar komputer hanya dapat mengeksekusi satu instruksi program pada satu waktu, tetapi karena mereka beroperasi begitu cepat, mereka muncul untuk menjalankan berbagai program dan melayani banyak pengguna secara bersamaan. Sistem operasi komputer memberikan setiap program “giliran” pada prosesnya, maka itu memerlukan untuk menunggu sementara program lain mendapat giliran. Masing-masing program dipandang oleh sistem operasi sebagai suatu tugas dimana sumber daya tertentu diidentifikasi dan terus berlangsung. Sistem operasi mengelola setiap program aplikasi dalam sistem PC (spreadsheet, pengolah kata, browser Web) sebagai tugas terpisah dan memungkinkan melihat dan mengontrol item pada daftar tugas. Jika program memulai permintaan I / O, seperti membaca file atau menulis ke printer, itu menciptakan thread. Data disimpan sebagai bagian dari thread yang memungkinkan program yang akan masuk kembali di tempat yang tepat pada saat operasi I / O selesai. Sementara itu, penggunaan bersamaan dari program diselenggarakan pada thread lainnya. Sebagian besar sistem operasi saat ini menyediakan dukungan untuk kedua multitasking dan multithreading. Mereka juga memungkinkan multithreading dalam proses program agar sistem tersebut disimpan dan  menciptakan proses baru untuk setiap thread.
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.
Mekanisme ini terhitung lambat, karenanya disebut dengan static. Selain itu teknik ini tidak mudah diterapkan dan rentan kesalahan. Alasannya, pembagian pekerjaan yang dinamis di antara thread-thread menyebabkan load balancing-nya cukup rumit. Untuk memudahkannya programmer harus menggunakan protocol komunikasi yang kompleks untuk menerapkan scheduler load balancing. Kondisi ini mendorong pemunculan concurrency platforms yang menyediakan layer untuk mengkoordinasi, menjadwalkan, dan mengelola sumberdaya komputasi paralel.
Sebagian platform dibangun sebagai runtime libraries atau sebuah bahasa pemrograman paralel lengkap dengan compiler dan pendukung runtime-nya.
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. Nested parallelism memungkinkan sebuah subroutine di-spawned (ditelurkan dalam jumlah banyak seperti telur katak) sehingga program utama tetap berjalan sementara subroutine menghitung hasilnya. Sedangkan parallel loops seperti halnya fungsi for namun memungkinkan iterasi loop dilakukan secara bersamaan.
E. PENGANTAR MASSAGE PASSING DAN OPENMP
OpenMP (Open Multi-Processing) adalah sebuah antarmuka pemrograman aplikasi (API) yang mendukung multi processing shared 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, 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.
Sejarah OpenMP dimulai dari diterbitkannya API pertama untuk Fotran 1.0 pada Oktober 1997 oleh OpenMP Architecture Review Board (ARB). Oktober tahun berikutnya OpenMP Architecture Review Board (ARB) merilis standart C / C++. Pada tahun 2000 mengeluarkan versi 2.0 untuk fotran dan poda tahun 2002 dirilis versi 2.0 untuk C / C++. Pada tahun 2005 dirilis versi 2.5 yang merupakan pengabungan fotran, C, dan C++/ pada mei 2008 versi 3.0 yang terdapat didalmnya konsept tasks dan task construct.
OpenMP mengimplementasi multithreading. Bagian kode yang akan dijalankan secara parallel ditandai sesuai dengan Preprocessor directif sehingga akan membuat thread-thread sebelum dijalnkan. Setiap thread memiliki id yang di buat menggunakan fungsi (omp_get_thread_num() pada C/C++ dan OMP_GET_THREAD_NUM() pada Fortran). Secara default, setiap thread mengeksekusi kode secara parallel dan independent. “Work-sharing constructs” dapat dapat digunakan untuk membagi tugas antar thread sehingga setiap thread menjalankan sesuai bagian alokasi kodenya. Fungsi OpenMP berada pada file header yang berlabel “omp.h” di C / C++.
F. PENGANTAR PEMROGRAMAN CUDA GPU
Sebuah GPU (Graphical Processing Unit) pada 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 /sebagaimana kenyataan sesungguhnya, 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 merupakan teknologi anyar dari produsen kartu grafis Nvidia, dan mungkin belum banyak digunakan orang secara umum. 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.
CUDA merupakan singkatan dari Compute Unified Device Architecture,didefinisikan sebagai sebuah arsitektur komputer parallel, dikembangkan oleh Nvidia. Teknologi ini dapat digunakan untuk menjalankan proses pengolahan gambar, video, rendering 3D, dan lain sebagainya. VGA – 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.
Keuntungan dengan CUDA sebenarnya tidak luput dari teknologi aplikasi yang ada. CUDA akan mempercepat proses aplikasi tertentu, tetapi tidak semua aplikasi yang ada akan lebih cepat walaupun sudah mengunakan fitur CUDA. Hal ini tergantung seberapa cepat procesor yang digunakan, dan seberapa kuat sebuah GPU yang dipakai. Dan bagian terpenting adalah aplikasi apa yang memang memanfaatkan penuh kemampuan GPU dengan teknologi CUDA. Kedepan seperti pengembang software Adobe akan ikut memanfaatkan fitur CUDA pada aplikasi mereka. Jawaban akhir adalah, untuk memanfaatkan CUDA kembali melihat aplikasi software yang ada. Apakah software yang ada memang mampu memanfaatkan CUDA dengan proses melalui GPU secara penuh. Hal tersebut akan berguna untuk mempercepat selesainya proses pada sebuah aplikasi. Dengan kecepatan proses GPU, aplikasi akan jauh lebih cepat. Khususnya teknologi ilmu pengetahuan dengan ramalan cuaca, simulator pertambangan atau perhitungan yang rumit dibidang keuangan. Sedangkan aplikasi umum sepertinya masih harus menunggu.
Sumber:
http://dpamudji.wordpress.com/2011/04/01/komputasi-parallel/
http://seto.citravision.com/berita-47-parallel-computation–distributed-processing.html
http://seto.citravision.com/berita-49-parallel-computation—pengantar-thread-programming.html
http://afrilieya.blogspot.com/2013/04/parallel-computation_20.html

Parallel Computing

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 ( di industri keuangan, bioinformatika, dll ) 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 ( fisika komputasi ), kimia ( kimia komputasi ), dll. Dalam menyelesaikan suatu masalah, komputasi paralel memerlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel.
Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi. Tidak berarti dengan mesin paralel semua program yang dijalankan diatasnya otomatis akan diolah secara paralel. Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah / operasi secara bersamaan ( komputasi paralel ), baik dalam komputer dengan satu ( prosesor tunggal ) ataupun banyak ( prosesor ganda dengan mesin paralel ) 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 ( distributed computing ). 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.
Analogi yang paling gampang adalah, bila anda dapat merebus air sambil memotong-motong bawang saat anda akan memasak, waktu yang anda butuhkan akan lebih sedikit dibandingkan bila anda mengerjakan hal tersebut secara berurutan ( serial ). Atau waktu yang anda butuhkan memotong bawang akan lebih sedikit jika anda kerjakan berdua. Performa dalam pemrograman paralel diukur dari berapa banyak peningkatan kecepatan ( speed up ) yang diperoleh dalam menggunakan tehnik paralel. Secara informal, bila anda memotong bawang sendirian membutuhkan waktu 1 jam dan dengan bantuan teman, berdua anda bisa melakukannya dalam 1/2 jam maka anda memperoleh peningkatan kecepatan sebanyak 2 kali.
B. DISTRIBUTED PROCESSING
Pemrosesan paralel adalah pendekatan komputasi untuk meningkatkan tingkat di mana satu set data diolah dengan pengolahan bagian yang berbeda dari data pada waktu yang sama secara simultan atau bersamaan pada sebuah komputer dan berfungsi memecah beban besar menjadi beberapa beban kecil untuk mempercepat proses penyelesaian masalah.
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.
Tipe lain dari komputasi paralel yang kadang-kadang disebut “didistribusikan” adalah gagasan dari sebuah komputer paralel cluster. Sebuah cluster akan banyak CPU terhubung melalui kecepatan tinggi koneksi ethernet ke hub sentral (Server) yang memberi masing-masing beberapa pekerjaan yang harus dilakukan. Metode cluster mirip dengan metode yang dijelaskan dalam paragraf di atas, kecuali bahwa semua CPU secara langsung terhubung ke server, dan satu-satunya tujuan mereka adalah untuk melakukan perhitungan yang diberikan kepada mereka.
Parallel distributed computing dapat dibentuk dari :
– Ada : digunakan konsep pertemuan yang menggabungkan fitur RPC dan monitor.
– PVM (Parallel Virtual Machine) untuk mendukung workstation clusters
–  MPI (Message-Passing Interface) programming GUI untuk parallel computers.
C. ARCHITECTURAL PARALLEL COMPUTER
SISD Yang merupakan singkatan dari Single Instruction, Single Data adalah satu-satunya yang menggunakan arsitektur Von Neumann. Ini dikarenakan pada model ini hanya digunakan 1 processor saja. Oleh karena itu model ini bisa dikatakan sebagai model untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan komputasi paralel yang menggunakan beberapa processor. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.
SIMD Yang merupakan singkatan dari Single Instruction, Multiple Data. SIMD menggunakan banyak processor dengan instruksi yang sama, namun setiap processor mengolah data yang berbeda. Sebagai contoh kita ingin mencari angka 27 pada deretan angka yang terdiri dari 100 angka, dan kita menggunakan 5 processor. Pada setiap processor kita menggunakan algoritma atau perintah yang sama, namun data yang diproses berbeda. Misalnya processor 1 mengolah data dari deretan / urutan pertama hingga urutan ke 20, processor 2 mengolah data dari urutan 21 sampai urutan 40, begitu pun untuk processor-processor yang lain. 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 Yang merupakan singkatan dari Multiple Instruction, Single Data. MISD menggunakan banyak processor dengan setiap processor menggunakan instruksi yang berbeda namun mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Untuk contoh, kita bisa menggunakan kasus yang sama pada contoh model SIMD namun cara penyelesaian yang berbeda. Pada MISD jika pada komputer pertama, kedua, ketiga, keempat dan kelima sama-sama mengolah data dari urutan 1-100, namun algoritma yang digunakan untuk teknik pencariannya berbeda di setiap processor. Sampai saat ini belum ada komputer yang menggunakan model MISD.
MIMD Yang merupakan singkatan dari Multiple Instruction, Multiple Data. MIMD menggunakan banyak processor dengan setiap processor memiliki instruksi yang berbeda dan mengolah data yang berbeda. Namun banyak komputer yang menggunakan model MIMD juga memasukkan komponen untuk model SIMD. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.
Dari perbedaan kedua gambar di atas, kita dapat menyimpulkan bahwa kinerja komputasi paralel lebih efektif dan dapat menghemat waktu untuk pemrosesan data yang banyak daripada komputasi tunggal.
Dari penjelasan-penjelasan di atas, kita bisa mendapatkan jawaban mengapa dan kapan kita perlu menggunakan komputasi paralel. Jawabannya adalah karena komputasi paralel jauh lebih menghemat waktu dan sangat efektif ketika kita harus mengolah data dalam jumlah yang besar. Namun keefektifan akan hilang ketika kita hanya mengolah data dalam jumlah yang kecil, karena data dengan jumlah kecil atau sedikit lebih efektif jika kita menggunakan komputasi tunggal.


Selasa, 19 April 2016

file sistem terdistribusi

Pengenalan
File Sistem Terdistribusi ( Distributed File System , disingkat DFS -  penulis akan menggunakan kata ini selanjutnya) 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).
Sebuah file server menyediakan file service ke client. Dari sisi client terdapat interface untuk file service dalam hal operasi primitif file, seperti membuat file (create), menghapus (delete) dan read / write file. Komponen perangkat keras utama yang mana file server mengontrolnya adalah sebuah local storage (umumnya disk drive / HDD). Ditempat itulah file-file tersimpan dan dari tempat tersebut request client meretrive file. Pada DFS client, server dan juga perangkat penyimpanan merupakan mesin terpisah dalam sebuah lingkungan terdistribusi (Intranet). Jadi, aktifitas layanan (service) dibawa melewati jaringan (network), jadi selain sistem memiliki satu data terpusat, sistem memiliki beberapa perangkat penyimpanan independent. Konfigurasi konkret dan juga implementasi dari sebuah DFS dapat beragam bentuknya. Dalam beberapa konfigurasi, server berjalan sebagai dedicated machine (layanan terpusat) atau juga menjadi server dan client. DFS dapat diimplementasikan sebagai bagian dari Sistem Operasi Terdistribusi dengan sebuah layer software yang tugasnya mengatur komunikasi antara sistem operasi konvensional dan file system. 
Parameter untuk mancapai DFS adalah transparansi. Secara ideal, DFS terlihat sebagai bentuk file system terpusat, faktor keseragaman (multiplicity) dan penyebaran server serta perangkat penyimpanan tidak terlihat oleh user. Oleh karena itu interface client yang digunakan program tidak akan membedakan antara file local dan remote. Semuanya tergantung dari implementator DFS untuk mengalokasikan file-file dan menyusun transportasi data. Kelebihan lain dari DFS adalah peningkatan performa. Yang menjadi tolak ukur pengukuran performa DFS adalah waktu yang dibutuhkan untuk merespon request layanan.
Saling berbagi media penyimpanan informasi sudah menjadi sesuatu hal yang penting dalam resource sharing. Desain service file terdistribusi yang baik adalah menyediakan akses distribusi file dengan performansi dan realibilitas yang sama atau lebih baik dari penyimpanan file-file dalam disk local dalam bentuk transparent.
Desain skala besar dari proses sistem penyimpanan baca tulis file pada wide area menimbulkan masalah pada load balancing, reliabilitas, avaibility dan security. File sistem yang terdistribusi mengemulasikan fungsionalitas dari file sistem tak terdistribusi untuk program client yang berjalan pada komputer remote. File sistem terdistribusi juga menyediakan hal-hal pokok untuk pengorganisasian komputer yang berbasiskan jaringan intranet. 


Pengenalan File Service 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.
Karakteristik dari File System
File Sistem adalah bertanggung jawab untuk pengorganisasian, penyimpanan, pencarian keterangan, penamaan, sharing atau pembagian dan protection atau perlindungan dari file-file. File berisi dari dua bagian penting yaitu data dan atribut. File sistem didesain untuk menyimpan dan mengatur banyak dan besar file dengan fasilitas untuk membuat, memberi nama dan menghapus file. File system juga bertanggung jawab untuk pengontrolan dari akses file, akses terbatas ke file oleh user yang berhak dan tipe-tipe dari akses yang diminta. –
Operasi pada file (=data + atribut) 
·         Create / delete 
·         Query / Modifikasi Atribut 
·         Open / Close
·         Read / Write 
·         Akses Kontrol
 Organisasi penyimpanan
·         Struktur direktori (hirarki, pathname) 
·         Metadata (pengaturan informasi file) : atribut file, informasi struktur direktori, dll 
Atribut File
 File adalah kumpulan informasi berkait yang diberi nama dan direkam pada penyimpanan sekunder. Atribut file terdir dari :
1.      Nama
 Merupakan satu-satunya informasi yang tetap dalam bentuk yang bisa dibaca oleh manusia (human readable form)
2.      Type
Dibutuhkan untuk sistem yang mendukung beberapa tipe berbeda
3.      Lokasi
Merupakan pointer atau penunjuk ke device dan lokasi file pada device tersebut berada
4.      Ukuran (Size)
Ukuran file pada saat itu, baik dalam byte, huruf ataupun blok
5.       Proteksi
 Informasi mengenai kontrol akses, misalnya siapa saja yang boleh membaca, menulis dan mengeksekusi file
6.       Waktu, tanggal dan identifikasi pengguna Informasi ini biasanya disimpan untuk :
·         Pembuatan file
·         Modifikasi terakhir yang dilakukan pada file
·         Penggunaan terakhir file

Atribute file
·         Panjang File
·         Creation Timestamp
·         Read Timestamp
·         Write Timestamp
·         Attribute Timestamp
·         Reference Count
·         Owner
·         Tipe File
·         Daftar Akses Kontrol 
Struktur File System
·         Modul direktori : menghubungkan nama file dengan ID file
·         Modul File : menghubungkan ID dengan file tertentu 
·         Modul Akses Kontrol : memeriksa permission utuk operasi yang diminta
·         Modul Akses File : read / write data file atau atribut
·         Modul Blok : akses dan alokasi blok disk
·         Modul Perangkat : disk I/O dan buffering 
Komponen File service
1.      Komponen-komponen file service adalah terdiri dari : 
2.      File Service Pengoperasian dari masing-masing file.
3.      Directory Service  Management atau pengaturan direktori 
4.      Naming Service
Ø  Location Independence : 
·         File dapat dipindahkan tanpa penggantian nama
Ø  Hal yang umum untuk penamaan file dan directori :
·         Mesin + nama path e.g / machine / path atau machine : path 
·         Mounting File sistem secara remote kedalam hirarki local file. 
·         Single name space yang sama pada semua mesin. –
Ø  Dua level penamaan :
·         Nama simbolik yang dilihat user dan nama binary yang dilihat oleh sistem.     
Kebutuhan File System Terdistribusi
 Transparansi (Client tidak menyadari adanya lingkungan terdistribusi)
·         Akses Transparan 
·         Lokasi Transparan
·         Mobilitas Transparan
·         Performa Transparan
·         Scaling Transparan
·         Concurrent File Update 
·         Replikasi File 
·         Heterogenitas
·         Toleransi Kesalahan 
·         Konsistensi 
·         Keamanan
·         Efisiensi 
Kebutuhan File System Terdistribusi
1.      Transparency
Keseimbangan antara flesibilitas dan skalabilitas terhadap kompleksitas dan performansi dalam desainnya.
2.      Concurrent File Updates
Perbaruan file serentak bersamaan antara file server dan client. Kebanyakan arah sistem mengikuti standar UNIX dalam memberikan pelayanan advisory atau mendatory file atau record file level locking.
3.      File Replication
Replikasi dapat untuk share load, untuk mempertinggi fault tolerance, dan untuk mempertinggi scalability. Kebanyakan sistem yang ada dapat melayani caching dengan replication terbatas. Sebagian dapat melayani full replication.
4.      Hardware dan Operating Systems
Heterogenitas atau kesamaan adalah kebutuhan yang sangat penting dalam melayani keterbukaan.
5.      Fault Tolerance
Service harus terus menerus beroperasi walaupun terjadi kesalahan atau error pada client ataupun server
6.      Consistency
7.      Security
Semua sistem melayani mekanisme akses kontrol berbasiskan daftar akses kontrol (access control lists)
8.      Efficiency
 Sistem harus dapat melayani perbandingan performance apakah lebih baik atau tidak. 

Opsi Desain dalam File Service 
ü  Stateful
ü  Stateless       

Sumber

http://iwan.staff.gunadarma.ac.d/Downloads/files/22156/5_File+Service.pdf

Kamis, 07 April 2016

Pengantar Komputasi Cloud bagian 2



a)      Distributed Computation dalam Cloud Computing
Komputasi terdistribusi merupakan bidang ilmu komputer yang mempelajari sistem terdistribusi. Sebuah sistem terdistribusi terdiri dari beberapa komputer otonom yang berkomunikasi melalui jaringan komputer. Komputer yang saling berinteraksi untuk mencapai tujuan bersama. Suatu program komputer yang berjalan dalam sistem terdistribusi disebut program didistribusikan, dan didistribusikan pemrograman adalah proses menulis program tersebut. Distributed computing juga mengacu pada penggunaan sistem terdistribusi untuk memecahkan masalah komputasi. Dalam distributed computing, masalah dibagi menjadi banyak tugas, masing-masing yang diselesaikan oleh satu komputer. Komputasi terdistribusi yang di maksud di sini adalah suatu teknik yang dapat digunakan untuk menyelesaikan berbagai masalah dalam cloud computing.  
b)      Map Reduce dan Non SQL (Not Only SQL)
MapReduce yang berkaitan dengan cloud computing ini merupakan sebuah model pemrograman untuk melakukan pemrosesan data (biasa dipakai di komputer terdistribusi). Map-Reduce merupakan sebuah konsep teknis yang sangat penting di dalam teknologi cloud seperti dapat membantu programmer membuat aplikasi cloud computing. Salah satu contoh penerapan nyata map-reduce ini dalam suatu produk adalah yang dilakukan Google. Dengan inspirasi dari functional programming map dan reduce Google bisa menghasilkan filesystem distributed yang sangat scalable, Google Big Table. Dan juga terinspirasi dari Google, pada ranah open source terlihat percepatan pengembangan framework lainnya yang juga bersifat terdistribusi dan menggunakan konsep yang sama, project open source tersebut bernama Apache Hadoop.
Non SQL atau singkatan dari Not Only SQL ini adalah tipe database yang sangat jauh berbeda dengan konsep RDBMS ataupun ODBMS. Perbedaan utamanya sendiri yaitu karena tidak mengenal istilah relation dan tidak menggunakan konsep schema. Dalam Non SQL, setiap tabel berdiri sendiri tanpa tergantung dengan tabel lainnya. Non SQL adalah istilah untuk menyatakan berbagai hal yang didalamnya termasuk database sederhana yang berisikan key dan value seperti Memcache, ataupun yang lebih canggih yaitu non-database relational seperti MongoDBCassandraCouchDB, dan yang lainnya.
Sumber :