

{"id":145,"date":"2012-12-07T17:23:16","date_gmt":"2012-12-07T16:23:16","guid":{"rendered":"https:\/\/project.inria.fr\/pyecdar\/?page_id=145"},"modified":"2013-02-11T18:45:12","modified_gmt":"2013-02-11T17:45:12","slug":"milners-scheduler","status":"publish","type":"page","link":"https:\/\/project.inria.fr\/pyecdar\/milners-scheduler\/","title":{"rendered":"Milner&#8217;s scheduler"},"content":{"rendered":"<p>This real-time version of Milner&#8217;s scheduler schedules N processes arranged in a ring of nodes. Each nodes receives a start signal from the previous node to start the job and in the mean time forward the token to the next node within a given time interval. To this purpose, a node <code>N[i]<\/code> has three ports <code>rec[i], w[i]<\/code>, and <code>rec[i+1]<\/code> (modulo N). the model of a node is displayed in the figure below:<\/p>\n<table class=\"image\" align=\"center\">\n<tbody>\n<tr>\n<td><a href=\"https:\/\/project.inria.fr\/pyecdar\/files\/2012\/12\/milner.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-149\" title=\"milner\" src=\"https:\/\/project.inria.fr\/pyecdar\/files\/2012\/12\/milner.png\" alt=\"\" width=\"311\" height=\"146\" \/><\/a><\/td>\n<\/tr>\n<tr>\n<td class=\"caption\" align=\"center\">Node in a Milner&#8217;s scheduler<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"alert alert-success\" role=\"alert\"><p class=\"printonly\"><strong>Important!<\/strong><\/p>Download and extract <a href=\"https:\/\/project.inria.fr\/pyecdar\/files\/2012\/12\/Milner-8Nodes-flat.xml_.zip\">Milner-8Nodes-flat.xml.zip<\/a>.<\/p>\n<p class=\"first-p\">This example describe a scheduler with up to 8 nodes<\/div>\n<p>This example is studied <a href=\"http:\/\/pyecdar.gforge.inria.fr\/robustness_journal.pdf\">here<\/a>. We can check in PyECDAR the robust consistency of the system composed by different number of nodes. The results are displayed in the table below:<\/p>\n<p><a href=\"https:\/\/project.inria.fr\/pyecdar\/files\/2012\/12\/milner_benchmarks.png\"><img loading=\"lazy\" decoding=\"async\" class=\"center  wp-image-153 aligncenter\" title=\"milner_benchmarks\" src=\"https:\/\/project.inria.fr\/pyecdar\/files\/2012\/12\/milner_benchmarks.png\" alt=\"\" width=\"459\" height=\"146\" align=\"middle\" \/><\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>This real-time version of Milner&#8217;s scheduler schedules N processes arranged in a ring of nodes. Each nodes receives a start signal from the previous node to start the job and in the mean time forward the token to the next node within a given time interval. To this purpose, a node N[i] has three ports &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/project.inria.fr\/pyecdar\/milners-scheduler\/\">Continue reading<\/a><\/p>\n","protected":false},"author":235,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-145","page","type-page","status-publish","hentry","nodate","item-wrap"],"_links":{"self":[{"href":"https:\/\/project.inria.fr\/pyecdar\/wp-json\/wp\/v2\/pages\/145","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/project.inria.fr\/pyecdar\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/project.inria.fr\/pyecdar\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/project.inria.fr\/pyecdar\/wp-json\/wp\/v2\/users\/235"}],"replies":[{"embeddable":true,"href":"https:\/\/project.inria.fr\/pyecdar\/wp-json\/wp\/v2\/comments?post=145"}],"version-history":[{"count":10,"href":"https:\/\/project.inria.fr\/pyecdar\/wp-json\/wp\/v2\/pages\/145\/revisions"}],"predecessor-version":[{"id":147,"href":"https:\/\/project.inria.fr\/pyecdar\/wp-json\/wp\/v2\/pages\/145\/revisions\/147"}],"wp:attachment":[{"href":"https:\/\/project.inria.fr\/pyecdar\/wp-json\/wp\/v2\/media?parent=145"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}