Ok, un nou episod din seria "HowTo-uri pe RLUG"... A trebuit recent sa rezolv urmatoarea problema: trebuia sa fac un sistem astfel incit sa fie foarte "responsive", sa aibe latenta cit mai mica, si sa aibe disk I/O foarte bun. Cam multe pretentiile... :-)
Solutiile, pina la urma, s-au legat atit de soft cit si de hard. In ce priveste soft-ul, cel mai important a fost kernel-ul. Practic, am testat trei kernele: - kernel "vanilla" de pe kernel.org (asa-zisul "kernel pur") - "vanilla" patch-uit cu Con Kolivas patch - kernel-ul Red Hat Nr 1 si 3 n-au nevoie de explicatii. Nr 2 e un patch mentinut de individul asta, Con Kolivas, care e obsedat cu "desktop responsiveness". Tipul aduna diverse patch-uri, unele backportate din 2.5, si le aplica pe 2.4, avind ca unic scop sa faca sistemul cit mai "sprinten" d.p.d.v. al userului de desktop. Patch-ul e compatibil cu ALSA si driverele oficiale NVidia (cel putin era asa ultima oara cind am testat, pentru ca n-am incercat si versiunea de 2.4.21). http://kernel.kolivas.net/ Exista si un benchmark pentru responsiveness (ConTest, numele e clar de unde vine), dar testul cel mai simplu e "window wiggling" manual - adica agati o fereastra cu mouse-ul si-o invirti viguros pe ecran, urmarind ce se intimpla intre timp. Testele mele au fost putin diferite, si oarecum subiective. Au implicat, pe de o parte, rularea (sub incarcare CPU si/sau incarcare I/O) de playere audio (xmms), video (gxine), sequencere MIDI, recordere digitale si alte chestii sensibile la delay-uri; pe de alta parte, au implicat pur si simplu transfer masiv de fisiere mari (GB) HDD --> HDD sau DVD-ROM --> HDD. Nu am cifre, sorry. De fapt, poate doar la transferul de fisiere aveau sens cifrele, in rest nu prea (nu usor in orice caz). Am compilat kernelele vanilla si CK cu optiuni similare celor folosite de RH. Sistemul a fost un AthlonXP, cu NForce (= GeForce2) si Audigy2. Am folosit ALSA si driverul oficial NVidia. Rezultate: Kernel-ul "vanilla" (sau "kernel-ul asa cum e el pe kernel.org") a fost cel mai prost la ambele categorii. Era destul de usor sa fac playerele sa se poticneasca, sau recorderele sa piarda secvente. Transferul de fisiere s-a facut lent (comparativ). Kernel-ul Con Kolivas a fost extrem de responsive (cel mai!). Playerele nu se poticneau decit daca ma straduiam intens. :-) Disk I/O a fost putin mai bun ca la "vanilla". Kernel-ul RH parea sa ramina responsive sub incarcari mari si constante. Aici s-a apropiat de kernel-ul CK. Din nefericire, spike-urile de incarcare (precum si chestiile stupide, gen frecat masiv de ferestre pe un desktop cu accelerarea turned off) cam poticneau playerele. Oricum s-a comportat mai bine ca vanilla. La disk I/O a dat clasa la celelalte doua kernele, alerga ture in jurul lor. :-) Evident, e o tona de YMMV p-aicea (cu alte cuvinte, nu tin cu dintii de rezultate), mai ales avind in vedere modul "nestiintific" in care s-a testat. Pe de alta parte, rezultatele sint consistente cu ce am auzit pe la altii care au incercat sa faca acelasi lucru. Morala: Vrei responsiveness? Atunci CK. Vrei disk I/O? Atunci RH. Vrei ambele? Atunci iti cumperi doua computere. :-P /quit -- Florin Andrei http://florin.myip.org/
