Welcome to My Blog

Mahasiswa Universitas Gunadarma yang suka dengan game online

Senin, 04 Juni 2018

PARALLEL COMPUTING

Berikut merupakan tugas video mengenai apa itu parallel computing.


Senin, 16 April 2018

PARALLEL COMPUTING

NAMA      : Merdeka Putra
NPM         : 56414592
KELAS     : 4IA22
KELOMPOK  : 5
MATERI   : Parallel Computing

Parallel computing is a type of computing architecture in which several processors execute or process an application or computation simultaneously. Parallel computing helps in performing large computations by dividing the workload between more than one processor, all of which work through the computation at the same time. Most supercomputers employ parallel computing principles to operate.
Parallel computing is also known as parallel processing.

A. Parallelism Concept
  1. von Neumann Architecture
  • Named after the Hungarian mathematician/genius John von Neumann who first authored the general requirements for an electronic computer in his 1945 papers.
  • Also known as "stored-program computer" - both program instructions and data are kept in electronic memory. Differs from earlier computers which were programmed through "hard wiring".
  • Since then, virtually all computers have followed this basic design:










  • Comprised of four main components:
  1.    Memory
  2.    Control Unit
  3.    Arithmetic Logic Unit
  4.    Input/Output
  • Read/write, random access memory is used to store both program instructions and data
  1. Program instructions are coded data which tell the computer to do something
  2. Data is simply information to be used by the program
  • Control unit fetches instructions/data from memory, decodes the instructions and then sequentially coordinates operations to accomplish the programmed task.
  • Arithmetic Unit performs basic arithmetic operations
  • Input/Output is the interface to the human operator
      2. Flynn's Classical Taxonomy
  • There are different ways to classify parallel computers. 
  • One of the more widely used classifications, in use since 1966, is called Flynn's Taxonomy. 
  • Flynn's taxonomy distinguishes multi-processor computer architectures according to how they can be classified along the two independent dimensions of Instruction Stream and Data Stream. Each of these dimensions can have only one of two possible states: Single or Multiple. 
  • The matrix below defines the 4 possible classifications according to Flynn:


     3. Some General Parallel Terminology
  • Like everything else, parallel computing has its own "jargon". Some of the more commonly used terms associated with parallel computing are listed below.
  • Most of these will be discussed in more detail later.
          Supercomputing / High Performance Computing (HPC)
                  Using the world's fastest and largest computers to solve large problems.
          Node
                 A standalone "computer in a box". Usually comprised of multiple CPUs/processors/cores,
                 memory, network interfaces, etc. Nodes are networked together to comprise a
                 supercomputer.

          CPU / Socket / Processor / Core
                 This varies, depending upon who you talk to. In the past, a CPU (Central Processing Unit)
                 was a singular execution component for a computer. Then, multiple CPUs were
                 incorporated into a node. Then, individual CPUs were subdivided into multiple "cores",
                 each being a unique execution unit. CPUs with multiple cores are sometimes called
                 "sockets" - vendor dependent. The result is a node with multiple CPUs, each containing
                 multiple cores. The nomenclature is confused at times. Wonder why?


             Task
             A logically discrete section of computational work. A task is typically a program or program
             like set of instructions that is executed by a processor. A parallel program consists of multiple
             tasks running on multiple processors.
             Pipelining
             Breaking a task into steps performed by different processor units, with inputs streaming
             through, much like an assembly line; a type of parallel computing.
             Shared Memory
             From a strictly hardware point of view, describes a computer architecture where all
             processors have direct (usually bus based) access to common physical memory. In a
             programming sense, it describes a model where parallel tasks all have the same "picture" of
             memory and can directly address and access the same logical memory locations regardless of
             where the physical memory actually exists.
             Symmetric Multi-Processor (SMP)
             Shared memory hardware architecture where multiple processors share a single address space
             and have equal access to all resources.
             Distributed Memory
             In hardware, refers to network based memory access for physical memory that is not
             common. As a programming model, tasks can only logically "see" local machine memory
             and must use communications to access memory on other machines where other tasks are
             executing.
             Communications
             Parallel tasks typically need to exchange data. There are several ways this can be
             accomplished, such as through a shared memory bus or over a network, however the actual
             event of data exchange is commonly referred to as communications regardless of the method
             employed.

             Synchronization
             The coordination of parallel tasks in real time, very often associated with communications.
             Often implemented by establishing a synchronization point within an application where a
             task may not proceed further until another task(s) reaches the same or logically equivalent
             point.

             Synchronization usually involves waiting by at least one task, and can therefore cause a
             parallel application's wall clock execution time to increase.

             Granularity
             In parallel computing, granularity is a qualitative measure of the ratio of computation to
             communication.
                 Coarse: relatively large amounts of computational work are done between communication
                              events
                 Fine: relatively small amounts of computational work are done between communication
                          events

            Observed Speedup
            Parallel Overhead
            The amount of time required to coordinate parallel tasks, as opposed to doing useful work.  
            Parallel overhead can include factors such as:
  1. Task start-up time
  2. Synchronizations
  3. Data communications
  4. Software overhead imposed by parallel languages, libraries, operating system, etc.
  5. Task termination time
            Massively Parallel
            Refers to the hardware that comprises a given parallel system - having many processing
            elements. The meaning of "many" keeps increasing, but currently, the largest parallel
            computers are comprised of processing elements numbering in the hundreds of thousands to
            millions.

            Embarrassingly Parallel
            Solving many similar, but independent tasks simultaneously; little to no need for coordination
            between the tasks.

            Scalability
            Refers to a parallel system's (hardware and/or software) ability to demonstrate a proportionate
            increase in parallel speedup with the addition of more resources. Factors that contribute to
            scalability include:
  1. Hardware - particularly memory-cpu bandwidths and network communication properties
  2. Application algorithm
  3. Parallel overhead related
  4. Characteristics of your specific application
      4. Limits and Costs of Parallel Programming
          Amdahl's Law:
  • Amdahl's Law states that potential program speedup is defined by the fraction of code (P) that can be parallelized.
  • If none of the code can be parallelized, P = 0 and the speedup = 1 (no speedup).
  • If all of the code is parallelized, P = 1 and the speedup is infinite (in theory).
  • If 50% of the code can be parallelized, maximum speedup = 2, meaning the code will run twice as fast.
  • Introducing the number of processors performing the parallel fraction of work
  • It soon becomes obvious that there are limits to the scalability of parallelism. For example:
  • However, certain problems demonstrate increased performance by increasing the problem size.
  • Problems that increase the percentage of parallel time with their size are more scalable than problems with a fixed percentage of parallel time.

      Complexity:

  • In general, parallel applications are much more complex than corresponding serial applications, perhaps an order of magnitude. Not only do you have multiple instruction streams executing at the same time, but you also have data flowing between them.
  • The costs of complexity are measured in programmer time in virtually every aspect of the software development cycle:
  1. Design
  2. Coding
  3. Debugging
  4. Tuning
  5. Maintenance
  • Adhering to "good" software development practices is essential when working with parallel applications - especially if somebody besides you will have to work with the software.
      Portability:
  • Thanks to standardization in several APIs, such as MPI, POSIX threads, and OpenMP, portability issues with parallel programs are not as serious as in years past. However...
  • All of the usual portability issues associated with serial programs apply to parallel programs. For example, if you use vendor "enhancements" to Fortran, C or C++, portability will be a problem.
  • Even though standards exist for several APIs, implementations will differ in a number of details, sometimes to the point of requiring code modifications in order to effect portability.
  • Operating systems can play a key role in code portability issues.
  • Hardware architectures are characteristically highly variable and can affect portability.
      Resource Requirements:
  • The primary intent of parallel programming is to decrease execution wall clock time, however in order to accomplish this, more CPU time is required. For example, a parallel code that runs in 1 hour on 8 processors actually uses 8 hours of CPU time.
  • The amount of memory required can be greater for parallel codes than serial codes, due to the need to replicate data and for overheads associated with parallel support libraries and subsystems.
  • For short running parallel programs, there can actually be a decrease in performance compared to a similar serial implementation. The overhead costs associated with setting up the parallel environment, task creation, communications and task termination can comprise a significant portion of the total execution time for short runs.
       Scalability:
  • Two types of scaling based on time to solution: strong scaling and weak scaling.
  • Strong scaling:
  1. The total problem size stays fixed as more processors are added.
  2. Goal is to run the same problem size faster
  3. Perfect scaling means problem is solved in 1/P time (compared to serial
  • Weak scaling:
  1. The problem size per processor stays fixed as more processors are added.
  2. Goal is to run larger problem in same amount of time
  3. Perfect scaling means problem Px runs in same time as single processor run
  • The ability of a parallel program's performance to scale is a result of a number of interrelated factors. Simply adding more processors is rarely the answer.
  • The algorithm may have inherent limits to scalability. At some point, adding more resources causes performance to decrease. This is a common situation with many parallel applications.
  • Hardware factors play a significant role in scalability. Examples:
  1. Memory-cpu bus bandwidth on an SMP machine
  2. Communications network bandwidth
  3. Amount of memory available on any given machine or set of machines
  4. Processor clock speed
  • Parallel support libraries and subsystems software can limit scalability independent of your application.
B. Distributed Processing
     Distributed processing is a setup in which multiple individual central processing units (CPU) work on the same programs, functions or systems to provide more capability for a computer or other device.

C. Architectural Parallel Computing
     1.Parallel Computer Memory Architectures
        Distributed Memory 
       General Characteristics:
  • Like shared memory systems, distributed memory systems vary widely but share a common characteristic. Distributed memory systems require a communication network to connect inter-processor memory.

  • Processors have their own local memory. Memory addresses in one processor do not map to another processor, so there is no concept of global address space across all processors.
  • Because each processor has its own local memory, it operates independently. Changes it makes to its local memory have no effect on the memory of other processors. Hence, the concept of cache coherency does not apply.
  • When a processor needs access to data in another processor, it is usually the task of the programmer to explicitly define how and when data is communicated. Synchronization between tasks is likewise the programmer's responsibility.
  • The network "fabric" used for data transfer varies widely, though it can be as simple as Ethernet.

        Advantages:

  • Memory is scalable with the number of processors. Increase the number of processors and the size of memory increases proportionately.
  • Each processor can rapidly access its own memory without interference and without the overhead incurred with trying to maintain global cache coherency.
  • Cost effectiveness: can use commodity, off-the-shelf processors and networking.

       Disadvantages:

  • The programmer is responsible for many of the details associated with data communication between processors.
  • It may be difficult to map existing data structures, based on global memory, to this memory organization.
  • Non-uniform memory access times - data residing on a remote node takes longer to access than node local data.
    2. Hybrid Distributed-Shared Memory
   
        General Characteristics:
  • The largest and fastest computers in the world today employ both shared and distributed memory architectures.

  • The shared memory component can be a shared memory machine and/or graphics processing units (GPU).
  • The distributed memory component is the networking of multiple shared memory/GPU machines, which know only about their own memory - not the memory on another machine. Therefore, network communications are required to move data from one machine to another.
  • Current trends seem to indicate that this type of memory architecture will continue to prevail and increase at the high end of computing for the foreseeable future.
       Advantages and Disadvantages:
  • Whatever is common to both shared and distributed memory architectures.
  • Increased scalability is an important advantage
  • Increased programmer complexity is an important disadvantage
D. Introduction Thread Programming
   
     A thread in computer programming is a related information about the use of a single program that can handle multiple users simultaneously.Thread This allows the program to know how the user into the program in turn and the user will re-enter using a different user. Multiple threads can run simultaneously with other processes dividing resources into memory, while other processes do not share them.

E. Introduction Message Pasing, Open MP
     
     Message Passing is a form of communication used in parallel computing, OOT (Object Oriented Programming) or Object-Based Programming and interprocess communication
F. Introduction CUDA GPU Programming
    GPU is a special processor to speed up and change memory to speed up image processing. GPU itself is usually located in the computer graphics card or laptopCUDA (Compute Unified Device Architecture) is a scheme created by NVIDIA for NVIDIA as a GPU (Graphic Processing Unit) capable of computing not only for graphics processing but also for general purpose. So with the CUDA we can take advantage of many processors from NVIDIA to perform the calculation process or even computing a lot.

Senin, 12 Maret 2018

Review Jurnal Pengantar Komputasi Modern : Implementasi Cloud Computing Menggunakan Model Infrastructure As A Service Untuk Optimalisasi Layanan Data Center (Studi Kasus : UPT STMIK AMIKOM YOGYAKARTA)

NAMA    : Merdeka Putra
NPM        : 56414592
KELAS   : 4IA22


IMPLEMENTASI CLOUD COMPUTING MENGGUNAKAN MODEL INFRASTRUCTURE AS A SERVICE UNTUK OPTIMALISASI LAYANAN DATA CENTER (Studi Kasus : UPT STMIK AMIKOM YOGYAKARTA)

Penulis : Danang Setiyawan


ABSTRAK
     Laboratorium komputer pada UPT STMIK AMIKOM Yogyakarta berjumlah banyak dan kapasitas pengguna yang besar maka kebutuhan layanan data center juga semakin tinggi. Untuk memenuhi kebutuhan pengembangan data center tersebut dibutuhkan peningkatan kapasitas komputasi, salah satunya adalah dengan cara pengadaan server baru. Namun terdapat konsekuensi dari keputusan tersebut, organisasi akan menghadapi beberapa masalah baru dalam pengelolaan server yang semakin bertambah yaitu biaya yang dihabiskan untuk keperluan tersebut cukup besar. Biaya yang paling besar adalah pada pembelian dan maintenance server. Pemanfaatan fungsi server juga digunakan untuk mendukung pembelajaran praktikum di laboratorium komputer, jadi selain biaya dan maintenance organisasi juga akan menghadapi permasalahan baru, yaitu utilisasi server yang rendah. Untuk itu cloud computing sebagai solusi yang tepat untuk di implementasikan di laboratorium komputer STMIK AMIKOM Yogyakarta agar layanan data center bisa optimal dari sisi jumlah layanan dan penggunaan sumberdaya server. 

kata Kunci :  Data center, server, maintenance, utilisasi, cloud computing


PENDAHULUAN

     Laboratorium komputer yang dimiliki STMIK AMIKOM Yogyakarta merupakan aset dan fasilitas terbesar dan dikelola oleh bagian UPT dengan jumlah empat belas ruang dengan berbagai spesifikasi perangkat dan platform Operating System. Infrastruktur jaringan laboratorium komputer sudah menggunakan perangkat dengan kecepatan gigabit ethernet dan memanfaatkan sistem Data Terpusat (data center) yang digunakan untuk menampung tugas atau project praktikum yang dikerjakan oleh mahasiswa. Layanan utama yang diberikan oleh data center adalah layanan file server berbasis web dan file sharing yang berjalan pada protokol Microsoft SMB Protocol.

     Dengan jumlah laboratorium komputer yang banyak serta kapasitas pengguna yang besar maka kebutuhan layanan data center juga semakin tinggi. Untuk memenuhi kebutuhan pengembangan data center tersebut dibutuhkan peningkatan kapasitas komputasi, salah satunya adalah dengan cara pengadaan server baru. Namun terdapat konsekuensi dari keputusan tersebut, organisasi akan menghadapi beberapa masalah baru dalam pengelolaan server yang semakin bertambah yaitu biaya yang dihabiskan untuk keperluan tersebut cukup besar. Biaya yang paling besar adalah pada pembelian dan maintenance server. Selain biaya dan maintenance organisasi juga akan menghadapi permasalahan baru, yaitu utilisasi server yang rendah . (Suryono & Afif, 2013). Permasalahan yang lain adalah pemanfaatan fungsi-fungsi server untuk mendukung pembelajaran praktikum di laboratorium komputer. 

     Dengan permasalahan yang dihadapi, cloud computing menggunakan model infrastructure as a service sebagai solusi yang sesuai untuk di implementasikan dengan tujuan untuk optimalisasi layanan data center di UPT STMIK AMIKOM Yogyakarta.

Pada penelitian ini model cloud computing yang digunakan adalah model IaaS dan infrastruktur cloud yang digunakan adalah private cloud dan hanya membahas pada fitur aplikasi cloud computing


METODE PENELITIAN

Metodologi penelitian yang dilakukan dalam pelaksanaan penelitian ini yaitu :

1. Tahap Studi Literatur
2. Tahap Analisa, Desain dan Implementasi
Dibawah ini merupakan gambar dari hasil analisa dan desain cloud computing.




HASIL DAN PEMBAHASAN


     Pengujian yang dijalankan pada system cloud terdiri dari beberapa bagian scenario yang dijalankan pada server virtualisasi. Skenario pengujian dijalankan pada native server dan cloud server yang diimplementasikan pada server yang identic. Pengukuran metric skalabilitas menggunakan metode overhead dan linieritas.

         1. Topologi yang diusulkan



             Topologi dedicated



              Non-dedicated


         2. Pengujian Server Cloud

                  1. Analisa Overhead
                      a. Analisa overhead pada skenario pengujian pertama
                          Analisa pertama mendapatkan hasil sebagai berikut :


                    Dari hasil pengujian pada skenario pertama didapatkan hasil bahwa durasi waktu transfer
                    native server lebih cepat dibandingkan dengan cloud server. Pengguna utilitas server
                    sebesar 9.19%.


                    Dibawah ini grafis durasi Upload file per cloud


                      b. Analisa overhead pada skenario pengujian kedua
                          Analisa kedua mendapatkan hasil sebagai berikut :


                    Dari hasil pengujian pada skenario kedua didapatkan durasi waktu transfer lebih tinggi
                    dibanding native server. Pengguna utilitas server sebesar 20.72%.


                    Dibawah ini grafi durasi Upload file per cloud


                    Perbandingan durasi transfer file pada pengujian overhead antara scenario pertama dan
                    kedua

                    Hasil nilai degradasi server ketika menjalankan sepuluh cloud server sebesar :

         3. Analisa Linearitas
         a. Analisa linearitas pada scenario pengujian pertama
            Mendapatkan hasil perbandingan sebagai berikut :


         b. Analisa linearitas pada scenario pengujian kedua
             Mendapatkan hasil perbandingan sebagai berikut :

           Berikut adalah grafis pengukuran linearitas pada Cloud Server


           Hasil pengukuran yang diperoleh dari linearitas adalah
           n = 10
           tmax = ov + t x n, dimana ov = 300 ms
           t = 13.29 sec
             = 13290 ms
           Maka tmax = 300 + 13290 x 10
                              = 133200 ms


         4. Analisis Data Skalabilitas Server Virtual
             Pengukuran yang telah dilakukan diperoleh nilai Overhead sebagai berikut :

              Ta = 12.9
              Ov = 0.39 sec
                    = 390 ms
              Ovn = 3.34 sec
                      = 3340 ms

              Degradasi kinerja server setelah sepuluh cloud server dijalankan : 11,67%.

              A. Pengukuran Penggunaan Sumber Daya pada Server Native dan Server Virtual
                   Hasil pengukuran yang diperoleh ketika user-user telah terhubung ke jaringan namun
                   server belum menjalankan program aplikasi dapat dijelaskan pada tabel berikut:

                   Berikut grafik sumber daya maksimum perangkat keras



PEMBAHASAN



     Berdasarkan hasil observasi diatas dapat dilihat bahwa pada setiap penambahan server cloud pada pengujian overhead penggunaan sumber daya server terlihat stabil walaupun ketika dilihat hasil observasi secara terperinci, terdapat fluktuasi ketika server cloud dijalankan. Pada pengujian overhead, penggunaan utilitas cpu pada server cloud terlihat lebih tinggi jika dibandingkan dengan utilitas cpu pada native server. Nilai tertinggi pada server cloud didapatkan pada server NS. 

     Pada pengujian linearitas skenario pertama dan skenario kedua hasil yang didapatkan tampak tidak ada peningkatan yang signifikan jika dibandingkan dengan pengujian overhead di skenario yang sama. Utitilitas cpu pada native server mendapatkan hasil yang sama dengan pengujian overhead. 

  Pada pengujian waktu eksekusi di masing-masing server cloud, durasi waktu startup jika dibandingkan dengan native server hasil yang didapatkan lebih pendek dengan perbandingan sesuai dengan tabel berikut: 


KELEBIHAN DAN KEKURANGAN

  Cloud Computing memiliki kelebihan dan kekurangan. Kelebihannya adalah teknologi yang murah dan juga dapa hasil yang optimal. Server mampu menjalankan lebih dari satu virtual server, kemudahan administrator untuk menkonfigurasi sumber daya server untuk virtual server, Dengan penggunaan cloud computing akan lebih efektif jika sistem penyimpanan menggunakan data terpusat.

  Kekurangannya terdapat pada durasi waktu transfer file pada server cloud lebih lambat jika dibandingkan dengan waktu transfer file pada native server dan membutuhkan kapasitas RAM yang besar untuk menjaga kestabilan server cloud.

KESIMPULAN


  Setelah melakukan ujicoba untuk implementasi cloud computing menggunakan model infrastructure as a service untuk optimalisasi layanan data center, beberapa kesimpulan bisa didapat antara lain:
  1. Dari hasil pengukuran dan analisa didapatkan hasil bahwa optimalisasi layanan data center di UPT STMIK AMIKOM Yogyakarta dapat tercapai. Hal ini dibuktikan dengan satu server mampu menjalankan lebih dari satu virtual server. 
  2. Dari data yang didapatkan, durasi waktu transfer file pada server cloud lebih lambat jika dibandingkan dengan waktu transfer file pada native server. Hal ini dikarenakan masing-masing server cloud harus berbagi sumberdaya dalam melakukan akses input dan output. 
  3. Pada perbandingan analisa hasil pengukuran overhead, nilai overhead relatif stabil pada setiap tipe server cloud. Jika dilihat secara terperinci, terdapat fluktuasi pada beberapa titik ketika menjalankan server cloud.
  4. Jika menggunakan dan menjalankan lebih banyak service pada server cloud, semakin banyak inti prosesor dan semakin besar kapasitas RAM yang digunakan akan lebih baik dalam kestabilan server cloud secara keseluruhan. 








Minggu, 11 Maret 2018

Pengantar Komputasi Modern Tugas 1

NAMA    : Merdeka Putra
NPM       : 56414952
KELAS   : 4IA22


A. Pengantar Komputasi Greed


     
  Komputasi Grid adalah penggunaan sumber daya yang melibatkan banyak komputer yang terdistribusi dan terpisah secara geografis untuk memecahkan persoalan komputasi dalam skala besar.
Grid computing merupakan cabang dari distributed computing.Grid komputer memiliki perbedaan yang lebih menonjol dan di terapakan pada sisi infrastruktur dari penyelesaian suatu proses. Grid computing adalah suatu bentuk cluster (gabungan) komputer-komputer yang cenderung tak terikat batasan geografi. Di sisi lain, cluster selalu diimplementasikan dalam satu tempat dengan menggabungkan banyak komputer lewat jaringan.

  Ide awal komputasi grid dimulai dengan adanya distributed computing, yaitu mempelajari penggunaan komputer terkoordinasi yang secara fisik terpisah atau terdistribusi. Sistem terdistribusi membutuhkan aplikasi yang berbeda dengan sistem terpusat. Kemudian berkembang lagi menjadi parallel computing yang merupakan teknik komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan.

   Grid computing menawarkan solusi komputasi yang murah, yaitu dengan memanfaatkan sumber daya yang tersebar dan heterogen serta pengaksesan yang mudah dari mana saja. Globus Toolkit adalah sekumpulan perangkat lunak dan pustaka pembuatan lingkungan komputasi grid yang bersifat open-source. Dengan adanya lingkungan komputasi grid ini diharapkan mempermudah dan mengoptimalkan eksekusi program-program yang menggunakan pustaka paralel. Dan Indonesia sudah menggunakan sistem Grid dan diberi nama InGrid (Inherent Grid). Sistem komputasi grid mulai beroperasi pada bulam Maret 2007 dan terus dikembangkan sampai saat ini. InGrid ini menghubungkan beberapa perguruan tinggi negeri dan swasta yang tersebar di seluruh Indonesia dan beberapa instansi pemerintahan seperti Badan Meteorologi dan Geofisika.


B. Virtualisasi


    Virtualisasi adalah membuat sebuah simulasi dari perangkat keras, sistem operasi, jaringan maupun yang lainnya. Di bidang teknologi informasi, virtualisasi digunakan sebagai sarana untuk improvisasi skalabilitas dari perangkat keras yang ada.Dengan virtualisasi, beberapa sistem operasi dapat berjalan secara bersamaan pada satu buah komputer. Hal ini tentunya dapat mengurangi biaya yang harus dikeluarkan oleh sebuah perusahaan.

  Perangkat lunak yang digunakan untuk menciptakan virtual machine pada host machine biasa disebut sebagai hypervisor atau Virtual Machine Monitor (VMM). Menurut Robert P. Goldberg dalam tesisnya yang berjudul Architectural Principles For Virtual Computer Systems pada hal 23 menyebutkan bahwa tipe-tipe dari VMM ada 2 yaitu:

  Type 1 berjalan pada fisik komputer yang ada secara langsung. Pada jenis ini hypervisor/VMM benar-benar mengontrol perangkat keras dari komputer host-nya. Termasuk mengontrol sistem operasi-sistem operasi guest-nya. Contoh implementasi yang ada adalah KVM dan OpenVZ. Adapun contoh yang lain seperti VMWare ESXi, Microsoft Hyper-V.

                                 
   Type 2 berjalan pada sistem operasi diatasnya. Pada tipe ini sistem operasi guest berada diatas sistem operasi host. Contoh tipe ini adalah VirtualBox.

                                

C. Distribusi Computation Dalam Cloud

  Kegiatan ini merupakan kumpulan beberapa computer yang terhubung untuk melakukan pendistribusian, seperti mengirim dan menerima data serta melakukan interaksi lain antar computer yang dimana membutuhkan sebuah jaringan agar computer satu dan lainnya bisa saling berhubung dan melakukan interaksi. Hal ini semua dilakukan dengan cloud computing yang seperti kita ketahui memberikan layanan dimana informasinya disimpan di server secara permanen dan disimpan di computer client secara temporary.

    Komputasi Terdistribusi merupakan salah satu tujuan dari Cloud Computing, karena menawarkan pengaksesan sumber daya secara parallel, para pengguna juga bisa memanfaatkannya secara bersamaan (tidak harus menunggu dalam antrian untuk mendapatkan pelayanan), terdiri dari banyak sistem sehingga jika salah satu sistem crash, sistem lain tidak akan terpengaruh, dapat menghemat biaya operasional karena tidak membutuhkan sumber daya (resourches).

    Distribusi komputasi ini memiliki definisi mempelajari penggunaan terkoordinasi dari computer secara fisik terpisah atau terdistribusi. Pada distributed computing ini, program dipisah menjadi beberapa bagian yang dijalankan secara bersamaan pada banyak computer yang terhubung melalui jaringan internet.

D. Cloud Computing, Map Reduce dan noSQL

     1.    Cloud Computing

    Komputasi Cloud adalah gabungan pemanfaatan teknologi komputer komputasi dan pengembangan berbasis Internet. Cloud adalah metafora dari internet, Sebagaimana cloud dalam diagram jaringan komputer tersebut, cloud dalam Cloud Computing juga merupakan abstraksi dari infrastruktur kompleks yang disembunyikannya. Ia adalah suatu metoda komputasi di mana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan as a service.
Komputasi Cloud adalah suatu konsep umum yang mencakup SaaS, Web 2.0, dan trend teknologi terbaru lain yang dikenal luas, dengan tema umum berupa ketergantungan terhadap Internet untuk memberikan kebutuhan komputasi pengguna. Sebagai contoh, Google Apps menyediakan aplikasi bisnis umum yang diakses melalui suatu penjelajah web dengan perangkat lunak dan data yang tersimpan di server. Komputasi cloud saat ini merupakan trend teknologi terbaru, dan contoh bentuk pengembangan dari teknologi Cloud Computing ini adalah iCloud.

     2.     Map Reduce

            MapReduce merupakan model yang pemrograman untuk memproses set data yang besar, dan nama sebuah implementasi dari model oleh Google. MapReduce biasanya digunakan untuk melakukan komputasi terdistribusi pada cluster komputer. 
Menulis program paralel-eksekusi telah terbukti selama bertahun-tahun untuk menjadi tugas yang sangat menantang, membutuhkan berbagai keahlian khusus. MapReduce menyediakan programmer biasa kemampuan untuk menghasilkan paralel program didistribusikan jauh lebih mudah, dengan mengharuskan mereka untuk menulis Peta sederhana dan Mengurangi fungsi, yang fokus pada logika masalah tertentu. sementara "Sistem MapReduce" (juga disebut "infrastruktur", "kerangka") secara otomatis menangani menyusun server terdistribusi, menjalankan berbagai tugas secara paralel, mengelola semua komunikasi dan transfer data antara berbagai bagian dari sistem, menyediakan untuk redundansi dan kegagalan , dan manajemen keseluruhan dari keseluruhan proses.

     3.    noSQL

            Sebuah database NoSQL menyediakan mekanisme untuk penyimpanan dan pengambilan data yang menggunakan model lebih konsisten daripada database relasional tradisional dalam rangka mencapai skala horisontal dan ketersediaan. Disebut "Not SQL" untuk menekankan bahwa beberapa sistem NoSQL mengizinkan bahasa query SQL-seperti yang sering digunakan.
Sistem database NoSQL sangat dioptimalkan untuk pengambilan dan operasi penambahan dan sering menawarkan fungsionalitas sedikit di luar penyimpanan record (misalnya key-value stores). Menurunnya fleksibilitas run-time dibandingkan dengan sistem SQL penuh dikompensasi oleh keuntungan yang nyata pada skalabilitas dan kinerja untuk data model tertentu.
Singkatnya, sistem manajemen database NoSQL berguna ketika bekerja dengan sejumlah besar data (terutama data besar) ketika sifat data itu tidak memerlukan model relasional. Data dapat terstruktur, tapi NoSQL digunakan ketika apa yang sebenarnya penting adalah kemampuan untuk menyimpan dan mengambil sejumlah besar data, bukan hubungan antara unsur-unsur. Contoh penggunaan mungkin untuk menyimpan jutaan pasangan kunci-nilai dalam satu atau array asosiatif sedikit atau untuk menyimpan jutaan catatan data. Organisasi ini sangat berguna untuk analisis statistik atau real-time tumbuh daftar elemen (seperti posting Twitter atau log server internet dari kelompok besar pengguna).
Penggunaan lain dari teknologi ini berkaitan dengan fleksibilitas dari model data, banyak aplikasi dapat memperoleh dari data tidak terstruktur model: alat seperti CRM, ERP, BPM, dll, bisa menggunakan fleksibilitas ini untuk menyimpan data mereka tanpa melakukan perubahan pada tabel atau menciptakan kolom generik dalam database. Database ini juga baik untuk membuat prototipe atau aplikasi dengan cepat, karena fleksibilitas ini menyediakan alat untuk mengembangkan fitur baru yang sangat mudah.
Contoh No SQL adalah :MongoDB.

Jumat, 09 Februari 2018

Guide Moskov Mobile Legend Bang Bang : Si penombak terkuat!!

Hi, Mobile legend lovers, Bagi kalian yang sangat suka bermain game mobile legend pasti tidak asing dengan hero yang satu ini, YAA!! moskov si penombak jitu yang bisa melempar tombaknya ke berbagai arah dengan jangkauan terluas. Yuk simak artikel berikut biar kalian bisa menjadi pro moskov.




Moskov merupakan hero dengan type marksman di mobile legend, salah satu hero ini mungkin sudah agak terlupakan karena banyaknya hero-hero marksman baru yang keluar.. eits tapi jangan salah sangka si moskov tidak kalah dengan hero hero baru zaman sekarang. moskov mememiliki skill pasif yang membuat lawan takut yaitu skill basic bisa menembus lawan, jadi saat moskov melemparkan tombaknya , tombaknya akan mengenai musuh dibelakangnya juga, menarik bukan?? yuk belajar menggunakan moskov :)

Skill Moskov :

Passif :  Spear Of Quiescence
             Moskov memiliki skill pasif  berupa serangan dasarnya dapat menembus musu, jadi setiap
             musuh yang berada dibelakang akan terkena damage dari tombak moskov dan juga skill pasif
             moskov akan mengurangi cooldown dari skill "Abyss Walker" sebesar 0,7 detik

Skill 1 : Abyss Walker
              Moskov akan teleport ke arah yang dituju dan akan menambahkan kecepatan serangan
              sebesar 20% selama 3 detik

Skill 2 : Spear Of Death
              Moskov melemparkan tombak yang membuat lawan terlempat kebelakang/knockback
              dan memberikan damage sebesar 140 + 40% dari total attack yang dimiliki moskov saat ini.
              Jika target terlempar dan menabrak hero lain makan akan memberikan damage sebesar
              210 + 60% dari total attack yang dimiliki dan juga akan membuat targer terkena stun selama
              1 detik, Jika target terkena tembok atau penghalang lain maka target akan terkena stun
              selama 2 detik, musuh yang sedang terkena stun tidak bisa masuk kedalam stealth mode.

Skill 3 : Spear Of Destruction
              Moskov akan melemparkan tombaknya ke arah yang dituju dan memiliki jangkauan seluas
              map, skill ini memberikan damage sebesar 450 + 140% dari total attack, setiap lawan
              yang terkena serangan skill 3 akan memberikan 10 point attack ke moskov dan point ini
              bisa ditumpuk sebanyak 5 kali selama 5 detik alias jika 5 hero terkena maka 5x10 = 50
              yang artinya moskov akan menerima 50 point attack.



Best Build Moskov :

Moskov dapat menggunakan spell Inspire atau Retribution, jika kalian ingin cepat dalam membunuh monster hutan maka saya sarankan menggunakan Retribution, tetapi jika kalian ingin bermain late game disarankan menggunkana  Inspire/furry.

Item pertama :

Pada item pertama jika kalian menggunakan spell retribution disarankan membeli item nimble blade jika musuh tidak memiliki hero dengan skill kunci (Ex : saber, kagura, cyclops) tetapi jika musuh memiliki hero dengan skill kunci disarankan membeli Pillager Axe.




Nimble Blade : akan memberikan +30% damage kepada monster hutan
                          dan akan memberikan tambahan Exp saat jungle, setiap
                          membunuh 1 monster akan memberikan stack pada item
                          Nimble Blade dengan maksimal stack 10 setiap stack akan
                          menambahkan attack sebesar 4 jadi jika stack 10 maka
                          10 x 4 = 40.





Pillager Axe       : akan memberikan +30% damage kepada monster hutan
                             dan akan memberikan tambahan Exp saat jungle, setiap
                             membunuh 1 monster akan memberikan stack pada item
                             Pillger Axe dengan maksimal stack 10 setiap stack akan
                             menambahkan hp sebesar 50 jadi jika stack 10 maka
                             10 x 50 = 500.


Item Kedua :

Moskov membutuhkan kecepatan pergerakan dan juga kecepatan menyerang jadi item kedua yang disarankan adalah swift boots, Swift boots akan memberikan +50 kecepatan pergerakan dan +15% kecepatan menyerang musuh.










Item Ketiga :

untuk item ketiga belum diperlukan lifesteal(pilihan) , pada item ketiga bisa membuat "Scarlet Phantom", item ini memberikan +30 attack fisik, +40% attack speed , +10% critical chance dengan keunikan item ketika mendapatkan critical secara berturut-turut maka akan meningkatnya attack speed sebanyak 25% dan juga kemungkinan mendapatkan critical 5% secara terus menerus selama 2 detik, jadi total yang dihasilkan 40+25 = 65% attack speed dan 15% crtitical 











Item Keempat  :

Item keempat mulai membutuhkan lifesteal, lifesteal yang dipakai yaitu haaa's claws kenapa haaa's claws? kenapa tidak demon hunter? jawabanya demon hunter memiliki attack speed yang baik tetapi lifesteal yang lemah sedangkan haaa's claws memiliki lifesteal yang kuat dengan +70 attack fisik dengan lifesteal +20% per hit dan specialnya ketika hp hero dibawah 40% maka haaa's claws akan memberikan +10% lifesteal, jadi total lifesteal yang akan didapat yaitu +30%










Item Kelima  :

untuk item ke 5 moskov membutuhkan critical yang kuat, moskov sudah memiliki attack speed dan lifesteal yang kuat sisa critical, yapp item yang dipilih adalah Berseker's Fury, item yang satu ini mungkin sudah sangat terkenal dengan critical chance terbesar yaitu +25% dan +40% critical damage selain memberikan critical item ini juga menambahkan +65 attack fisik. Keunikan dari Berseker's Fury adalah meningkatkan attack fisik sebesar 5% selama 2 detik








Item Keenam  :

Item terakhir...
Item yang dibutuhkan moskov adalah item durability atau ketahanan. Kenapa tidak membuat immortality? sebenarnya immortality dibuat disaat yang genting atau berhadapan dengan musuh yang susah agar dapat hidup kembali dan membunuh musuh atau kembali melindungi tower, tapi yang dibutuhkan moskov adalah durability dan stats attack nya , jadi disarankan membuat "Rose Gold Meteor" , Rose Gold Meteor adalah item baru , Item ini memberikan status yang sangat baik yaitu +60 attack fisik, +30 magic resistance dan memberikan 5% lifesteal, dan keunikan yang diberikan item ini adalah adanya pelindung yang ketika hp kita dibawah 30% maka akan muncul pelindung yang bisa menahan 510-1350 damage yang diberikan musuh.










Item ketujuh  :

Woww ada item ke 7 , item ke 7 merupakan item yang dibeli saat permainan late game kisaran 15-20 menit dengan menjual item jungle nimble blade/pillager axe, item ke 7 bervariasi tergantung keadaan. bisa membeli item dengan attack tinggi atau dengan membeli immortality.