7 Vol6No2Sep2013 Yudhi Arta

download 7 Vol6No2Sep2013 Yudhi Arta

of 8

Transcript of 7 Vol6No2Sep2013 Yudhi Arta

  • 8/15/2019 7 Vol6No2Sep2013 Yudhi Arta

    1/8

    JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN ISSN : 2086 – 4981

    VOL. 6 NO. 2 September 2013 

    55

    ANALISA KINERJA PARALLEL COMPUTING DENGAN MENGGUNAKANPERHITUNGAN HUKUM AMDAHL BERBASISKAN LINUX

     Yudhi Arta1

    ABSTRACT

    Parallel Computing is the unification of multiple computers or servers into a single

    unit that can work simultaneously or processes simultaneously. Parallel

    computing and the process of making the program run faster as more CPUs are

    used. Essentially parallel computing using a network media, but that is

    characteristic in particular is how to resolve the problem. Problems encountered

    here was how to rendering an image that looks speedup PC and serial values

    contained by parallel computing.

    Keywords:  Parallel Computing, Rendering, SpeedUp, Serial Value.

    INTISARI

    Parallel Computing  yaitu penyatuan beberapa komputer atau server  menjadi satu

    kesatuan sehingga dapat mengerjakan proses secara bersamaan ataupun

    secara simultan. Parallel computing  membuat program maupun proses berjalan

    lebih cepat karena semakin banyak CPU yang digunakan. Pada dasarnya

     parallel Computing   menggunakan media jaringan, tapi yang menjadi ciri

    khususnya adalah bagaimana menyelesaikan masalah. Masalah yang dihadapi

    disini adalah bagaimana me-rendering  sebuah gambar sehingga terlihat speedup 

    PC dan juga nilai serial yang dikandung oleh parallel computing .

    Kata Kunci :  Parallel Computing , Rendering , SpeedUp , Nilai Serial. 

    1 Dosen Program Studi Teknik Informatika Fakultas Teknik Universitas Is lam Riau

  • 8/15/2019 7 Vol6No2Sep2013 Yudhi Arta

    2/8

    JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN ISSN : 2086 – 4981

    VOL. 6 NO. 2 September 2013 

    56

    PENDAHULUANPemrosesan paralel ( parallel

     processing ) adalah penggunaan lebihdari satu CPU untuk menjalankansebuah program secara simultan.Idealnya, parallel processingmembuat program berjalan lebihcepat karena semakin banyak CPUyang digunakan. Tetapi dalampraktek, seringkali sulit membagiprogram sehingga dapat dieksekusioleh CPU yang berbeda-beda tanpaberkaitan di antaranya.

    Komputasi paralel merupakansalah satu teknologi paling menarikyang penting sejak ditemukannya

    komputer elektronik pada tahun 1940-an. Terobosan dalam pemrosesanparalel selalu berkembang danmendapatkan tempat disampingteknologi-teknologi lainnya sejak EraKebangkitan (1950-an), EraMainframe (1960-an), Era Minis(1970-an), Era PC (1980-an), dan EraKomputer Paralel (1990-an). Denganberbagai pengaruh atasperkembangan teknologi lainnya, danbagaimana teknologi ini mengubah

    persepsi terhadap komputer, dapatdimengerti betapa pentingnyakomputasi paralel itu. Inti darikomputasi paralel yaitu hardware,software, dan aplikasinya.

    Paralel Prosesing merupakansuatu pemrosesan informasi yanglebih mendekatkan pada manipulasirata-rata dari elemen data terhadapsatu atau lebih penyelesaian prosesdari sebuah masalah. Oleh karena itukomputasi paralel dapat diartikan

    bahwa komputer dengan banyakprosesor yang mampu untukmelakukan paralel prosesing

    PENDEKATAN PEMECAHANMASALAH

    Komputasi paralel adalahsalah satu teknik melakukankomputasi secara bersamaan denganmemanfaatkan beberapa komputerindependen secara bersamaan.Biasanya digunakan untuk kapasitasyang pengolahan data yang sangat

    besar (lingkungan industri,bioinformatika dan lain - lain) ataukarena tuntutan komputasi yangbanyak.

    Komputer paralel adalahkomputer tunggal dengan beberapainternal prosesor atau beberapakomputer yang dihubungkan olehsuatu interconnection network (IN)Komputer paralel dapatdikelompokkan, berdasarkanpengorganisasian memorinya, kedalam dua arsitektur dasar yaitu:sistem memori bersama (sharedmemory ) dan sistem memori tersebar(distributed memory ). Dalam sistem

    memori tersebar komunikasi antarproses menggunakan mekanismepertukaran pesan (message passing ).Program paralel dengan pertukaranpesan dapat ditulis menggunakansuatu bahasa pemrograman tingkattinggi (misalnya: fortran, C/C++), danmenyertakan (atau pemanggilan)suatu pustaka pertukaran pesan MPI(Message Passing Interface) atauPVM (Parallel Virtual Machine). Padapenelitian ini digunakan digunakan

    pustaka MPI. Terdapat dua strukturprogram parallel : Single ProgramMultiple Data  (SPMD) dan MultipleProgram Multiple Data (MPMD).Dalam struktur SPMD, hanya terdapatsatu sumber program dan setiapprosessor akan mengeksekusi salinandari program ini. Sedangkan dalamstruktur MPMD, terdapat beberapasumber program dan setiap prosessormegeksekusi program yang berbedaPemrograman parallel adalah teknik

    pemrograman komputer yangmemungkinkan eksekusiperintah/operasi secara bersamaanbaik dalam komputer dengan satu(prosesor tunggal) ataupun banyak(prosesor ganda dengan mesinparalel) CPU. Tujuan utama daripemrograman paralel adalah untukmeningkatkan performa komputasi.Semakin banyak hal yang bisadilakukan secara bersamaan (dalamwaktu yang sama), semakin banyakpekerjaan yang bisa diselesaikan.

  • 8/15/2019 7 Vol6No2Sep2013 Yudhi Arta

    3/8

    JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN ISSN : 2086 – 4981

    VOL. 6 NO. 2 September 2013 

    57

    Komputasi paralel membutuhkandiantaranya algoritma, bahasapemrograman dan compiler .

    PVMPVM adalah perangkat lunak yang

    membuat sekumpulan komputermenjadi tampak seperti sebuahsistem komputer virtual   yang besar.Sekumpulan komputer yang akanterlibat dalam proses penyelesaianmasalah harus didefinisikan trelebihdahulu, agar dapat menjalankanfungsinya. Komputer-komputer yangterlibat dalam komputasi bisahomogen, dengan  platform  yang

    sama, maupun heterogen, dengan platform yang berbeda, asal di antaramereka bisa saling berkomunikasi.PVM dapat menangani semuapengiriman proses, konversi data danpenjadwalan task .

    Sistem PVM terdiri dari duabagian. Bagian pertama adalahdaemon  yang diberi nama pvmd.Pvmd diaktifkan di setiap komputeryang akan membentuk mesin virtual.Bagian kedua adalah pustaka rutin

    antarmuka PVM yang berisi koleksiperintah-perintah primitif untukmengoperasikan proses-prosespustaka tersebut. Pustaka rutin inidigunakan dalam program aplikasiparalel yang ditulis dengan bahasapemrograman C, C++, atauFORTRAN 77. Aplikasi dalam bahasapemrograman C dan C++dihubungkan melalui pustakalibpvm3.lib, sedangkan aplikasi dalambahasa pemrograman FORTRAN 77

    dapat mengambil rutin-rutin dalamlibfpvm3.lib [1].

    PVM memberi fasilitas untukmembuat sejumlah proses yang tidaktergantung dari jumlah prosesor.Setiap proses diidentifikasimenggunakan kode (task ID) dandipetakan ke prosesor secaraotomatis, atau dapat juga diatur olehprogrammer. Program PVM umumnyadiatur dengan model master-slave,yaitu satu proses yang dieksekusipertama kali menjadi master dan

    mengaktifkan semua client   denganmemanggil pvm_spawn. Rutintersebut otomatis akan menjalankansemua proses dalam sistem PVM.Cara lain untuk menjalankan prosesadalah dengan memanggil rutinpvm_mytid yang mengembalikankode task   ID dari proses tersebut.Sebelum keluar dari sistem PVM,semua proses client harus dimatikandari PVM dengan memanggil rutinpvm_exit.

    Komunikasi antar proses di dalamsistem PVM dilakukan secaramessage passing menggunakanperintah rutin PVM seperti pvm_send

    dan pvm_recv. Semua rutinpengiriman pesan dilakukan secaraasinkron, sedangkan semua rutinpenerimaan pesan dapat dilakukansecara sinkron maupun asinkron. Adatiga tahap dalam mengirim pesandalam PVM, yaitu :1. Menginisialisasi buffer  

    pengiriman dengan rutinpvm_initsend

    2. Mengemas isi pesan ke dalambuffer dengan memanggil rutin

    pvm_pk*. Data yang dikemasdapat bertipe byte, complex ,double, float, integer , dancharacter . Tipe tersebutdinyatakan dengan menggantitanda “*” dan memberi tipe yangsesuai untuk tiap parameter didalam rutin pvm_pk*. Misalnyadata yang akan dikemas bertipefloat , maka digunakan

    pvm_pkfloat.3. Mengirim pesan ke prosesor

    tujuan dengan memanggilpvm_send atau pvm_mcastProses yang menerima pesanharus membuka paket pesanpada buffer   penerima sesuaidengan format pengirimanpesan.PVM juga menyediakan rutin

    pvm_setopt untuk mengatur pilihandalam sistem PVM, sepertipencetakan pesan kesalahan secaraotomatis, tingkat pencarian kesalahan(debugging level), dan metode

  • 8/15/2019 7 Vol6No2Sep2013 Yudhi Arta

    4/8

    JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN ISSN : 2086 – 4981

    VOL. 6 NO. 2 September 2013 

    58

    pengaturan jalur komunikasi. Contohyang paling umum dari penggunaanpvm_setopt adalah memungkinkan jalur komunikasi langsung antar task  dalam PVM. Pvm_setopt (PvmRoute,PvmRouteDirect). Dengan perintah iniotomatis bandwidth  komunikasi didalam jaringan akan digandakan.

    MPIMenurut Heru (2006), Dalam

    implementasinya MPI menggunakanfungsi-fungsi pustaka yang dapatdipanggil dari program C, C++, atauFortran. Hampir sama dengan PVM,MPI juga portable untuk berbagai

    arsitektur. Salah satu implementasiterbaru pada saat penulisan makalahini yang berjalan pada lingkunganWindows adalah MPICH.

    Ditinjau dari sisi aplikasi, MPIhanya dapat digunakan denganmodel single program multiple data (SPMD), sedangkan PVM dapatdigunakan dengan model SPMDmaupun multiple program multipledata  (MPMD). Model SPMD secarafisik ditunjukkan dengan program

    master dan slave  yang menyatu,sedangkan MPMD ditunjukkandengan program master dan slave yang terpisah, sehingga slave dapatmengerjakan tugas yang berbeda-beda antara satu node dengan nodelainnya.[1].

    MPI adalah teknikpemrograman yang berdasarkan dataparallel dengan Single ProgramMultiple Data (SPMD). Maksudnyaadalah setiap proses mengeksekusi

    program yang sama tetapimenggunakan data yang berbeda.Untuk sharing data, suatu prosessecara eksplisit mengirimkan datakepada proses penerima yang jugamenerima data secara eksplisit. MPIbukan merupakan bahasapemrograman baru, tetapi MPI adalahsubprogram library yang dapatdipanggil dari program C dan Fortran77. Ada dua implementasi MPI untukgrid: GridMPI yang dibuat olehNational Institute of Advanced

    Industrial Science and Technology(AIST) [7] dan MPICH-G2 yang dibuatoleh Argonne National La boratory(ANL) [8]. GridMPI adalahimplementasi MPI untuk jarak antarkomputer sampai dengan 500 milyang terkoneksi dengan jaringanberkecepatan 1 sampai dengan 10Gbps sedangkan MPICH-G2 adalahimplementasi MPI denganmenggunakan Globus Toolkit (standarmiddleware komputasi grid) dalamlingkungan WAN.[2]

     Abstraksi program aplikasi yangdibuat oleh user dinyatakan padalapisan API. Fungsi-fungsi pustaka

    yang tersedia pada MPI dinyatakandalam header  mpi.h. Pengaktifan MPIdimulai dengan menjalankan perintahMPI_Init(&argc, &argv); pada programutama, dilanjutkan denganmenentukan ranking dari tiap nodeyang menjalankan program aplikasidengan perintah MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);my_rank adalah bilangan bulat positif,bernilai nol berarti program berjalanpada komputer master, sebaliknya

    bernilai tidak sama dengan nol berartiprogram berjalan pada komputerslave.  MPI_COMM_WORLD adalahkonstanta yang telah terdefinisi untukmengendalikan proses-proses yangada pada saat MPI dimulai. Untukmengetahui jumlah prosesor (node)yang aktif digunakan perintahMPI_Comm_size(MPI_COMM_WORLD, &p).

    Komunikasi dilakukan secaraberurutan dari lapisan teratas sampai

    ke lapisan fisik, pada sisi penerimaberlaku sebaliknya, yaitu dari lapisanfisik ke atas. Misalnya ada perintahMPI_Send(message,strlen(message)+1, MPI_CHAR,dest,tag, MPI_COMM_WORLD); makapesan (message) sepanjangstrlen(message)+1 dan bertipekarakter (MPI_CHAR) dikirim keprosesor tujuan (dest). Pada lapisan ADI pesan tersebut diterima olehSend_handle  yaitu pengendalipengiriman data pada lapisan ADI,

  • 8/15/2019 7 Vol6No2Sep2013 Yudhi Arta

    5/8

    JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN ISSN : 2086 – 4981

    VOL. 6 NO. 2 September 2013 

    59

    kemudian pada lapisan ChannelDevice  paket tersebut diterimadengan pengendaliMPID_SendControl   danMPID_SendChannel . Selanjutnya,pada lapisan low level device 

    komunikasi dilakukan dengan protocolyang tersedia. Misalnya MPICHberjalan pada Windows 2000, makaprotokol yang digunakan adalahTCP/IP. Pada sisi penerima, lapisankomunikasi atau channel deviceinterface  memiliki pengendaliMPID_ControlMsgAvail   danMPID_RecvAnyControl . Keduapengendali ini meneruskan paket ke

    lapisan ADI. Pada lapisan ini, terdapatdua pengendali, yaitu:PostedRecv_Handles   danUnexpectedRecv_Handles , masing-masing digunakan untuk mengetahuipengiriman paket yang terkirimdengan benar dan yang salah.Selanjutnya, pada lapisan aplikasi,data diterima dengan perintahMPI_Recv (message, len,MPI_CHAR, source, tag,MPI_COMM_WORLD, &status) dan

    untuk mengakhiri MPI digunakanperintah MPI_Finalize.

    Gambar 1. Arsitektur MPICH

    Dalam penelitian ini dapatdisimpulkan bahwa permasalahanyang dihadapi adalah penggunaanresource yang tidak optimal.Metodologi yang dapat digunakanuntuk meningkatkan ketersediaansebuah server adalah denganmembuat sebuah load balancingcluster. Dengan adanya cluster server  ini dapat mengatasi masalah yang

    dihadapi atas ketergantungan yangdihadapi olen instansi itu sendiri.Dengan adanya resource  tersebutmaka dapat dibangun sebuah cluster  yang dapat membantu kinerja darisegi infrastruktur dan lainnya. Cluster  

    ini sendiri juga berfungsimeningkatkan kinerja dan jugaestabilitas kerja dari sistem itu sendiri.Uraian kerja akan dijelaskan di dalamkerangka kerja yang nantinyamenjelaskan prosedur maupunlangkah – langkah yang akn dihadapidalam membangun cluster server   ini.

    Tahap awal adalah menganalisa danmerancang apa  –  apa saja yang

    dibutuhkan dalam pembangunancluster server   ini. Lalu dilanjutkandengan pengujian beserta membuatlaporan hasil kinerja dari cluster  tersebut dalam sebuah tabel.

    Gambar 2. Kerangka KerjaPenelitian

    HASIL DAN PEMBAHASANPada bagian pembahasan,

    penulis akan menampilkan setiapartifak terkait dari setiap proses danaktivitas yang dilakukan pada setiapfase menurut metodologi DAD. Setiapfase memiliki tujuan aktivitas proses,dimana aktivitas proses tersebutmenghasilkan artifak ataudokumentasi aplikasi yang dibangun.Seperti yang disebutkan diatas, DADmembagi tahapan pengembangan

  • 8/15/2019 7 Vol6No2Sep2013 Yudhi Arta

    6/8

    JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN ISSN : 2086 – 4981

    VOL. 6 NO. 2 September 2013 

    60

    piranti lunak menjadi inception,construction dan transition.

    Perancangan TopologiUntuk perancangan topologi

    cluster hampir sama seperti dengantopologi grid computing . Dalam hal ini,cluster   mempunyai satu master danbeberapa node  / client / slave  yangnantinya akan di-manage oleh mastercluster . Hampir keseluruhanperusahaan besar sudah menerapkancluster  sejak awal komputasi merekadibangun.

    Pada gambar 3 terdapattopologi yang digunakan oleh instansi

    berskala enterprise untuk me-manage webserver yang merupakan jantungdari investasi mereka dalampersaingan di dunia maya. Jika kitaingin membangun  parallel computing  bagi coorporate, biasanya terdapatvendor - vendor yang bersediamembangunkan atau menyediakanfasilitas tersebut dengan biaya yangcukup relative tinggi. Beberapavendor diantaranya adalah IBM,Microsoft, Dell, dan vendor besar

    lainnya.

    Gambar 3. Topologi LoadBalancing  Untuk Enterpr ise  

    Dari gambar 4 dapat dijelaskanbahwa kegunaan cluster  adalah untukmembackup akses ke webserversecara cepat dana membantu node didepannya, sehingga database dan juga file sharing   yang digunakan

    dapat diakses dan dibantu olehcluster  secara cepat.

    Dari hasil rendering  tersebut kitasudah mendapatkan nilai wakturender   maupun alokasi penggunaanresource  yang kita pakai saatrendering . Hasil tersebut dapat kitalihat pada gambar 4. :

    Gambar 4. Hasil Timing  DariRender ing

    Dari beberapa hasil test nantikita akan membuat kesimpulan dannilainya akan kita ukur pada hukum Amdahl untuk mencari berapa nilaiserial yang terdapat pada CPU yangtidak bisa diganggu gugat. Untuk hasildari rendering   tersebut, dapat kitasimpulkan hasil cluster   tesebutkedalam tabel 1 berikut ini :

    Tabel 1. Hasil Rendering Dengan 2Node

  • 8/15/2019 7 Vol6No2Sep2013 Yudhi Arta

    7/8

    JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN ISSN : 2086 – 4981

    VOL. 6 NO. 2 September 2013 

    61

    Hukum AmdahlSetelah didapat hasil dari

    speedup  yang telah kita uraikan diatas, maka kita perlu menentukannilai serial yang tidak berpengaruhterhadap  parallel procesing . Nilai

    serial berguna menentukan berapapersen proses yang tidak terpengaruhdari hasil  parallel procesing   baik darisegi hardware  dan software. Adapunhukum amdahl nya adalah :

    Sp = SpeedUp  yang didapat

    dengan P buah procesorf = Bagian dari program yangharus dieksekusi secara serial (0..1)

    Hukum Amdahl untuk 2 node :

    1,17 f + (1,17/2) [1-f] = 1

    1,17 f + 0,58 – 0,58f = 10,58 f = 1 – 0,580,58 f = 0,42f = 0,42 / 0,58f = 0,72dijadikan persen :f = 0,72 *100%f = 72 %

    KESIMPULANKesimpulan dari pengujian ini

    adalah :

    1. Keseluruhan cluster   sudahbisa berjalan sesuai denganyang diinginkan.

    2. Dengan hasil rendering  tersebut kita mendapatkandata berapa speedup  yangdibutuhkan untuk  parallel procesing  atau clustering .

    3. Dari hasil testing 2 node atau3 node yang ada, kita sudahmendapatkan berapa persennilai serial yang terdapat

    dalam  parallel procesingmeskipun belum begitu validdikarenakan keterbatasanyang ada. Dengan adanyanilai serial, maka dapat kitasimpulkan masih terdapat nilaiyang cukup besar untukpemrosesan paralel yang tidakdapat diganggu gugat.

    4. Nilai serial yang terdapat initerletak pada 2 lapisan yaitu :software dan hardware.

    5. Untuk nilai serial dalamsoftware, terdapat beberapa

    instruksi yang memang tidakterpengaruh terhadap proses

    clustering atau  parallel procesing . Bisa kita katakanseperti instruksi maupunalgoritma yang diterapkandidalam  parallel procesing  yang tidak dapat diganggugugat. Juga dalam sistemoperasi itu sendiri dalammelakukan cluster atau parallel procesing   memiliki

    keterbatasan untuk memberiinstruksi perintah yang

    dijalankan.6. Untuk nilai serial dalam

    hardware  bisa dikatakanseperti keterbatasan ethernetcard , kabel yang digunakandan juga beberapa faktorlainnya.

    7. Jika ingin mendapatkan hasilfraksial yang lebih signifikanatau lebih valid, maka dapatdibuktikan denganmembangun cluster   dengan

    10 node  atau tambahanbeberapa node lagi.

    8. Untuk membuktikan prosesserial yang tidak bisa diganggugugat dapat kita buktikandengan membuka kodinguntuk proses cluster   yangmana saja yang dianggapserial dan dapat dianalisa lebihlanjut.

  • 8/15/2019 7 Vol6No2Sep2013 Yudhi Arta

    8/8

    JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN ISSN : 2086 – 4981

    VOL. 6 NO. 2 September 2013 

    62

    DAFTAR PUSTAKA[1] Anton Dwi Laksono, A.Benny

    Mutiara MQN and BrahmantyoHeruseto. 2004.  AnalisisPerbandingan Antara ClusterOpenmosix Dengan MpiTerhadap Aplikasi RenderingPov-Ray , 593.

    [2] Andria Arisal, WiwinSuwarningsih, and Nuryani. 2010.IGNITER : Membangun KomputerCluster Dengan Cepa”, VolumeIV, Number 2, 95.

    [3] Chokchai Leangsuksun, et al,

    Highly Reliable Linux HPC : Self Awareness Approach.

    [4] Desy Lukitasari and Ahmad FaliOklilas. 2010. Jurnal Generic, Analisis Perbandingan LoadBalancing Web Server TunggalDengan Web Server CusterMenggunakan Linux VirtualServer , Volume 5, Number 2, 31.

    [5] Dewi Frestyani Maya Putri,

    Singgih Jatmiko and BennyMutiara. Perbandingan KinerjaCluster OpenMosix dengan Diskdan Tanpa Disk , 866.

    [6] Fani Fatullah, A.Benny MutiaraMQN and Chandra Yulianto.2004.  Analisa Kinerja ClusterDengan Pustaka Mpich TerhadapPerkalian Matriks, 570.

    [7] Heru Suhartanto. 2006. Kajian

    Perangkat Bantu KomputasiParallel Pada Jaringan PC ,Volume 10, Number 2, 72.

    [8] John Shalf. 2007. The NewLandscape Of Parallel Computer Architecture, Conference Series78, 1.

    [9] Pandriya Sistha and Ade Jamal.2006. Membangun PC ClusterBerbasis Interkoneksi Statis

    Menggunakan Topologi Ring danTorus.

    [10] Panduan Penggunaan AplikasiParalel Melalui in GRID GridPortal, http://ww.povray.org/ 

    [11] Prema S Desai and DevenM.Thakur. 2009. InternationalJournal Of Trends In Engineering,Clustering Of Virtual Disk DesignOf Clustered Servers For StorageManagement , volume 1, Number2, 267.

    [12] Said Mirza Pahlevi. 2008. 

    Komputasi Grid Dan Paralel , 15.

    [13] Seminar Kudang B, et al. 2006.Uji Dan Aplikasi KomputasiParalel Pada Jaringan SyarafProbabilistik (PNN) Untuk ProsesKlasifikasi Mutu Tomat , JurnalTeknologi, 34.

    [14] Tittel, Ed. 2004. Schaum’sOutline : Computer Networking ,Erlangga.

    [15] Wahana Komputer. 2011. Administrasi Jaringan denganLinux Ubuntu 11. Andi, 2011.

    [16] Xinying Zheng and Yu Cai,International Journal Of ComputerNetworks (IJCN),  AchievingEnergy Proportionality In ServerClusters, Volume II, 23.

    http://ww.povray.org/http://ww.povray.org/http://ww.povray.org/http://ww.povray.org/