Mengapa 12.04 menghapus rasa -server kernel?

13

Ubuntu sedang menghapus rasa server, seperti yang ditentukan pada catatan rilis 12.04:

Seperti dengan Beta-1, Beta-2 kernel tidak lagi membawa amd64 -server dan -generic kernel yang terpisah. Ini telah digabung menjadi satu rasa kernel umum untuk membantu mengurangi beban pemeliharaan selama umur rilis LTS ini.

Perbedaan antara -generic dan -server tampaknya terkait dengan preempting, timer timer, dan scheduler i / o, sebagaimana dinyatakan pada: https://help.ubuntu.com/10.10/serverguide/C/preparing-to-install .html # intro-kernel-diffs

Saya meminta spesifikasi teknis.

  1. Jadi, apa yang terjadi sekarang?
  2. Apakah edisi server menjalankan kernel desktop tanpa penalti kinerja?
  3. Apakah ini dibenarkan?
  4. Apa yang terjadi dengan perbedaan itu?
  5. Bisakah mereka diubah di ruang pengguna?
  6. Tidak ada aplikasi pada 12.04?
  7. Jika jawabannya ya, perubahan ini akan melibatkan penalti kinerja?

Semuanya adalah pertanyaan yang bisa dijawab. Saya meminta perubahan spesifik pada sebuah paket, bukan yang lain.

gentakojima
sumber

Jawaban:

10

Seperti yang Anda perhatikan dalam pengumuman rilis, rasa kernel generik dan server digabungkan untuk rilis 12,04 dalam upaya untuk mengurangi beban pemeliharaan selama umur LTS. Kedua rasa kernel sebenarnya hanya berbeda sehubungan dengan 2 opsi konfigurasi kernel utama: penjadwal I / O default dan model preemption.

Ini dibahas secara rinci di milis Tim Kernel Ubuntu

Seperti disebutkan dalam utas itu, penjadwal I / O default berubah dari "tenggat waktu" menjadi "cfq". Namun, siapa pun yang ingin tetap dengan Penjadwal Batas Waktu I / O dapat melakukannya pada saat boot dengan mengatur elevator=deadline.

Model preemption berubah dari CONFIG_PREEMPT_NONE ke CONFIG_PREEMPT_VOLUNTARY. Saat ini, saya sayangnya tidak memiliki tolok ukur kinerja untuk mengarahkan Anda. Semoga ini bisa membantu. Terima kasih.

Leann Ogasawara
sumber
7

Pertanyaan "mengapa" Anda dijawab dalam kutipan yang Anda berikan - karena lebih mudah untuk mempertahankannya. Fungsionalitas kernel sangat baik, Anda dapat mengubah hal-hal seperti scheduler pada saat run-time, sehingga tidak ada kebutuhan mendesak untuk default yang berbeda untuk dikompilasi.

Untuk alasan yang tepat dan pembahasan detail Anda harus bertanya pada mailing list Ubuntu KernelTeam - lihat halaman Wiki KernelTeam informasi untuk informasi kontak.

syneticon-dj
sumber
2

Apa yang terjadi sekarang adalah hanya ada satu kernel untuk server dan desktop. Penjadwal IO dapat diubah saat runtime jika Anda mau, tetapi CFQ adalah penjadwal yang paling lengkap dan terpelihara secara aktif, sehingga merupakan standar yang baik. Yang mana yang Anda gunakan membuat sedikit perbedaan di sebagian besar beban kerja. Kernel server yang digunakan untuk menonaktifkan preemption kernel bahkan sukarela karena secara teoritis itu bisa memberi sedikitthroughput yang lebih baik, tetapi saya tidak mengetahui adanya pengukuran kinerja yang benar-benar menunjukkan manfaat apa pun di sana, jadi dalam praktiknya, server tidak akan terpengaruh dengan beralih ke model permintaan desktop. Kernel ini juga tidak berdetak (CONFIG_NO_HZ), yang berarti bahwa ia menjadwalkan penghitung waktu hanya mengganggu bila diperlukan berdasarkan pada penghitung waktu aplikasi yang sedang berjalan daripada pada interval yang tetap, dan saya percaya ini telah menjadi kasus untuk beberapa rilis sekarang, terlepas dari apa yang dikatakan oleh panduan server. .

TL; DR: Tidak ada manfaatnya mempertahankan kernel lain untuk server, jadi praktiknya telah berhenti.

psusi
sumber
I / O scheduler tidak memang membuat perbedaan terutama untuk virtualisasi beban kerja. Lihatlah di sini: publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/topic/liaat/... , disimpulkan "secara keseluruhan, angka tersebut menunjukkan bahwa Penjadwal Batas Waktu I / O mengungguli penjadwal I / O CFQ, terutama di skenario multi-utas " .
syneticon-dj