Usulan penelitian ini membahas rancang bangun penjadwalan tugas pada komputasi paralel menggunakan algoritma cost-time optimization. Penelitian ini bertujuan meningkatkan kemampuan laboratorium untuk memproses data dengan komputasi tinggi melalui pembagian tugas antar komputer menggunakan agen-agen dan penjadwalan tugas berbasis algoritma tersebut.
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.