SlideShare a Scribd company logo
1 of 15
USULAN PENELITIAN

RANCANG BANGUN PENJADWALAN TUGAS (TASK) PADA
   KOMPUTASI PARALEL DENGAN MENGGUNAKAN
     ALGORITMA COST-TIME OPTIMIZATION

                        Diajukan Untuk Membuat
      Skripsi Program Sarjana (S-1) pada Jurusan Teknik Informatika
                Fakultas Sains dan Teknologi UIN Malang

                                 Oleh:
                          M. Fikri Muhtadi H
                           NIM. 08650121




        JURUSAN TEKNIK INFORMATIKA
       FAKULTAS SAINS DAN TEKNOLOGI
   UNIVERSITAS ISLAM NEGERI (UIN) MALANG
                    2010
USULAN PENELITIAN

RANCANG BANGUN PENJADWALAN TUGAS (TASK) PADA
   KOMPUTASI PARALEL DENGAN MENGGUNAKAN
     ALGORITMA COST-TIME OPTIMIZATION
                      Nama            :   Dinil Maghfiroh
                      Nim             :   07650082
                      Jurusan         :   Teknik Informatika
                      Fakultas        :   Sains dan Teknologi

                   Tanggal ……………..................
                         Yang Mengajukan

                        M. Fikri Muhtadi H
                         NIM. 08650121

                        Telah disetujui oleh :

    Penguji I                        Penguji II                 Penguji III




                            Mengetahui,
                  Ketua JurusanTeknik Informatika


                RIRIEN KUSUMAWATI, S.Si, M.Kom.
                    NIP.
A. JUDUL
   RANCANG BANGUN PENJADWALAN TUGAS (TASK) PADA
   KOMPUTASI PARALEL DENGAN MENGGUNAKAN ALGORITMA
   COST-TIME OPTIMIZATION

B. LATAR BELAKANG
           Komputer pribadi (personal computer) harganya relatif murah. Harga
  yang terjangkau membuat komputer jenis ini menjadi pilihan bagi beberapa
  instansi, termasuk diantaranya instamsi pendidikan. Laboratorium-
  laboratorium di instansi pendidikan kebanyakan memakai komputer pribadi.
  Komputer pribadi di laboratorium cenderung untuk praktikum pelajaran yang
  relatif sederhana. Paradigma tersebut dinamai dengan komputasi tradisional
  (lihat Gambar 1). Komputasi tradisional adalah komputasi yang
  menggunakan prosesor tunggal. Praktium dengan komputasi yang tinggi bah-
  kan membutuhkan super komputing laboratorium tidak melayani. Hal itu
  terjadi karena komputer pribadi mempunyai kemampuan komputasi yang
  relatif rendah, walaupun sudah ada komputer pribadi dengan prosesor quad
  core.




     Gambar 1 : komputasi dengan prosesor tunggal.
     Sumber : Berney, 2010

         Perangkat lunak yang memerlukan komputasi tinggi atau super
  biasanya dijalankan di super komputer atau mainframe (Stallings, 2003).
  Super komputer atau mainframe mempunyai harga yang sangat mahal. Kedua
  jenis komputer tersebut tidak terjangkau oleh institusi pendidikan, sehingga
  perangkat lunak yang membutuhkan komputasi tinggi tidak bisa dijalankan.
         Komputer pribadi perlu ditingkatkan daya gunanya. Komputer pribadi-
  komputer pribadi dapat berbagi tugas dengan komputer pribadi yang lain.
  Antar komputer pribadi dapat saling komunikasi menggunakan media jaringan
  komputer local (Local Arena Network, LAN). Tugas-tugas (job, task, data)
  komputasi dapat disebar (distributed) ke komputer-komputer pribadi yang
  lain. Komputer yang berfungsi sebagai penyebar tugas disebut sebagai simpul
  kepala (head node), sedangkan komputer yang berfungsi sebagai penerima
  tugas disebut dengan simpul (node).
         Komputasi dengan menggunakan lebih dari satu prosessor disebut
  dengan komputasi paralel (lihat Gambar 1). Rangkaian tugas-tugas yang
  biasanya di proses secara berurutan oleh prosesor tunggal (Gambar 1),
dibagi-bagi kemudian disebar ke beberapa prosesor atau prosesor jamak
   (Gambar 1). berdasarkan konsep penyebaran tugas, komputer-komputer
   pribadi dapat digunakan sebagai sarana komputasi paralel. Komputer pribadi
   yang saling bekerja sama untuk memproses rangkain tugas ke dalam bentuk
   paralel dapat berkomunikasi dengan media jaringan komputer lokal. Proses
   pemecahan dan penyebaran rangkain tugas membutuhkan suatu komputer
   yang berfungsi sebagai simpul kepala. Simpul kepala harus memiliki fungsi
   untuk mengatur pembagian tugas, penyeimbangan beban kerja semua simpul,
   sinkronisasi antar simpul dan menjaga keabsahan data.




          Gambar 2 : komputasi dengan prosesor tunggal.

           Sumber : Berney, 2010
           Agent merupakan salah satu obyek yang dapat beroperasi secara
   mandiri dan dapat berpindah tempat ke komputer lain (Wooldridge, 2002).
   Agent mempunyai thread tersendiri sehingga agent dapat beroperasi secara
   mandiri. Kemampuan berpindah memungkinkan agent untuk memproses
   tugas yang diterima ke komputer lain.
           Algoritma penjadwalan dibutuhkan karena yang mengambil keperluan
   proses aplikasi dan keperluan kualitas service pengguna seperti deadline,
   budget dan optimasinya dalam pertimbangan dalam pemilihan.
           Apabila user menginputkan sejumlah besar task dengan perbedaan
   operasi maka dibutuhkan sebuah penjadwalan untuk task-task tersebut agar
   mendapat pelayanan yang sesuai kebutuhan dan pemakaian prosessor bisa
   dimaksimalkan saat pengeksekusiannya.
       Jadi pada komputasi paralel ini memerlukan penjadwalan (task) dengan
menggunakan algoritma Cost-Time Optimization.
C. RUMUSAN MASALAH
         Berdasarkan penjelasan pada latar belakang diatas, maka rumusan
   masalah dalam penelitian ini sebagai berikut:
   1. Bagaimana menerapkan algoritma coste time optimization untuk
      penjadwalan tugas pada komputasi paralel berbasis multi agent ?

D. BATASAN MASALAH
      Batasan masalah dalam tugas akhir ini antara lain :
   1. Bahasa pemrograman yang digunakan java.
   2. Agent yang digunakan Jade (Java Agent Development)
      (Bellifemine, 2003).
   3. Titik berat pada pembuatan penjadwalan rangkaian tugas ke komputer
       simpul dengan mengguakan algoritma cost-time optimization

E. TUJUAN
         Tujuan dari penelitian ini adalah Membangun sistem penjadwalan
   komputasi paralel dengan menggunakan algoritma cost-time optimization

F. MANFAAT
   Manfaat yang dapat diambil dari penelitian ini adalah :
   1. Dapat meningkatkan kemampuan laboratorium untuk memproses data-data
      dengan komputasi tingkat tinggi.
   2. Pengguna laboratorium baik pengajar maupun pelajar dapat mengenal dan
      melakukan komputasi tingkat tinggi.

G. TINJAUAN PUSTAKA
1. Java
       Java Platform adalah sebuah istilah yang merujuk pada sekumpulan
    program-program dari Sun Microsystem yang memungkinkan seseorang
    untuk membangun dan menjalankan program yang dibuat dengan
    menggunakan bahasa pemrograman Java. Platform ini tidak tergantung
    dengan prosessor dan sistem operasi tertentu. Untuk bekerja, ia membutuhkan
    mesin eksekusi yang disebut virtual machine dan compiler dengan standar
    pustaka tertentu.
       Pada platform Java, terdapat beberapa edisi, yaitu:
    a. Java ME (Micro Edition)
    b. Java SE (Standard Edition)
    c. Java EE (Enterprise Edition
       Java Virtual Machine adalah inti dari platform Java. Di dalamnya terdapat
    JIT (Just In-Time) compiler yang menerjemahkan byte code menjadi instruksi
    pada prosesor, pada saat program dijalankan dan menampung kode-kode asli
    program tersebut di memori selama proses eksekusi. Hal ini lah yang
    membuat Java tidak tergantung dengan jenis prosessor dan sistem operasi
    apapun.

2. Agent
       Agen menunjukan kemampuan yang menjanjikan untuk menjadi
    paradigma baru dalam pengembangan perangkat lunak. Agen adalah suatu
komponen perangkat lunak khusus yang bersifat otonom yang menyediakan
    interface yang bersifat interoperabel ke berbagai sistem, dan dapat berlaku
    seperti agen pada manusia, yang bekerja pada client-nya, dalam rangka
    mencapai agenda yang diberikan padanya.
    Karakteristik Agen, agen memiliki cirri-ciri sebagai berikut:
    a. Otonom
    b. Sosial
    c. Reaktif
    d. Proaktif
    e. Bergerak
    f. Terpercaya
    g. Berusaha mencapai tujuan
    h. Rasional
    i. Dapat belajar

3. JADE
       Salah satu keutamaan JADE adalah penerapan dari abstraksinya yang
   dilakukan dengan bahasa pemrograman berorientasi objek yang telah dikenal
   luas, yaitu Java, yang mempunyai API yang baik. Dalam pengembangan
   tersebut, rancangan-rancangan JADE banyak dipengaruhi oleh abstraksi agen,
   diantaranya adalah:
   a. Agen bersifat autonomous dan proaktif
   b. Agen dapat menolak suatu permintaan dan agen tidak berorientasi pada
       koneksi
   c. Sistem yang bersifat Peer to Peer
   d. Sistem distributive
   e. Mengikuti spesifikasi FIPA
   f. Pengiriman pesan-pesan yang tidak serempak secara efisien
   g. Layanan white-pages dan yellow-pages
   h. Pengaturan siklus hidup agen secara sederhana dan efektif
   i. Dukungan mobilitas agen
   j. Mekanisme berlangganan
   k. Graphical tools
   l. Dukungan untuk Ontology dan Content Language
   m. Pustaka protokol-protokol interaksi
   n. Penggabungan dengan berbagai teknologi berbasis web
   o. Dukungan terhadap platform J2ME dan lingkungan nirkable
   p. Antarmuka untuk peluncuran dan pengendalian platform dan komponen
       terdistribusinya yang dilakukan dari aplikasi eksternal
   q. Kernel yang dapat diperluas

       JADE RMA (Remote Monitoring Agent) adalah suatu alat yang
    mengimplementasikan sebuah graphical platform management console. Alat
    ini mengimplemenatsikan kelas yang dalam jade.tools.rma.rma.
    pemakaiannya lebih sering dimunculkan dengan menggunakan GUI (yaitu
    dengan menambahkan perintah gui ). RMA menyediakan fasilitas untuk
    memonitor dan mengatur sebuah platform JADE, yang terdiri dari beberapa
    host dan container. Salah satu layanan yang disediakan adalah pembentukan
Agen Sniffer, yang berguna untuk memeriksa komunikasi berupa pengiriman
    pesan yang terjadi antar agen. Selain itu juga terdapat Agen Instropector yang
    berguna untuk melakukan pemeriksaan berbagai jenis behaviour sedang
    dimiliki oleh suatu agen, dan behaviour mana saja yang sedang aktif, serta
    yang mana saja yang sedang di-block.

4. Komputasi Paralel
           Komputasi paralel adalah salah satu teknik melakukan komputasi
   secara bersamaan dengan memanfaatkan beberapa komputer independen
   secara bersamaan. Ini umumnya diperlukan saat kapasitas yang diperlukan
   sangat besar, baik karena harus mengolah data dalam jumlah besar (di industry
   keuangan, bioinformatika, dll) ataupun karena tuntutan proses komputasi yang
   banyak. Kasus kedua umum ditemui di kalkulasi numerik untuk
   menyelesaikan persamaan matematis di bidang fisika (fisika komputasi),
   kimia (kimia komputasi) dll.
       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 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 yg 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.
5. Penjadwalan CPU
           Penjadwalan merupakan salah satu fungsi dasar dari sistem operasi.
   Hampir semua sumber daya komputer dijadwalkan sebelum digunakan.
   Ketika CPU mengalami waktu idle, sistem operasi harus memilih salah satu
   proses untuk masuk kedalam antrian yang akan untuk dieksekusi. Pemilihan
   tersebut dilakukan oleh penjadwal jangka pendek atau penjadwal CPU. Ada
   tiga tipe penjadwal yang berada bersama pada sistem operasi kompleks,
   yaitu:
   a. Penjadwal jangka pendek yang bertugas menjadwalkan alokasi pemroses
       di antara proses-proses yang telah siap di memori utama.
   b. Penjadwal jangka menengah akan menangani serta mengendalikan
       transisi dari suspended-toready dari proses-proses swapping.
   c. Penjadwal jangka panjang bekerja terhadap antrian batch dan memilih
       batch berikutnya yang harus dieksekusi.
   d.




                      Gambar 3 : Tipe-tipe penjadwalan
                       Sumber : Konsep Sistem Operasi

           Penjadwalan memilih proses yang ada di memori serta siap untuk
    dieksekusi, dan mengalokasikan CPU untuk mengeksekusinya.

6. Algoritma Penjadwalan
            Penjadwalan dan penyusunan eksekusi pada system terdistribusi
    terlihat sangan simple, akan tetapi kekompleksan timbul ketika user
    menggunakkan batasan QoS seperti deadline (eksekusi berdasarkan
    penyelesaian waktu) dan pembatasan komputasi cost (budget)
            Algoritma penjadwalan membutuhkan untuk penyesuaian perubahan
    muatan dan kondisi tersedianya resource untuk mencapai hasil dan pada
    waktu yang sama dalam batasan deadline dan budget.
            Pada aplikasi ini ada 3 adaptive scheduling algorithma untuk
    pembatas deadline dan budget adalah sebagai berikut :
   - Cost optimization,
   - Time optimization,
   - Conservative Time optimization
Dan juga ada pengembangan            lain yang disebut Cost-Time
    Optimization scheduling.
Tabel : Adaptive scheduling algorithms constraints and objectives
  Adaptive Scheduling          Execution Time               Execution Cost
       Algorithm            (not beyond deadline)        (not beyond budget)
Cost Optimisation          Limited by deadline         Minimize
Time Optimisation          Minimize                    Limited by budget
Conservative Time          Limited by deadline         Limited by budget
Optimisation
Cost-Time Optimisation     Minimize                    Minimize


a. Cost Optimization

       Algoritma penjadwalan Cost optimization mencoba menyelesaikan
    percobaan seekonomis mungkin dengan tidak melebihi deadline.

   -   Mengurutkan resource berdasarkan peningkatan cost

   -   Untuk setiap resource dalam urutan, menugaskan job sebanyak mungkin
       untuk resource, tanpa melebihi deadline

b. Time Optimization

       Algoritma penjadwalan Time optimization mencoba menyelesaikan
    percobaan secepat mungkin dengan budget yang tersedia.

   -   Untuk setiap resource, ???

   -   Mengurutkan resource berdasarkan penyelesaian waktu selanjutnya

   -   Menugaskan satu job ??

c. Conservative Time Optimization

       Algoritma penjadwalan Conservative Time optimization mencoba untuk
    menyelesaikan percobaan dengan pembatas deadline dan cost, meminimalisir
    waktu ketika budget terbesar tersedia. Ini menghabiskan budget dengan
    sangat hati-hati dan memastikan menggunakan seminimal mungkin budget
    per job dari seluruh budget yang tersedia untuk setiap job yang tidak
    terproses.

d. Cost-Time Optimization

       Algoritma penjadwalan Cost-Time Optimization hampir sama dengan cost
       optimization akan tetapi jika ada banyak resource dengan cost yang sama,
       maka diperlakukan strategi time optimization.
1. RESOURCE DISCOVERY: mengdentifikasi sumber                   daya   dan
                  kemampuan mereka menggunakan informasi layanan Grid

               2. RESOURCE TRADING: Mengidentifikasi biaya seluruh sumber daya
                  dan kemampuan untuk dikirimkan per cost-unit, biaya unit. Biaya sumber
                  daya dapat dinyatakan dalam satuan seperti pengolahan biaya-per-MI,
                  biaya-per-pekerjaan, biaya per waktu unit CPU, dll dan kebutuhan
                  penjadwalan untuk memilih unit yang sesuai untuk perbandingan.

               3. Jika user memasukkan D dan B-faktor, kemudian menentukan batas
                  waktu absolut dan anggaran berdasarkan kemampuan sumber daya dan
                  biaya, dan persyaratan pengolahan aplikasi (misalnya, total MI
                  diperlukan).

               4. SCHEDULING: mengulangi sementara job yang tidakterproses yang
                  tersedia dan waktu saat ini dan pengolahan beban berada dalam batas
                  waktu dan batas anggaran.

                   a. untuk setiap sumber daya, memprediksi dan menetapkan tingkat
                     konsumsi pekerjaan atau sumber daya yang tersedia melalui ukuran dan
                     strategi ekstrapolasi dengan mempertimbangkan waktu yang
                     dibutuhkan untuk proses sebelumnya pekerjaan.

                   b. mengurutkan sumber daya dengan urutan kenaikan biaya. Jika dua atau
                     lebih sumber daya yang dengan biaya yang sama, agar mereka seperti
                     yang kuat (misalnya, pekerjaan yang lebih tinggi atau ketersediaan
                     sumber daya) adalah pilihan pertama.

                   c.membuat sumber daya yang mengandung sumber daya dengan biaya
                     yang sama.

                   d.mengurutkan kelompok sumber daya dengan urutan kenaikan biaya.

                   e.Jika salah satu sumber daya telah ditugaskan untuk pekerjaan dalam
                     acara penjadwalan sebelumnya, tetapi tidak dikirim ke sumber daya
                     untuk pelaksanaan dan ada variasi dalam ketersediaan sumber daya,
                     kemudian bergerak sesuai jumlah pekerjaan ke Daftar-Pekerjaan-belum
                     dibagi. Ini membantu dalam memperbarui jadwal keseluruhan
                     berdasarkan ketersediaan sumber daya informasi terbaru.

                   f. mengulangi langkah-langkah berikut untuk setiap kelompok sumber
                      daya selama ada ada pekerjaan

ditugaskan dengan mengulangi langkah-langkah berikut ini untuk setiap pekerjaan di
Pekerjaan-Daftar-belum dibagi, tergantung pada biaya pengolahan dan ketersediaan anggaran:
[ini menggunakan strategi optimasi waktu.]
-   Pilih pekerjaan dari Pekerjaan-Daftar-belum dibagi.

                             -   Untuk setiap sumber daya, menghitung / memperkirakan waktu
                                 penyelesaian pekerjaan dengan mempertimbangkan sebelumnya
                                 ditugaskan pekerjaan dan penyelesaian pekerjaan tingkat
                                 ketersediaan dan berbagi sumber daya.

                             -   mengurutkan sumber daya oleh meningkatnya urutan waktu
                                 penyelesaian.

                             -   metetapkan pekerjaan untuk sumber daya pertama                dan
                                 melepasnya dari Pekerjaan-Daftar-belum dibagi

jika waktu penyelesaian pekerjaan diperkirakan kurang dari tenggat waktu.



                5. DISPATCHER

                     menulangi langkah-langkah berikut untuk setiap sumber daya jika
                     memiliki pekerjaan harus dikirim:

                     a. mengidentifikasijumlah pekerjaan yang dapat diajukan tanpa
                       overloading sumber daya, kebijakan default ini adalah untuk
                       mengirimkan pekerjaan selama jumlah pengguna dikerahkan pekerjaan

            H. METODOLOGI PENELITIAN
            1. Persiapan proposal
                   Pada tahap ini peneliti melakukan persiapan dan penyusunan proposal
               penelitian untuk tugas akhir
            2. Survey dan pengumpulan data
                a. Studi Literatur
            3. Perancangan dan pembuatan aplikasi
                a. Context Diagram
                                                            0
                                                          Sistem
                      User             Input job                     Eeksekusi Job      Node
                                                         Komputasi

                                       hasil komputasi                 Hasil eksekusi



                 b. Proses pembuatan system komputasi
                    Pada penelitian ini komponen sistem terdiri dari head node dan node,
                untuk lebih jelas dapat dilihat di gambar. Komunikasi antara head node dan
                node menggunakan jaringan komputer lokal (LAN). Data input dimasukkan
                ke head node kemudian diatur untuk dijadwalkan ke node. Kesimbangan
                pembagian tugas dilakukan oleh load balancing. Agent membawa sub
                rangkaian tugas ke node kemudian agent menjalankan operasi sesuai dengan
                tugas yang diemban dan membawa kembali hasil ke head node.
HEAD NODE

P                                                            AGENT      NODE 1
                B          LOAD
E
                U        BALANCING
                F                          AGENT
N
                F
G               E                                            AGENT      NODE 2
    INPUT                SCHEDULER                    L
                R
G                                                     A
                M                           AGENT
U               E                                     N                 NODE 3
                      HEAD MANAGEMENT                        AGENT
                M     Synchronitation
N               O     Dispatcher
                R
A               Y                                            AGENT      NODE n




      Gambar : Motodologi dari komputasi paralel berbasis multi agent

     c. Inputan
        Pada penelitian ini pengguna sebagai pemakai utama dari komputasi
        paralel. Masukan yang diterima sistem berbentuk vektor. Data yang
        dimasukkan oleh user diatur oleh scheduler dan load balancing untuk
        dijadwalkan sesuai dengan algoritma yang dipakai. Pada penelitian ini,
        operasi-operasi yang dimiliki oleh paralel komputing adalah operasi
        yang berkenaan dengan vektor.
     d. Load Balancing
        Load balancing bekerja untuk menyeimbangkan beban kerja dilakukan
        oleh node-node. Penyeimbangan beban kerja disebar secara merata ke
        semua node. Penyeimbangan beban kerja digunakan untuk
        menghindari beban berlebih pada node tertentu
     e. Scheduler
        Scheduler berfungsi untuk menjadwalkan rangkaian tugas ke node-
        node. Penjadwalan digunakan untuk menghindari penumpukan agent
        pada node terntentu. Hal-hal yang perlu diperhatikan adalah kapan
        node sedang sibuk operasi suatu agent dan tidak perlu dikirimi agent
        lagi. Atau kapan suatu node dinyatakan diperlu dikirim agent, atau
        kapan suatu agent dinyatakan “mati” atau tidak kembali
        Pada sistem penjadwalan job sendiri, setidaknya ada dua layanan yang
        perlu disediakan. Layanan- layanan tersebut adalah sebagai berikut.
         Layanan pengiriman job yang digunakan untuk mengirim job ke
            sistem penjadwalan job.
         Layanan eksekusi job yang digunakan untuk menjalankan job
            yang diterima.
Array         Add, sub,
image        confulusion

                                               HEAD NODE                       NODE
 Data     command

                                                           Syncroniser
                           Job control agent
                                                              agent
 INPUT
                             job queue                                       Public relation
                                                                                 agent

                                                           Node collector
                                                              agent
                            Dispacher agent
                                                           List Node         Computaional
                           Block table                                          agent

   display
    agent
                            Job Scheduler              Node Scheduler         Block queue
                            manager agent              manager agent
                                                                              Recepeint
                           blok schedul
                                                     Operation log              agent



                                      Result manager
                                          agent


    Gambar :

         a. Inputan
            User yang berupa komputer yang bertanggung jawab mengatur semua
            jalannya system paralel yang akan dibangun menginputkan data bisa yang
            bisa berupa command atau array sebuah image ke dalam head node.
         b. Head Node
            Head node adalah sebuah komputer yang menagtur jalannya system dan
            didalam head node inilah yang akan mengidentifikasi data mekanisme
            yang tersedia. Mulai dari pengontrolan job-job, pemecah job-job menjadi
            task-task yang lebih kecil dan menjadwalkan job-job yang akan dieksekusi
            oleh node-node.
         c. Node
            Node-node adalah sekumpulan komputer yang diparalelkan yang akan
            menerima job-job berdasarkan penjadwalannya masing-masing yang telah
            ditentukan oleh head node.

                Dalam hal ini system mengolah data yang berupa array. Dalam
         rancangan penelitian ini, menggunakan contoh data yang berupa matrik dan
         command atau operasi yang dilakukan adalah operasi penambahan dan
perkalian matriks. Data di inputkan oleh user melalui komputer induk (head
node). Dalam head node data diolah terlebih dahulu. Pengolahan head node
adalah sebagai berikut:
- JobControl Agent
   Agent yang berfungsi untuk menerima tugas (job), diberi id_job masing-
   masing dan menyimpan dalam bentuk antrian (queue)
     Job[id]       Job[id]      Job[id]         Job[id]      Job[id]        QUEUE


-    Dispatcher Agent
    Agent yang berfungsi untuk memecah tugas-tugas menjadi sub-sub tugas
    yang atomic dan membentuk satu table blok. Satu sub tugas yang atomic
    dan membentuk satu table blok.
           Table Block ( [id_job], [id_task])

     Job[id_job]                 [no]Sub task

                                 [no]Sub task

                                 [no]Sub task



-    Job Scheduler Manager agent
    Job Scheduler Manager Agent yang berfungsi penjadwalkan table blok-
    tabel blok yang akan dieksekusi terlebih dahulu berdasarkan ………

-    Node Scheduler Manager Agent
    Node Scheduler Manager Agent yang berfungsi menjadwalkan node-node
    yang akan mengeksekusi table blok-table blok dengan menggunakan
    algoritma cost-time optimization. Dimana dalam algoritma ini menentukan
    resource-resource setiap node dengan parameter CPU, Memory dan
    harddisk yang dimiliki oleh setiap node.
    Cost Time Optimisation dengan R1=R2=R3=R4
                                                           QUEUE
          R1

          R2
                                                     Table blok
          R3                                              Table blok
                                                               Table blok
          R4


-   Node Collector Agent
-   Synchronizer Agent
4. Implementasi Software
5. Ujicoba dan Intregasi
      Pengujian dilakukan menggunakan komputer laboratorium
6. Penulisan dan pembuatan laporan
           Pada tahap ini dilakukan penulisan dan pembuatan laporan dari hasil
   penelitian yang dilakukan selama proses pembuatan aplikasi untuk
   dokumentasi tugas akhir

I. PENELITIAN TERKAIT

J. JADWAL PENELITIAN
           Penelitian dibuat dengan menganut jadwal yang tertera pada tabel 4.1.
    Jadwal penelitian mengatur empat pokok kegiatan, yaitu : studi literatur,
    perancangan, pembuatan, evaluasi, dan dokumentasi.

Tabel 4.1 : Jadwal pelaksanaan penelitian.
                                              Bulan
Kegiatan
                                              1    2      3     4    5     6
Studi literatur lanjut                        X
Perancangan sistem                            X
Pembuatan antar muka untuk pengguna                X
Pembuatan penjadwalan tugas sederhana              X      X
Uji coba tahap prototipe                                  X
Evaluasi dan reka ulang sistem                            X     X
Pembuatan penjadwalan tugas dengan metode
                                                                X
priority
Uji coba sistem tahap 2                                         X
Evaluasi Evaluasi dan reka ulang tahap 2                             X
Penulisan dan Pembuatan Laporan                                            X

K. DAFTAR PUSTAKA

    Barney, Blaise. 2010. Introduction to Parallel Computing. diunduh dari
       https://computing.llnl.gov/tutorials/parallel_comp/ pada tanggal 22 Maret
       2010
    Bellifemine. 2003. Jade White Paper. Exp Volume 3 Nomor 3.
    Turban, Efraim; Aroson, Jay E.; Liang, Ting – Peng. 2005. Decision Support
       Systems and Intelligent System. Pearson Education.
    Stalling, William. 2003. Computer Oraganization and Architekture :
       Designing for Performance Sixth Edition. Prentice-Hall Inc.

More Related Content

Similar to OPT-PENJADWALAN-TASK-KOMPUTASI-PARALEL

Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggun...
Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggun...Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggun...
Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggun...Terminal Purba
 
Proposal 110605203718-phpapp02
Proposal 110605203718-phpapp02Proposal 110605203718-phpapp02
Proposal 110605203718-phpapp02Terminal Purba
 
SI-PI, HUTRIA ANGELINA MAMENTU, HAPZI ALI, INFRASTRUKTUR TI DAN TEKNOLOGI BAR...
SI-PI, HUTRIA ANGELINA MAMENTU, HAPZI ALI, INFRASTRUKTUR TI DAN TEKNOLOGI BAR...SI-PI, HUTRIA ANGELINA MAMENTU, HAPZI ALI, INFRASTRUKTUR TI DAN TEKNOLOGI BAR...
SI-PI, HUTRIA ANGELINA MAMENTU, HAPZI ALI, INFRASTRUKTUR TI DAN TEKNOLOGI BAR...Hutria Angelina Mamentu
 
Si-pi, adi nurpermana, hapzi ali, infrastruktur ti dan teknologi baru , unive...
Si-pi, adi nurpermana, hapzi ali, infrastruktur ti dan teknologi baru , unive...Si-pi, adi nurpermana, hapzi ali, infrastruktur ti dan teknologi baru , unive...
Si-pi, adi nurpermana, hapzi ali, infrastruktur ti dan teknologi baru , unive...Adi Permana
 
5. si pi, adi nurpermana, hapzi ali, infrastruktur ti dan teknologi baru , un...
5. si pi, adi nurpermana, hapzi ali, infrastruktur ti dan teknologi baru , un...5. si pi, adi nurpermana, hapzi ali, infrastruktur ti dan teknologi baru , un...
5. si pi, adi nurpermana, hapzi ali, infrastruktur ti dan teknologi baru , un...Adi Permana
 
Contoh Project Metode Penelitian
Contoh Project Metode PenelitianContoh Project Metode Penelitian
Contoh Project Metode PenelitianNataniel Papalangi
 
Siti maryam alizza_6701140222_pis1405_apsi
Siti maryam alizza_6701140222_pis1405_apsiSiti maryam alizza_6701140222_pis1405_apsi
Siti maryam alizza_6701140222_pis1405_apsismaryamalz
 
Java control parallel port aris suryadi
Java control parallel port   aris suryadiJava control parallel port   aris suryadi
Java control parallel port aris suryadiAris Suryadi
 
Pembuatan aplikasi sistem_informasi_nilai_akademik_melalui_sms_(short_message...
Pembuatan aplikasi sistem_informasi_nilai_akademik_melalui_sms_(short_message...Pembuatan aplikasi sistem_informasi_nilai_akademik_melalui_sms_(short_message...
Pembuatan aplikasi sistem_informasi_nilai_akademik_melalui_sms_(short_message...Ade Himamudin
 
TUGAS 3 - Kerangka Acuan Kerja Sistem Informasi Skripsi
TUGAS 3 - Kerangka Acuan Kerja Sistem Informasi SkripsiTUGAS 3 - Kerangka Acuan Kerja Sistem Informasi Skripsi
TUGAS 3 - Kerangka Acuan Kerja Sistem Informasi Skripsisafiravanillia
 
Tugas project work rama pangeran kahyangan
Tugas project work rama pangeran kahyanganTugas project work rama pangeran kahyangan
Tugas project work rama pangeran kahyanganRama Pangeran Kahyangan
 
0-Pengantar Pemrograman lanjut.pptx
0-Pengantar Pemrograman lanjut.pptx0-Pengantar Pemrograman lanjut.pptx
0-Pengantar Pemrograman lanjut.pptxBom Bom
 
Rangkuman Materi Kuliah Teknik Komputer
Rangkuman Materi Kuliah Teknik KomputerRangkuman Materi Kuliah Teknik Komputer
Rangkuman Materi Kuliah Teknik KomputerLusiana Diyan
 
Pemrosesan paralel untuk kompresi data
Pemrosesan paralel untuk kompresi dataPemrosesan paralel untuk kompresi data
Pemrosesan paralel untuk kompresi dataEmus Kelen
 
Aplikasi Pemesanan Bus Berbasis Desktop
Aplikasi Pemesanan Bus Berbasis DesktopAplikasi Pemesanan Bus Berbasis Desktop
Aplikasi Pemesanan Bus Berbasis Desktopdwireksapermana
 

Similar to OPT-PENJADWALAN-TASK-KOMPUTASI-PARALEL (20)

Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggun...
Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggun...Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggun...
Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggun...
 
Proposal 110605203718-phpapp02
Proposal 110605203718-phpapp02Proposal 110605203718-phpapp02
Proposal 110605203718-phpapp02
 
Jurnal Sistem Informasi Terdistribusi
Jurnal Sistem Informasi TerdistribusiJurnal Sistem Informasi Terdistribusi
Jurnal Sistem Informasi Terdistribusi
 
SI-PI, HUTRIA ANGELINA MAMENTU, HAPZI ALI, INFRASTRUKTUR TI DAN TEKNOLOGI BAR...
SI-PI, HUTRIA ANGELINA MAMENTU, HAPZI ALI, INFRASTRUKTUR TI DAN TEKNOLOGI BAR...SI-PI, HUTRIA ANGELINA MAMENTU, HAPZI ALI, INFRASTRUKTUR TI DAN TEKNOLOGI BAR...
SI-PI, HUTRIA ANGELINA MAMENTU, HAPZI ALI, INFRASTRUKTUR TI DAN TEKNOLOGI BAR...
 
Si-pi, adi nurpermana, hapzi ali, infrastruktur ti dan teknologi baru , unive...
Si-pi, adi nurpermana, hapzi ali, infrastruktur ti dan teknologi baru , unive...Si-pi, adi nurpermana, hapzi ali, infrastruktur ti dan teknologi baru , unive...
Si-pi, adi nurpermana, hapzi ali, infrastruktur ti dan teknologi baru , unive...
 
5. si pi, adi nurpermana, hapzi ali, infrastruktur ti dan teknologi baru , un...
5. si pi, adi nurpermana, hapzi ali, infrastruktur ti dan teknologi baru , un...5. si pi, adi nurpermana, hapzi ali, infrastruktur ti dan teknologi baru , un...
5. si pi, adi nurpermana, hapzi ali, infrastruktur ti dan teknologi baru , un...
 
Contoh Project Metode Penelitian
Contoh Project Metode PenelitianContoh Project Metode Penelitian
Contoh Project Metode Penelitian
 
Siti maryam alizza_6701140222_pis1405_apsi
Siti maryam alizza_6701140222_pis1405_apsiSiti maryam alizza_6701140222_pis1405_apsi
Siti maryam alizza_6701140222_pis1405_apsi
 
Projek asti(b) revisi
Projek asti(b) revisiProjek asti(b) revisi
Projek asti(b) revisi
 
Algoritam1
Algoritam1Algoritam1
Algoritam1
 
Java control parallel port aris suryadi
Java control parallel port   aris suryadiJava control parallel port   aris suryadi
Java control parallel port aris suryadi
 
Ets mppl aidil
Ets mppl aidilEts mppl aidil
Ets mppl aidil
 
Pembuatan aplikasi sistem_informasi_nilai_akademik_melalui_sms_(short_message...
Pembuatan aplikasi sistem_informasi_nilai_akademik_melalui_sms_(short_message...Pembuatan aplikasi sistem_informasi_nilai_akademik_melalui_sms_(short_message...
Pembuatan aplikasi sistem_informasi_nilai_akademik_melalui_sms_(short_message...
 
TUGAS 3 - Kerangka Acuan Kerja Sistem Informasi Skripsi
TUGAS 3 - Kerangka Acuan Kerja Sistem Informasi SkripsiTUGAS 3 - Kerangka Acuan Kerja Sistem Informasi Skripsi
TUGAS 3 - Kerangka Acuan Kerja Sistem Informasi Skripsi
 
Forum dan Kuis
Forum dan KuisForum dan Kuis
Forum dan Kuis
 
Tugas project work rama pangeran kahyangan
Tugas project work rama pangeran kahyanganTugas project work rama pangeran kahyangan
Tugas project work rama pangeran kahyangan
 
0-Pengantar Pemrograman lanjut.pptx
0-Pengantar Pemrograman lanjut.pptx0-Pengantar Pemrograman lanjut.pptx
0-Pengantar Pemrograman lanjut.pptx
 
Rangkuman Materi Kuliah Teknik Komputer
Rangkuman Materi Kuliah Teknik KomputerRangkuman Materi Kuliah Teknik Komputer
Rangkuman Materi Kuliah Teknik Komputer
 
Pemrosesan paralel untuk kompresi data
Pemrosesan paralel untuk kompresi dataPemrosesan paralel untuk kompresi data
Pemrosesan paralel untuk kompresi data
 
Aplikasi Pemesanan Bus Berbasis Desktop
Aplikasi Pemesanan Bus Berbasis DesktopAplikasi Pemesanan Bus Berbasis Desktop
Aplikasi Pemesanan Bus Berbasis Desktop
 

OPT-PENJADWALAN-TASK-KOMPUTASI-PARALEL

  • 1. USULAN PENELITIAN RANCANG BANGUN PENJADWALAN TUGAS (TASK) PADA KOMPUTASI PARALEL DENGAN MENGGUNAKAN ALGORITMA COST-TIME OPTIMIZATION Diajukan Untuk Membuat Skripsi Program Sarjana (S-1) pada Jurusan Teknik Informatika Fakultas Sains dan Teknologi UIN Malang Oleh: M. Fikri Muhtadi H NIM. 08650121 JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI (UIN) MALANG 2010
  • 2. USULAN PENELITIAN RANCANG BANGUN PENJADWALAN TUGAS (TASK) PADA KOMPUTASI PARALEL DENGAN MENGGUNAKAN ALGORITMA COST-TIME OPTIMIZATION Nama : Dinil Maghfiroh Nim : 07650082 Jurusan : Teknik Informatika Fakultas : Sains dan Teknologi Tanggal …………….................. Yang Mengajukan M. Fikri Muhtadi H NIM. 08650121 Telah disetujui oleh : Penguji I Penguji II Penguji III Mengetahui, Ketua JurusanTeknik Informatika RIRIEN KUSUMAWATI, S.Si, M.Kom. NIP.
  • 3. A. JUDUL RANCANG BANGUN PENJADWALAN TUGAS (TASK) PADA KOMPUTASI PARALEL DENGAN MENGGUNAKAN ALGORITMA COST-TIME OPTIMIZATION B. LATAR BELAKANG Komputer pribadi (personal computer) harganya relatif murah. Harga yang terjangkau membuat komputer jenis ini menjadi pilihan bagi beberapa instansi, termasuk diantaranya instamsi pendidikan. Laboratorium- laboratorium di instansi pendidikan kebanyakan memakai komputer pribadi. Komputer pribadi di laboratorium cenderung untuk praktikum pelajaran yang relatif sederhana. Paradigma tersebut dinamai dengan komputasi tradisional (lihat Gambar 1). Komputasi tradisional adalah komputasi yang menggunakan prosesor tunggal. Praktium dengan komputasi yang tinggi bah- kan membutuhkan super komputing laboratorium tidak melayani. Hal itu terjadi karena komputer pribadi mempunyai kemampuan komputasi yang relatif rendah, walaupun sudah ada komputer pribadi dengan prosesor quad core. Gambar 1 : komputasi dengan prosesor tunggal. Sumber : Berney, 2010 Perangkat lunak yang memerlukan komputasi tinggi atau super biasanya dijalankan di super komputer atau mainframe (Stallings, 2003). Super komputer atau mainframe mempunyai harga yang sangat mahal. Kedua jenis komputer tersebut tidak terjangkau oleh institusi pendidikan, sehingga perangkat lunak yang membutuhkan komputasi tinggi tidak bisa dijalankan. Komputer pribadi perlu ditingkatkan daya gunanya. Komputer pribadi- komputer pribadi dapat berbagi tugas dengan komputer pribadi yang lain. Antar komputer pribadi dapat saling komunikasi menggunakan media jaringan komputer local (Local Arena Network, LAN). Tugas-tugas (job, task, data) komputasi dapat disebar (distributed) ke komputer-komputer pribadi yang lain. Komputer yang berfungsi sebagai penyebar tugas disebut sebagai simpul kepala (head node), sedangkan komputer yang berfungsi sebagai penerima tugas disebut dengan simpul (node). Komputasi dengan menggunakan lebih dari satu prosessor disebut dengan komputasi paralel (lihat Gambar 1). Rangkaian tugas-tugas yang biasanya di proses secara berurutan oleh prosesor tunggal (Gambar 1),
  • 4. dibagi-bagi kemudian disebar ke beberapa prosesor atau prosesor jamak (Gambar 1). berdasarkan konsep penyebaran tugas, komputer-komputer pribadi dapat digunakan sebagai sarana komputasi paralel. Komputer pribadi yang saling bekerja sama untuk memproses rangkain tugas ke dalam bentuk paralel dapat berkomunikasi dengan media jaringan komputer lokal. Proses pemecahan dan penyebaran rangkain tugas membutuhkan suatu komputer yang berfungsi sebagai simpul kepala. Simpul kepala harus memiliki fungsi untuk mengatur pembagian tugas, penyeimbangan beban kerja semua simpul, sinkronisasi antar simpul dan menjaga keabsahan data. Gambar 2 : komputasi dengan prosesor tunggal. Sumber : Berney, 2010 Agent merupakan salah satu obyek yang dapat beroperasi secara mandiri dan dapat berpindah tempat ke komputer lain (Wooldridge, 2002). Agent mempunyai thread tersendiri sehingga agent dapat beroperasi secara mandiri. Kemampuan berpindah memungkinkan agent untuk memproses tugas yang diterima ke komputer lain. Algoritma penjadwalan dibutuhkan karena yang mengambil keperluan proses aplikasi dan keperluan kualitas service pengguna seperti deadline, budget dan optimasinya dalam pertimbangan dalam pemilihan. Apabila user menginputkan sejumlah besar task dengan perbedaan operasi maka dibutuhkan sebuah penjadwalan untuk task-task tersebut agar mendapat pelayanan yang sesuai kebutuhan dan pemakaian prosessor bisa dimaksimalkan saat pengeksekusiannya. Jadi pada komputasi paralel ini memerlukan penjadwalan (task) dengan menggunakan algoritma Cost-Time Optimization.
  • 5. C. RUMUSAN MASALAH Berdasarkan penjelasan pada latar belakang diatas, maka rumusan masalah dalam penelitian ini sebagai berikut: 1. Bagaimana menerapkan algoritma coste time optimization untuk penjadwalan tugas pada komputasi paralel berbasis multi agent ? D. BATASAN MASALAH Batasan masalah dalam tugas akhir ini antara lain : 1. Bahasa pemrograman yang digunakan java. 2. Agent yang digunakan Jade (Java Agent Development) (Bellifemine, 2003). 3. Titik berat pada pembuatan penjadwalan rangkaian tugas ke komputer simpul dengan mengguakan algoritma cost-time optimization E. TUJUAN Tujuan dari penelitian ini adalah Membangun sistem penjadwalan komputasi paralel dengan menggunakan algoritma cost-time optimization F. MANFAAT Manfaat yang dapat diambil dari penelitian ini adalah : 1. Dapat meningkatkan kemampuan laboratorium untuk memproses data-data dengan komputasi tingkat tinggi. 2. Pengguna laboratorium baik pengajar maupun pelajar dapat mengenal dan melakukan komputasi tingkat tinggi. G. TINJAUAN PUSTAKA 1. Java Java Platform adalah sebuah istilah yang merujuk pada sekumpulan program-program dari Sun Microsystem yang memungkinkan seseorang untuk membangun dan menjalankan program yang dibuat dengan menggunakan bahasa pemrograman Java. Platform ini tidak tergantung dengan prosessor dan sistem operasi tertentu. Untuk bekerja, ia membutuhkan mesin eksekusi yang disebut virtual machine dan compiler dengan standar pustaka tertentu. Pada platform Java, terdapat beberapa edisi, yaitu: a. Java ME (Micro Edition) b. Java SE (Standard Edition) c. Java EE (Enterprise Edition Java Virtual Machine adalah inti dari platform Java. Di dalamnya terdapat JIT (Just In-Time) compiler yang menerjemahkan byte code menjadi instruksi pada prosesor, pada saat program dijalankan dan menampung kode-kode asli program tersebut di memori selama proses eksekusi. Hal ini lah yang membuat Java tidak tergantung dengan jenis prosessor dan sistem operasi apapun. 2. Agent Agen menunjukan kemampuan yang menjanjikan untuk menjadi paradigma baru dalam pengembangan perangkat lunak. Agen adalah suatu
  • 6. komponen perangkat lunak khusus yang bersifat otonom yang menyediakan interface yang bersifat interoperabel ke berbagai sistem, dan dapat berlaku seperti agen pada manusia, yang bekerja pada client-nya, dalam rangka mencapai agenda yang diberikan padanya. Karakteristik Agen, agen memiliki cirri-ciri sebagai berikut: a. Otonom b. Sosial c. Reaktif d. Proaktif e. Bergerak f. Terpercaya g. Berusaha mencapai tujuan h. Rasional i. Dapat belajar 3. JADE Salah satu keutamaan JADE adalah penerapan dari abstraksinya yang dilakukan dengan bahasa pemrograman berorientasi objek yang telah dikenal luas, yaitu Java, yang mempunyai API yang baik. Dalam pengembangan tersebut, rancangan-rancangan JADE banyak dipengaruhi oleh abstraksi agen, diantaranya adalah: a. Agen bersifat autonomous dan proaktif b. Agen dapat menolak suatu permintaan dan agen tidak berorientasi pada koneksi c. Sistem yang bersifat Peer to Peer d. Sistem distributive e. Mengikuti spesifikasi FIPA f. Pengiriman pesan-pesan yang tidak serempak secara efisien g. Layanan white-pages dan yellow-pages h. Pengaturan siklus hidup agen secara sederhana dan efektif i. Dukungan mobilitas agen j. Mekanisme berlangganan k. Graphical tools l. Dukungan untuk Ontology dan Content Language m. Pustaka protokol-protokol interaksi n. Penggabungan dengan berbagai teknologi berbasis web o. Dukungan terhadap platform J2ME dan lingkungan nirkable p. Antarmuka untuk peluncuran dan pengendalian platform dan komponen terdistribusinya yang dilakukan dari aplikasi eksternal q. Kernel yang dapat diperluas JADE RMA (Remote Monitoring Agent) adalah suatu alat yang mengimplementasikan sebuah graphical platform management console. Alat ini mengimplemenatsikan kelas yang dalam jade.tools.rma.rma. pemakaiannya lebih sering dimunculkan dengan menggunakan GUI (yaitu dengan menambahkan perintah gui ). RMA menyediakan fasilitas untuk memonitor dan mengatur sebuah platform JADE, yang terdiri dari beberapa host dan container. Salah satu layanan yang disediakan adalah pembentukan
  • 7. Agen Sniffer, yang berguna untuk memeriksa komunikasi berupa pengiriman pesan yang terjadi antar agen. Selain itu juga terdapat Agen Instropector yang berguna untuk melakukan pemeriksaan berbagai jenis behaviour sedang dimiliki oleh suatu agen, dan behaviour mana saja yang sedang aktif, serta yang mana saja yang sedang di-block. 4. Komputasi Paralel Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar (di industry keuangan, bioinformatika, dll) ataupun karena tuntutan proses komputasi yang banyak. Kasus kedua umum ditemui di kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi), kimia (kimia komputasi) dll. 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 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 yg 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.
  • 8. 5. Penjadwalan CPU Penjadwalan merupakan salah satu fungsi dasar dari sistem operasi. Hampir semua sumber daya komputer dijadwalkan sebelum digunakan. Ketika CPU mengalami waktu idle, sistem operasi harus memilih salah satu proses untuk masuk kedalam antrian yang akan untuk dieksekusi. Pemilihan tersebut dilakukan oleh penjadwal jangka pendek atau penjadwal CPU. Ada tiga tipe penjadwal yang berada bersama pada sistem operasi kompleks, yaitu: a. Penjadwal jangka pendek yang bertugas menjadwalkan alokasi pemroses di antara proses-proses yang telah siap di memori utama. b. Penjadwal jangka menengah akan menangani serta mengendalikan transisi dari suspended-toready dari proses-proses swapping. c. Penjadwal jangka panjang bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. d. Gambar 3 : Tipe-tipe penjadwalan Sumber : Konsep Sistem Operasi Penjadwalan memilih proses yang ada di memori serta siap untuk dieksekusi, dan mengalokasikan CPU untuk mengeksekusinya. 6. Algoritma Penjadwalan Penjadwalan dan penyusunan eksekusi pada system terdistribusi terlihat sangan simple, akan tetapi kekompleksan timbul ketika user menggunakkan batasan QoS seperti deadline (eksekusi berdasarkan penyelesaian waktu) dan pembatasan komputasi cost (budget) Algoritma penjadwalan membutuhkan untuk penyesuaian perubahan muatan dan kondisi tersedianya resource untuk mencapai hasil dan pada waktu yang sama dalam batasan deadline dan budget. Pada aplikasi ini ada 3 adaptive scheduling algorithma untuk pembatas deadline dan budget adalah sebagai berikut : - Cost optimization, - Time optimization, - Conservative Time optimization
  • 9. Dan juga ada pengembangan lain yang disebut Cost-Time Optimization scheduling. Tabel : Adaptive scheduling algorithms constraints and objectives Adaptive Scheduling Execution Time Execution Cost Algorithm (not beyond deadline) (not beyond budget) Cost Optimisation Limited by deadline Minimize Time Optimisation Minimize Limited by budget Conservative Time Limited by deadline Limited by budget Optimisation Cost-Time Optimisation Minimize Minimize a. Cost Optimization Algoritma penjadwalan Cost optimization mencoba menyelesaikan percobaan seekonomis mungkin dengan tidak melebihi deadline. - Mengurutkan resource berdasarkan peningkatan cost - Untuk setiap resource dalam urutan, menugaskan job sebanyak mungkin untuk resource, tanpa melebihi deadline b. Time Optimization Algoritma penjadwalan Time optimization mencoba menyelesaikan percobaan secepat mungkin dengan budget yang tersedia. - Untuk setiap resource, ??? - Mengurutkan resource berdasarkan penyelesaian waktu selanjutnya - Menugaskan satu job ?? c. Conservative Time Optimization Algoritma penjadwalan Conservative Time optimization mencoba untuk menyelesaikan percobaan dengan pembatas deadline dan cost, meminimalisir waktu ketika budget terbesar tersedia. Ini menghabiskan budget dengan sangat hati-hati dan memastikan menggunakan seminimal mungkin budget per job dari seluruh budget yang tersedia untuk setiap job yang tidak terproses. d. Cost-Time Optimization Algoritma penjadwalan Cost-Time Optimization hampir sama dengan cost optimization akan tetapi jika ada banyak resource dengan cost yang sama, maka diperlakukan strategi time optimization.
  • 10. 1. RESOURCE DISCOVERY: mengdentifikasi sumber daya dan kemampuan mereka menggunakan informasi layanan Grid 2. RESOURCE TRADING: Mengidentifikasi biaya seluruh sumber daya dan kemampuan untuk dikirimkan per cost-unit, biaya unit. Biaya sumber daya dapat dinyatakan dalam satuan seperti pengolahan biaya-per-MI, biaya-per-pekerjaan, biaya per waktu unit CPU, dll dan kebutuhan penjadwalan untuk memilih unit yang sesuai untuk perbandingan. 3. Jika user memasukkan D dan B-faktor, kemudian menentukan batas waktu absolut dan anggaran berdasarkan kemampuan sumber daya dan biaya, dan persyaratan pengolahan aplikasi (misalnya, total MI diperlukan). 4. SCHEDULING: mengulangi sementara job yang tidakterproses yang tersedia dan waktu saat ini dan pengolahan beban berada dalam batas waktu dan batas anggaran. a. untuk setiap sumber daya, memprediksi dan menetapkan tingkat konsumsi pekerjaan atau sumber daya yang tersedia melalui ukuran dan strategi ekstrapolasi dengan mempertimbangkan waktu yang dibutuhkan untuk proses sebelumnya pekerjaan. b. mengurutkan sumber daya dengan urutan kenaikan biaya. Jika dua atau lebih sumber daya yang dengan biaya yang sama, agar mereka seperti yang kuat (misalnya, pekerjaan yang lebih tinggi atau ketersediaan sumber daya) adalah pilihan pertama. c.membuat sumber daya yang mengandung sumber daya dengan biaya yang sama. d.mengurutkan kelompok sumber daya dengan urutan kenaikan biaya. e.Jika salah satu sumber daya telah ditugaskan untuk pekerjaan dalam acara penjadwalan sebelumnya, tetapi tidak dikirim ke sumber daya untuk pelaksanaan dan ada variasi dalam ketersediaan sumber daya, kemudian bergerak sesuai jumlah pekerjaan ke Daftar-Pekerjaan-belum dibagi. Ini membantu dalam memperbarui jadwal keseluruhan berdasarkan ketersediaan sumber daya informasi terbaru. f. mengulangi langkah-langkah berikut untuk setiap kelompok sumber daya selama ada ada pekerjaan ditugaskan dengan mengulangi langkah-langkah berikut ini untuk setiap pekerjaan di Pekerjaan-Daftar-belum dibagi, tergantung pada biaya pengolahan dan ketersediaan anggaran: [ini menggunakan strategi optimasi waktu.]
  • 11. - Pilih pekerjaan dari Pekerjaan-Daftar-belum dibagi. - Untuk setiap sumber daya, menghitung / memperkirakan waktu penyelesaian pekerjaan dengan mempertimbangkan sebelumnya ditugaskan pekerjaan dan penyelesaian pekerjaan tingkat ketersediaan dan berbagi sumber daya. - mengurutkan sumber daya oleh meningkatnya urutan waktu penyelesaian. - metetapkan pekerjaan untuk sumber daya pertama dan melepasnya dari Pekerjaan-Daftar-belum dibagi jika waktu penyelesaian pekerjaan diperkirakan kurang dari tenggat waktu. 5. DISPATCHER menulangi langkah-langkah berikut untuk setiap sumber daya jika memiliki pekerjaan harus dikirim: a. mengidentifikasijumlah pekerjaan yang dapat diajukan tanpa overloading sumber daya, kebijakan default ini adalah untuk mengirimkan pekerjaan selama jumlah pengguna dikerahkan pekerjaan H. METODOLOGI PENELITIAN 1. Persiapan proposal Pada tahap ini peneliti melakukan persiapan dan penyusunan proposal penelitian untuk tugas akhir 2. Survey dan pengumpulan data a. Studi Literatur 3. Perancangan dan pembuatan aplikasi a. Context Diagram 0 Sistem User Input job Eeksekusi Job Node Komputasi hasil komputasi Hasil eksekusi b. Proses pembuatan system komputasi Pada penelitian ini komponen sistem terdiri dari head node dan node, untuk lebih jelas dapat dilihat di gambar. Komunikasi antara head node dan node menggunakan jaringan komputer lokal (LAN). Data input dimasukkan ke head node kemudian diatur untuk dijadwalkan ke node. Kesimbangan pembagian tugas dilakukan oleh load balancing. Agent membawa sub rangkaian tugas ke node kemudian agent menjalankan operasi sesuai dengan tugas yang diemban dan membawa kembali hasil ke head node.
  • 12. HEAD NODE P AGENT NODE 1 B LOAD E U BALANCING F AGENT N F G E AGENT NODE 2 INPUT SCHEDULER L R G A M AGENT U E N NODE 3 HEAD MANAGEMENT AGENT M Synchronitation N O Dispatcher R A Y AGENT NODE n Gambar : Motodologi dari komputasi paralel berbasis multi agent c. Inputan Pada penelitian ini pengguna sebagai pemakai utama dari komputasi paralel. Masukan yang diterima sistem berbentuk vektor. Data yang dimasukkan oleh user diatur oleh scheduler dan load balancing untuk dijadwalkan sesuai dengan algoritma yang dipakai. Pada penelitian ini, operasi-operasi yang dimiliki oleh paralel komputing adalah operasi yang berkenaan dengan vektor. d. Load Balancing Load balancing bekerja untuk menyeimbangkan beban kerja dilakukan oleh node-node. Penyeimbangan beban kerja disebar secara merata ke semua node. Penyeimbangan beban kerja digunakan untuk menghindari beban berlebih pada node tertentu e. Scheduler Scheduler berfungsi untuk menjadwalkan rangkaian tugas ke node- node. Penjadwalan digunakan untuk menghindari penumpukan agent pada node terntentu. Hal-hal yang perlu diperhatikan adalah kapan node sedang sibuk operasi suatu agent dan tidak perlu dikirimi agent lagi. Atau kapan suatu node dinyatakan diperlu dikirim agent, atau kapan suatu agent dinyatakan “mati” atau tidak kembali Pada sistem penjadwalan job sendiri, setidaknya ada dua layanan yang perlu disediakan. Layanan- layanan tersebut adalah sebagai berikut.  Layanan pengiriman job yang digunakan untuk mengirim job ke sistem penjadwalan job.  Layanan eksekusi job yang digunakan untuk menjalankan job yang diterima.
  • 13. Array Add, sub, image confulusion HEAD NODE NODE Data command Syncroniser Job control agent agent INPUT job queue Public relation agent Node collector agent Dispacher agent List Node Computaional Block table agent display agent Job Scheduler Node Scheduler Block queue manager agent manager agent Recepeint blok schedul Operation log agent Result manager agent Gambar : a. Inputan User yang berupa komputer yang bertanggung jawab mengatur semua jalannya system paralel yang akan dibangun menginputkan data bisa yang bisa berupa command atau array sebuah image ke dalam head node. b. Head Node Head node adalah sebuah komputer yang menagtur jalannya system dan didalam head node inilah yang akan mengidentifikasi data mekanisme yang tersedia. Mulai dari pengontrolan job-job, pemecah job-job menjadi task-task yang lebih kecil dan menjadwalkan job-job yang akan dieksekusi oleh node-node. c. Node Node-node adalah sekumpulan komputer yang diparalelkan yang akan menerima job-job berdasarkan penjadwalannya masing-masing yang telah ditentukan oleh head node. Dalam hal ini system mengolah data yang berupa array. Dalam rancangan penelitian ini, menggunakan contoh data yang berupa matrik dan command atau operasi yang dilakukan adalah operasi penambahan dan
  • 14. perkalian matriks. Data di inputkan oleh user melalui komputer induk (head node). Dalam head node data diolah terlebih dahulu. Pengolahan head node adalah sebagai berikut: - JobControl Agent Agent yang berfungsi untuk menerima tugas (job), diberi id_job masing- masing dan menyimpan dalam bentuk antrian (queue) Job[id] Job[id] Job[id] Job[id] Job[id] QUEUE - Dispatcher Agent Agent yang berfungsi untuk memecah tugas-tugas menjadi sub-sub tugas yang atomic dan membentuk satu table blok. Satu sub tugas yang atomic dan membentuk satu table blok. Table Block ( [id_job], [id_task]) Job[id_job] [no]Sub task [no]Sub task [no]Sub task - Job Scheduler Manager agent Job Scheduler Manager Agent yang berfungsi penjadwalkan table blok- tabel blok yang akan dieksekusi terlebih dahulu berdasarkan ……… - Node Scheduler Manager Agent Node Scheduler Manager Agent yang berfungsi menjadwalkan node-node yang akan mengeksekusi table blok-table blok dengan menggunakan algoritma cost-time optimization. Dimana dalam algoritma ini menentukan resource-resource setiap node dengan parameter CPU, Memory dan harddisk yang dimiliki oleh setiap node. Cost Time Optimisation dengan R1=R2=R3=R4 QUEUE R1 R2 Table blok R3 Table blok Table blok R4 - Node Collector Agent - Synchronizer Agent
  • 15. 4. Implementasi Software 5. Ujicoba dan Intregasi Pengujian dilakukan menggunakan komputer laboratorium 6. Penulisan dan pembuatan laporan Pada tahap ini dilakukan penulisan dan pembuatan laporan dari hasil penelitian yang dilakukan selama proses pembuatan aplikasi untuk dokumentasi tugas akhir I. PENELITIAN TERKAIT J. JADWAL PENELITIAN Penelitian dibuat dengan menganut jadwal yang tertera pada tabel 4.1. Jadwal penelitian mengatur empat pokok kegiatan, yaitu : studi literatur, perancangan, pembuatan, evaluasi, dan dokumentasi. Tabel 4.1 : Jadwal pelaksanaan penelitian. Bulan Kegiatan 1 2 3 4 5 6 Studi literatur lanjut X Perancangan sistem X Pembuatan antar muka untuk pengguna X Pembuatan penjadwalan tugas sederhana X X Uji coba tahap prototipe X Evaluasi dan reka ulang sistem X X Pembuatan penjadwalan tugas dengan metode X priority Uji coba sistem tahap 2 X Evaluasi Evaluasi dan reka ulang tahap 2 X Penulisan dan Pembuatan Laporan X K. DAFTAR PUSTAKA Barney, Blaise. 2010. Introduction to Parallel Computing. diunduh dari https://computing.llnl.gov/tutorials/parallel_comp/ pada tanggal 22 Maret 2010 Bellifemine. 2003. Jade White Paper. Exp Volume 3 Nomor 3. Turban, Efraim; Aroson, Jay E.; Liang, Ting – Peng. 2005. Decision Support Systems and Intelligent System. Pearson Education. Stalling, William. 2003. Computer Oraganization and Architekture : Designing for Performance Sixth Edition. Prentice-Hall Inc.