{"action":"created","issue":{"url":"https://api.github.com/repos/cylc/cylc-flow/issues/3405","repository_url":"https://api.github.com/repos/cylc/cylc-flow","labels_url":"https://api.github.com/repos/cylc/cylc-flow/issues/3405/labels{/name}","comments_url":"https://api.github.com/repos/cylc/cylc-flow/issues/3405/comments","events_url":"https://api.github.com/repos/cylc/cylc-flow/issues/3405/events","html_url":"https://github.com/cylc/cylc-flow/issues/3405","id":505123758,"node_id":"MDU6SXNzdWU1MDUxMjM3NTg=","number":3405,"title":"runahead limit vs max active cycle points","user":{"login":"oliver-sanders","id":16705946,"node_id":"MDQ6VXNlcjE2NzA1OTQ2","avatar_url":"https://avatars0.githubusercontent.com/u/16705946?v=4","gravatar_id":"","url":"https://api.github.com/users/oliver-sanders","html_url":"https://github.com/oliver-sanders","followers_url":"https://api.github.com/users/oliver-sanders/followers","following_url":"https://api.github.com/users/oliver-sanders/following{/other_user}","gists_url":"https://api.github.com/users/oliver-sanders/gists{/gist_id}","starred_url":"https://api.github.com/users/oliver-sanders/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oliver-sanders/subscriptions","organizations_url":"https://api.github.com/users/oliver-sanders/orgs","repos_url":"https://api.github.com/users/oliver-sanders/repos","events_url":"https://api.github.com/users/oliver-sanders/events{/privacy}","received_events_url":"https://api.github.com/users/oliver-sanders/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/cylc/cylc-flow/milestones/74","html_url":"https://github.com/cylc/cylc-flow/milestone/74","labels_url":"https://api.github.com/repos/cylc/cylc-flow/milestones/74/labels","id":4002028,"node_id":"MDk6TWlsZXN0b25lNDAwMjAyOA==","number":74,"title":"cylc-8.0.0","description":"Cylc re-architected for web technologies!\r\n","creator":{"login":"hjoliver","id":2362137,"node_id":"MDQ6VXNlcjIzNjIxMzc=","avatar_url":"https://avatars0.githubusercontent.com/u/2362137?v=4","gravatar_id":"","url":"https://api.github.com/users/hjoliver","html_url":"https://github.com/hjoliver","followers_url":"https://api.github.com/users/hjoliver/followers","following_url":"https://api.github.com/users/hjoliver/following{/other_user}","gists_url":"https://api.github.com/users/hjoliver/gists{/gist_id}","starred_url":"https://api.github.com/users/hjoliver/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hjoliver/subscriptions","organizations_url":"https://api.github.com/users/hjoliver/orgs","repos_url":"https://api.github.com/users/hjoliver/repos","events_url":"https://api.github.com/users/hjoliver/events{/privacy}","received_events_url":"https://api.github.com/users/hjoliver/received_events","type":"User","site_admin":false},"open_issues":63,"closed_issues":2,"state":"open","created_at":"2019-01-25T11:01:02Z","updated_at":"2019-10-10T08:42:18Z","due_on":"2019-12-25T08:00:00Z","closed_at":null},"comments":0,"created_at":"2019-10-10T08:42:17Z","updated_at":"2019-10-10T10:47:56Z","closed_at":null,"author_association":"MEMBER","body":"Out of a [recent discussion](\r\nhttps://github.com/cylc/cylc-flow/pull/3348#discussion_r332811750) over the Cylc suite configuration. The Cylc documentation refers to `runahead limit` as [being deprecated](https://cylc.github.io/doc/built-sphinx/appendices/suiterc-config-ref.html?highlight=runahead%20limit#scheduling-runahead-limit) though we have not formally deprecated the configuration in the schema.\r\n\r\nOn second thoughts `runahead limit` actually makes a lot more sense in many cases.\r\n\r\n1. `max active cycle points` is really an implementation detail of the current task pool (which might not make so much sense in Cylc9) whereas `runahead limit` refers more explicitly to the data workflow itself rather than the Cylc implementation.\r\n2. There is also the problem of modularity, when switching parts of a workflow on and off it would require introspection to work out how many cycles we should expect within a certain time period as required to set `max active cycle points`, whereas the `runahead limit` is not effected in this way.\r\n\r\n```ini\r\n[scheduling]\r\n    runahead limit = P5D\r\n\r\n[[dependencies]]\r\n    [[[T00, T12]]]  # base workflow\r\n{% if FOO %}\r\n    [[[T06, T09, T18, T21]]]\r\n{% endif %}\r\n{% if BAR %}\r\n    [[[T03, T09, T15, T21]]]\r\n{% endif %}\r\n```"},"comment":{"url":"https://api.github.com/repos/cylc/cylc-flow/issues/comments/540513044","html_url":"https://github.com/cylc/cylc-flow/issues/3405#issuecomment-540513044","issue_url":"https://api.github.com/repos/cylc/cylc-flow/issues/3405","id":540513044,"node_id":"MDEyOklzc3VlQ29tbWVudDU0MDUxMzA0NA==","user":{"login":"hjoliver","id":2362137,"node_id":"MDQ6VXNlcjIzNjIxMzc=","avatar_url":"https://avatars0.githubusercontent.com/u/2362137?v=4","gravatar_id":"","url":"https://api.github.com/users/hjoliver","html_url":"https://github.com/hjoliver","followers_url":"https://api.github.com/users/hjoliver/followers","following_url":"https://api.github.com/users/hjoliver/following{/other_user}","gists_url":"https://api.github.com/users/hjoliver/gists{/gist_id}","starred_url":"https://api.github.com/users/hjoliver/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hjoliver/subscriptions","organizations_url":"https://api.github.com/users/hjoliver/orgs","repos_url":"https://api.github.com/users/hjoliver/repos","events_url":"https://api.github.com/users/hjoliver/events{/privacy}","received_events_url":"https://api.github.com/users/hjoliver/received_events","type":"User","site_admin":false},"created_at":"2019-10-10T10:47:56Z","updated_at":"2019-10-10T10:47:56Z","author_association":"CONTRIBUTOR","body":"OK, I'm happy to keep them both.\r\n\r\nI'm pretty sure we had actually intended to deprecate `runahead limit` as documented, but way back then (if I recall correctly) `runahead limit` had to be specified in seconds regardless of the cycle interval, which was particularly stupid for (e.g.) climate suites. But post-ISO860 that's not an issue.\r\n\r\nI'm not entirely convinced by your points 1. and 2.  The *need* for this kind of limit (`max active` OR `runahead limit`) is sort of an artefact of the task pool in that we have to prevent succeeded tasks from piling up without limit in between the fastest and slowest tasks.  But if we still want or need that sort of limit at Cylc 9 we can still just collate and count the unique cycle points of current \"active\" tasks.  Point 2. sort of make sense if you have a multi-cycle suite without clock triggers in every cycle, I suppose, but again maybe we don't need this kind of limit at all once the task pool is gone.\r\n(However, that doesn't change the fact that we can keep both limit types for now). "}}
{"actor":{"display_login":"hjoliver"}}