| |||||
| Dernière réponse | |
|---|---|
| Sujet : Kernel lowlatency : kesako ? | |
| enfoiro | pour ceux que ca intéresse, partie 3 du tuto "RT on Java" sur le developerworks
http://www-128.ibm.com/developerwo [...] 7javatsync a+ |
| Aperçu |
|---|
| Vue Rapide de la discussion |
|---|
| enfoiro | pour ceux que ca intéresse, partie 3 du tuto "RT on Java" sur le developerworks
http://www-128.ibm.com/developerwo [...] 7javatsync a+ |
| enfoiro |
Merci de lire le début du topic où l'explication est donnée. :o |
| goldyfruit |
Oui je sais, merci. |
|
|
| goldyfruit |
|
| enfoiro | kernel lowlatency ubuntu + module realtime-lsm
ca marche au poil :) a+ |
| enfoiro, j'ai exactement la meme chose que toi ^^ C2D avec intel HD integre :)
je pense que je vai me prendre une carte un peu plus convenable :) mais avec ta nouvelle carte, quel type de kernel utilise tu maintenant? le kernel genric ou bien le lowlatency+module realtime? |
| enfoiro | Salut,
Moi aussi j'avais des craquements en ayant le kernel lowlatency d'ubuntu avec un chip intel HD intégré. Conclusion => changement de carte son pour quelque chose de potable (terratec phase 22) et maintenant ca marche au poil. L'installation du module realtime-lsm est obligatoire pour que jack fonctionne en realtime. Je n'ai pas eu besoin de patcher mon noyau pour ne plus avoir de "xruns" ie des latences trop élevées (config C2D sur une P5B). Je pense que le souci était dû au driver alsa du chip intel, ou que ce chip intégré est pourri. T'a quoi comme carte son ? a+ |
| bon alors je cross post un peu entre ce topic et le topci de la MAO mais bon ici comme ca parle plus de kernel c'est sans doute plus adapte.
Donc voila mes questions sans reponse : probleme : par defaut, avec le kernel generic smp ubuntu (Linux punkcpu 2.6.20-15-generic #2 SMP Sun Apr 15 07:36:31 UTC 2007 i686 GNU/Linux) j'ai des craquement lors d utilisation d'appli MAO. on m'a donc conseille de reduite la latence de mon kernel maintenant j'ai plusieur option qui s'offre a moi. - utiliser le kernel genric, et installe le module realtime-lsm (a mon avis ca va pas servir a grand chose - installe le kernel lowlatency propose dans le repository - installe le kernel lowlatency propose dans le repository + le module realtime-lsm - installer le pach rtlinux et ensuite recompilation de mon kernel (je m'en passerai bien ...) - installer le pach rtlinux et ensuite recompilation de mon kernel + installation du module realtime-lsm voila. et enfin, un truc qui me perd encore plus, c'est que j'ai un core 2 duo, et que justement avec les smp, il n'est pas conseille d'voir 1000hz, mais plutot de rester vers 250hz, comme c'est configurer dans le kernel generic ubuntu. quelle est donc la meilleur solution, merci. |
| enfoiro | intéressant lien. Ingo vient de publier un patch qui est une refonte du scheduler de linux (Complete Fair Queuing) http://kerneltrap.org/node/8059 |
| THRAK |
|
| enfoiro |
1) En effet, intéressant http://techpubs.sgi.com/library/tp [...] realtime.z 2) oui 3) Je pensais à tout le travail d'adaptation des différentes parties du noyau, en particulier aux drivers qui doivent être adaptés pour pleinement profiter du RT. De toute facon, si c'est faisable et pas pénalisant pour les performances, ca sera fait :). 4) oui 5) oui
http://www-128.ibm.com/developerwo [...] vartsystem |
| memaster |
|
| Nonor_ | Oki et ce flux vient d'où ? C'est probablement du h264 pour que tu lutte comme ça... Car le divx n'est de toutes manières pas utilisé (du moins à ma connaissance) pour ces trucs là...
Sinon en ce qui concerne le décodage, rapport à ce que disait thrak aussi, faut voir si le codec gère le multicore/proc.... Et voui... Enfin ça doit être le cas mais je suis pas sûr. Sinon faudrait que t'analyse les logs et que tu tente de lire avec mplayer le flux, en verbose, pour en voir le détail, ça aiderait. Car ffmpeg peut lire le h264 mais aussi la lib x264 qui est faite pour (j'espère pas dire de conneries) donc tu peux toujours essayer l'un ou l'autre... Et des options exotiques, y'en a aussi pour le décodage, et ça peut aussi accélérer le processus... |
| memaster |
|
| THRAK | En fait il était principalement question de IRIX, un UNIX développé par SGI.
Pour les autres UNIX je ne pourrais pas en dire plus, si ce n'est qu'il en existecertains développés spécifiquement pour le temps réel strict. J'imagine que ces derniers doivent être ce qu'il y a de mieux en la matière, mais ils ne sont pas vraiment adaptés à un usage autre que dans le domaine militaire, de la recherche ou de l'industrie, et plus spécialement sur de l'embarqué (micro-contrôleurs avec des contraintes strictes). Ce qui me permet de réagir à cette phrase :
|
| enfoiro |
|
| THRAK |
|
| enfoiro |
Mais oui, c'est ce que je m'escrime à expliquer. Regardez le pdf de suselabs il est TRES instructif. page linuxdevices :
Il y a plusieurs stratégies pour rendre le kernel RT J'ai regardé le kernel en question, c'est RTlinux (la techno a été rachetée par windriver). Eux utilisent la méthode de modification du kernel en permettant à l'utilisateur d'utiliser les API POSIX pour faire du RT : ca permet d'avoir une application qui reste quasi-identique mais qui peut être RT grâce au kernel modifié. C'est donc la 2e approche. Pour plus d'infos c'est ici : http://www.windriver.com/products/ [...] erview.pdf Et sinon, effectivement, je ne vois pas la différence entre un process "normal" nicé à -15 et un process kernel nicé à -15. Le truc c'est qu'il faut configurer/utiliser rlimits ou realtime-lsm pour avoir cet accès RT pour les applis normales. De rien goldyfruit :) a+ |
| THRAK |
|
| Nonor_ | Voui c'est vrai mais si notre ami essaye de décoder par exemple france télévision en haute def sur la freebox tv (c'est l'exemple que je connais), ben là on se bouffe du h264 en 1080 et ouille le processeur. Mon P4 2.66 n'y arrive pas, et le p4E 3ghz de mon paternel y arrive.... avec des décrochages, donc bon... |
| THRAK | Pour avoir testé, avec un noyau PREEMPT il est aussi possible de lire des vidéos sans problème sur un PII 300 MHz avec 128 Mo de RAM et une carte vidéo de la même époque (PCI 8 Mo). :)
Ça reste globalement fluide avec des vidéos compressées avec les codecs divx ou xvid ; avec du ogm, mkv et autres h264 c'est trop limite et le frame clipping se fait vraiment ressentir. Mais bon, c'est pas mal quand on tiens compte de l'âge de la machine qui date de 1997 :D |
| goldyfruit | Un K6-2 450Mhz est capable de lire un DivX. ^^
enfoiro merci. :jap: |
| Nonor_ |
|
| memaster |
|
| THRAK |
|
| enfoiro | J'avais lu ca qque part ; en tout cas par morceaux, pour la globalité je sais pas. Ingo molnar code tellement que tu t'y retrouve meme plus :ouch: http://kerneltrap.org/node/7753 (syslets & threadlets) http://grmso.net:8090/changelog/all/ (si ca marche pas cache de google) http://lwn.net/Articles/222315/ (voir clockevents and dynticks) |
| goldyfruit | Ce patch va être intégré au noyau ? |
| memaster |
|
| enfoiro |
Aucun argument, aucune page, rien d'intéressant en somme. :hello: edit : en plus, j'essaie de t'expliquer les choses clairement, mais si tu n'a pas envie d'apprendre, je n'y peux rien ;) |
| memaster |
|
| enfoiro | un patch d'un mo pour ca :pfff: . je te réfère au pdf (slide 8) que j'ai cité pour comprendre pourquoi ce patch est nécessaire. La confusion vient de la différence entre le kernel qui à la base est "soft realtime" et les patchs d'ingo tendent à le rendre "hard realtime". Un patch d'1 mo avec 1 mec qui bosse dessus à plein temps, modifie le kernel en profondeur et fait plus que de permettre aux processes normaux comme tu dit (d'ailleurs la différence entre les process proche de l'utilisateur et les process kernel, à part le nice, je ne vois pas, suffit de lancer vlc en root pour le nicer en négatif, donc en RT selon toi) d'accéder aux fonctionnalités realtime du kernel. Pour ca, il suffit de se logguer en root et utiliser la commande rt.
Les patches RT ont aussi un effet sur les process du kernel, en slide 17 VS slide 18 sur le pdf, on a une diminution de la latence due uniquement au patch RT, qui permet de garantir la faible latence sur le slide 18 (latence contenue en dessous de 0,5 ms), contrairement au slide 17 où on voit que la latence est parfois supérieure à 3ms dans le kernel preempt, et n'est pas constante, et pourtant dans les deux cas, le code tourne en ring0. La différence entre soft-RT et hard-RT est expliquée en slide 3, qui permet de comprendre la différence entre un kernel qui fonctionne "la plupart du temps à latence faible" en soft RT (le kernel preempt) et un kernel quasi hard RT qui garantit la latence faible. Ensuite, l'auteur compare la latence avec d'autres types de taches (load X11 par exemple) et la conclusion est claire : le patch est efficace. Cependant, son efficacité peut dépendre des machines, comme expliqué dans le pdf. Sur le portable, ca merde. Le patch RT permet d'implémenter des mécanismes génériques pour tous les processes (slide 8) qui permet parfois d'améliorer les perfs (slide 39) mais ce mécanisme ajoute un "overhead" qui au final diminue les perfs : on observe une diminution des performances avec le kernel RT pour le test LMBench (slide 38). Pour illustrer une partie du patch, on peut prendre l'exemple de la "threadisation des IRQs" : dans un kernel preemptif, (slide 7) la tache suivante doit attendre la fin de la section critique, pendant laquelle l'irq est bloquée (monopolisée) pendant l'éxécution de la tache avant de commencer la tache suivante, ce qui n'est plus le cas avec un kernel RT, puisque l'irq peut être utilisée par deux taches en même temps. Ceci nécessite aussi d'autres mécanismes expliqués sur http://kerneltrap.org/node/3995?PH [...] cd664fd574 notamment la préhension des spinlocks (voir def wikipedia) ce qui permet quand un ressource matérielle est déjà bloquée de commencer tout de même l'execution d'une autre tache. Au slide 42 on observe qu'effectivement, la plupart du temps un kernel normal suffit pour assurer une latence correcte. Cependant, le kernel RT permet d'avoir une meilleure latence donc un système plus réactif pour de fortes charges (slide 43). Donc je répète si c'est intégré au kernel ca prouve bien la valeur générique du patch et ce patch modifie le kernel en profondeur il modifie des mécanismes critiques. Il modifie le kernel linux de soft RT vers hard RT. D'où la phrase, le kernel preempt permet une latence faible, mais il existe quand même des mécanismes bloquants, le kernel RT la garantit. Bonne nuit :sleep: |
| memaster |
|
| enfoiro |
|
| memaster |
|
| enfoiro |
|
| memaster | raaahhhhlala,
j'ai tiré un cable de 20m pour relier mon ordi "plus puissant" (celeron 2.8Ghz, bon ok on rigole pas :kaola: mais bon face à un bi-p3...) et ben ça ramouille/decroche encore (beaucoup moins souvent cependant) pendant les pubs du multicast-orange. mais c'est l'hallu :wahoo: , il va bientot me falloir un core2duo pour decoder/afficher en temps réel du mpeg4 :pt1cable: [:psywalk] |





