Kamis, 11 Desember 2014

RENDER FARM

RENDER  FARM

Teknologi animasi di dunia telah mengalami perkembangan yang begitu pesat. Tidak hanya digunakan untuk industri film, tetapi juga sudah merambah industri game. Render Farm atau Peternakan Render adalah suatu kumpulan komputer (Computer Cluster) yang dibangun untuk mempercepat rendering suatu animasi atau image yang biasanya digunakan untuk keperluan pembuatan film dan visual-visual efek untuk siaran TV.
Mari kita mengambil contoh film Transformers 2, jika kita merender keseluruhan film dengan menggunakan 1 unit komputer dengan spesifikasi terbaru akan memakan waktu selama 16.000 tahun, tetapi dengan menggunakan teknologi Render Farm hanya butuh beberapa tahun saja termasuk proses pembuatannya. Begitulah hebatnya teknologi Render Farm.

Seperti yang dijelaskan diatas bahwa Render Farm merupakan kumpulan banyak komputer yang membentuk sebuah Cluster dalam satu jaringan. Konsepnya seperti ini, coba anda bayangkan ada 5 unit komputer dengan spesifikasi utama menggunakan 6 Core prosesor berkecepatan 3Ghz. Sekarang kita bentuk itu menjadi suatu Farm maka kekuatan Render Farm ini akan menjadi 6 Core prosesor x 5 unit = 30 Core. Setiap Core prosesor tersebut berkecepatan 3Ghz, jadi total kecepatan Render Farm tersebut adalah 3Ghz x 30 Core = 90Ghz. Dengan contoh sebuah Render Farm sederhana diatas, dapat kita bayangkan bagaimana cepatnya sebuah Render Farm sederhana dalam merender gambar resolusi tinggi atau animasi singkat.


Skema Render farm

Apa itu render farm? Kata-kata yang ada dibenak saya ketika mendapat tugas untuk membuat artikel mengenai ini. Setelah googling, terkait dengan render farm, saya mendapat info di wiki, lebih tepatnya disini sih. Kurang lebih artinya adalah sistem komputer kinerja tinggi, misalnya cluster komputer, dibangun untuk membuat komputer-generated imagery (CGI), biasanya untuk film dan televisi efek visual.
Jadi intinya render farm yaitu tentang clustering computer yang dibuat untuk mempercepat kinerja rendering. Dan clustering sendiri berarti sekumpulan komputer (umumnya server jaringan) independen yang beroperasi serta bekerja secara erat dan terlihat oleh klien jaringan seolah-olah komputer-komputer tersebut adalah satu buah unit komputer. Eits, tapi sebelum melangkah lebih jauh,saya sempat baca-baca “custering” sendiri ada banyak macamnya, lagi-lagi berdasarkan wiki disini. Jadi Clustering ini sendiri terbagi menjadi :
  • Kluster untuk ketersediaan yang tinggi (High-availability clusters)
“Yang juga sering disebut sebagai Failover Cluster pada umumnya diimplementasikan untuk tujuan meningkatkan ketersediaan layanan yang disediakan oleh kluster tersebut. Elemen kluster akan bekerja dengan memilikinode-node redundan, yang kemudian digunakan untuk menyediakan layanan saat salah satu elemen kluster mengalami kegagalan. Ukuran yang paling umum dari kategori ini adalah dua node, yang merupakan syarat minimum untuk melakukan redundansi. Implementasi kluster jenis ini akan mencoba untuk menggunakan redundansi komponen kluster untuk menghilangkan kegagalan di satu titik (Single Point of Failure).”
Kata-kata diatas saya sengaja untuk “copas” dari wikipedia. Membaca failover, saya teringat akan edisi ngoprek KPLI bogor kemarin yaitu failover, yang dibawakan bapak imam hanafi. Walau agak oot sedikit, tapi saya ceritakan. Failover sendiri konsepnya yaitu apabila salah satu server mati, maka akan dialihkan ke server yang lain,jadi minimal harus 2 server untuk menerapkan cluster jenis ini. Lalu bagaimana bila ada 2 server virtual misalkan menggunakan proxmox, namun tetap di 1 server? Ya kembali lagi, kalo server virtualnya down, bisa dialihkan ke server yang lain. Tapi bagaimana kalau server fisiknya yang mati? Ya otomatis mati semua servernya. Untuk itulah mengapa saya katakan minimal 2 server. Owh iya, kalau mau buka materi tentang failover server tadi bisa baca blognya pak imam hanafi di sini. Cukup lah OOTnya, kembali ke materi render farm.
  • Kluster untuk pemerataan beban komputasi (Load-balancing clusters)
“Kluster kategori ini beroperasi dengan mendistribusikan beban pekerjaan secara merata melalui beberapa node yang bekerja di belakang (back-end node). Umumnya kluster ini akan dikonfigurasikan sedmikian rupa dengan beberapa front-end load-balancing redundan. Karena setiap elemen dalam sebuah kluster load-balancing menawarkan layanan penuh, maka dapat dikatakan bahwa komponen kluster tersebut merupakan sebuah kluster aktif/kluster HA aktif, yang bisa menerima semua permintaan yang diajukan oleh client.”
Load-balancing sendiri yang saya tau adalah pembagian beban. Nah yang saya bisa simpulkan dari kata-kata barusan adalah pembagian beban berupa resource ke komputer yang berada dalam cluster tersebut. Dan karena ada kata-kata client, maka kesimpulan saya berarti cluster jenis ini merujuk ke cluster untuk berkerja sebagai layanan jaringan. Contohnya misal server google yang mempunyai layanan search engine, mail server, dan lain sebagainya.

Kurang lebih seperti itu. Mungkin gambar diatas adalah salah satu data center bukan sebuah server cluster, namun kurang lebih tampilannya seperti itu.

  • Kluster hanya untuk komputasi (Compute clusters)
“Seringnya, penggunaan utama kluster komputer adalah untuk tujuan komputasi, ketimbang penanganan operasi yang berorientasi I/Oseperti layanan Web atau basis data. Sebagai contoh, sebuah kluster mungkin mendukung simulasi komputasional untuk perubahan cuaca atau tabrakan kendaraan. Perbedaan utama untuk kategori ini dengan kategori lainnya adalah seberapa eratkah penggabungan antar node-nya. Sebagai contoh, sebuah tugas komputasi mungkin membutuhkan komunikasi yang sering antar node–ini berarti bahwa kluster tersebut menggunakan sebuah jaringan terdedikasi yang sama, yang terletak di lokasi yang sangat berdekatan, dan mungkin juga merupakan node-node yang bersifat homogen. Desain kluster seperti ini, umumnya disebut juga sebagai Beowulf Cluster.”
Beowulf Cluster adalah gabungan dari beberapa komputer komersial yang identik, dengan menjalankan operating system yang gratis atau open source, sistim operasi sejenis Unix, seperti BSD, GNU / Linux, atau Solaris. Komputer-komputer ini digabungkan kedalam sebuah jaringan LAN TCP/IP, dan menjalankan program dan/atau library yang mengijinkan komputer-komputer ini saling berbagi proses.
Intinya adalah cluster jenis ini lebih dikatakan pasif, kenapa pasif? Karena cluster jenis ini hanya memproses apabila diperintahkan untuk mengerjakan suatu hal. Dan Cluster jenis ini biasanya tidak digunakan untuk server jaringan.
  • Grid computing
“Grid pada umumnya adalah compute cluster, tapi difokuskan pada throughput seperti utilitas perhitungan ketimbang menjalankan pekerjaan-pekerjaan yang sangat erat yang biasanya dilakukan oleh Supercomputer. Seringnya, grid memasukkan sekumpulan komputer, yang bisa saja didistribusikan secara geografis, dan kadang diurus oleh organisasi yang tidak saling berkaitan.”
Yang saya tangkap dari kata-kata diatas berarti grid computing dialokasikan untuk salah satu organisasi dan didistribusikan secara geografis. Grid computing juga merupakan salah satu alternatif untuk supercomputer yang dijadikan alat hitung.
Ok, setelah mengupas clustering, apasaja dan bagaimana mereka berkerja. Jadi render farm menurut saya adalah jenis cluster yaitu Compute clusters. Karena dia didedikasikan untuk mengerjakan suatu hal dan bersifat pasif.

sumber :
http://tommymarbun.blogspot.com/2011/11/render-farm.html
http://juniorcore.wordpress.com/2013/05/03/render-farm/
 

 



Tidak ada komentar:

Posting Komentar