1 / 15

Verificarea submisiilor de actualizare a surselor kernel-ului Linux

Verificarea submisiilor de actualizare a surselor kernel-ului Linux. Autor : Radu Caragea E-mail : radu.caragea@orangemail.ro. Kcheck in a nutshell. D ezvoltare ş i testare componente din kernel core Input: Arhiv ă kernel Benchmarks Patch Proces: Compilare optimizat ă

alisa
Download Presentation

Verificarea submisiilor de actualizare a surselor kernel-ului Linux

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Seminar Ixia Verificarea submisiilor de actualizare asurselor kernel-ului Linux Autor: Radu Caragea E-mail: radu.caragea@orangemail.ro

  2. Seminar Ixia Kcheck in a nutshell • Dezvoltare şi testare componente din kernel core • Input: • Arhivă kernel • Benchmarks • Patch • Proces: • Compilare optimizată • Bootare şi rulare în container • Output: • Orice tip de statistici on demand • Output de la benchmarks • Output ‘devreme’ de la kernel prin serială (in case of catastrophe)

  3. De ce nu module ? Modulele acoperă o gamă foarte largă de aplicaţii, însă... Schimbări disruptive (performanţă) Scheduler Basic din 1991 până în 2002 O(1) până în 2008 Completely fair de atunci Interfeţe Hash tables Mecanisme de sincronizare 04.10.2014 Seminar Ixia 3

  4. Vedere de ansamblu sdg 04.10.2014 Seminar Ixia 4

  5. Scenariude utilizare Se construiesc testele de performanţă şi/sau validare Target: Kernel: versiune şi configuraţie Arhitectură Configuraţie hardware: procesoare, memorie, device-uri prin passthrough Execuţie în două faze: Compilare şi Rulare 04.10.2014 Seminar Ixia 5

  6. Arhitectură. Faza de compilare Command Line Interface Interfaţat peste API Primeşte configuraţia target Sandbox pe host Compilare în background Oferă profile per-utilizator Probleme de performanţă 04.10.2014 Seminar Ixia 6

  7. Ccache Frontend pentru compilator Parser pentru preprocesare Bază de date – hashing Exemplu real world: compilare kernel “make –j5” Gcc: 12 min 5 s (100%) Ccache prima compilare, bază de date goală: 12 min 31 s (103%) Ccache a doua compilare: 2 min 12 s (18%) 04.10.2014 Seminar Ixia 7

  8. Arhitectură. Faza de rulare Kernel image obţinut din faza precedentă Automatizare interacţiune cu VM Comandare programatică Copiere kernel Copiere benchmark Booting de pe noul kernel Verbose output Mesaje kernel Output benchmark De ce nu netconsole? 04.10.2014 Seminar Ixia 8

  9. Qemu & KVM Qemu Emulator de procesoare: suportă mai multe arhitecturi decât încap pe slide Rulare maşină virtuală full-fledged în fereastră KVM Bazat pe Qemu; Virtualizare nu emulare Accelerare pentru aceeaşi arhitectură Suport direct în kernel Passthrough hardware Foloseşte extensiile de virtualizare din procesor Sponsorizat de RedHat: dezvoltare foarte activă 04.10.2014 Seminar Ixia 9

  10. Libvirt API peste hipervizor: “vm-agnostic” XEN LXC VMware, VirtualBox, KVM, Qemu, Hyper-V Implementat peste KVM iniţial CLI-ul evidenţiază uşurinţa în utilizare virsh -c qemu:///system start “VM1“ virsh -c qemu:///system snapshot-create “VM1“ virsh -c qemu:///system snapshot-revert “VM1" –snapshotname 1 Pentru preluarea datelor de pe serială: virsh -c qemu:///system attach-device “VM1“ serial_to_pipe_device_description.xml 04.10.2014 Seminar Ixia 10

  11. Serial_to_pipe_device.xml <serial type='pipe'> <source path='/tmp/mypipe' /> <target port=‘0' /> </serial> 04.10.2014 Seminar Ixia 11

  12. Libvirt-sandbox API C, bindinguri python, perl etc. Executare binar direct în hipervizor Output imediat, direct pe host Permite bindinguri la nivel de fişier/director între host şi guest Permite chiar rulare executabil interactiv: shell True Sandboxing !! 04.10.2014 Seminar Ixia 12

  13. Unde va fi folosit întâi Vmchecker Kernel programming challenges Exemplu basic: Se dă o aplicaţie ce rulează în spate asincron dar care performează foarte prost cu I/O schedulerul default. Se cere o analiză detaliată pentru performance penalties şi rescrierea schedulerului pentru a funcţiona optim dacă se rulează doar aplicaţia respectivă. 04.10.2014 Seminar Ixia 13

  14. Starea curentă Done Testare preliminară de fezabilitate pe CLI-ul libvirt, libvirt-sandbox Proiectare arhitecturală API, CLI Proiectare de detaliu API, CLI Unit-based testing pentru API Partially done Coding API To be done Coding CLI XML-uri pentru diverse arhitecturi Proiectare benchmark-uri 04.10.2014 Seminar Ixia 14

  15. Vedere de ansamblu API; CLI; Virtualizare; Libvirt; Qemu; KVM; Ccache; Sandbox sdg 04.10.2014 Seminar Ixia 15

More Related