Technical Working Group: Scalability & Performance

Ok…I reviewed the video. Basically, if you add the messaging we’ve been working on at Origyn with the CanDB stuff and add transactions I think you get this system. And most of it is already built :slight_smile:

We need open-source Motoko and rust clients as well. Right now CanDB mostly assumes that you are working from an outside application and using JS. But I think we can abstract it to a simple interface…even with transactions.

In addition, we’ll be adding icrc_16 candy-like structures that with the proper libraries should allow you to cast back and forth from generic data structures to strongly typed data structures.

Help would be greatly appreciated as we’re a bit spread thin at the moment.

1 Like

New WG Meeting!

This Thursday we’ll have @berestovskyy discuss the new Query Caching setup which is leading to big performance improvements. Hope you can make it!

Adam

Details: Thursday June 15th at 5:30 pm CEST (GMT+2) Zoom link

9 Likes

@berestovskyy Great feature! I enjoyed the presentation and discussion today.

As I mentioned in the meeting, I think it’d be great to roll out a “trapdoor” to the system-call tracking that’s planned in the future.

While the tracking is meant to make each query “correct” (reflect the current system state), there may also be a use case for caching “stale” system state. If a query uses the trapdoor version of a call, it would get that state, save it, and not invalidate future matches that get a different version from the trapdoor.

The main use case for this feature is for developers to get access to the internal state of the system when a cached call occurs (for whatever purpose that is helpful, e.g., diagnostics or debugging something else) without inhibiting the caching and reuse of that call.

2 Likes

Very impressive work, great presentation. We didn’t talk much about the challenges with implementing this for composite queries, I would love to know if that will be difficult or if it’s relatively straight-forward.

3 Likes

Updated meeting notes and recording.

3 Likes

I agree. Just to be clear, System API tracking seems like a very lowest hanging fruit for now, and we will focus on that during our next iteration. Later it will be clear if there are still lots of queries which requiring further optimizations…

1 Like

AFAIK the initial implementation of the composite queries won’t support cross-subnet calls, so it seems quite straightforward to keep the cache coherency.

It will be much easier to prioritize this once we have some numbers in hands. If most of the queries are composite, it might be worth focusing on this even if the engineering effort is significant…

2 Likes

Hello everyone, there’s a new WG meeting tomorrow!

DFINITY’s own @bogwar will be discussing new plans to support larger canister Wasm modules. Looking forward to seeing you there!

Adam

Details: Thursday July 20th at 5:30 pm CEST (GMT+2) Zoom link

2 Likes

Updated meeting notes and recording .

1 Like

Hello everyone, there’s a new WG Thursday this week!

I’ll give a little presentation on how performance changes under horizontal scaling (a multi-canister architecture). Hope you can make it!

Adam

Details: Thursday August 17th at 5:30 pm CEST (GMT+2) Zoom link

6 Likes

Recording, meeting notes, and slide deck are available here.

3 Likes

Hello everyone, there’s a new WG Thursday this week!

@lastmjs will present about performance lessons learned from his work on Kybra and Azle. We’re looking forward to having everyone there!

Adam

Details: Thursday September 21st at 5:30 pm CEST (GMT+2) Zoom link (time changed, see next post)

1 Like

Due to some scheduling conflicts, the working group will actually start 30 minutes later than normal today:

Thursday September 21st at 6:00 pm CEST (GMT+2) Zoom link

Recording, (very brief) meeting notes, and transcript are available here

3 Likes

This week we’ll have a presentation from OpenChat for the Scalability and Performance WG. They’ll talk about some of the tricks they use to keep the UX snappy in OpenChat (both on the frontend and in the canisters).

Thursday October 19th at 5:30 pm CEST (GMT+2) Zoom link

5 Likes

Due to some scheduling issues, the WG won’t be happening this month. But we’ll be back next month and changing the date to December 14th so that we don’t interfere with holiday vacations.

1 Like

Hi everyone,
I’m excited to announce that this week we’ll have Timo Hanke(@timo) talking about the High Performance Ledger at the Scalability and Performance WG.

Thursday December 14th at 5:30 pm CEST (GMT+2) Zoom link

6 Likes

Working Group is starting in 10min!

1 Like

The shortcut to the public dashboard mentioned in today’s meeting is: http://dashboard.hpl.live/
(not hpl.grafana.net)

1 Like

The meeting notes have been updated with the link to the recording and the slides.

3 Likes