Ugh, sebal sekali! Opera 10.60 saya baru saja menghapus sebuah entri panjang telah capek saya tulis! Ini sudah yang kesekian kali. Ingatkan saya untuk menulis blog dengan peramban yang stabil. [Ugh, padahal saya pencinta Opera, tidaaaaak…. ;-(] Maka, kali ini saya menulis dari Firefox 3.6.8 versi (jauh lebih) ringkas dari apa yang saya tadi tulis. Intinya, minggu ini adalah minggu optimasi dengan topik:

  1. Penataran aplikasi e-Akses dengan kemampuan CSS3, HTML5, dan Javascript.
  2. Penggunaan Hoard untuk Proxy.
  3. Optimasi kernel linux 2.6.35 untuk penggunaan I/O yang berat (dah-dah lemot!)

#1 Penataran e-Akses

Berkat Adin, aplikasi e-Akses sudah dapat melakukan autentikasi secara luring. Selama ini, aplikasi ini menggunakan autentikasi langsung ke server. Hal ini beresiko akibat listrik yang sering turun naik dan Brontoks yang berseliweran. Dengan menggunakan teknologi baru (mesin penggambar/rendering engine kami masih xulrunner), saat ini e-Akses telah dapat menggunakan HTML5, CSS3, dan Javascript dengan baik. Disainer grafis kami, Fariz, menghasilkan ikon yang menarik untuk tampilan yang lebih baik. Selain itu, e-Akses sudah mampu menampilkan penyimpan layar (screensaver) video. Baru ada dua video saat ini, tapi bisa ditambahkan secara dinamis.

Baru ada tiga mesin dengan tatar terbaru ini, yang pertama di gedung PPMT dan dua lagi di ruangan kami, pengembang. Mudah-mudahan minggu depan bisa ditatar ke seluruh UI. Wow, stok mesin e-Akses sudah mulai habis. Artinya mesin-mesin ini sudah tersebar ke seluruh UI. Tinggal menunggu peningkatan penggunaannya.

Sungguh, 4 tahun riset (semenjak 2006) telah dapat berbuah manis. Saat ini melalui pengumpulan data secara anonim, fungsi perpanjangan sandi merupakan fungsi yang sering diakses mahasiswa. Para staf justru senang mengakses fungsi absensi. Mudah-mudahan, ada fungsi lainnya yang bisa ditambahkan.

Untuk dokumentasi penggunaan e-Akses, silakan akses di sini.

#2 Penggunaan Hoard untuk SQUID 3

Peningkatan penggunaan layanan Internet di UI dapat digambarkan dengan fungsi parabolik. Hal ini karena setiap hari, kecuali Minggu, selalu ada saja pendaftaran perangkat oleh sivitas akademika untuk dapat menggunakan Hotspot UI. Dengan pertumbuhan infrastruktur yang tidak secepat itu, admin harus berimprovisasi.

Salah satu admin kita, Tonny, telah berhasil mengimplementasi SQUID 3.0 dengan Hoard. Tadinya dia menggunakan SQUID 3.1, sayangnya banyak kebocoran memori sehingga menyebabkan proxy sering mati. Minggu ini, ada beberapa alokator memori dinamis yang sebenarnya hendak dicoba: tbbmalloc, tcmalloc, nedmalloc, ptmalloc3, dan hoard.

Alokator tbbmalloc ternyata punya Intel dan tidak dapat ditemukan halaman unduhannya. Saya berkesimpulan bahwa tbbmalloc itu mungkin adalah solusi tertutup. Solusi Google, tcmalloc, menurut forum-forum memiliki keterbatasan untuk mesin banyak-inti dan 64bit. Kami pun tidak mencobanya. Akhirnya, ada 3 alokator yang hendak dicoba.

Alokator nedmalloc menggunakan SCons untuk konfigurasinya, aneh sekali memang. Lalu, dicobalah ptmalloc3. Ada sedikit kilikan untuk dapat menggunakan ptmalloc3, yakni menambahkan “-ldl -lpthread” pada CFLAGS di Makefile ptmalloc3. Oh, tapi ternyata tidak bisa juga. Akhirnya, pilihan jatuh pada hoard. Hoard berhasil dikompilasi dan dipasang. Menurut penuturan Tonny, Hoard menurunkan penggunaan memori pada proxy. Yah, kita lihat nanti saat OBM minggu depan. 😀

Buat rekan-rekan yang hendak mencoba, silakan pasang dan mulai aplikasi dengan:

Menurut  sebuah forum di Gentoo, nedmalloc lebih cocok untuk pemakaian sehari-hari dibandingkan Hoard dan tcmalloc. Ptmalloc3 perlu investigasi lebih lanjut karena gagal terpasang. Tetapi menurut situs nedmalloc, ptmalloc3 jauh lebih baik dibandingkan nedmalloc itu sendiri. Oh, iya, GNU Libc (GLIBC) menggunakan alokator memori ptmalloc untuk alokator memorinya. Makanya, keturunan ketiga dari ptmalloc (ptmalloc3) ini sebenarnya sangat berpotensi.

#3 Kernel Linux anti lemot!

Saking sudah terbiasanya, orang menganggap bahwa GNU/Linux seperti rivalnya Windoze, suka patah-patah saat sedang terjadi operasi I/O yang berat. Ternyata semenjak 2.6.18, terjadi regresi yang menyebabkan operasi antrian menunggu sampai alokator selesai mengalokasikan beban. Padahal, dulu tidak seperti itu. Untungnya pada minggu ini, sebuah fungsi pengecekan yang baru ditambahkan dan akhirnya kernel 2.6.35 bisa jadi lebih interaktif. Berhubung 2.6.35 baru saja keluar, maka tambalan ini menunggu 2.6.35.1 atau 2.6.36. Sayangnya, tidak diketahui apakah bisa dipasang di kernel versi-versi sebelumnya. Saya, sih, gagal ketika hendak menambal kernel 2.6.34-gentoo-r1.

Tetapi, saya berhasil mencobanya di kernel asli 2.6.35. Sayangnya kernel asli tidak memiliki BFS dan Reiser4 yang merupakan hal mati yang harus ada di kernel saya. Maklum,  keduanya merupakan rogue. (Con Kolivas dan Hans Reiser adalah pahlawanku) Saya akhirnya memutuskan menggunakan zenkernel versi git. Omong-omong, salah satu pengembang zenkernel inilah yang telah menyumbangkan kode tersebut.

Hasilnya? KDE SC saya responsif saat menjalankan netbeans, mengompilasi kernel, dan emerge paket-paket acak (misalnya k3b). Silakan baca di Phoronix untuk keterangan lebih lanjut.