Menggunakan kernel RT (latensi rendah)

Miguel Mayol, pengikut dan pengulas blog yang hebat ini, mengesyorkan artikel yang diterbitkan dalam Hispasonik mengenai penggunaan kernel RT, yang telah kami putuskan untuk diterbitkan dan diperluas di beberapa bahagiannya.

The Kernel RT membenarkan a prestasi optimum di sesetengah situasi tertentuContohnya, menyunting audio atau menggunakan alat muzik maya.

Kernel pelbagai tugas

Kernel Linux, seperti kebanyakan sistem operasi moden, adalah multitasking. Ini bermaksud bahawa beberapa program dijalankan pada masa yang sama.

Sebenarnya, ini tidak betul-betul berlaku. Apa yang anda lakukan ialah meletakkan program dalam barisan dan, satu demi satu, mikropemproses melaksanakannya untuk jangka masa tertentu. Setelah ini habis, mikropemproses mengganggu tugas, meninggalkannya separuh, dan memberi jalan kepada yang berikutnya. Jumlah masa ini disebut potongan kuantum atau waktu, dan tidak harus tetap.

Analogi yang baik adalah tukang masak bar yang menyediakan beberapa hidangan pada masa yang sama: sandwic tenderloin, sandwic tripe, salad campur ... Sekarang saya memecahkan roti, menghidupkan kuali, semasa sedang memanaskan, saya mencuci selada, dan lain-lain.

Sekiranya kuantum cukup kecil, kesan subjektif bagi pemerhati yang lambat, seperti manusia, adalah bahawa bukannya pemproses yang cepat menjalankan tugas secara bergantian, kita mempunyai pemproses yang lambat untuk masing-masing (beberapa tukang masak di dapur yang sama perlahan-lahan melakukan masing-masing satu pinggan tunggal).

Peralihan tugas memerlukan kos

Multitasking tidak percuma: ia melibatkan overhead pemproses. Memang, mengusir satu tugas dan memuatkan tugas berikutnya adalah kerja tambahan. Operasi ini disebut 'peralihan konteks' atau 'pertukaran tugas'. Akan lebih menguntungkan dari segi CPU untuk menjalankan program sepenuhnya, satu demi satu, daripada memotongnya menjadi 'slice' dan melompat dari satu ke yang lain. Namun, sistem akan kehilangan interaktiviti, kita tidak dapat membuka beberapa tingkap atau, dalam hal pelayan, memenuhi beberapa permintaan secara serentak.

Latensi dan prestasi

Anggaplah tukang masak kita mengupas 20 kilogram udang dan 20 biji zaitun. Bagaimana kerja dirancang?

Dalam keadaan melampau, dia akan terlebih dahulu mengupas semua udang, mencuci tangannya untuk mengelakkan perisa, dan kemudian memasukkan semua buah zaitun. Kami akan mewakili seperti ini:

GGGGGGGGGGGGGGGGGGGGGGG… C AAAAAAAAAAAAAAAAAAAAAA…

Pada tahap ekstrem yang lain, dia akan mengupas udang, mencuci tangannya, menggali zaitun, mencuci tangannya ... udang, zaitun, udang, zaitun ... Kami akan melambangkannya seperti ini:

GCACGCACGCACGCACGCACGCACGCACGCACGCACGCACGCACGCACGCACGCACGCACGCAC…

'C' mewakili perubahan konteks: mencuci tangan, menukar peralatan ...

Pada masa yang sama, seorang pelayan mengumpulkan permintaan pelanggan: "satu dengan udang!" ... "satu dengan zaitun!" ... dan memindahkannya ke dapur.

Dalam kes pertama, anggaplah pelanggan masuk dan meminta sebahagian udang. Tidak ada masalah, ia disajikan dengan segera. Tetapi bagaimana jika dia meminta zaitun? Pelayan tidak dapat menyajikannya sehingga semua udang dikupas. Dalam kes ini, latensi, yang merupakan waktu berlalu dari saat permintaan dibuat hingga dijawab, akan sangat tinggi.

Dalam kes kedua, apa sahaja yang diminta oleh pelanggan, ia akan tersedia dalam masa yang singkat, juga hampir sama dalam kedua kes tersebut. Latensi akan rendah, tetapi dengan biaya: kerana perubahan konteks akan ada penurunan kinerja, yang difahami sebagai bagian dari waktu di mana CPU melakukan tugas yang langsung produktif, bukan tugas sokongan.

Jelas dalam hal ini penyelesaian yang ideal adalah jalan tengah, yang bergantung pada ukuran catuan dan pengagihan statistik permintaan. Teori antrian adalah cabang matematik yang bertanggungjawab untuk mengkaji situasi ini dan memberikan penyelesaian yang optimum.

Seperti yang anda lihat, latensi dan prestasi adalah berlawanan. Atas sebab ini tidak betul mengatakan bahawa kernel rt memberikan prestasi yang lebih tinggi. Sebaliknya, menurunkan latensi mengurangkan prestasi mesin dan oleh itu adalah pilihan yang buruk untuk sistem yang tidak memerlukan tindak balas yang sangat pantas, seperti pelayan web atau pangkalan data.

Sebaliknya, kernel latensi rendah sangat sesuai dalam keadaan di mana kelajuan maksimum tindak balas terhadap rangsangan luaran diperlukan, seperti sistem kawalan industri atau aplikasi multimedia interaktif, mengetahui bahawa kita mengorbankan sebahagian daripada kekuatan mesin dalam menjamin reaksi cepat .

Keutamaan

Pilihan yang menarik dalam sistem multitasking adalah memberi keutamaan yang berbeza kepada tugas, dengan cara yang paling penting menerima lebih banyak masa dari pemproses dan yang kurang penting kurang. Dalam kernel biasa ini dilakukan dengan perintah 'bagus'. Sekiranya tukang masak kami menjangkakan lebih banyak hidangan udang daripada buah zaitun, tentu dia lebih baik menghabiskan lebih banyak masa pada bekas.

Kernel RT (atau latensi rendah)

Masalah dengan kernel biasa adalah bahawa tugas tidak dapat terganggu di mana saja, anda harus menunggu mereka mencapai titik pelaksanaan tertentu di mana mereka dapat dihentikan untuk beralih ke yang lain. Ini memperkenalkan apa yang kita panggil latency.

Untuk meletakkannya dengan cara yang dipermudahkan, kernel RT memungkinkan mengganggu tugas di lebih banyak tempat daripada kernel biasa. Mereka boleh melakukan, sehingga dapat dikatakan, potongan masa yang lebih tipis, sehingga tugas saat ini akan diusir lebih cepat dan tugas keutamaan kami akan dapat mengakses CPU lebih cepat. Oleh itu kependaman akan lebih rendah.

Katakan bahawa kernel RT memungkinkan kita untuk meninggalkan udang separuh kupas jika apa yang sangat diperlukan pada waktu itu adalah memasukkan zaitun secepat mungkin, sementara dalam kernel normal perlu menyelesaikan mengupas udang.

Selain menjadikan slice lebih nipis, kernel RT mempunyai sistem prioritas yang lebih ketat, di mana tugas-tugas keutamaan saling memotong tanpa ampun (preempting) untuk mendapatkan kawalan CPU, memperlambat program lain apa sahaja yang diperlukan untuk memenuhi keperluan anda.

Bilakah penting untuk menggunakan kernel RT?

Dalam dua kes:

1) Apabila kita memerlukan latensi yang sangat rendah, iaitu reaksi mesin yang sangat cepat. Contoh yang paling jelas adalah prestasi instrumen maya, di mana anda memerlukan instrumen untuk segera berbunyi ketika menekan kekunci pada papan kekunci MIDI.

2) Apabila kita memerlukan keutamaan yang sangat ketat, iaitu bahawa tugas keutamaan tinggi kita tidak terganggu oleh apa pun di dunia (kecuali dalam kes bencana sehingga CPU terlalu banyak beban sehingga melebihi penggunaan 100%). Sebagai contoh, kami merakam sesi audio dengan Ardor dan menyaksikan penunjuk fader naik dan turun. Tidak menjadi masalah jika kita kehilangan bingkai penyegar fader selagi pengangkutan suara dari mikrofon ke cakera keras tidak terganggu. Kernel RT akan memperlambat penyegaran fader selagi perlu selagi tidak ada satu pun sampel audio yang hilang.

Yang mengatakan, secara umum kernel bukan RT yang lebih baru telah meningkatkan penjadualan tugas dan pengurusan keutamaan mereka. Sekiranya anda tidak mempunyai CPU pada batas kemungkinannya (katakan di bawah penggunaan 50%) atau jika anda tidak keberatan dari semasa ke semasa terdapat potongan mikro kecil (klik) dalam suara (yang sangat ditakuti xruns), kernel normal memberikan prestasi yang boleh diterima.

Latensi apa yang disarankan?

Secara peribadi, apa-apa di bawah 10 ms adalah baik untuk saya dan dari 20 ms saya sudah mula melihat kelewatan dengan jelas. Terdapat orang yang lebih menuntut.

Pemasangan

Pada Ubuntu dan derivatif:

sudo apt-get install linux-headers-lowlatency
sudo apt-get install linux-lowlatency
sudo update-grub

Pada permulaan anda akan mempunyai kedua-dua pilihan (kernel biasa dan latensi rendah).

Dalam Arch dan derivatif:

yaourt -S linux-rt
sudo update-grub

Fuente: Hispasonik


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   Jordi Fdez kata

    sangat lengkap dan bagus
    dijelaskan. ya, saya menggunakan Linux untuk pengeluaran muzik dengan
    distro biasa dan saya tidak mempunyai masalah latensi, yang
    tindak balas seketika semasa memainkan audio. Saya tidak mempunyai banyak
    pengetahuan, tetapi saya fikir pemacu audio di Linux adalah
    cukup bagus malah saya tidak memerlukan jack untuk mendapatkan yang baik
    prestasi

  2.   Carlos kata

    Artikel yang sangat baik dan penjelasannya tidak mungkin lebih baik. Sorakan

  3.   carlesa25 kata

    Halo: Sangat menarik, saya akan mengujinya dalam tugas komputasi intensif CPU + GPU.

    Oleh kerana anda boleh meninggalkan OS Ubuntu 12.0 seperti sebelumnya, iaitu, hapus pemasangan "linux-headers-lowlatency". Salam.

  4.   Th3Gh057 kata

    Terima kasih banyak untuk artikel itu. Sangat menarik untuk mengetahui bagaimana teras latensi rendah berfungsi. Ini telah menyedarkan minat saya untuk mengetahui lebih banyak tentangnya dan kegunaannya. Sorakan

  5.   Oliver kata

    Artikel hebat! setelah saya mendengar bahawa kernel latensi rendah diperlukan untuk menjalankan papan kekunci yang lebih responsif tetapi saya tidak tahu mengapa dan bagaimana melakukannya. Analogi sangat jelas.

  6.   Keberanian kata

    Ya tuan, benar sekali.

    Ia adalah sesuatu yang sangat penting dalam penghasilan muzik juga, seperti yang dikatakan dalam penggunaan VST, misalnya dalam persembahan langsung menggunakan pengawal MIDI, kita harus pergi bersamaan dengan instrumen lain dan latensi tinggi dapat memainkan tipu pada kami.

    Atau tidak semestinya dalam penggunaan instrumen maya, tetapi dalam rakaman, melalui latensi antara muka berlaku yang dapat mengelirukan kita ketika menafsirkan instrumen

  7.   rayon kata

    Artikel hebat, saya tidak tahu apa maksud latensi rendah dalam kernel (walaupun saya mengaitkannya dengan latensi dalam modul ram)

  8.   Gerardo Azonos kata

    Sangat bagus ... Saya sangat menyukainya.
    menukar subjek, seseorang tahu bagaimana menyelesaikan masalah wifi (tanpa wayar dari pangkuan saya) yang tidak membenarkan saya bekerja di ruang awam, isyaratnya sangat rendah.
    Saya mempunyai ubuntu 11.10 dan pangkuan saya ialah: Dell inspiron n4110.
    Saya mengucapkan terima kasih terlebih dahulu.

  9.   Miquel Mayol dan Tur kata

    Terima kasih, untuk menambah bahawa Sabayon membawa kernel ini, disusun pada 1000 Hz secara lalai, yang juga sesuai untuk pelayan permainan FPS dan untuk permainan FPS sendiri dan mana-mana yang menuntut, kecuali mungkin yang menggunakan pangkalan data, walaupun bagi saya di Sabayon freeciv blow saya pergi ..

    Di desktop, biasanya mengutamakan tugas utama, jadi lebih mudah menggunakannya walaupun kurang efisien untuk tugas-tugas lain untuk apa yang kita lakukan pada masa ini, ia akan berjalan lebih cepat, dan pada komputer moden sekarang ini mungkin agak menarik.

    Ini adalah masalah memasangnya, mengujinya selama seminggu, kembali ke kernel - normal - dan melihat bagaimana ia telah berjalan, dan mana yang kita sukai, serta menggunakannya untuk tugas-tugas tertentu yang masing-masing lebih baik.

  10.   Gustavo Trepat kata

    Artikel yang sangat baik, dijelaskan dengan sangat baik.
    Terima kasih.

  11.   Esteban kata

    Penjelasan yang sangat baik, terima kasih banyak, ini banyak membantu saya 🙂

  12.   carlos martinez kata

    Artikel yang sangat menarik, ini sedikit lebih jelas bagi saya, walaupun saya masih ragu-ragu mengenai apakah kernel rendah sesuai dengan saya. Bagaimana saya dapat mengetahui kependaman kernel? salam

  13.   JULAI kata

    Saya baru-baru ini memasang distro studio ubuntu dan saya menyedari tentang kependaman rendah, sambil menyiasat saya datang ke halaman anda. Saya sangat jelas mengenai konsep asas Sistem Operasi dan penjelasan anda adalah sempurna. Anda berjaya. Selamat bertunang