tag:linuxfr.org,2005:/tags/ordonnanceur/publicLinuxFr.org : les contenus étiquetés avec « ordonnanceur »2020-09-01T11:54:14+02:00/favicon.pngtag:linuxfr.org,2005:News/399972020-08-18T18:42:47+02:002020-08-18T18:42:47+02:00La version 3.0 d’evQueue est disponibleLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>evQueue est un ordonnanceur de tâches événementiel léger. Il permet la planification de tâches (remplacement de cron), mais également la gestion d’enchaînements complexes intégrant des boucles et des conditions. Le moteur permet d’utiliser la sortie (XML) d’une tâche pour instancier dynamiquement de nouvelles branches d’exécution.</p>
<p>Il dispose également d’une API complète lui permettant d’être interfacé avec n’importe quel système externe (comme un site Web) afin de lui déléguer l’exécution des traitements lourds.</p>
<p>La parallélisation intégrée des tâches via un système de fils d’exécution permet l’accélération des traitements intensifs en temps processeur, mais également le contrôle des ressources.</p>
<p>Cette nouvelle version propose une interface en <a href="https://fr.wikipedia.org/wiki/React_(JavaScript)">ReactJS</a> basée sur des <a href="https://fr.wikipedia.org/wiki/WebSocket">WebSockets</a> côté serveur. L’interface est donc elle aussi totalement événementielle (l’ancienne version étant basée sur de l’<a href="https://fr.wikipedia.org/wiki/Ajax_(informatique)">AJAX</a>. Les traitements apparaissent immédiatement sur l’interface de suivi ! Cette approche nous permet également de proposer l’interface sous forme d’extensions <a href="https://addons.mozilla.org/fr/firefox/addon/evqueue/">Firefox</a> ou <a href="https://chrome.google.com/webstore/detail/evqueue/ioioafegonjmpfegmccmoaehhgddimij">Chrome</a>. Un serveur Web n’est donc plus nécessaire. De plus, vous pourrez bénéficier des mises à jour automatiques via votre navigateur.</p>
</div><ul><li>lien nᵒ 1 : <a title="http://www.evqueue.net/" hreflang="en" href="https://linuxfr.org/redirect/106750">Site officiel</a></li><li>lien nᵒ 2 : <a title="https://addons.mozilla.org/fr/firefox/addon/evqueue/" hreflang="en" href="https://linuxfr.org/redirect/106751">Extension Firefox</a></li><li>lien nᵒ 3 : <a title="https://chrome.google.com/webstore/detail/evqueue/ioioafegonjmpfegmccmoaehhgddimij" hreflang="en" href="https://linuxfr.org/redirect/106752">Extension Chrome</a></li><li>lien nᵒ 4 : <a title="https://github.com/coldsource/evqueue-core" hreflang="en" href="https://linuxfr.org/redirect/106753">Code source</a></li></ul><div><p>Outre la refonte complète de l’interface, de nouvelles fonctionnalités sont proposées :</p>
<ul>
<li>scriptage « en ligne » directement dans l’éditeur de <em>workflows</em>, le <em>workflow</em> est donc totalement autonome ;</li>
<li>un <em>workflow</em> peut exporter des « <em>custom properties</em> » qui sont utilisables pour filtrer les instances (utile pour retrouver quelle instance a effectué quelle action) ;</li>
<li>possibilité d’étiqueter les instances ;</li>
<li>possibilités de se connecter à plusieurs environnements (développement, production…) ;</li>
<li>Docker Compose peut maintenant être utilisé pour monter encore plus facilement un environnement.</li>
</ul>
<p>Et toujours en standard :</p>
<ul>
<li>une interface de création de <em>workflow</em> en glisser‑déposer ;</li>
<li>haute disponibilité ;</li>
<li>prise en charge de Git pour versionner les traitements et les publier sur différents environnements ;</li>
<li>réexécution automatique des traitements en échec ;</li>
<li>greffons de notification (courriel, XMPP, clavardage…) ;</li>
<li>parallélisation des traitements grâce aux fils d’exécution ;</li>
<li>code publié sous licence GPL.</li>
</ul>
</div><div><a href="https://linuxfr.org/news/la-version-3-0-d-evqueue-est-disponible.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/121340/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/la-version-3-0-d-evqueue-est-disponible#comments">ouvrir dans le navigateur</a>
</p>
coldsourcepalm123claudexDavy DefaudBenoît Sibaudhttps://linuxfr.org/nodes/121340/comments.atomtag:linuxfr.org,2005:News/382772017-11-03T13:52:55+01:002017-11-04T12:58:15+01:00La version 2.0 d’evQueue est disponibleLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>Après plus de deux ans d’évolutions, l’équipe de développement est fière de vous présenter la version 2.0 d’evQueue, l’ordonnanceur de tâches événementiel libre (GPL v3).<br><img src="//img.linuxfr.org/img/687474703a2f2f7777772e657671756575652e6e65742f696d616765732f657651756575652e737667/evQueue.svg" alt="evQueue" title="Source : http://www.evqueue.net/images/evQueue.svg"></p>
<p>evQueue est un ordonnanceur de tâches événementiel léger. Il permet la planification de tâches (remplacement de <em>cron</em>), mais également la gestion d’enchaînements complexes intégrant des boucles et des conditions. Le moteur permet d’utiliser la sortie d’une tâche pour instancier dynamiquement de nouvelles branches d’exécution.</p>
<p>L’objectif est d’extraire le flux de contrôle du code afin de donner une meilleure visibilité aux administrateurs système et aux développeurs. De plus, ce mode de fonctionnement assure la réutilisabilité du code avec le développement de briques élémentaires. La parallélisation intégrée des tâches via un système de fils d’exécution permet l’accélération des traitements intensifs en temps processeur, mais également le contrôle des ressources.</p></div><ul><li>lien nᵒ 1 : <a title="http://www.evqueue.net/" hreflang="en" href="https://linuxfr.org/redirect/100906">Site officiel d’evQueue</a></li></ul><div><p>Le projet propose deux orientations :</p>
<ul>
<li>un planificateur de tâches, qui peut être utilisé de façon autonome ;</li>
<li>une API réseau qui permet la manipulation du moteur à distance et particulièrement depuis des pages Web. Ceci permet de rendre asynchrones les traitements intensifs ou longs : redimensionnement d’images, calculs, exportations SQL, envoi vers des FTP… Un suivi asynchrone pourra alors être proposé en <a href="https://fr.wikipedia.org/wiki/Ajax_(informatique)">AJAX</a>, ce qui améliore l’expérience utilisateur et supprime les limitations de temps d’exécution du serveur Web.</li>
</ul><p>La version 2.0 propose une interface de création de <em>workflow</em> en glisser‐déposer complètement refondue, ainsi que le gestion de la haute disponibilité. Il est ainsi possible d’utiliser evQueue en mode grappe de serveurs (<em>cluster</em>) (tous les nœuds étant actifs) afin de garantir une fiabilité accrue.</p>
<p>Un prise en charge de GIT a également été ajoutée, afin de faciliter la gestion d’environnements multiples (développement, production…).</p>
<p>evQueue est développé et maintenu par l’équipe informatique de l’<em>UFC-Que choisir</em>. Il est totalement intégré à notre système d’information depuis 2013. Environ 5 000 traitements sont exécutés chaque jour.</p></div><div><a href="https://linuxfr.org/news/la-version-2-0-d-evqueue-est-disponible.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/113007/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/la-version-2-0-d-evqueue-est-disponible#comments">ouvrir dans le navigateur</a>
</p>
Thibault KummerNÿcoDavy Defaudpalm123https://linuxfr.org/nodes/113007/comments.atomtag:linuxfr.org,2005:Diary/375392017-10-15T12:03:31+02:002017-10-15T16:29:36+02:00sched_deadline est dans les tempsLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>Cher Nal,<br>
Lors de la conférence <a href="https://embedded-recipes.org/2017/">Embedded Recipes</a> à Paris, SCHED_DEADLINE a fait l'objet d'une présentation claire et accessible à toutes et tous. Un planificateur (ou ordonnanceur) pour CPU est le bout de code qui décide quand une tâche doit être exécuté. Basiquement : l'ordre d'exécution. Cet ordonnanceur pour CPU n'est pas nouveau, mais il va devenir l'ordonnanceur par défaut à partir de Linux 4.14.</p>
<p>SCHED_DEADLINE implémente l'algorithme « le délai au plus tôt possible » (<em>Earliest Deadline First</em>) auquel viennent s'ajouter des priorités dynamiques, et initialement un « mécanisme de bande passante constante » (<em>Constant Bandwidth Server</em>), amélioré par une implémentation du « <em>Greedy Reclamation of Unused Bandwidth</em> <a href="http://disi.unitn.it/%7Eabeni/reclaiming/rtlws14-grub.pdf">(grub)</a>» adaptée au contexte des matériels actuels. En l'état actuel, sched_deadline permet de :</p>
<ul>
<li>Ajouter une contrainte de temps sur chaque tâche, de manière déterministe ; </li>
<li>Permettre la réservation de ressources, et l'isolation comportementale des tâches entre elles (ex : bande passante cpu) ;</li>
<li>Ne pas imposer pas de style de contraintes (qui peuvent donc être périodiques, a-périodiques ou sporadiques.)</li>
</ul><p>Une tâche trop gourmande ou qui se comporte mal ne pourra pas outrepasser la réservation faite pour elle. Le comportement temporel d'une tâche ne sera donc pas affecté par une autre tâche, offrant ainsi la prédictibilité (qui n'était pas possible avec sched_normal, sched_rr ni sched_fifo) À noter qu'une tâche demandée/marquée/programmée '-deadline' ne peut forker. Les tâches se voient attribuées trois caractères, trois états possibles :</p>
<ul>
<li>Inactives: lorsqu'elles sont bloquées et ont dépassé le "temps 0-lag" ;</li>
<li>Contenu Non Actif (ActiveNonContending) lorsqu'elles sont bloquées mais sans avoir dépassé le "temps 0-lag" ;</li>
<li>Contenu Actif (ActiveContending) lorsqu'elles sont prêtes à être exécutées (ou sont en cours d'exécution)</li>
</ul><p>Le "contenu non actif" est un état transitoire : lorsqu'une tâche bloque (est bloquée) elle n'entre pas immédiatement en état "inactif", car cela casserait les garanties de temps d'exécution. Elle passe donc par cet état transitoire.</p>
<p>Le calcul de ce "temps 0-lag" pour une tâche passant en état "Contenu Non Actif " (cf : la doc) est ainsi fait :</p>
<pre><code> (runtime * dl_period)
deadline - ---------------------
dl_runtime
</code></pre>
<p>Où "runtime" est le temps d'exécution restant, et <em>dl_runtime</em> ainsi que <em>dl_period</em> sont les paramètres de réservation.</p>
<p>Si une tâche qui bloquait redevient active avant que son chrono "timer inactif" soit fini, alors ce dernier est simplement détruit. À noter que si une tâche se réveille / redevient active sur une file d'exécution différente, alors elle sera automatiquement retirée de la file initiale par l'ordonnanceur. Des mécanismes pour éviter des "race conditions" sont implémentés (ex : lorsque le chrono se trouve sur un cpu différent de celui ayant la file d'exécution dans laquelle la tâche se réveille)</p>
<p>L'évolution croissante de la complexité et des possibilités des matériels a rendu la tâche de l'ordonnanceur de plus en plus complexe (parfois hors-sujet ?) SCHED_DEADLINE choisi de ne pas implémenter de configurations accessibles d'affinités : la gestion/configuration des affinités est maintenant déléguée aux CGROUPs (cf : cpuset), qui permettent des ajustements fins tout en offrant une configuration facilitée. </p>
<p>En résumé, SCHED_DEADLINE est un ordonnanceur répondant aux besoins industriels où la prédiction est nécessaire ainsi qu'aux besoins de faibles latences ou/et de temps d'exécution garantis, mais également aux environnements portant des machines virtuelles par une gestion plus équitable des ressources CPU distribuées. Un développement de 10 ans, et demain l'ordonnanceur par défaut dans le noyau Linux.</p>
<p>Deux nouveaux appels systèmes sont implémentés : 'sched_setattr' et 'sched_getattr' , pour aller plus loin lire :<br><a href="https://embedded-recipes.org/2017/talks/understanding-sched_deadline/">Présentation au Embedded Recipes, par Steven Rostedt</a><br><a href="http://www.evidence.eu.com/">Evidence</a> & <a href="http://www.actors-project.eu/">Actors-Projets</a> & <a href="https://retis.sssup.it/">Retis Lab</a><br><a>Chez vous</a> peut-être ?</p><div><a href="https://linuxfr.org/users/bubar/journaux/sched_deadline-est-dans-les-temps.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/112880/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/bubar/journaux/sched_deadline-est-dans-les-temps#comments">ouvrir dans le navigateur</a>
</p>
bubar🦥https://linuxfr.org/nodes/112880/comments.atomtag:linuxfr.org,2005:Post/375972016-12-01T14:06:03+01:002016-12-01T14:06:03+01:00Solution job scheduller<p>Bonjour tout le monde,</p>
<p>J'aimerais créer une VM dédié en tant qu'ordonnanceur de script.</p>
<p>Concrètement, j'aimerais que tout les scripts soit centraliser sur ce serveur et que le serveur execute les scripts sur le bon serveur.</p>
<p>J'ai donc commencer mes recherches sur des Job Scheduller open-source.</p>
<p>Vous me conseillez lequel ?</p>
<p>Merci ! :)</p><div><a href="https://linuxfr.org/forums/linux-debutant/posts/solution-job-scheduller.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/110671/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/linux-debutant/posts/solution-job-scheduller#comments">ouvrir dans le navigateur</a>
</p>
Finnhttps://linuxfr.org/nodes/110671/comments.atomtag:linuxfr.org,2005:Post/368702016-05-17T22:35:33+02:002016-05-17T23:40:53+02:00Ordonnanceur<p>Bonjour a tous</p>
<p>Je suis actuellement en stage d’entreprise et je dois mettre en place en ordonnanceur. Mon problème est faire mon choix et leur présenter une liste. Pouvez vous me faire un retour d’expérience sur les différentes solutions que vous avez pu tester.</p>
<p>Le parc de l entreprise est heterogene mais reste pro windows. Ils me demandent de trouver un logiciels avec les fonctionnalites ci dessous:<br>
Lancements scripts powershell, batch, shell, sql<br>
une interface et une utilisation simple<br>
(agent) retour sur la consommation</p>
<p>Je suis tombé sur pas mal d’entre eux <a href="https://en.wikipedia.org/wiki/List_of_job_scheduler_software">Wiki</a> mais j'ai du mal a les distingués.<br>
Quelqu un a t il un retour d expérience?</p><div><a href="https://linuxfr.org/forums/general-cherche-logiciel/posts/ordonnanceur.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/109011/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/general-cherche-logiciel/posts/ordonnanceur#comments">ouvrir dans le navigateur</a>
</p>
Annubishttps://linuxfr.org/nodes/109011/comments.atomtag:linuxfr.org,2005:Diary/365112016-04-08T09:30:50+02:002016-04-08T09:30:50+02:00Linux: une décennie de coeurs gaspillésLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>D'aucuns pensaient que l'ordonnancement (<em>scheduling</em>) était un problème résolu ou presque. Linus Torvals disait en 2001:</p>
<blockquote>
<p>And you have to realize that there are not very many<br>
things that have aged as well as the scheduler. Which is<br>
just another proof that scheduling is easy.</p>
<p><em>Vous devez réaliser que peu de choses ont aussi bien vieilli que l'ordonnanceur.<br>
Ce qui constitue une preuve de plus que l'ordonnancement est facile.</em> </p>
</blockquote>
<p>L'implémentation pratique d'un algorithme pour les systèmes multi-coeurs est cependant loin d'être triviale. La publication qui donne lieu à ce journal <a href="http://www.ece.ubc.ca/%7Esasha/papers/eurosys16-final29.pdf">The Linux Scheduler: a Decade of Wasted Cores<br></a> l'illustre sur plusieurs points. La parution de ce journal un vendredi est bien entendu une pure coïncidence.</p>
<p>En résumé, la problématique est que le coût de transfert d'un process vers un autre coeur est potentiellement élevé, et dépend entre autre de la structure des mémoires cache. L'agrégation des données de charge entre les coeurs/processeurs doit aussi être réfléchie, il y a un équilibre à trouver entre trop partager entre les coeurs et ralentir le système et risquer de prendre des décisions d'ordonnancement basées sur des informations partielles. Il y a donc recours à des heuristiques et optimisations qui ne fonctionnent pas dans tous les cas: dans la publication il est montré que certains coeurs sont inactifs pour de longues période alors que des processus prêts à tourner attendent ailleurs. L'article se lit bien et est agrémenté de citations de notre cher Linus qui n'a pas toujours raison…</p><div><a href="https://linuxfr.org/users/pmoret/journaux/linux-une-decennie-de-coeurs-gaspilles.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/108662/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/pmoret/journaux/linux-une-decennie-de-coeurs-gaspilles#comments">ouvrir dans le navigateur</a>
</p>
pmorethttps://linuxfr.org/nodes/108662/comments.atomtag:linuxfr.org,2005:News/362452015-03-18T17:58:50+01:002015-03-18T17:58:50+01:00Publication d'evQueue sous licence libreLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>EvQueue est un ordonnanceur de tâches et un moteur de <em>queueing</em> libre. Il permet la planification de tâches simples mais aussi la gestion de <em>workflows</em>, enchaînements de briques logicielles de base dans un but plus avancé. La description des enchaînements de tâches est basée sur XML et XPath, reprenant ainsi des briques très standardisées pour la structure des <em>workflows</em>.</p>
<p>Le moteur d'evQueue est écrit en C++ en mode événementiel, il se démarque ainsi de certains ordonnanceurs par sa légèreté et sa rapidité. L'interface de pilotage Web est quant à elle développée en PHP. Elle permet le suivi des tâches et <em>workflows en cours</em>, la création de <em>workflow</em> notamment en mode graphique, et la planification de tâches.</p>
<p>En plus de l'interface de pilotage Web, evQueue propose une API réseau permettant son contrôle à distance (lancement de tâches, suivi des tâches en exécution…). L'exécution de traitements lourds est en effet une problématique récurrente des systèmes Web où les clients sont en mode asynchrone. L'utilisation d'evQueue résout cette problématique, assurant un suivi simple à mettre en place en AJAX côté utilisateur et une excellente visibilité pour les administrateurs systèmes.</p>
<p>Une documentation sur l'installation et l'utilisation d'evQueue, ainsi que des exemples de workflows sont disponibles sur le site d'evQueue.</p>
<p>EvQueue est développé et maintenu par l'équipe informatique de l'UFC-Que Choisir. Il est publié sous licence libre depuis mars 2015 (GPL 3). Il est utilisé pour les besoins informatiques de l'association depuis presque trois ans ; à ce jour, plus de quatre millions de workflows ont été lancés.</p></div><ul><li>lien nᵒ 1 : <a title="http://www.evqueue.net" hreflang="en" href="https://linuxfr.org/redirect/93435">Site officiel</a></li></ul><div></div><div><a href="https://linuxfr.org/news/publication-d-evqueue-sous-licence-libre.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/105130/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/publication-d-evqueue-sous-licence-libre#comments">ouvrir dans le navigateur</a>
</p>
njeanZeroHeurehttps://linuxfr.org/nodes/105130/comments.atomtag:linuxfr.org,2005:Diary/339952013-06-12T13:34:50+02:002013-06-12T13:34:50+02:00Questions et réflexions en vrac à propos des ordonnanceurs.Licence CC By‑SA http://creativecommons.org/licenses/by-sa/3.0/deed.fr<p>Bonjour.</p>
<p>Connaissez-vous, en libre et en proprio un ordonnanceur qui serait :<br />
- multi-plateformes (liunux,AIX,HP-UX,Solaris, Windows au moins)<br />
- cross-platform (permet d'ordonnancer des séquences d'exécutions entre plusieurs noeuds, OS différents)<br />
- permettant un sequencement de taches périodiques, de taches one shot à un instant donné, de taches déclenchées sur un événement (arrivée fichier, reception signal, etc …), avec possibilité de programmer en "one shot" ou avoir une exécution systématique dès que l'evenement a lieu<br />
- permettant de déclencher des actions lors de l'arrivée d'un evenement dans la syslog</p>
<p>Si vous me parlez d'outils proprio, existe-t-il une version de démo (même limitée) pour la tester ?</p>
<p>Sinon, plus généralement, pourriez-vous m'indiquer, pour les ordonnanceurs que vous utilisez (même s'ils ne répondent pas aux points que j'ai mentionnés plus haut)</p>
<ul><li>s'il est libre</li>
<li>pourquoi vous l'utilisez</li>
<li>ce que vous aimez, </li>
<li>ce que vous n'aimez pas</li>
<li>ce que vous aimeriez qu'il fasse en plus</li>
</ul><p>Enfin, que serait pour vous l'ordonnanceur idéal ?</p><div><a href="https://linuxfr.org/users/totof2000/journaux/questions-et-reflexions-en-vrac-a-propos-des-ordonnanceurs.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/98636/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/totof2000/journaux/questions-et-reflexions-en-vrac-a-propos-des-ordonnanceurs#comments">ouvrir dans le navigateur</a>
</p>
totof2000https://linuxfr.org/nodes/98636/comments.atom