• Tidak ada hasil yang ditemukan

Bab 2 Landasan Teori

2.8 Governor pada kernel Android

Governor pada kernel android merupakan sebuah profil tentang bagaimana suatu CPU/processor pada smartphone Android bekerja. Governor akan menginstruksikan kepada processor apa yang harus dilakukan dengan tepat pada saat berbagai situasi. (Governor. 2011. xda-university.com/as-a-developer/adding-features-to-your-kernel)

Pada kernel bawaan pabrikan sendiri hanya terdapat beberapa governor standar bawaan yang memiliki kemampuan terbatas menangani berbagai situasi smartphone. Sehingga, kinerja dari cpu smartphone itu sendiri menjadi tidak optimal. Untuk itulah diperlukan governor tambahan yang umumnya di buat oleh pihak ketiga yang memiliki kinerja yang lebih baik daripada governor standar pabrikan tersebut.

Berikut ini adalah beberapa governor yang ada saat ini : 1. Ondemand

Governor bawaan yang hampir ada pada setiap kernel bawaan.. Tujuan utama dari governor Ondemand adalah untuk mengubah keadaan cpu ke frekuensi maksimal secara langsung setelah terdekteksi aktivitas sistem.. Pada Ondemand CPU langsung melakukan lompatan ke frekuensi tertinggi ketika memiliki aktivitas yang sangat sibuk dan menurunkan ke frekueni terendah ketika dalam keadaan idle. Meskipun banyak dari kita yang akan berpikir bawah Ondemand merupakan governor yang sangat ideal akan tetapi nyatanya Ondemand sangat buruk untuk pemakaian baterei maupun performa pada setingan bawaan. Salah satu alasan utama bahwa governor Ondemand tidaklah efisien yaitu governor ini langsung memutuskan

frekuensi CPU berikutnya secara langsung bukan melakukan intervcal tertentu.. Perubahan frekuensi secara langsung memang sangat membantu dalam penanganan banyaknya prose yang dapat ditangani, akan tetapi tidaklah efektif diterapkan dalam pengunaan jangka panjang yang akan mengakibatkan turunnya frekuensi tinggi dan rendah secara drastis

.

2. Ondemandx:

Pada dasarnya merupakan governor Ondemand dengan penambahan

wake/suspend mode. Governor ini dapat dikatakan sebagai governor Ondemand yang hemat daya. Ketika layar dalam keadaan mati, frekuensi maksimum pada CPU di set pada 500 mhz. Walaupun Ondemand adalah governor bawaan di banyak kernel dan dipertimbangkan karena aman/stabil, akan tetapi untuk mendukung Ondemand/Ondemandx tergantung dari kemampuan CPU untuk melakukan penggantian frekuensi secara cepat dan memiliki transisi latensi frekuensi yang sangat rendah.. Tidak semua I/O scheduler cocok dengan governor Ondemand/Ondemandx, hanya I/O SIO yang sepertinya dapat dikatakan cocok sebagai pasangan Ondemand/Ondemandx.

3. Conservative

Sebuah Ondemand versi yang lebih lambat yang menaikkan frekuensi secara perlahan untuk menghemat penggunaan baterei. Conservative didasarkan pada Ondemand. Fungsi governor ini seperti governor Ondemand yang secara dinamis mengatur frekuensi berdasarkan utilisasi prosesor(processor utilization). Bagaimanapun, governor Conservative

menaikkan dan menurunkan kecepatan CPU secara lebih bertahap daripada Ondemand. Dengan kata lain, governor ini menaikkan frekueni secara bertahap ketika CPU digunakan dan langsung melakukan lompatan ke frekuensi terendah ketika dalam keadaan idle.. Target governor Conservative adalah untuk mengatur frekuensi CPU secara dinamis, tanpa melompat langsung ke frekuensi tertinggi.

4. Interactive

Interactive dianggap sebagai governor yang lebih efisien dari Ondemand. Jadi dapat dikatakan lebih cepat, dan hemat baterei. Interactive di rancang untuk sensitif-latency, beban kerja yang interaktif. Alih-alih pengambilan sampel pada setiap interval seperti ondemand, Interactive menentukan bagaimana skala ketika CPU keluar dari status idle. Governor ini memiliki keuntungan sebagai berikut :

1) Lebih responsif, karena governor yang ada melakukan sampel beban CPU dalam konteks penjadwalan kerja, tapi governor Interactive melakukan hal ini dalam konteks waktu, yang memberikan sampel beban CPU yang lebih konsisten.

2) Peningkatan frekuensi CPU memiliki prioritas yang lebih tinggi, yang kemudian memberikan kemampuan CPU dalam menangani beban kerja secara lebih baik, tidak seperti governor yang ada yang menjadwalkan penaikkan skala pengerjaan untuk menyelesaikan beban kerja yang ada. Dapat dikatakan bahwa Interactive merupaka governor Ondemand yang lebih cerdas. Dikarenakan pengambilan sampel pemakaian CPU setiap X ms (seperti Ondemand) dapat digunakan untuk menentukan daya bawah

CPU untuk X ms. 5. Interactivex:

Merupakan governor interactive dengan profile yang lebih hemat baterei daripada governor Interactive.

6. Lulzactive:

merupakan governor campuran antara Interactive dan Smartass dan merupakan salah satu governor pilihan para pengembang pihak ketiga. Versi lama : Ketika beban kerja lebih besar atau sama dengan 60%, governor langsung menaikkan skala prosesor ketingkat yang lebih tinggi. Ketika beban kerja kurang dari 60% governor menurunkan skala prosesor ketingkat yang lebih rendah. Ketika layar dalam posisi mati, frekuensi di kunci ke dalam skala frekuensi minimum yang bersifat global. Tiga parameter yang di tentukan user adalah inc_cpu_load, pump_up_step, pump_down_step. Tidak eperti versi lamanya, versi yang baru memberikan kontrol yang lebih baik untuk pengguna. Pengguna dapat menentukan ambang batas untuk governor dalam menaikkan/menurunkan skala prosesor. Pengguna juga dapat menentukan angka frekuensi yang dapat dilewatkan ketika menaikkan dan menurunkan frekuensi. Ketika beban kerja lebih besar atau sama dengan inc_cpu_load, governor menaikkan skala CPU pump_up_step secara bertahap. Ketika beban kerja lebih kecil dari inc_cpu_load, governor meurunkan skala pump_down_step.

7. Lulzactiveq:

oleh anggota XDA bernama Robertosc. Lulzactiveq mengarah kepada pengoptimalan versi kedua Luzactive yaitu dengan menyediakan sebuah parameter tambahan (dec_cpu_load) untuk membuat penentukan skala bawah lebih sensitif dan menggabungkan logika hotplug dengan governor. Luzactiveq adalah sebuah governor pertama yang menggunakan logika hotplug bawaan. Ketika CPU keluar dari posisi idle kemudian saat itu pula dibuat penskalaan CPU, jika load >= inc_cpu_load skala CPU naik and jika load <dec_cpu_load, skala CPU turun. Hanya prosessor dengan inti banyak yang dapat menerapkan governor ini.

8. Smartass:

Merupakan sebuah hasil penyempurnaan governor Interactive yang dilakukan oleh Erasmux. Tujuan utamanya adalah untuk menghemat pemakaian baterei tanpa mengurangi performa.

9. SmartassV2:

Versi 2 dari Smartass, salah satu pilihan para pengembang pihak ketiga. Governor ini bertujuan untuk menetapkan frekuensi ideal. governor ini menggunakan frekuensi ideal yang berbeda untuk keadaan layar hidup dan layar mati, dinamai awake_ideal_freq and sleep_ideal_freq. Governor ini menurunkan skala CPU sangat cepat (untuk segera menuju kondisi sleep_ideal_freq ) ketika layar dalam keadaan mati dan menaikkan dengan cepat ke posisi awake_idel_freq ketika layar hidup. Tidak ada batasan penaikkan frekuensi ketika posisi layar mati (tidak seperti Smartass). Jadi dengan keseluruhan jangkauan frekuensi yang tersedia. Jadi seluruh

jangkauan frekuensi dapat digunakan oleh governor baik itu dalam posisi layar mati (idle) atau layar hidup (awake).

10. Intellidemand:

Intellidemand alias Intelligent Ondemand yang di tulis oleh Faux yang merupakan pengembangan dari governor Ondemand. Perilaku gover ini didsarkan pada penggunaan GPU (Graphic processing Unit). Ketika GPU dalam keadaan sangat sibuk (main game, melihat maps, dan lainnya) governor ini berperilaku seperti Ondemand. Ketika GPU sibuk, intellidemand membatasi frekuensi maksimum secara bertahap tergantung dari frekuensi yang tersedia pada perangkat/kernel untuk menghemat baterei. Proses ini disebut dengan “Browsing mode”.

11. Lazy:

Governor ini berasal dari Ezekeel yang dibuat berdasarkan Ondemand dengan tambahan paramater min_time_state yang bertujuan menentukan waktu minimum CPU untuk tetap pada frekuensi yang ada sebelum skala naik/turun. Ide ini bertujuan menghilangkan ketidakstabilan yang disebabkan oleh penggantian frekuensi secara cepat yang dilakukan Ondemand. Governor ini hanya menetukan frekuensi selanjutnya setelah melewati waktu yang ditetapkan pada min_time_state. Lazy juga mempunyai screenoff_maxfreq yang ketika digunkan akan menyebabkan governor ini memilih frekuensi maksimum ketika layar dalam keadaan mati.

12.Lagfree:

pada governor ini dikembangkan untuk penggunaan baterei yang lebih hemat. Frekuensi secara “anggun” diturunkan dan dinaikkan, tidak seperti Ondeman yang terlalu sering dinaikkan ke posisi 100%. Lagfree tidak melewatkan frekueniapapun ketika skalanya dinaikkn ataupun diturunkan. 13. Lionheart:

Lionheart sangat bagus dipasangkan dengan deadline i/o scheduler. 14.LionheartX

LionheartX merupakan pengembangan dari governor LionheartX akan tetapi terdapat penambahan beberapa fitur governor Smartass.

15. Brazilianwax:

Hampir sama dengan smartassV2. Akan tetapi lebih ringan, sehingga memiliki performa yang lebih baik dan lebih hemat dalam penggunaan baterei.

16.SavagedZen:

Salah satu pengembangan governor smartassV2. Yang bertujuan mendapatkan performa dan ketahanan baterei yang seimbang.

17. Userspace:

Disamping menentukan frekuensi secara otomatis, pengguna dijiinkan dengan bebas dapat menentukan frekuensi.

18.Powersave:

Mengunci frekuensi maksimum ke frekuensi minimum. Biasanya menyebabkan lag yang luar biasa.

19.Performance:

Dokumen terkait