Anda di halaman 1dari 71

IMPLEMENTASI SISTEM CLUSTER PADA DISTRIBUTED RENDERING MENGGUNAKAN SCIENTIFIC LINUX

PROYEK AKHIR

Penulis Dion Prayoga Dwi Pangestu NIM 30208036

PROGRAM STUDI TEKNIK KOMPUTER JURUSAN TEKNOLOGI INFORMASI POLITEKNIK TELKOM BANDUNG 2013

Ucapan syukur dari hati yang terdalam saya sampaikan kepada Allah SWT atas segala karunia yang telah diberikan, sehingga saya dapat berdiri tegar dan menyelesaikan skripsi yang berjudul Implementasi Sistem Cluster pada Distributed Rendering Menggunakan Scientific Linux. Sholawat dan salam tak lupa saya lantunkan bagi Rasulullah SAW, manusia terbaik yang pernah ada di dunia ini yang selalu menjadi sumber inspirasi untuk selalu menjadi lebih baik diberbagai hal. Kedua orang tua yang sangat saya sayangi Agung Yuliarto dan Sri Lestari, Kakakku Bayu Ramadhan, adikku tercinta Muhammad Guntur Pamungkas, serta seluruh anggota keluarga yang selalu memberi dukungan dan untuk cita-cita dan harapanku. Kekasihku Anis yang selalu memberikan support untuk Proyek Akhir ini.

LEMBAR PENGESAHAN PROYEK AKHIR IMPLEMENTASI SISTEM CLUSTER PADA DISTRIBUTED RENDERING MENGGUNAKAN SCIENTIFIC LINUX

Penulis Dion Prayoga Dwi Pangestu NIM 30208036

Pembimbing I Ir. Nina Hendrarini, M.T. NIP 10670637-3

Pembimbing II Anang Sularsa, S.T., M.T. NIP

Ketua Program Studi Henri Rossi Andrian, S.T., M.T. NIP 09820562-1

Tanggal Pengesahan: 31 Juli 2013

PERNYATAAN
Dengan ini saya menyatakan : 1. proyek akhir ini adalah asli dan belum pernah diajukan untuk mendapatkan gelar akademik (Ahli Madya, Sarjana, Magister dan Doktor), baik di Politeknik Telkom maupun di perguruan tinggi lainnya; 2. karya tulis ini murni gagasan, rumusan, dan penelitian saya sendiri, tanpa bantuan pihak lain, kecuali arahan tim pembimbing atau tim promotor atau penguji; 3. dalam karya tulis ini tidak terdapat karya atau pendapat yang telah ditulis atau dipublikasikan orang lain, kecuali secara tertulis dengan jelas dicantumkan sebagai acuan dalam naskah dengan menyebutkan nama pengarang dan dicantumkan dalam daftar pustaka; 4. mengijinkan karya tulis ini dipublikasikan oleh Politeknik Telkom, dengan tetap mencantumkan saya sebagai penulis; dan 5. pernyataan ini saya buat dengan sesungguhnya dan apabila pada kemudian hari terdapat penyimpangan dan ketidakbenaran dalam pernyataan ini maka saya bersedia menerima sanksi akademik berupa pencabutan gelar yang telah diperoleh karena karya tulis ini, serta sanksi lainnya sesuai norma yang berlaku di Politeknik Telkom.

Bandung, 23 Juli 2013 Pembuat pernyataan,

Dion Prayoga Dwi Pangestu

KATA PENGANTAR
Assalammualikum warahmatullahi wabarakatu, Puji syukur saya panjatkan kehadirat Tuhan yang Maha Esa karena atas kehendakNya penelitian berjudul Implementasi Sistem Cluster pada Distributed Rendering Menggunakan Scientific Linux ini dapat terselesaikan tepat waktu. Makalah ini disusun guna memenuhi tugas akhir di Politeknik Telkom. Dalam proses penyusunan makalah ini, banyak hambatan yang saya temui. Namun dengan seijin Allah SWT dan bantuan banyak pihak, maka makalah ini dapat diselesaikan dengan tepat waktu. Oleh sebab itu saya mengucapkan terima kasih kepada seluruh pihak yang membantu dalam penyusunan dan penyempurnaan makalah ini, diantaranya: 1. Kepada kedua orang tuaku tercinta yang senantiasa memberikan dukungan baik moril maupun materil begitu juga dengan kakak saya. 2. Kepada Ibu Nina Hendrarini selaku pembimbing 1 dan Bapak Anang Sularsa selaku pembimbing 2 yang senantiasa memberikan bimbingan dalam proses penyempurnaan laporan ini. 3. Kepada seluruh staf dan admin jurusan Politeknik Telkom. 4. Kepada Anis windarti yang telah memberikan spirit. 5. Kepada Dhiwan, Bhaskara, Lindu, Timothy dan Teman-teman Politeknik Telkom yang telah menginspirasi dalam penyusunan makalah ini. 6. Dan seluruh pihak yang terkait yang tidak dapat disebutkan satu-persatu. Penulis menyadari bahwa makalah yang telah saya susun ini masih jauh dari kesempurnaan. Oleh karena itu, saya sebagai penyusun senantiasa mengharapkan masukan baik kritik maupun saran dari berbagai pihak guna pengembangan makalah selanjutnya. Bandung, 23 Juli 2013 Penulis

Dion Prayoga Dwi pangestu

ABSTRAK
Gambar grafis sudah merupakan kebutuhan pokok pada era teknologi informasi saat ini. Aplikasi grafis banyak digunakan untuk mengolah gambar dalam bidang industri advertising dan pembuatan film animasi. Untuk mengolah gambar yang banyak dan kompleks membutuhkan waktu lama dan memerlukan PC dengan spesifikasi tinggi, namun harga PC tersebut masih sangat mahal, padahal rendering animasi adalah suatu pekerjaan yang sangat memakan waktu. Untuk menangani masalah tersebut diperlukan komputasi yang menerapkan sistem cluster pada proses distributed rendering. Dalam proyek akhir ini menjelaskan bagaimana komputasi cluster dapat digunakan untuk animasi render pada aplikasi blender dan akan dilakukan beberapa skenario implementasi berdasarkan waktu eksekusi, beserta speedup. Metode ini dapat digunakan sebagai alternatif pengganti super komputer dan dengan demikian instalasi jaringan komputer untuk kepentingan pembuatan film animasi akan semakin efisien dan murah. Kata Kunci: Cluster, Distributed rendering

ii

ABSTRACT
Graphic image are a necessity in today's information technology era. graphics applications are widely used for image processing in industrial advertising and animation filmmaking. For image processing and complex that many take a long time and requires a PC with high specs, but the price is still very expensive PC, when rendering animation is a very time consuming job. To deal with these problems required to apply computational cluster system on a distributed rendering process. In this final project explains how do cluster computing can be used for animation renderingin blender application and implementation will be carried out several scenarios based on execution time, along with the speedup. This method can be used as an alternative to a super computer, and thus the installation of a computer network for the purpose of making animation films will be more efficient and cheaper. Keywords: Cluster, Distributed rendering

iii

DAFTAR ISI

KATA PENGANTAR ...................................................................................................................... i ABSTRAK .................................................................................................................................... ii ABSTRACT ................................................................................................................................. iii DAFTAR ISI ................................................................................................................................ iv DAFTAR GAMBAR ..................................................................................................................... vi DAFTAR TABEL ........................................................................................................................ viii DAFTAR LAMPIRAN................................................................................................................... ix BAB 1 PENDAHULUAN .............................................................................................................. 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 2.1 2.2 2.3 2.4 3.1 3.2 3.3 Latar Belakang ................................................................................................................. 1 Rumusan Masalah............................................................................................................ 2 Tujuan .............................................................................................................................. 2 Batasan Masalah.............................................................................................................. 3 Definisi Operasional......................................................................................................... 3 Metode Pengerjaan ......................................................................................................... 4 Jadwal Pengerjaan ........................................................................................................... 5 Jaringan Komputer........................................................................................................... 6 Parallel Computing........................................................................................................... 8 2.2.1 Parallel Processing Python ......................................................................... 13 Cluster Computer ........................................................................................................... 14 Rendering ....................................................................................................................... 19 Gambaran Sistem Saat Ini.............................................................................................. 22 Analisis Kebutuhan Sistem............................................................................................. 22 Kebutuhan Perangkat Keras dan Perangkat Lunak........................................................ 24 3.3.1 3.3.2 3.3.3 Kebutuhan Perangkat Keras....................................................................... 24 Kebutuhan Perangkat Lunak ...................................................................... 25 Desain Sistem ............................................................................................. 26

BAB 2 TINJAUAN PUSTAKA ....................................................................................................... 6

BAB 3 ANALISIS DAN PERANCANGAN..................................................................................... 22

iv

3.4 3.5 4.1

Implementasi Sistem ..................................................................................................... 27 Skenario pengujian ........................................................................................................ 27 Implementasi ................................................................................................................. 28 4.1.1 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 Instalasi Sistem Operasi ............................................................................. 28 Instalasi Library .......................................................................................... 28 Konfigurasi SELinux dan Firewall................................................................ 28 Konfigurasi Hostname ................................................................................ 29 Konfigurasi IP Address dan Port................................................................. 30 Konfigurasi Blender .................................................................................... 31 Pengujian Komunikasi ................................................................................ 34 Pengujian rendering gambar 3D ................................................................ 35

BAB 4 IMPLEMENTASI DAN PENGUJIAN................................................................................. 28

4.2

Pengujian ....................................................................................................................... 34 4.1.1 4.1.2

BAB 5 PENUTUP ...................................................................................................................... 56 5.1 5.2 Kesimpulan .................................................................................................................... 56 Saran .............................................................................................................................. 56

1 DAFTAR REFERENSI .............................................................................................................. 57 2 LAMPIRAN ............................................................................................................................ 58

DAFTAR GAMBAR
Gambar 2.1.1 Model Topologi ................................................................................................................ 8 Gambar 2.2.1 Komputasi Serial .............................................................................................................. 9 Gambar 2.3.1 Parallel.............................................................................................................................. 9 Gambar 3.2.1 Arsitektur Sistem............................................................................................................23 Gambar 3.4.1 Desain Sistem .................................................................................................................25 Gambar 4.1.1 Firewall...........................................................................................................................29 Gambar 4.1.2 Konfigurasi Port..............................................................................................................30 Gambar 4.1.3 Konfigurasi Port2............................................................................................................31 Gambar 4.1.4 Interface Blender ...........................................................................................................32 Gambar 4.1.5 Render Engine ................................................................................................................32 Gambar 4.1.6 Master Mode .................................................................................................................33 Gambar 4.1.7 Client Mode....................................................................................................................33 Gambar 4.1.8 Slave Mode.....................................................................................................................34 Gambar 4.2.1 Ping Worker 1.................................................................................................................35 Gambar 4.2.2 Ping Worker 2.................................................................................................................35 Gambar 4.2.3 Start Service Master.......................................................................................................35 Gambar 4.2.4 Start Service Slave..........................................................................................................36 Gambar 4.2.5 Status Master .................................................................................................................36 Gambar 4.2.6 Slave Status ....................................................................................................................36 Gambar 4.2.7 Send Job .........................................................................................................................36 Gambar 4.2.8 Status Render.................................................................................................................37 Gambar 4.2.9 Hasil Video......................................................................................................................37 Gambar 4.3.1 Blender Render Option ..................................................................................................38 Gambar 4.3.2 Hasil Rendering Single Machine.....................................................................................39 Gambar 4.3.3 Direktori Output.............................................................................................................39 Gambar 4.3.4 Status rendering.............................................................................................................40 Gambar 4.3.5 Status selesai..................................................................................................................40 Gambar 4.3.6 Hasil video ......................................................................................................................40 Gambar 4.3.7 Direktori output .............................................................................................................41 Gambar 4.3.8 Status proses ..................................................................................................................41 Gambar 4.3.9 Status selesai..................................................................................................................41 Gambar 4.4.1 Hasil video ......................................................................................................................42 Gambar 4.4.2 Direktori hasil .................................................................................................................42 Gambar 4.4.2 Status proses ..................................................................................................................43 Gambar 4.4.3 Status selesai..................................................................................................................43 Gambar 4.4.4 Hasil video ......................................................................................................................43 Gambar 4.4.5 Total waktu render AVI ..................................................................................................44 Gambar 4.4.6 Total waktu render MPEG..............................................................................................44

vi

Gambar 4.4.7 Total waktu render OGG ................................................................................................45 Gambar 4.4.8 Status proses..................................................................................................................45 Gambar 4.4.9 Status selesai..................................................................................................................46 Gambar 4.5.1 Hasil video ......................................................................................................................46 Gambar 4.5.2 Status proses ..................................................................................................................47 Gambar 4.5.3 Status selesai..................................................................................................................47 Gambar 4.5.4 Hasil video ......................................................................................................................47 Gambar 4.5.5 Total waktu render hitam putih.....................................................................................48 Gambar 4.5.6 Total waktu render warna..............................................................................................48 Gambar 4.5.7 Proses render .................................................................................................................49 Gambar 4.5.8 Status selesai..................................................................................................................49 Gambar 4.5.9 Proses Render ................................................................................................................49 Gambar 4.6.1 Status selesai..................................................................................................................50 Gambar 4.6.2 Proses render .................................................................................................................50 Gambar 4.6.3 hasil render ....................................................................................................................50 Gambar 4.6.4 Total waktu render.........................................................................................................51 Gambar 4.6.5 Total waktu render.........................................................................................................51 Gambar 4.6.6 Total waktu render.........................................................................................................52 Gambar 4.6.7 Grafik perbandingan waktu berdasarkan format video.................................................53 Gambar 4.6.8 Grafik perbandingan waktu berdasarkan warna ...........................................................54 Gambar 4.6.9 Grafik perbandingan waktu berdasarkan ukuran frame................................................55

vii

DAFTAR TABEL
Table 1.7.1 Jadwal Pengerjaan ..................................................................................... 5 Table 3.3.1 System Requirements yang dibutuhkan ................................................. 24 Table 3.3.2 Kebutuhan Sistem Master Node ............................................................. 24 Table 3.3.3 Kebutuhan Sistem Worker Node............................................................. 25 Table 3.3.4 Kebutuhan Perangkat Lunak.................................................................... 25

viii

DAFTAR LAMPIRAN

ix

BAB 1 PENDAHULUAN
1.1 Latar Belakang
Dalam penyampaian informasi dan komunikasi, gambar grafis sudah merupakan kebutuhan pokok pada era teknologi informasi saat ini.Aplikasi grafis banyak digunakan untuk mengolah gambar dalam bidang industri advertising dan pembuatan film animasi. Untuk mengolah gambar yang banyak dan kompleks membutuhkan waktu lama dan memerlukan PC dengan spesifikasi tinggi, namun harga PC tersebut masih sangat mahal. Kondisi ini mendorong perkembangan teknik pemrosesan terdistribusi dengan menggunakan komputer cluster, yang pada dasarnya komputer cluster ini memiliki spesifikasi yang relatif rendah. Komputer cluster merupakan suatu sistem komputer yang memanfaatkan banyak komputer, dalam hal ini PC yang terhubung dalam suatu jaringan komputer dan bekerja bersama secara paralel untuk menyelesaikan proses komputasi yang diberikan. Sistem cluster ini kemudian berkembang dengan cepat dan banyak dipakai oleh berbagai kalangan, hal ini disebabkan oleh beberapa keunggulan yang dimiliki oleh cluster antara lain adalah biaya yang lebih rendah namun dengan kemampuan komputasi yang tidak kalah dengan komputer mainframe. Penerapan dari konsep komputasi paralel salah satunya terwujud pada sistem cluster. Pada intinya sistem cluster mengambil konsep bahwa suatu proses dijalankan secara bersama-sama dengan mengkolaborasikan software dan hardware yang terhubung pada sistem cluster tersebut. Sedangkan distributed rendering merupakan sebuah proses yang memanfaatkan kemampuan dari teknologi komputasi paralel guna melakukan proses rendering. Salah satu solusi untuk mengolah gambar yang banyak dan kompleks

membutuhkan waktu lama dan memerlukan PC dengan spesifikasi tinggi dan harga yang tinggi yaitu menerapkan sistem cluster pada jaringan komputer cluster kemudian melakukan implementasi dari sistem tersebut dalam menangani proses

distributed pararel menggunakan Blender, dan akan dilakukan beberapa scenario implementasi berdasarkan waktu eksekusi, dan speedup. Metode ini dapat digunakan sebagai alternatif pengganti supercomputer dan dengan demikian instalasi jaringan komputer untuk kepentingan advertising dan pembuatan film animasi akan semakin efisien dan murah.

1.2 Rumusan Masalah


Dari berbagai penjelasan diatas maka terdapat beberapa permasalahan pokok yang akan dibahas, yaitu: 1. Bagaimana mengatasi lamanya proses pengolahan gambar pada

pembuatan animasi ? 2. Bagaimana membangun sistem cluster dengan menggunakan sistem operasi Scientific Linux untuk kebutuhan rendering ? 3. Bagaimana mengimplementasikan sistem cluster untuk kebutuhan rendering dengan menggunakan Blender ? 4. Bagaimana membuktikan kinerja dari sistem cluster dengan parameter speedup dan efisiensi menggunakan Blender ?.

1.3 Tujuan
1. Terkait dengan proses pengolahan gambar pada animasi yang

membutuhkan waktu relatif lama, maka digunakan teknologi sistem cluster dengan menggunakan Blender. 2. Mengimplementasikan sistem cluster dengan menggunakan Blender. 3. Mengimplementasikan sistem cluster untuk kebutuhan rendering dengan menggunakan Blender. 4. Menganalisis kinerja sistem cluster yang telah dirancang berdasarkan speedup dan efisiensi dalam menangani proses rendering.

1.4 Batasan Masalah


1. Tidak membahas tentang keamanan jaringan dan sistem operasi. 2. Proses rendering dijalankan secara paralel menggunakan pemrograman paralel Blender. 3. Proses rendering yang dilakukan adalah gambar 3D dengan format file Blender (.blend) yang telah diambil dari website Blender. 4. Infrastruktur cluster yang dibangun dengan menggunakan 1 Personal Computer (PC) dan 2 Notebook. 5. Pembagian proses rendering ke setiap node PC diukur berdasarkan parameter kinerja cluster yaitu speedup dan efisiensi. 6. Tidak membahas aplikasi Cloud Computing secara khusus.

1.5 Definisi Operasional


Untuk memanipulasi suatu gambar yang kompleks atau mengubah model geometri menjadi suatu image yaitu rendering, dibutuhkan waktu yang panjang dan kinerja komputer yang tinggi. Namun, spesifikasi komputer dengan kinerja tinggi masih sangat mahal. Kondisi ini memicu perkembangan teknik pengolahan didistribusikan menggunakan implementasi komputer cluster yang tidak memerlukan spesifikasi yang sangat canggih. Untuk menunjang penelitian dan kajian dalam bidang grid computing, berbagai perangkat lunak pendukung sistem komputasi grid dan cluster telah dikembangkan. Beberapa perangkat lunak pendukung tersebut diantaranya sebagai berikut: 1. Clustering adalah sekumpulan komputer (umumnya server jaringan) independen yang beroperasi serta bekerja secara bersamasama dan terlihat oleh klien jaringan seolaholah hanya satu buah unit komputer. 2. Parallel Processing Python yaitu sejumlah library python untuk solusi programing cluster yang baik dengan menggunakan beberapa CPU atau multicore CPU dalam penggunaan simmetric multiprocessing ( smp ) atau

dengan berbagi resource memory, berpotensi besar dalam jumlah komputer untuk lingkungan cluster.

1.6 Metode Pengerjaan


1. Studi Literatur Studi literatur dilakukan dengan mempelajari beberapa referensi yang mampu menunjang untuk melakukan penelitian maupun pengerjaan Proyek Akhir. Referensi yang digunakan antara lain bersumber dari bukubuku, artikel, sumber dari internet, serta sumber-sumber lain yang berhubungan dengan penelitian dan pengerjaan Proyek Akhir yang dilakukan. 2. Perancangan sistem Pada tahap ini dilakukan perancangan dan percobaan sistem yang akan dibuat, seperti alur Mendefinisikan format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat. Memberikan gambaran spesikasi dari hardware dan software apa yang akan digunakan. Kemudian membuat scenario untuk mengimplementasikan sistem cluster. 3. Implementasi dan Pengujian Mengimplementasikan perancangan sistem yang akan dibuat. Pengujian yang akan dilakukan adalah pengujian untuk membuktikan bahwa sistem cluster dengan blender dapat berjalan dengan menguji apakah kedua node yaitu master dan slave sudah dapat saling bekerja bersama, kemudian menganalisis dengan parameter speed up dan efisiensi pada sistem cluster. 4. Dokumentasi Penyusunan laporan untuk mendokumentasikan seluruh kegiatan Proyek Akhir.

1.7

Jadwal Pengerjaan
Tabel 1.7.1 Jadwal Pengerjaan

Jadwal Pengerjaan Tahap Studi Literatur Tahap Perancangan Sistem Tahap Implementasi dan Pengujian Tahap Pembuatan Laporan

Januari Februari Maret April Mei Juni Juli 2013 2013 2013 2013 2013 2013 2013 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4

BAB 2 TINJAUAN PUSTAKA


2.1 Jaringan Komputer
Secara bahasa jaringan komputer adalah sekumpulan komputer yang saling terintegrasi satu sama lain dengan tujuan yang sama. Jaringan komputer adalah:gabungan antara teknologi komputer dan teknologi telekomunikasi. Gabungan teknologi ini menghasilkan pengolahan data yang dapat didistribusikan, mencakup pemakaian database, software aplikasi dan peralatan hardware secara bersamaan. Setiap bagian komputer yang terhubung dapat meminta dan dapat memberikan layanan, pihak yang meminta dapat disebut sebagai client dan yang mengirimkan layanan disebut server. Adapun manfaat dari jaringan komputer itu sendiri adalah: 1. Resource Sharing

Dengan jaringan komputer user dapat menggunakan sumber daya yang ada secara bersama-sama. Contohnya seperti sharing hard disk ( data, OS, dsb) atau printer. 2. Reliabilitas alternatif,

Tinggi User dapat mendapatkan sumber-sumber persediaan

contohnya sebuah file dapat di-copy pada satu atau dua komputer lainnya yang terkoneksi ke jaringan sehingga apabila satu komputer rusak maka salinan yang berada pada komputer yang lain dapat digunakan. 3. Cost Effective

Cost disini tidak hanya berhubungan dengan materi tetapi juga bisa dengan tenaga, seperti contohnya dalam suatu instansi perusahaaan jarak antar divisi bisa mencapai jarak yang cukup jauh dalam artian dapat memakan waktu ketika kita ingin meminta data, dengan jaringan komputer kita dapat

menggunakan salah satu manfaat jaringan komputer yaitu resource sharing sehingga dapat memangkas waktu, tenaga, dan cost yang ada. 4. Security Berkaitan dengan kerahasiaan data yang dipertukarkan, keaslian, ketersediaan, dan akses kontrol terhadap data tersebut. Secara geografis jaringan computer dibagi kedalam beberapa macam, sebagai berikut: 1. Local Area Network(LAN) Local Area Network (LAN) adalah jaringan yang bersifat internal dan biasanya milik pribadi didalam sebuah perusahaan kecil atau menengah dan biasanya berukuran sampai beberapa kilometer. LAN biasanya digunakan untuk menghubungkan komputer-komputer pribadi dan workstation dalam kantor suatu perusahaan untuk pemakaian sumber daya bersama, serta sarana untuk saling bertukar informasi. 2. Metropolitan Area network (MAN) Metropolitan Area Network (MAN) adalah sebuah jaringan menggunakan teknologi yang sama dengan LAN, hanya ukurannya biasanya lebih luas dari pada LAN dan biasanya MAN dapat mencakup kantor-kantor perusahaan yang letaknya berdekatan atau antar sebuah kota dan dapat dimanfaatkan untuk keperluan pribadi atau umum. MAN pun mampu menunjang data dan suar, bahkan dapat berhubungan dengan jaringan televise kabel. 3. Wide Area Network (WAN) Wide Area Network (WAN) adalah sebuah jaringan yang jangkauannya mencakup daerah geografis yang lebih luas, seringkali mencakup sebuah negara bahkan benua. WAN terdiri dari kumpulan LAN, MAN, dan mesin-mesin yang bertujuan untuk menjalankan program aplikasi pemakai.

4. Internet Internet adalah kumpulan dari beberapa jenis jaringan yang berbeda LAN, WAN, atau keduanya mencakup seluruh dunia yang saling terkoneksi.Topologi jaringan adalah susunan atau pemetaan interkoneksi antara node, dari suatu jaringan, baik secara fisik (riil) dan logis (virtual). Untuk menggambarkan metode yang digunakan yaitu melakukan pengabelan secara fisik dari suatu jaringan dibutukan topologi jaringan. Topologi jaringan merupakan suatu cara menghubungkan komputer yang satu dengan komputer lainnya sehingga membentuk jaringan. Gambar di bawah ini merupakan model dari topologi jaringan.

Gambar 2.1.1 Model Topologi

2.2 Parallel Computing


Parallel computing adalah penggunaan lebih dari satu sumber daya komputasi secara simultan untuk memecahkan persoalan komputasi. Software tradisional umumnya dibuat untuk komputasi serial yang dijalankan oleh prosesor tunggal yaitu sebuah persoalan dipecah ke dalam instruksi yang dieksekusi secara berurutan dan hanya satu instruksi yang boleh dieksekusi pada saat yang sama. Pada komputasi parallel sebuah persoalan dipecah menjadi beberapa bagian yang dapat diselesaikan pada saat yang bersamaan.Setiap bagian selanjutnya dipecah menjadi instruksi yang berurutan dan masing-masing bagian dikerjakan oleh prosesor yang berbeda. Sumber daya komputasi yang dimaksud dapat berupa

sebuah computer tunggal dengan beberapa prosesor beberapa komputer yang terhubung dalam jaringan maupun kombinasi dari keduanya. penggunaan komputasi paralel adalah : 1. Dapat menghemat waktu 2. Dapat memecahkan persoalan yang lebih besar 3. Dapat menghemat biaya 4. Dapat mengatasi keterbatasan fisik dari komputasi serial. 5. Alasan lain yang juga cukup penting adalah fault tolerant. Jika salah satu dari prosesor mengalami kegagalan prosesor yang lain dapat menggantikannya, meskipun dengan performa yang menurun. Adapun sistem kerja komputasi serial, yaitu : Alasan utama

Gambar 2.2.1 Komputasi Serial

1. Dijalankan oleh satu komputer dengan satu Central Processing Unit (CPU). 2. Satu masalah besar dipecah menjadi beberapa instruksi masalah. 3. Instruksi di eksekusi satu persatu 4. Hanya satu instruksi dapat di eksekusi dalam satu waktu.

Dibawah ini menjelaskan tentang sistem kerja komputasi pararel , sebagai berikut :

Gambar 2.2.2 Komputasi Parallel

1. Dijalankan menggunakan banyak CPU 2. Sebuah masalah dipecah/dibagi menjadi beberapa bagian sehingga dapat diselesaikan secara bersamaan. 3. Tiap tiap bagian dipecah pecah menjadi beberapa perintah serial. 4. Instruksi atau perintah dari masing-masing bagian dilaksanakan secara bersamaan pada CPU yang berbeda. Performa dalam pemrosesan paralel diukur dari berapa peningkatan kecepatan (speed up) yang diperoleh dalam menggunakan teknik 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. Adapun proses kerja, pemrosesan paralel membagi beban kerja dan

mendistribusikannya pada komputer-komputer lain yang terdapat dalam sistem untuk menyelesaikan suatu masalah. Sistem yang akan dibangun tidak akan menggunakan komputer yang didesikasikan secara khusus untuk keperluan pemrosesan paralel melainkan menggunakan komputer yang telah ada. Artinya, sistem ini nantinya akan terdiri dari sejumlah komputer dengan spesifikasi berbeda yang akan bekerjasama untuk menyelesaikan suatu masalah. Adapun tipe-tipe paralelisme adalah sebagai berikut :

10

1. Result Paralelisme Result Paralelisme yang sering disebut sebagai Embarrassingly Parallel atau Perfect Parallel adalah tipe paralelisme di mana komputasinya dapat dibagi menjadi beberapa tugas independen yang mempunyai struktur sama. Data struktur suatu tugas dibagi menjadi beberapa bagian yang berstruktur sama. Contoh tugas yang bisa diselesaikan dengan Result Parallelism adalah Simulasi Montecarlo. 2. Specialist Paralelisme Cara kerja Specialist Parallelisme adalah dengan mengerjakan beberapa tugas secara bersamaan pada prosesor yang berbeda. Setiap komputer mengerjakan tugas tertentu. Contohnya penggunaanya adalah pada simulasi pabrik kimia, satu prosesor mensimulasikan proses sebelum reaksi kimia, satu prosesor mensimulasikan reaksi pada tahap awal, dan prosesor lainnya mensimulasikan proses penyulingan hasil, dan seterusnya. 3. Agenda Paralelisme Tipe paralelisme ini mempunyai daftar yang harus dikerjakan oleh sistem komputer .Semua komputer yang terdapat pada sistem dapat mengakses daftar tersebut. Pada Model MW (Manager Worker) terdapat pengelompokan komputer menjadi dua yaitu : 1. Manager : bertugas memulai perhitungan, memonitor kemajuan tugas, melayani permintaan worker. User berkomunikasi dengan sistem komputer melalui komputer yang berfungsi sebagai manager ini. 2. Worker : mengerjakan tugas-tugas yang diberikan oleh manager. Kerja komputer ini dimulai setelah ada perintah dari manager dan diakhiri oleh manager. Messages adalah urutan bytes yang dikirimkan antar proses. Pengirim dan penerima harus mempunyai kesepakatan mengenai struktur pesan sehingga isi pesan dapat diterjemahkan dengan benar. Pada prinsipnya cara pengiriman pesan

11

adalah sederhana. Proses A mengirim data buffer sebagai sebuah pesan ke proses B. Pada saat bersamaan proses B menunggu datangnya pesan dari proses A. Ketika pesan tersebut terkirim maka proses B akan men-copy pesan tersebut di memori lokalnya. Adapun Metode Pengiriman pesan (message passing) terdapat beberapa metode dalam pengiriman pesan yaitu : 1. Synchronous Message Passing Cara pengiriman menggunakan metode ini ialah pengirim menunggu untuk mengirim pesan sampai penerima siap untuk menerima pesan.Oleh karena itu tidak ada buffering.Selain itu pengirim tidak bisa mengirim pesan untuk dirinya sendiri. 2. Ansynchronous Message Passing Pengirim akan mengirim pesan kapanpun dia mau. Pengirim tidak peduli ketika penerima belum siap untuk menerima pesan.Oleh karena itu diperlukan buffering untuk menampung pesan sementara sampai penerima siap menerima pesan. Selain berdasarkan metode pengiriman pesan diatas, pengiriman pesan (message passing) dibedakan berdasarkan jumlah penerima pesan yaitu: Point to Point dan Broadcast. Perbedaan mendasar keduanya adalah jumlah penerima yang menerima pesan. Pada Point to Point penerimanya tunggal sedangkan pada broadcast jumlah penerimanya banyak. Kemampuan sistem paralel tergantung dari kemampuan pemrogram untuk membuat aplikasi terdistribusi ketika dijalankan pada sistem paralel. Jika node slave mempunyai prosessor lebih dari satu maka pemrogram harus memperhitungkan kemungkinan paralelisme 2 level: Paralelisme di dalam slave node (intra-node parallelism) dan paralelisme antar slave node (inter-node parallelism). Inter-node parallelism menggunakan shared memory dalam node sehingga tidak melakukan pertukaran data secara explicit. Sedangkan Inter-node parallelism melakukan pertukaran data lewat media yang menghubungkan antara node slave yang ada. Terdapat tiga metode untuk mengimplementasikan Inter-node parallelism yaitu :

12

1. Dengan cara membuat protokol komunikasi ad hoc level rendah. Contohnya dengan menggunakan socket interface. 2. Dengan menggunakan distributed communication library. Contohnya dengan menggunakan Message Passing Interface (MPI) library. 3. Dengan memanfaatkan layer software dengan maksud untuk

menyembunyikan interconnect dari programmer. Setelah mengenal komponen - komponen dan tujuan dari pemrosesan paralel tersebut, untuk selanjutnya beralih ke sistem pemrosesan parallel. sistem pemrosesan paralel adalah sekumpulan komputer terhubung dan bekerjasama sebagai satu resource komputer yang terintegrasi untuk menyelesaikan suatu tujuan. Sebuah sistem paralel setidaknya terdiri dari Message Passing Interface (MPI) dan sebuah pengatur beban kerja (job scheduler). Message Passing Interface bertugas untuk mengirim data antar komputer di dalam sistem paralel (biasanya disebut sebagai node atau host). Job scheduler seperti yang tersirat dari namanya bertugas menerima tugas dari user dan menjadwalkan tugas tersebut pada beberapa node didalam sistem parallel sesuai kebutuhan.

2.2.1 Parallel Processing Python


Python mendukung kedua multi-threading dan multiprocessing pemrograman. threads di Python yang dikelola oleh sistem operasi host yaitu penjadwalan dan switching threads yanhg dilakukan oleh sistem operasi dan bukan oleh Python interpreter. Python memiliki mekanisme yang disebut Global Interpreter Lock (GIL) yang umumnya mencegah lebih dari satu thread berjalan secara bersamaan, bahkan jika beberapa core atau prosesor yang tersedia. Hal ini menyebabkan hanya satu thread memiliki akses eksklusif ke sumber daya penerjemah, atau dengan kata lain sumber daya "Locked" oleh pelaksana thread. Thread yang dikirim akan melepaskan GIL untuk operasi baik I / O atau selama pemeriksaan interpreter berkala. Terdapat metode yang digunakan parallel processing python yaitu Symmetric Multiprocessing (SMP), melibatkan perangkat keras komputer multiprosesor dan arsitektur perangkat lunak yaitu dua atau lebih

13

prosesor yang identik dan terhubung ke dalam memori utama yang digunakan bersama, memiliki akses penuh ke semua perangkat I / O, dan dikendalikan oleh satu contoh OS tunggal dan semua prosesor diperlakukan sama, tidak ada yang disediakan untuk tujuan khusus. Sistem multiprosesor yang paling umum saat ini menggunakan arsitektur SMP. Dalam kasus prosesor multi-core, arsitektur SMP berlaku untuk sistem core prosesor yang dengan memperlakukan sebagai prosesor terpisah. Sistem SMP adalah sistem multiprosesor yang erat dengan lingkungan prosesor homogen yang berjalan secara independen, masing-masing prosesor mengeksekusi program yang berbeda dan bekerja pada data yang berbeda dan dengan kemampuan berbagi sumber daya umum (memori, perangkat I/O, mengganggu sistem dan seterusnya) dan terhubung menggunakan sistem bus atau Palang.

2.3 Cluster Computer


Cluster adalah sekumpulan komputer (umumnya server jaringan) independen yang beroperasi serta bekerja secara bersamasama dan terlihat oleh client jaringan seolah-olah hanya satu buah unit komputer. Proses menghubungkan beberapa komputer agar dapat mengerjakan satu instruksi disebut dengan clustering. Untuk mengimplementasikan konsep komputasi paralel dibutuhkan computer cluster dan Distributed Resource Management (DRM) untuk memanajemen pekerjaan dan sumber daya seperti : memori, prosesor, dan storage. Sebuah cluster memiliki beberapa karakteristik antara lain : 1. Terdiri dari beberapa mesin-mesin bertipe sama. 2. Tightly-coupled menggunakan koneksi jaringan yang dedicated. 3. Semua mesin berbagi sumber daya, contohnya adalah direktori home. 4. Harus percaya satu sama lain, sehingga rsh maupun ssh tidak memerlukan password. 5. Harus mempunyai software seperti implementasi MPI yang memungkinkan program-program dijalankan di semua node.

14

Ada dua faktor yang menyebabkan cluster menjadi kompleks, yaitu : 1. Skala fisik yang bertambah : Sebuah cluster dapat terdiri dari beberapa ratus atau ribuan prosesor, hal ini menyebabkan algoritma alternatif dibutuhkan oleh suatu manajemen sumber daya dan fungsi kontrol. 2. Integrasi yang berkurang : Keinginan untuk membentuk cluster dari berbagai komoditas menyebabkan cluster tidak lebih terintegrasi dibandingkan dengan end system. Cluster yang memperhatikan performa paralel dihadapkan pada masalah coscheduling, yaitu sebuah teknik untuk menjadwalkan proses-proses komputasi secara simultan pada prosesor yang berbeda. Pada komputer parallel yang terintegrasi, coscheduling dapat dilakukan dengan menggunakan sebuah batch scheduler yang juga bisa disebut sebagai job scheduler. Clustering terbagi beberapa kategori, sebagai berikut : 1. High Availability High Availability cluster atau yang juga sering disebut Failover Cluster pada umunya diimplementasikan untuk tujuan meningkatkan ketersediaan layanan yang disediakan oleh cluster tersebut. Elemen cluster akan bekerja dengan memiliki nodenode redundan, yang kemudian digunakan untuk menyediakan layanan saat salah satu elemen cluster mengalami kegagalan. Ukuran yang paling umum dari kategori ini adalah dua node, yang merupakan syarat minimum untuk melakukan redudansi. implementasi cluster jenis ini akan mencoba untuk menggunakan redudansi komponen cluster untuk menghilangkan kegagalan di suatu titik (Single- point of failure). 2. Load Balancing Cluster Cluster jenis ini beroperasi dengan mendistribusikan beberapa pekerjaan secara merata melalui beberapa node yang berekerja dibelakang (Backend

15

node). Umumnya cluster ini akan dikonfigurasi sedemikian rupa sehingga dengan beberapa front-end load balancing redundan. 3. Grid Computing Kebutuhan pengaksesan informasi setiap saat dan setiap lokasi sekarang ini mendorong penyediaan sumber daya komputasi yang lebih powerful. Dunia science dan industri semakin hari juga semakin membutuhkan sumber daya komputasi yang sangat besar. Simulasi gempa bumi, pemodelan struktur molekul kimia, dan simulasi perubahan iklim adalah beberapa contoh aplikasi yang melibatkan data yang sangat besar mencapai satuan petabyte (1015 byte). Hal ini tentu saja membutuhkan sumber daya komputasi yang besar pula. Dengan semakin banyaknya sumber daya komputasi yang saling terhubung jaringan, grid computing memberikan solusi untuk mengatasi permasalahan itu. Komputasi grid memungkinkan penggunaan sumber daya yang melibatkan banyak komputer yang terdistribusi dan terpisah secara geografis untuk memecahkan persoalan komputasi dalam skala besar. Setiap orang nantinya bisa menggunakan sumber daya komputasi ini sesuai kebutuhannya.Jumlah sumber daya komputasi yang ada dalam grid adalah tak terbatas, semua orang bisa menyumbangkan sumber dayanya untuk dipergunakan bersama-sama untuk kepentingan umat manusia. Konsep yang mendasar dari sebuah Grid adalah koordinasi sumber daya bersama dan penyelesaian masalah dalam sebuah organisasi virtual (Virtual Organization - VO) yang dinamis dan terdiri dari berbagai institusi. ada tiga hal yang harus ada dalam sebuah lingkungan komputer terdistribusi sehingga dapat dikatakan sebagai suatu grid. Tiga hal tersebut adalah sebagai berikut : 1. Mengkoordinasikan sumber daya - sumber daya yang tidak dikendalikan secara terpusat. Sebuah Grid mengintegrasikan dan mengkoordinasikan sumber daya dan pengguna yang berada dalam domain kendali berbeda, dengan kata lain berada di bawah manajemen lokal.

16

2. Menggunakan protokol dan antar muka yang standar, terbuka, dan dapat digunakan untuk berbagai macam hal (general purpose). Sebuah grid dibangun menggunakan protokol dan antar muka yang menangani masalah fundamental seperti otentifikasi, otorisasi, pencarian, dan penggunaan sumber daya. 3. Memberikan quality of service yang canggih, yang jauh dari kualitas layanan komponen individu dari komputasi grid tersebut, contohnya dalam hal waktu respon, throughput, ketersediaan sumber daya, keamanan, dan/atau penggunaan beberapa jenis sumber daya yang sesuai dengan kebutuhan pengguna. Sedangkan menurut DR. Rajkumar Buyya, grid adalah salah satu bentuk sistem paralel dan terdistribusi yang memungkinkan sharing, pemilihan, dan pengumpulan sumber daya autonomous yang terdistribusi secara geografis, dengan cara dinamis saat runtime tergantung keberadaan, kemampuan, performansi, biaya, dan Quality of Service yang dibutuhkan user. Jadi secara umum dapat dikatakan bahwa konsep yang mendasari sebuah grid adalah koordinasi sumber daya bersama dan penyelesaian masalah bersama dalam sebuah lingkungan organisasi virtual (VO) yang dinamis yang terdiri dari berbagai institusi. Sedangkan aspek kekuatan komputasi dalam sebuah grid meliputi : 1. Kemampuan menangani sumber daya komputasi yang berada dibawah manajemen yang berlainan. 2. Kemampuan menyediakan mekanisme pemilihan sumber daya komputasi secara cerdas dan transparan terhadap user. 3. Kemampuan memprediksi beban kerja, ketersediaan, konfigurasi dinamis serta pembagian sumber daya komputasi yang ada 4. Kemampuan mendeteksi kesalahan serta mekanisme penanganannya. 5. Kemampuan menangani mekanisme keamanan yang sesuai untuk pengaksesan sumber daya komputasi secara aman.

17

Sedangkan penanganan data yang ada dalam sebuah lingkungan grid computing harus mengatur secara efektif semua aspek data, meliputi lokasi data, transfer data, pengaksesan data serta keamanan data. Secara lengkap adalah sebagai berikut : 1. Kemampuan untuk mengintegrasikan beberapa sumber data yang terdistribusi, heterogen serta independent. 2. Kemampuan menyediakan mekanisme transfer data yang efisien untuk penyediaan data, dimana proses komputasi akan dilakukan dalam rangka mencapai skalabilitas dan efisiensi yang lebih baik. 3. Kemampuan penanganan data caching serta mekanisme replikasi data untuk meminimalkan lalu lintas jaringan. 4. Kemampuan penyediaan mekanisme pencarian data yang memungkinkan user mencari data sesuai dengan karakteristik data yang diinginkan. 5. Kemampuan menerapkan pengenkripsian data serta pengecekannya untuk menjamin data yang dilewatkan jaringan berada dalam keadaan aman. Kemampuan untuk menyediakan mekanisme backup dan restore untuk mencegah kehilangan data. Kebutuhan akan bentuk-bentuk layanan data pada lingkungan grid computing menfokuskan pada manajemen data yang diaplikasikan pada media penyimpanan data yang terpisah secara geografis. Sumber data dapat berupa database, file system, dan media penyimpanan (storage). Sistem grid juga harus dapat menyediakan layanan visualisasi data untuk pengaksesan, penggabungan dan pemrosesan data secara transparan.Untuk mencapai hal tersebut, kebutuhan keamanan dan privasi data menjadi sesuatu yang komplek.Selanjutnya definisi tentang pembagian sumber daya pada grid computing terus berkembang, berdasarkan pengalaman sebelumnya, yaitu dengan lebih menfokuskan pada pembagian sumber daya melalui suatu Virtual Organization (VO).Sedangkan penanganan data yang ada dalam sebuah lingkungan grid computing harus mengatur secara efektif semua aspek data, meliputi lokasi data, transfer data, pengaksesan data serta keamana data.

18

Kebutuhan akan layanan data pada lingkungan grid computing menfokuskan pada manajemen data yang diaplikasikan pada media penyimpanan data yang terpisah secara geografis. Sumber data dapat berupa database, file system, dan media penyimpanan.Sistem grid juga harus dapat menyediakan layanan visualisasi data untuk pengaksesan, penggabungan dan pemrosesan data secara transparan.Untuk mencapai hal tersebut, kebutuhan keamanan dan privasi data menjadi sesuatu yang komplek.Selanjutnya definisi tentang pembagian sumber daya pada grid computing terus berkembang, yaitu dengan lebih menfokuskan pada pembagian sumber daya melalui suatu Virtual Organization (VO).

2.4 Rendering
Rendering memainkan peran yang sangat vital pada proses penciptaan animasi dan gambar. Rendering dapat digunakan untuk meniru objek visual yang nyata (photorealistic rendering), atau stylistic fashion (nonphotorealistic renderings) dengan baik. Dengan mengesampingkan style, rendering dapat diselesaikan dengan menggunakan algoritma yang memang dikhususkan untuk proses render. Algoritma ini bisa menjadi sangat kompleks. Salah satu contohnya adalah ray tracing, ray tracing men-generate citra dengan menjejaki sinar dari lampu per piksel dipandang dari kamera ke suatu adegan melalui layar virtual. Semakin kompleks algoritma yang digunakan maka semakin lama waktu yang dibutuhkan untuk melakukan proses kalkulasi. Dengan menggunakan hardware yang moderen proses render dari film sederhana dapat menghabiskan waktu antara beberapa menit sampai dengan dua ratus menit untuk setiap frame-nya. Salah satu contoh extreme yang dapat diambil adalah proses rendering pada adegan keramaian di film sherk 2 yang setiap framenya membutuhkan waktu render sampai dengan empat puluh jam. Adapun teknik dari rendering itu sendiri yaitu : 1. Ray Tracing Ray tracing sebagai sebuah metode rendering pertama kali digunakan pada tahun 1980 untuk pembuatan gambar tiga dimensi. Ide dari metode rendering ini sendiri berasal dari percobaan Rene Descartes, menunjukkan

19

pembentukan pelangi dengan menggunakan bola kaca berisi air dan kemudian merunut kembali arah datangnya cahaya dengan memanfaatkan teori pemantulan dan pembiasan cahaya yang telah ada saat itu. Metode rendering ini diyakini sebagai salah satu metode yang

menghasilkan gambar bersifat paling fotorealistik. Konsep dasar dari metode ini adalah merunut proses yang dialami oleh sebuah cahaya dalam perjalanannya dari sumber cahaya hingga layar dan memperkirakan warna macam apa yang ditampilkan pada pixel tempat jatuhnya cahaya. Proses tersebut akan diulang hingga seluruh pixel yang dibutuhkan terbentuk. 2. Hidden Line Rendering Metode ini menggunakan fakta bahwa dalam sebuah objek, terdapat permukaan yang tidak terlihat atau permukaan yang tertutup oleh permukaan beberapa lainnya. garis tidak Dengan terlihat metode karena ini, sebuah objek masih yang direpresentasikan dengan garis-garis yang mewakili sisi dari objek, tapi adanya permukaan menghalanginya. Metode ini lebih lambat dari dari wireframe rendering, tapi masih dikatakan relatif cepat. Kelemahan metode ini adalah tidak terlihatnya karakteristik permukaan dari objek tersebut, seperti warna, kilauan (shininess), tekstur, dan pencahayaan. 3. Scanline Rendering Scanline Rendering adalah algoritma untuk penentuan permukaan yang terlihat dalam komputer grafis 3D, dan bekerja atas dasar baris-demi-baris dengan dasar polygon-by-polygon atau pixel-by-pixel. Semua poligon yang akan diberikan, terlebih dahulu diurutkan berdasarkan koordinat y untuk menentukan kordinat tersebut pertama kali muncul, maka setiap baris atau memindai garis gambar dihitung dengan menggunakan persimpangan dari garis scan dengan poligon di bagian depan dari daftar yang diurutkan,

20

sementara daftar diurutkan diperbarui untuk membuang poligon yang tidaklagi-terlihat sebagai garis scan aktif. 4. Ray Casting Ray Casting adalah proses memancarkan atau menyorotkan berkas sinar (ray) pada tiap pixel. Perbedaan keduanya terletak pada saat terdapat persinggungan objek, algoritma ray casting akan berhenti dan tidak melakukan perhitungan lagi. Akibatnya raycasting jauh lebih cepat dari ray tracing karena tidak akan terdapat masalah akses memori pada ray kedua seperti yang terjadi pada ray tracing. 5. Voxel Voxel adalah singkatan dari volume dan pixel, jadi sebuah voxel adalah elemen dasar yang memiliki ruang (pixel hanya titik). Untuk penerapannya sebuah kotak lego yang bila digabungkan akan membentuk berbagai bangun baru. Voxel memiliki prinsip serupa dengan kotak mainan Lego yaitu berupa sebuah kotak utuh dan padat sementara pada polygon triangle melambangkan kulit bangun di luarnya saja.

21

BAB 3 ANALISIS DAN PERANCANGAN


3.1 Gambaran Sistem Saat Ini
Perancangan dan implementasi Proyek Akhir ini adalah membuat distributed rendering yang telah diintregrasikan dengan sistem cluster yang menggunakan Blender dan berjalan pada sistem operasi linux yaitu scientific linux. Proyek akhir ini memakai perangkat lunak blender yang bersifat open source dan memiliki berbagai fitur sebanding dengan aplikasi 3D komersial, selain itu blender mampu berjalan pada cross-platform. Untuk sistem operasi, memakai scientific linux dengan tujuan adalah

memungkinkan kustomisasi untuk pengerjaan rendering, tanpa mengganggu basis scientific linux. Agar program blender dapat berjalan dengan baik, scientific linux mendukung semua library yang diperlukan oleh program blender. Pada sistem ini akan terdiri dari master, client dan slave. sistem ini akan terdiri dari 1 PC dan 2 notebook, Keseluruhan konfigurasi cluster ini akan di konfigurasi pada sisi master maupun slave-nya. Pada sisi slave yang berfungsi sebagai mengolah data yang dikirim oleh master. Begitu pula dengan konfigurasi client, yang dilakukan dari sisi master melalui middleware yang sudah terpasang perangkat lunak blender pada sisi master. Untuk proses rendering menggunakan aplikasi blender, diintegrasikan dengan sistem cluster sehingga proses render-nya menjadi distributed rendering, task dipecah menjadi task-task dan dikirimkan ke seluruh slave untuk diproses.

3.2 Analisis Kebutuhan Sistem


Arsitektur ini menggambarkan cara kerja sistem ini bekerja, kemudian menentukan spesifikasi minimum untuk perangkat yang akan diimplementasikan pada sistem, dan menentukan komponen yang dibutuhkan sehingga membentuk sistem ini.

22

Pada sistem ini akan terdiri dari master node, slave, satu buah switch sebagai penghubung dan kemudian client, seperti yang terlihat pada gambar.

Gambar 3.2.1 Arsitektur Sistem

Fungsi dari masing masing perangkat sebagai berikut : 1. Master Node Merupakan pusat dari segala aktifitas yang terjadi pada jaringan ini, master node ini berperan sebagai server. Master node memiliki hak untuk mengelola job-job yang dikirim oleh client dan akan disampaikan kepada worker node. 2. Worker Node Sebagai pembagi sumber atau resource sharing dengan master node dalam sistem cluster. Worker node akan mengerjakan task ketika master node mengirimkan job dari client. 3. Switch digunakan untuk menghubungkan antara Master node dan Worker node.

23

3.3 Kebutuhan Perangkat Keras dan Perangkat Lunak


3.3.1 Kebutuhan Perangkat Keras Agar blender dapat berjalan dengan optimal, maka dibutuhkan spesifikasi sebagai berikut:
Tabel 3.3.1 System Requirements yang dibutuhkan

No 1 2 3 4

Nama Perangkat Prosesor Memory Hardisk VGA

Spesifikasi Dual Core CPU, 2 GHz 2 GB DDR2 40 GB OpenGL Graphics Card, 256 MB

Sehingga untuk kebutuhan sistem cluster pada distributed rendering proyek akhir ini menggunakan spesikasi berikut: 1. Spesifikasi perangkat keras untuk Master Node
Tabel 3.3.2 Kebutuhan Sistem Master Node

No 1 2 3 4

Nama Perangkat Prosesor Memory Hardisk VGA

Spesifikasi Core 2 duo, 1.8 GHz 2 GB DDR2 500 GB Radeon HD5570 1 Gb DDR2

24

2. Spesifikasi perangkat keras untuk Worker Node


Tabel 3.3.3 Kebutuhan Sistem Worker Node

No 1 2 3 4

Nama Perangkat Prosesor Memory Hardisk VGA

Spesifikas Core 2 duo, 1.8 GHz 2 GB DDR2 80 GB Intel Graphic 965 Express, 256 MB

3.3.2 Kebutuhan Perangkat Lunak Adapun kebutuhan perangkat lunak yang digunakan dalam mengerjakan proyek akhir ini, yaitu :
Tabel 3.3.4 Kebutuhan Perangkat Lunak

No

Jenis Perangkat

Spesifikasi

Keterangan - Menggunakan kernel

Sistem Operasi

Scientific Linux 6.4 x86_64

2.6.32 - Digunakan untuk menjalan program blender Digunakan untuk keperluan rendering

Paket Pendukung

Blender 3D versi 2.67b

25

3.3.3

Desain Sistem

Topologi yang digunakan dalam pembuatan Proyek Akhir adalah sebagai berikut :

Gambar 3.4.1 Disain Sistem

Deskripsi sistem yang dibuat adalah sebagai berikut : Pada master node dan worker node akan terintegrasi software Blender yang sudah diterapkan sistem cluster pada software tersebut dengan menggunakan bahasa pemograman python. Setelah master node mengirimkan IP Broadcast maka worker node akan menerima sebagai slave untuk baking render dan mengirimkan status bahwa worker node siap menjalan job atas perintah master node. Alur kerja dari sistem adalah sebagai berikut. 1. User membuka file .blend untuk memuat gambar 3D. 2. User kemudian memilih mode network render untuk Render engine. 3. Untuk master node machine user akan memilih mode master untuk menentukan yang akan menjadi job manager. 4. User menentukan direktori hasil rendering.

26

5. Untuk woker node machine user akan memilih mode slave. Dan user menentukan direktori cache rendering. 6. User menentukan direktori hasil output dan option hasil rendering pada client mode di sisi master. 7. User mengirimkan Job kepada master untuk membagi task yang akan dikerjakan oleh worker node.

3.4 Implementasi Sistem


Implementasi Sistem cluster pada distributed rendering dilakukan secara bertahap. Adapun langakah-langkah yang dilakukan dalam proses implementasi adalah sebagai berikut : 1. Instalasi sistem operasi untuk semua machine baik master node maupun worker node. 2. Instalasi library. 3. Konfigurasi SELinux dan Firewall 4. Konfigurasi hostname. 5. Konfigurasi IP address dan Port. 6. Konfigurasi blender.

3.5 Skenario pengujian


Pengujian dilakukan dengan dua macam cara yaitu pengujian rendering menggunakan single machine dan melakukan pengujian sistem cluster pada distributed rendering dengan metode speed up. Scenario pengujian rendering dengan metode speed up yang akan diterapkan adalah sebagai berikut : 1. Pengujian komunikasi. 2. Pengujian rendering gambar 3D. a. Berdasarkan format video. b. Berdasrkan warna. c. Berdasarkan ukuran frame.

27

BAB 4 IMPLEMENTASI DAN PENGUJIAN


4.1
4.1.1

Implementasi
Instalasi Sistem Operasi

Sistem operasi yang digunakan dalam membangun komponen-komponen untuk sistem cluster pada distributed rendering menggunakan Scientific Linux..Adapun versi dari Scientific yang digunakan berarsitektur x86_64 baik master node maupun worker node. 4.1.2 Instalasi Library

Untuk menginstal blender hal pertama yang dilakukan adalah mengunduh semua library yang dibutuhkan blender pada layar terminal, dan langkah sebagai berikut :

~# yum install glibc-2.12-1.107.el6.x86_64 ~# yum install python ~# yum install ffmpeg-1.1.5-2.el6.x86_64


4.1.3 Konfigurasi SELinux dan Firewall

Melakukan konfigurasi SELinux dan Firewall bertujuan agar tidak terjadi pemblokiran paket networking yang masuk dan kebijakan keamanan untuk aplikasi blender tidak dibatasi melalui penggunaan Linux Security Modules (LSM) di dalam kernel Linux. Edit SELinux:

~# vi /etc/selinux/config
Ubah SELINUX=enforcing menjadi SELINUX=disabled

28

# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
Buka Firewall GUI pada panel scientific linux. System > Administration > Firewall, tekan tombol disable untuk menonaktifkan firewall, lihat gambar berikut:

Gambar 4.1.1 Firewall

4.1.4

Konfigurasi Hostname

Mengubah hostname bertujuan agar dapat mengidentifikasi komputer secara spesifik. Karena sifatnya yang unik, maka dalam satu jaringan tidak boleh ada 2 atau lebih hostname yang sama. Jika terjadi penamaan yang sama, maka sistem akan memberitahukan bahwa telah terjadi duplikasi nama. Untuk mengubahnya lakukan perintah sebagai berikut:

29

~# vi /etc/hosts 127.0.0.1 ::1 192.168.1.1 192.168.1.2 192.168.1.3


4.1.5

localhost.localdomain localhost localhost6.localdomain6 localhost6 dion.pro dion.pro2 render.pro

Konfigurasi IP Address dan Port

4.1.5.1 Konfigurasi IP Address Master Node Edit network Ethernet untuk konfigurasi eth0 IPv4:

~# vi /etc/sysconfig/network-script/ifcfg-Auto_eth0
Tambahkan IP Address master node sebagai berikut:

IPADDR=192.168.1.1 NETMASK=255.255.255.0 BROADCAST=192.165.1.255


Edit file /etc/sysconfig/iptables untuk membuka port 8000 sesuai standart port blender.

~# vi /etc/sysconfig/iptables
Tambahkan port 8000, sebagai jalur transaksi data blender agar dapat dikenali oleh sistem.

Gambar 4.1.2 Konfigurasi Port

4.1.5.2 Konfigurasi IP Address Worker Node Untuk woker node 1 :

~# vi /etc/sysconfig/network-script/ifcfg-Auto_eth0

30

IPADDR=192.168.1.2 NETMASK=255.255.255.0 GATEWAY=192.168.1.1


Masukan port 8000

Untuk Worker node 2 :

Gambar 4.1.3 Konfigurasi Port2

~# vi /etc/sysconfig/network-script/ifcfg-Auto_eth0 IPADDR=192.168.1.3 NETMASK=255.255.255.0 GATEWAY=192.168.1.1


Input port 8000.

4.1.6

Konfigurasi Blender

1. Unduh package blender pada website resmi sesuai dengan arsitektur linux x86_64. Atau dengan perintah :

~# wget http://download.blender.org/release/Blender2.67/blender2.67b-linux-glibc211-x86_64.tar.bz2 2. Ekstrak hasil unduhan tersebut.

~# tar xvjf blender-2.67b-linux-glibc211-x86_64.tar.bz2


3. Masuk ke file direktori blender dan jalankan blender.

~# cd blender-2.67b

31

~# ./blender
4. Buka file format .blend melalui blender dengan membuka tab file dan open. Untuk proyek akhir ini menggunakan danielonson_an_old_walking.blend, lihat interfacenya sebagai berikut :

5. Mengganti render engine menjadi network render :

Gambar 4.1.4 Interface Blender

Gambar 4.1.5 Render Engine

32

4.1.6.1 Konfigurasi Blender Master Node 1. Pilih mode master pada master node machine, isikan direktori /tmp/ untuk hasil output rendering, address master node 192.168.1.1, port 8000, dan centang broadcast untuk IP broadcast. Apabila option master node sudah dikonfigurasi maka start service untuk mengaktifkan master node. Lihat gambar berikut :

Gambar 4.1.6 Master Mode

2. Pindah tab untuk memilih client mode pada sisi master node machine. Client mode berguna untuk mengirim job kepada master yang selanjutnya task-task dipecah untuk dikerjakan worker node machine. IP Address dan direktori output akan automatis terisi karena telah dikonfigurasi pada master mode.

Gambar 4.1.7 Client Mode

33

4.1.6.2 Konfigurasi Blender Worker Node Slave akan bertidak sebagai worker node machine bertugas sebagai mengeksekusi task-task yang telah dikirim oleh master node. Untuk memulai slave mode isikan direktori hasil rendering, edit IP Address yang diarahkan IP master node. Untuk Port slave disamakan. Ada beberapa option untuk slave setting, proyek akhir ini mengambil setting default. Setelah worker node siap dikonfigurasi, slave mode siap untuk dijalankan. Lihat gambar berikut :

Gambar 4.1.8 Slave Mode

4.2 Pengujian
Tes ini akan berfokus pada master dan slave apakah sudah berada dalam konfigurasi yang tepat untuk dapat berjalan pada level distributed rendeirng. Pengujian ini akan menggunakan layanan yang sudah tersedia pada scientific linux dan blender. 4.1.1 Pengujian Komunikasi

Yang akan di cek pada pengujian ini ialah apakah komunikasi antara master dan slave sudah berjalan dan komponen yang dicek ialah sebagai berikut : 1. Pengujian pertama dilakukan untuk mengecek apakah IP address antara master node dan worker node sudah berjalan dengan baik. Pada pengujian dengan menggunakan perintah ping pastikan respon dari master node diterima dengan adanya paket reply dari worker node. Apabila ada kesalahan maka kemungkinan ada masalah pada konfigurasi pada gateway.

34

Gambar 4.2.1 Ping Worker 1

Gambar 4.2.2 Ping Worker 2

2. Mengecek IP address worker node apakah sudah reply dari respon master node. 4.1.2 Pengujian rendering gambar 3D

4.1.2.1 Rendering memanfaatkan sistem cluster Untuk melakukan pengujian ini, terlebih dahulu start service master mode dan slave mode pada blender. 1. Start service master pada sisi master node.

Gambar 4.2.3 Start Service Master

35

2. Start service slave pada sisi worker node.

3. Setelah master service dimulai, IP Broadcast master node akan direspon oleh worker node dan master node akan memberikan status pengecekan versi blender dari worker node.

Gambar 4.2.4 Start Service Slave

4. Worker node dalam status idle menunggu job yang dikirimkan oleh master.

Gambar 4.2.5 Status Master

5. Untuk memulai rendering, client mode pada sisi master mengirim kan request job dengan melakukan menekan pada tombol send job untuk master yang akan dikirimkan kepada worker node berupa task yang dipecah.

Gambar 4.2.6 Slave Status

Gambar 4.2.7 Tombol Send Job

36

6. Setelah melakukan send job, worker node melakukan eksekusi terhadap task yang telah dikirimkan. Dan memberikan status yang telah dikerjakan. Dapat dilihat dari web browser default untuk melihat status rendering.

7. Setelah proses rendering selesai worker node akan kembali ke status idle, dan hasil output rendering dapat dilihat pada tempat direktori yang sudah dikonfigurasi.

Gambar 4.2.8 Status Render

Gambar4.2.9 Hasil Video

37

4.1.2.2 Rendering Single Machine 1. Untuk melakukan rendering single machine rubah render engine menjadi blender render. 2. Sebelum proses rendering dimulai pastikan direktori dimana output hasil render diletakan. untuk Memulai blender render dengan menekan tombol animation.

Gambar4.3.1 Blender Render Option

3. Proses rendering status bisa dilihat pada layar. Setelah melakukan rendering, total estimasi rendering dapat dilihat pada layar.

Gambar 4.3.2 Hasil Rendering Single Machine

38

4.1.2.3 Pengujian berdasarkan format video. 1. Menggunakan sistem cluster distributed rendering Untuk pengujian ini, akan mengambil 3 sample format video yaitu AVI, MPEG, dan OGG. Dengan file Daniel_old_man.blend. a. Pengujian format AVI Menentukan hasil direktori rendering. Dengan format hasil video yaitu AVI.

Gambar 4.3.3 Direktori Output

Melihat status proses rendering melalui web browser.

Gambar 4.3.4 Status rendering

Hasil waktu yang dibutuhkan rendering untuk format AVI dan hasil video yang telah diproses.

39

Gambar 4.3.5 Status selesai

b. Pengujian format MPEG.

Gambar 4.3.6 Hasil video

Menentukan hasil direktori rendering. Dengan format hasil video yaitu MPEG.

Gambar 4.3.7 Direktori output

40

Status proses.

Gambar 4.3.8 Status proses

Hasil waktu yang dibutuhkan rendering untuk format MPEG dan hasil video yang telah diproses.

Gambar 4.3.9 Status selesai

Gambar 4.4.1 Hasil video

41

c. Pengujian format OGG Menentukan hasil direktori rendering. Dengan format hasil video yaitu OGG.

Gambar 4.4.2 Direktori hasil

Status proses rendering pada web browser.

Gambar 4.4.2 Status proses

Hasil waktu yang dibutuhkan rendering untuk format OGG dan hasil video yang telah diproses.

Gambar 4.4.3 Status selesai

42

Gambar 4.4.4 Hasil video

2. Pengujian menggunakan single machine. a. Menggunakan format AVI. Hasil rendering format AVI.

Gambar 4.4.5 Total waktu render AVI

43

b. Menggunakan format MPEG. Hasil rendering format MPEG.

Gambar 4.4.6 Total waktu render MPEG

c. Menggunakan format OGG. Hasil rendering format OGG.

Gambar 4.4.7 Total waktu render OGG

44

4.1.2.4 Pengujian berdasarkan warna Pengujian ini menggunakan 2 file blender yaitu hitam putih dan berwarna, nama file tersebut adalah zoro.blend. 1. Pengujian menggunakan sistem cluster distributed rendering. a. Pengujian file zoro.blend hitam putih Status proses rendering pada web browser.

Status selesai apabila rendering telah dikerjakan, dan bisa diliihat untuk waktu rendernya.

Gambar 4.4.8 Status proses

Gambar 4.4.9 Status selesai

45

Hasil dari rendering dapat dilihat pada direktori hasil output.

Gambar 4.5.1 Hasil video

b. Pengujian file zoro.blend warna Pengujian ini menggunakan file zoro.blend warna dengan nama warna 3.

Gambar 4.5.2 Status proses

Status hasil total waktu rendering.

Gambar 4.5.3 Status selesai

46

Gambar 4.5.4 Hasil video

2. Pengujian menggunakan single machine. a. Pengujian zoro.blend hitam putih Hasil rendering zoro.blend hitam putih.

Gambar 4.5.5 Total waktu render hitam putih

47

b. Pengujian zoro.blend warna Hasil rendering zoro.blend. warna.

Gambar 4.5.6 Total waktu render warna

4.1.2.5 Pengujian berdasarkan ukuran frame 1. Menggunakan sistem cluster distributed rendering a. Menggunakan file blue.blend Proses render blue.blend dapat dilihat pada web browser.

Gambar 4.5.7 Proses render

48

Status hasil untuk melihat total waktu render.

Gambar 4.5.8 Status selesai

b. Menggunakan file golem.blend Proses render untuk file golem.blend.

Gambar 4.5.9 Proses Render

Total waktu dapat dilihat pada status proses render.

Gambar 4.6.1 Status selesai

49

c. Menggunakan file golem_clean.blend Proses render file golem_clean.blend

Gambar 4.6.2 Proses render

Status dari hasil render.

Gambar 4.6.3 hasil render

50

2. Pengujian menggunakan single machine a. Menggunakan file blue.blend Hasil rendering blue.blend yang mempunyai 50 frame.

Gambar 4.6.4 Total waktu render

b. Menggunakan file golem.blend Hasil rendering golem.blend yang mempunyai 250 frame.

Gambar 4.6.5 Total waktu render

51

c. Menggunakan file golem_clean.blend Hasil rendering golem_clean.blend yang mempunyai 100 frame.

Gambar 4.6.6 Total waktu render

52

4.1.2.6 Kesimpulan pengujian Terdapat hasil yang signifikan terhadap waktu rendering memanfaatkan sistem cluster dibandingkan dengan rendering single machine. 1. Berdasarkan format video Grafik ini merupakan hasil perbandingan waktu rendering antara 3 format file yaitu AVI, MPEG, dan OGG.

OGG Format Video

MPEG

Single machine Cluster

AVI

10

15

Waktu (satuan menit)


Gambar 4.6.7 Grafik perbandingan waktu berdasarkan format video

Dari data yang diperoleh rata-rata waktu rendering yang memanfaatkan sistem cluster yaitu 2 menit 16 detik atau 136 detik, sedangkan rata-rata waktu yang diperoleh pada single machine yaitu 9 menit 10 detik atau 549 detik, maka diperoleh Speed up sebesar 404% atau sebanyak 4 kali lipat dari single machine. Grafik di atas memperlihatkan bahwa tingkat esiensi memanfaatkan mesin cluster dalam menjalankan proses rendering berdasarkan format video sangat memuaskan, dengan demikian jumlah hasil produksi rendering gambar 3D semakin cepat dibandingkan dengan menggunakan single machine.

53

2. Berdasarkan warna Grafik ini merupakan hasil perbandingan waktu rendering antara 2 tipe file yaitu warna dan hitam putih.

Tipe File

warna Single Machine Cluster hitam 0 50 100 150 200

Waktu (Satuan Menit)


Gambar 4.6.8 Grafik perbandingan waktu berdasarkan warna

Dari data yang diperoleh rata-rata waktu rendering yang memanfaatkan sistem cluster yaitu 33 menit 12 detik sedangkan rata-rata waktu yang diperoleh pada single machine yaitu 1 jam 37 menit 57 detik, maka diperoleh Hasil Speed up sebesar 295% atau sebanyak 2 kali lipat dari single machine. Grafik di atas memperlihatkan bahwa tingkat esiensi memanfaatkan mesin cluster dalam menjalankan proses rendering berdasarkan warna sangat memuaskan, dengan demikian jumlah hasil produksi rendering gambar 3D lebih efisien dibandingkan dengan menggunakan single machine.

54

3. Berdasarkan Ukuran frame Grafik ini merupakan hasil perbandingan waktu rendering antara 50, 100 dan 250 frame.
45 40 35 Waktu (menit) 30 25 20 15 10 5 0 50 100 Jumlah Frame
Gambar 4.6.9 Grafik perbandingan waktu berdasarkan ukuran frame

Cluster Single Machine

250

Dari data yang diperoleh rata-rata waktu rendering yang memanfaatkan sistem cluster yaitu 7 menit 9 detik sedangkan rata-rata waktu yang diperoleh pada single machine yaitu 19 menit 34 detik, maka diperoleh Hasil Speed up sebesar 273% atau sebanyak 2 kali lipat dari single machine. Grafik di atas memperlihatkan bahwa tingkat esiensi memanfaatkan mesin cluster dalam menjalankan proses rendering berdasarkan warna sangat memuaskan, dengan demikian jumlah hasil produksi rendering gambar 3D lebih efisien dibandingkan dengan menggunakan single machine.

55

BAB 5 PENUTUP
5.1 Kesimpulan
1. Teknologi sistem cluster dengan menggunakan blender dapat mengolah proses gambar animasi dalam waktu yang singkat. 2. Sistem cluster dapat diimplementasikan dengan menggunakan blender. 3. Sistem cluster dapat implementasikan untuk kebutuhan rendering dengan menggunakan blender. 4. Kinerja sistem cluster yang telah dirancang dapat dibuktikan berdasarkan parameter speedup dan efisiensi dalam menangani proses rendering.

5.2 Saran
Saran yang dapat saya sampaikan, antara lain: 1. Implementasi dari sistem cluster dengan menggunakan blender ini dapat lebih baik lagi jika menggunakan lebih dari 2 worker node. 2. Untuk mengetahui kegagalan sistem atau jaringan pada suatu cluster dibutuhkan sistem monitoring agar dapat segera ditanggulangi.

56

DAFTAR REFERENSI

Ajinogoro, B. I. (2005). Aplikasi Sistem Paralel Menggunakan Prosesor Host 486 Berbasis Linux Debian. bandung. Andrian, H. R. (2008). Sistem Komputer. Bandung: Politeknik Telkom. Buyya, R. (1999). High Performance Cluster Computing: Architectures and Systems, Vol. 1. New Jersey: Prentice Hall. Desrochers, George R. (1988). Principlesof Parallel and Multiprocessing. New York: McGraw-Hill. Lukmanul, H. (2007, Agustus 08). Desain dan Implementasi High Throughput Computing Environment Menggunakan Condor di Institut Teknologi Sepuluh November. Surabaya. Periyadi, dkk. (2009). Sistem tersebar. Bandung: Politeknik Telkom Bandung.

57

LAMPIRAN

58

Anda mungkin juga menyukai