Download - Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggunakan algoritma cost time optimization

Transcript
Page 1: Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggunakan algoritma cost time optimization

USULAN PENELITIAN

RANCANG BANGUN PENJADWALAN TUGAS (TASK) PADA KOMPUTASI PARALEL DENGAN MENGGUNAKAN

ALGORITMA COST-TIME OPTIMIZATION

Diajukan Untuk MembuatSkripsi Program Sarjana (S-1) pada Jurusan Teknik Informatika

Fakultas Sains dan Teknologi UIN Malang

Oleh:M. Fikri Muhtadi H

NIM. 08650121

JURUSAN TEKNIK INFORMATIKAFAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI (UIN) MALANG2010

Page 2: Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggunakan algoritma cost time optimization

USULAN PENELITIAN

RANCANG BANGUN PENJADWALAN TUGAS (TASK) PADA KOMPUTASI PARALEL DENGAN MENGGUNAKAN

ALGORITMA COST-TIME OPTIMIZATION

Nama : Dinil MaghfirohNim : 07650082Jurusan : Teknik InformatikaFakultas : Sains dan Teknologi

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

M. Fikri Muhtadi HNIM. 08650121

Telah disetujui oleh :

Penguji I Penguji II Penguji III

Mengetahui,Ketua JurusanTeknik Informatika

RIRIEN KUSUMAWATI, S.Si, M.Kom.NIP.

Page 3: Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggunakan algoritma cost time optimization

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

B. LATAR BELAKANGKomputer 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

Page 4: Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggunakan algoritma cost time optimization

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, 2010Agent 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.

Page 5: Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggunakan algoritma cost time optimization

C. RUMUSAN MASALAHBerdasarkan 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 MASALAHBatasan 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. TUJUANTujuan dari penelitian ini adalah Membangun sistem penjadwalan

komputasi paralel dengan menggunakan algoritma cost-time optimization

F. MANFAATManfaat 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 PUSTAKA1. 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. AgentAgen menunjukan kemampuan yang menjanjikan untuk menjadi

paradigma baru dalam pengembangan perangkat lunak. Agen adalah suatu

Page 6: Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggunakan algoritma cost time optimization

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. Otonomb. Sosialc. Reaktifd. Proaktife. Bergerakf. Terpercayag. Berusaha mencapai tujuanh. Rasionali. Dapat belajar

3. JADESalah 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 proaktifb. Agen dapat menolak suatu permintaan dan agen tidak berorientasi pada

koneksic. Sistem yang bersifat Peer to Peerd. Sistem distributivee. Mengikuti spesifikasi FIPAf. Pengiriman pesan-pesan yang tidak serempak secara efisieng. Layanan white-pages dan yellow-pagesh. Pengaturan siklus hidup agen secara sederhana dan efektifi. Dukungan mobilitas agenj. Mekanisme berlangganank. Graphical toolsl. Dukungan untuk Ontology dan Content Languagem. Pustaka protokol-protokol interaksin. Penggabungan dengan berbagai teknologi berbasis webo. Dukungan terhadap platform J2ME dan lingkungan nirkablep. Antarmuka untuk peluncuran dan pengendalian platform dan komponen

terdistribusinya yang dilakukan dari aplikasi eksternalq. 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

Page 7: Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggunakan algoritma cost time optimization

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

Page 8: Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggunakan algoritma cost time optimization

5. Penjadwalan CPUPenjadwalan 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 penjadwalanSumber : Konsep Sistem Operasi

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

6. Algoritma PenjadwalanPenjadwalan 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.

Page 9: Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggunakan algoritma cost time optimization

Tabel : Adaptive scheduling algorithms constraints and objectivesAdaptive Scheduling

AlgorithmExecution Time

(not beyond deadline)Execution Cost

(not beyond budget)Cost Optimisation Limited by deadline Minimize Time Optimisation Minimize Limited by budgetConservative Time Optimisation

Limited by deadline Limited by budget

Cost-Time Optimisation Minimize Minimize

a. Cost OptimizationAlgoritma 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 OptimizationAlgoritma 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 OptimizationAlgoritma 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).

Page 10: Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggunakan algoritma cost time optimization

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. DISPATCHERmenulangi langkah-langkah berikut untuk setiap sumber daya jika memiliki pekerjaan harus dikirim:

Page 11: Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggunakan algoritma cost time optimization

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

H. METODOLOGI PENELITIAN1. Persiapan proposal

Pada tahap ini peneliti melakukan persiapan dan penyusunan proposal penelitian untuk tugas akhir

2. Survey dan pengumpulan dataa. Studi Literatur

3. Perancangan dan pembuatan aplikasia. Context Diagram

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.

Gambar : Motodologi dari komputasi paralel berbasis multi agent

P

E

N

G

G

U

N

A

HEAD NODE

LOAD BALANCING

SCHEDULERINPUT

BUFFER

MEMORY

HEAD MANAGEMENTSynchronitationDispatcher

L

A

N

AGENT

AGENT

NODE 1

NODE 2

NODE 3

NODE n

AGENT

AGENT

AGENT

AGENT

Page 12: Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggunakan algoritma cost time optimization

c. InputanPada 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 BalancingLoad 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. SchedulerScheduler 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 kembaliPada 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.

Page 13: Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggunakan algoritma cost time optimization

Gambar :

a. InputanUser 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 NodeHead 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

Data HEAD NODE

INPUT Public relation agent

job queue

Arrayimage

command

Dispacher agent

Add, sub, confulusion

NODE

Node collectoragent

Block table

Job control agent

List Node

Job Scheduler manager agent

blok schedul

Node Scheduler manager agent

Operation log

Computaional agent

Recepeint agent

Block queue

Syncroniser agent

Result manager agent

displayagent

Page 14: Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggunakan algoritma cost time optimization

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)

- Dispatcher AgentAgent 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.

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

- Node Scheduler Manager AgentNode 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

- Node Collector Agent- Synchronizer Agent

Job[id]Job[id]Job[id]Job[id]Job[id]

Table Block ( [id_job], [id_task])

[no]Sub task

[no]Sub task

[no]Sub task

Job[id_job]

QUEUE

Table blok

Table blok

Table blok

R4

R3

R2

R1

QUEUE

Page 15: Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggunakan algoritma cost time optimization

4. Implementasi Software5. Ujicoba dan Intregasi

Pengujian dilakukan menggunakan komputer laboratorium6. 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 PENELITIANPenelitian 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.

KegiatanBulan1 2 3 4 5 6

Studi literatur lanjut XPerancangan sistem XPembuatan antar muka untuk pengguna XPembuatan penjadwalan tugas sederhana X XUji coba tahap prototipe XEvaluasi dan reka ulang sistem X XPembuatan penjadwalan tugas dengan metode priority

X

Uji coba sistem tahap 2 XEvaluasi Evaluasi dan reka ulang tahap 2 XPenulisan 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.