!JpEnWGPfuvHyztRhmT:matrix.org

cylc web GUI

16 Members
new Cylc GUI front-end1 Servers

Load older messages


SenderMessageTime
16 Feb 2024
@oliver-sanders2:matrix.orgoliver sandersFYI: Jupyter are moving away from the Tornado event loop - https://github.com/jupyter/jupyter_client/pull/99716:24:14
@oliver-sanders2:matrix.orgoliver sanders * FYI: Jupyter are moving away from the Tornado event loop - https://github.com/jupyter/jupyter_client/pull/997 This could result in Jupyter Server v3. 16:24:28
@oliver-sanders2:matrix.orgoliver sanders * FYI: Jupyter are moving away from the Tornado event loop - https://github.com/jupyter/jupyter_client/pull/997 This could result in Jupyter Server v3. Hopefully it'll be fine, but just a heads up, we may have to re-work some of our async code and, potentially, a fair portion of our tests. 16:25:20
10 Mar 2024
@revilo666:matrix.orgHilary OliverHas anyone tried running a UI Server for a long time yet? We might have a memory leak - I just had a local report that a UIS left running for 40 days was chewing up 40 GB of memory.22:36:51
11 Mar 2024
@revilo666:matrix.orgHilary Oliver

Just following up on our brief chat earlier – last Friday Tristan and I noticed that an instance of the Cylc8 GUI that I had had running for ~45 days to monitor and interact daily with my reanalysis download suites had started to use up a fair chunk of the available resource on w-nwp01.maui.niwa.co.nz. See the top line in the image below. w-nwp01 fell over early evening on Friday, but we’re not sure if this process was the cause. The HPC team just side it’s like because the machine ran out of memory.

Is this an expected footprint for the Cylc8 GUI in your experience? We were wondering what would be the outcome once everyone is running Cylc8 and perhaps running their own instance of the GUI. Should these be running on the Cylc servers instead? Or is the recommended practise that the GUI is started/shutdown regularly rather than being left running in the background?

I see that there are now more recent versions of Cylc8 available on the NeSI software stack so I’ll update very soon. Perhaps this is a known issue that has since been solved that I’d missed a note for in the Teams channel?

I need to restart the GUI later today. To do the monitoring that you mentioned earlier, would you like me to start the GUI again at vn8.1.1 or shall I upgrade everything to vn8.2.4 before restarting it all?

03:54:36
@revilo666:matrix.orgHilary Oliver

Going back to this from Ronnie Dutta -

Nevermind, looks like the memory leak is only in whatever hooks are injected into the code in the development build only. In the production build there does not seem to be a leak:

Turns out the above user was running 8.1.1

I've asked him to upgrade.

03:55:47
@oliver-sanders2:matrix.orgoliver sandersWe have not seen a Cylc UI Server use that much memory, it's hard to think what that memory could be filled with. At our site UI Servers are currently running on boxes with only 8GB memory so I would expect issues like this to be spotted early.09:58:55
@metronnie:matrix.orgRonnie Dutta(I was referring to the UI rather than UIS in that quote)10:23:33
@oliver-sanders2:matrix.orgoliver sanders Out of interest, do we know if this UIS had active cylc-ui session(s) connected? 10:24:36
12 Mar 2024
@revilo666:matrix.orgHilary OliverOh right, duh.21:13:56
@revilo666:matrix.orgHilary OliverI'll ask ...21:14:11
21 Mar 2024
@metronnie:matrix.orgRonnie DuttaFirefox Cypress tests have become very flaky on GH Actions 😢 https://github.com/cypress-io/cypress/issues/2908509:52:49
@revilo666:matrix.orgHilary Oliver
In reply to @oliver-sanders2:matrix.org
Out of interest, do we know if this UIS had active cylc-ui session(s) connected?

User reponse:

if i close the browser tab that I was using the CPU usage stays high

23:13:32
26 Mar 2024
@oliver-sanders2:matrix.orgoliver sandersSo it turns out the UIS is still subscribing to all data from all active workflows. I think this was a temporary solution that became permanent but no issue for prioritisation so it slipped the net. As such high memory usage for large numbers of running workflows is expected. I've raised an issue for this: https://github.com/cylc/cylc-uiserver/issues/568 It's relatively straight forward to adjust what the UIS subscribes to, protobuf "topics" correspond to GraphQL "fields", but working out what topics we need for which workflows to satisfy the active subscriptions is a trickier problem that doesn't neatly fit any existing interface.13:25:36
@oliver-sanders2:matrix.orgoliver sanders * So it turns out the UIS is still subscribing to all data from all active workflows. I think this was a temporary solution that became permanent but no issue for prioritisation so it slipped the net. As such high memory usage for large numbers of running workflows is expected and unavoidable. I've raised an issue for this: https://github.com/cylc/cylc-uiserver/issues/568 It's relatively straight forward to adjust what the UIS subscribes to, protobuf "topics" correspond to GraphQL "fields", but working out what topics we need for which workflows to satisfy the active subscriptions is a trickier problem that doesn't neatly fit any existing interface.13:25:59
@oliver-sanders2:matrix.orgoliver sanders * So it turns out the UIS is still subscribing to all data from all active workflows. I think this was a temporary solution that became permanent but no issue for prioritisation so it slipped the net. As such high memory usage for large numbers of running workflows is expected and unavoidable. I've raised an issue for this: https://github.com/cylc/cylc-uiserver/issues/568 It's relatively straight forward to adjust what the UIS subscribes to, protobuf "topics" correspond to GraphQL "fields", but working out what topics we need for which workflows to satisfy the active subscriptions is a trickier problem that doesn't neatly fit any existing interface. Given that we have reports of high memory usage and that this is kinda fundamental to UIS scalability, suggest bumping this up the priority ladder :(13:27:21
@oliver-sanders2:matrix.orgoliver sanders *

So it turns out the UIS is still subscribing to all data from all active workflows. I think this was a temporary solution that became permanent but no issue for prioritisation so it slipped the net.

As such high memory usage for large numbers of running workflows is expected and unavoidable.

I've raised an issue for this:

https://github.com/cylc/cylc-uiserver/issues/568

It's relatively straight forward to adjust what the UIS subscribes to, protobuf "topics" correspond to GraphQL "fields", but working out what topics we need for which workflows to satisfy the active subscriptions is a trickier problem that doesn't neatly fit any existing interface.

Given that we have reports of high memory usage and that this is kinda fundamental to UIS scalability, suggest bumping this up the priority ladder :(

David Sutherland would be good to get your ideas on this.

13:36:19
@oliver-sanders2:matrix.orgoliver sandersHow many workflows can the Cylc UI handle? Turns out the answer is 8! High profile UIS bug that's been with us since the start. I do not understand how this hasn't been spotted: https://github.com/cylc/cylc-uiserver/issues/56913:47:22
@oliver-sanders2:matrix.orgoliver sanders * How many workflows can the Cylc UI handle? Turns out the answer is 8! High profile UIS bug that's been with us since the start. I do not understand how this hasn't been spotted: https://github.com/cylc/cylc-uiserver/issues/569 The workaround is simple, the solution is less clear.13:47:57
@oliver-sanders2:matrix.orgoliver sanders *

So it turns out the UIS is still subscribing to all data from all active workflows. I think this was a temporary solution that became permanent but no issue for prioritisation so it slipped the net.

As such high memory usage for large numbers of running workflows is expected and unavoidable (exactly what "large" means is up for grabs though, it also depends on the complexity of the workflows themselves). I've raised an issue for this:

https://github.com/cylc/cylc-uiserver/issues/568

It's relatively straight forward to adjust what the UIS subscribes to, protobuf "topics" correspond to GraphQL "fields", but working out what topics we need for which workflows to satisfy the active subscriptions is a trickier problem that doesn't neatly fit any existing interface.

Given that we have reports of high memory usage and that this is kinda fundamental to UIS scalability, suggest bumping this up the priority ladder :(

David Sutherland would be good to get your ideas on this.

16:05:05
@oliver-sanders2:matrix.orgoliver sanders *

On the subject of UIS resource usage...

So it turns out the UIS is still subscribing to all data from all active workflows. I think this was a temporary solution that became permanent but no issue for prioritisation so it slipped the net.

As such high memory usage for large numbers of running workflows is expected and unavoidable (exactly what "large" means is up for grabs though, it also depends on the complexity of the workflows themselves). I've raised an issue for this:

https://github.com/cylc/cylc-uiserver/issues/568

It's relatively straight forward to adjust what the UIS subscribes to, protobuf "topics" correspond to GraphQL "fields", but working out what topics we need for which workflows to satisfy the active subscriptions is a trickier problem that doesn't neatly fit any existing interface.

Given that we have reports of high memory usage and that this is kinda fundamental to UIS scalability, suggest bumping this up the priority ladder :(

David Sutherland would be good to get your ideas on this.

16:05:38
@oliver-sanders2:matrix.orgoliver sanders *

On the subject of UIS resource usage...

So it turns out the UIS is still subscribing to all data from all active workflows. I think this was a temporary solution that became permanent but no issue for prioritisation so it slipped the net.

As such high memory usage for large numbers of running workflows is expected and unavoidable (exactly what "large" means is up for grabs though, it also depends on the complexity of the workflows themselves). CPU usage may also be high as a result of the cost of reconciling large numbers of updates. I've raised an issue for this:

https://github.com/cylc/cylc-uiserver/issues/568

It's relatively straight forward to adjust what the UIS subscribes to, protobuf "topics" correspond to GraphQL "fields", but working out what topics we need for which workflows to satisfy the active subscriptions is a trickier problem that doesn't neatly fit any existing interface.

Given that we have reports of high memory usage and that this is kinda fundamental to UIS scalability, suggest bumping this up the priority ladder :(

David Sutherland would be good to get your ideas on this.

16:06:26
@oliver-sanders2:matrix.orgoliver sanders * How many workflows can the Cylc UI handle? Turns out the answer is 8! High profile UIS bug that's been with us since the start. I do not understand how this hasn't been spotted: https://github.com/cylc/cylc-uiserver/issues/569 The workaround is simple (PR up), the solution is less clear.16:07:10
28 Mar 2024
@dwsutherland:matrix.orgDavid SutherlandWell, yes, maybe the UIS can get a skeleton store from the schedulers (with just gscan info).. We know when we have subscribers, but would have to detect when a UI is requesting more than gscan and flag it in the manager .. I have an idea05:43:24
@dwsutherland:matrix.orgDavid Sutherland * Well, yes, maybe the UIS can get a skeleton store from the schedulers (with just gscan info).. We know when we have subscribers, but would have to detect when a UI is requesting more than gscan and flag it in the manager .. I have an idea, will have to take a closer look05:44:04
5 Apr 2024
@metronnie:matrix.orgRonnie Dutta

FYI there is a new VSCode extension for Vitest: https://marketplace.visualstudio.com/items?itemName=vitest.explorer

I had to switch to the pre-release version otherwise all the tests that use string substitution in their name fail (e.g. it(`returns ${expected}`)), but seems pretty nifty

14:55:43
@metronnie:matrix.orgRonnie Dutta *

FYI there is a new VSCode extension for Vitest: https://marketplace.visualstudio.com/items?itemName=vitest.explorer

I had to switch to the pre-release version otherwise all the tests that use string substitution in their name fail (e.g. it(`returns ${expected}`), but seems pretty nifty

14:55:56
22 Apr 2024
@metronnie:matrix.orgRonnie Dutta(The stable version now works properly, no need for pre-release anymore)10:21:24
@oliver-sanders2:matrix.orgoliver sanders

UIS efficiency

We don't yet know the cause of the high memory usage BoM has reported, hopefully they will investigate this and share the results.

However, I suspect that the cause is likely data accumulation at the UIS. At present, data only leaves the store when the workflow is removed (i.e. "unregistered" in UIS speak). This means that data for old, stopped workflows remains in the store. On top of this we are subscribing to all data from all active workflows whether it is needed or not exacerbating the issue.

Although the store data is (remarkably) small thanks to the protobuf serialisation, it can still accumulate and (library bugs aside) I can't think what other data might be accumulating at the UIS.

So I think these two issues should move up the priority ladder:

  • https://github.com/cylc/cylc-uiserver/issues/568
  • https://github.com/cylc/cylc-uiserver/issues/585
15:44:02
@revilo666:matrix.orgHilary Oliver Agreed 20:36:16

There are no newer messages yet.


Back to Room ListRoom Version: 1