Weekly post

  • πŸ…³πŸ…΄πŸ…΅πŸ…ΈπŸ…½πŸ…ΈπŸ†‚πŸ…Έ πŸ…³πŸ…°πŸ…½ πŸ…ΏπŸ…΄πŸ†πŸ…±πŸ…΄πŸ…³πŸ…°πŸ…°πŸ…½ πŸ…°πŸ…½πŸ†ƒπŸ…°πŸ†πŸ…° πŸ†ƒπŸ…·πŸ†πŸ…΄πŸ…°πŸ…³πŸ†‚ πŸ…³πŸ…°πŸ…½ πŸ…ΏπŸ†πŸ…ΎπŸ…²πŸ…΄πŸ†‚πŸ†‚πŸ…΄πŸ†‚

     Apa itu Proses?

    Sebuah proses, secara umum, adalah serangkaian terus menerus dari tindakan untuk mencapai hasil yang spesifik. Namun, dalam dunia komputer, proses adalah sebuah contoh dari mengeksekusi program komputer. Dengan kata lain, itu adalah konsep dari kejadian tunggal dari program komputer yang berjalan. Proses yang berjalan secara binar akan mengandung satu atau lebih thread.

    Menurut jumlah thread yang terlibat dalam proses, ada dua jenis proses. Mereka adalah proses single-thread dan proses multi-thread. Seperti namanya, proses tunggal-thread adalah proses yang hanya memiliki satu thread. Oleh karena itu, thread ini adalah sebuah proses, dan hanya ada satu aktivitas yang terjadi. Dalam proses multi-thread, ada lebih dari satu thread, dan ada lebih dari satu aktivitas yang terjadi.

    Dua atau lebih proses dapat berkomunikasi dalam setiap menggunakan komunikasi antar-proses lain. Tapi itu cukup sulit dan membutuhkan lebih banyak sumber daya. Ketika membuat proses baru programmer harus melakukan dua hal. Mereka adalah duplikasi proses induk dan alokasi memori dan sumber daya untuk proses baru. Jadi ini benar-benar mahal.

    Apa yang dimaksud dengan Thread?

    Dalam dunia IT, thread adalah pelaksanaan instruksi terkecil dari program komputer yang dapat dikelola secara independen sesuai dengan jadwal. Sebuah thread adalah jalan eksekusi sederhana dalam proses. Sebuah thread adalah sebagai proses kuat karena thread bisa melakukan proses apa saja yang bisa dilakukan. Sebuah thread adalah proses ringan dan membutuhkan sumber daya yang lebih sedikit. Thread dapat mulai dari membaca dan menulis ke variabel yang sama dan struktur data variabel. Thread dapat berkomunikasi antara thread dengan mudah.


    Hari ini multi-threading telah menjadi pendekatan alami untuk banyak masalah. Sebuah pekerjaan besar dibagi menjadi beberapa bagian dan masing-masing ditugaskan untuk unit eksekusi yang disebut thread. Ini hanya multi-threading. Hal ini memerlukan kehati-hatian pemrograman karena thread berbagi struktur data yang dimodifikasi oleh thread lain pada satu waktu dan juga karena thread berbagi ruang alamat yang sama. Satu keuntungan lebih dari thread adalah bahwa thread menyediakan cara yang efisien dan efektif untuk mencapai paralelisme. Sebuah throughput sistem dapat ditingkatkan dengan membiarkan beberapa thread berjalan pada beberapa prosesor karena thread adalah entitas independen yang dapat dijadwal (schedulable).

    Apa perbedaan antara Proses dan Thread?

    • Proses sulit untuk membuat karena membutuhkan duplikasi proses induk dan alokasi memori sedangkan thread lebih mudah untuk membuat karena mereka tidak memerlukan ruang alamat yang terpisah.

    • Thread digunakan untuk tugas-tugas sederhana, sementara proses yang digunakan untuk tugas-tugas yang berat-berat seperti pelaksanaan aplikasi.

    • Proses tidak berbagi ruang alamat yang sama, namun thread dalam berbagi proses yang sama ruang alamat yang sama.

    • Proses yang independen satu sama lain, tetapi thread saling bergantung karena mereka berbagi ruang alamat yang sama.

    • Sebuah proses dapat terdiri dari beberapa thread.

    • Karena thread berbagi ruang alamat yang sama, virtual memori hanya terkait dengan proses tapi tidak dengan thread. Tapi prosesor virtual yang berbeda dikaitkan dengan setiap thread.

    • Setiap proses memiliki kode dan data sendiri sedangkan proses thread berbagi kode yang sama dan data.

    •  Setiapproses dimulai dengan thread utama, tapi dapat membuat thread tambahan jika diperlukan.

    • Konteks beralih antara proses jauh lebih lambat dibandingkan konteks beralih antara thread dari proses yang sama.

    • Thread dapat memiliki akses langsung ke segmen data, tetapi proses memiliki salinan sendiri segmen data mereka.

    • Proses memiliki overhead tapi tidak thread.

    Ringkasan Proses vs Thread

    Proses dan thread dua teknik yang digunakan oleh programmer untuk mengontrol prosesor dan pelaksanaan instruksi pada komputer dengan cara yang efisien dan efektif. Sebuah proses dapat berisi beberapa thread. Thread menyediakan cara yang efisien untuk berbagi memori meskipun beroperasi beberapa eksekusi dari proses. Oleh karena itu, thread merupakan alternatif untuk beberapa proses. Dengan tren yang berkembang menuju prosesor multi-core, thread akan menjadi alat yang paling penting dalam dunia programmer.

    0 komentar

  • πŸ…ΏπŸ…°πŸ†πŸ…°πŸ…»πŸ…΄πŸ…» πŸ…ΏπŸ†πŸ…ΎπŸ…²πŸ…΄πŸ†‚πŸ…ΈπŸ…½πŸ…Ά

     PARALEL PROCESSING

    Parallel Processing merupakan salah satu teknik yang digunakan dalam komputasi, yaitu teknik yang menggunakan dua atau lebih processor dalam melakukan komputasi dan dilakukan secara bersamaan. Komputasi adalah suatu aktifitas penghitungan atau pemecahan masalah. Sedangkan processor merupakan sumber semua perintah, prosessor merupakan otak dari komputer. Idealnya satu komputer hanya memiliki satu prosesor saja, namun dengan berkembangnya teknologi, muncullah multi prosesor dimana dalam satu komputer terdapat dua prosessor yang digabung menjadi satu, contohnya dual core, core 2 duo, quad core, dan lain-lain.

    Untuk melakukan berbagai jenis komputasi paralel diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk digunakan perangkat lunak pendukung yang biasa disebut middleware yang berperan mengatur distribusi antar titik dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi. Salah satu middleware yang asli dikembangkan di Indonesia adalah OpenPC yang dipelopori oleh GFTK LIPI dan diimplementasikan di LIPI Public Center.

    Pemrograman Paralel sendiri adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan. Bila komputer yang digunakan secara bersamaan tersebut dilakukan oleh komputer-komputer terpisah yang terhubung dalam satu jaringan komputer, biasanya disebut sistem terdistribusi. Bahasa pemrograman yang populer digunakan dalam pemrograman paralel adalah MPI (Message Passing Interface) dan PVM (Parallel Virtual Machine).


    1. Tujuan Pemrosesan Parallel

    Tujuan utama dari pemrosesan 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 mudah untuk diingat adalah, bila kamu dapat merebus air dalam sebelum memotong motong bawang saat kamu akan masak, waktu yang kamu butuhkan akan lebih sedikit dibandingkan bila kamu mengerjakan hal tersebut secara berurutan (serial). Atau waktu yang kamu butuhkan pada saat memotong bawang akan lebih sedikit jika kamu kerjakan berdua.


                     Hasil gambar untuk PROSESOR ORGANIZATION PROSESOR ORGANIZATION PROSESOR ORGANIZATION


        2. Perbedaan Komputasi Tunggal & Parallel

    Perbedaan komputasi tunggal (menggunakan 1 processor) dengan komputasi paralel (menggunakan beberapa processor), maka kita harus mengetahui terlebih dahulu pengertian mengenai model dari komputasi. Ada 4 model komputasi yang digunakan, yaitu: 


          dengan komputasi paralel (menggunakan beberapa processor), maka kita harus mengetahui terlebih dahulu pengertian mengenai model dari komputasi. Ada 4 model komputasi yang digunakan, yaitu: 

    1. Komputer SISD (Single Instruction stream-Single Data stream)

    2. Komputer SIMD (Single Instruction stream-Multiple Data stream)

    3. Komputer MISD (Multiple Instruction stream-Single Data stream)

    4. Komputer MIMD (Multiple Instruction stream-Multiple Data stream)


             a. SISD

    Single Instruction Single Data (SISD) 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.


    b. SIMD

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


    c. MISD

    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.


    d. MIMD

    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.

    Pada komputasi paralel, instruksi akan dibagi menjadi beberapa instruksi sesuai dengan banyaknya processor. Hal ini tentunya akan mempercepat kerja komputer dan mempercepat waktu untuk mendapatkan hasil.


        3. Hubungan Antara Komputasi Modern Dan Parallel Processing

    Pemrosesan paralel juga disebut komputasi paralel. Dalam upaya lebih murah pengolahan komputasi paralel menyediakan alternatif pilihan yang layak. Waktu idle siklus prosesor di seluruh jaringan dapat digunakan secara efektif oleh perangkat lunak komputasi terdistribusi yang canggih. Pengolahan paralel istilah digunakan untuk mewakili kelas besar teknik yang digunakan untuk memberikan tugas pengolahan simultan data untuk tujuan meningkatkan kecepatan komputasi dari sistem komputer.

    Hubungan antara komputasi modern dan parallel processing sangat berkaitan, karena penggunaan komputer saat ini atau komputasi dianggap lebih cepat dibandingkan dengan penyelesaian masalah secara manual. Dengan begitu peningkatan kinerja atau proses komputasi semakin diterapkan, dan salah satu caranya adalah dengan 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.

    Kinerja komputasi dengan menggunakan paralel processing itu menggunakan dan memanfaatkan beberapa komputer atau CPU untuk menemukan suatu pemecahan masalah dari masalah yang ada. Sehingga dapat diselesaikan dengan cepat daripada menggunakan satu komputer saja. Komputasi dengan paralel processing akan menggabungkan beberapa CPU, dan membagi-bagi tugas untuk masing-masing CPU tersebut. Jadi, satu masalah terbagi-bagi penyelesaiannya. Tetapi ini untuk masalah yang besar saja, komputasi yang masalah kecil, lebih murah menggunakan satu CPU saja.

    0 komentar

  • Copyright © - Nisekoi - All Right Reserved

    πŸ…΅πŸ†πŸ…΄πŸ…΄ πŸ…°πŸ†πŸ†ƒπŸ…ΈπŸ…²πŸ…»πŸ…΄ Powered by Blogger - Designed by Johanes Djogan