Scaling to users requires Synapse Pro
element.io
Scaling to users requires Synapse Pro
1–10 of 17 posts
Re: Scaling to users requires Synapse Pro
#2For a 4GHz CPU core, with 4 instructions-per-clock, that works out to 100 million instructions per 'event'. That is efficiency so farcically low I can only attribute it to self-sabotage.. so they can sell the Pro version.
Re: Scaling to users requires Synapse Pro
#3> However, it should be obvious that if the traffic levels spiked higher by 3x to ~120 events/s - then 75% of the worker’s time would be spent simply listening to traffic For a 4GHz CPU core, with 4 instructions-per-clock, that works out to 100 million instructions per 'event'. That is efficiency so farcically low I can only attribute it to self-sabotage.. so they can sell the Pro version.
This is sad. The Matrix protocol will no never be XMPP. I hope Element is happy, because they're never going to be Slack. They're now stuck in a position where they are mediocre garbage to all sides.
Of course the post mentions government. Who else would buy an overpriced garbage product.
Re: Scaling to users requires Synapse Pro
#4Re: Scaling to users requires Synapse Pro
#5Re: Scaling to users requires Synapse Pro
#6> However, it should be obvious that if the traffic levels spiked higher by 3x to ~120 events/s - then 75% of the worker’s time would be spent simply listening to traffic For a 4GHz CPU core, with 4 instructions-per-clock, that works out to 100 million instructions per 'event'. That is efficiency so farcically low I can only attribute it to self-sabotage.. so they can sell the Pro version.
Yea, it's obviously a move away from open source. The FOSS tools are surely to turn to garbage. They killed of Dendrite (the re-implementation of the Matrix server in Go). People have made some clients, but I don't think there are any alternative implementations. This is sad. The Matrix protocol will no never be XMPP. I hope Element is happy, because they're never going to be Slack. They're now stuck in a position wh…
I’m also wary of such FOSS -> fee transitions, but I think this one is benign. I’m hoping these folks obtain this funding.
Re: Scaling to users requires Synapse Pro
#7> However, it should be obvious that if the traffic levels spiked higher by 3x to ~120 events/s - then 75% of the worker’s time would be spent simply listening to traffic For a 4GHz CPU core, with 4 instructions-per-clock, that works out to 100 million instructions per 'event'. That is efficiency so farcically low I can only attribute it to self-sabotage.. so they can sell the Pro version.
Obviously one could certainly optimise it more... which is why we did, by rewriting it in Rust, and adding in smarter pubsub, etc.
However, the key thing is that for anything other than huge deployments, this isn't a bottleneck. But for huge deployments, it becomes one. Meanwhile, we're hoping to use $ from Synapse Pro to fund perf improvements for normal FOSS Synapse and Matrix - e.g. algorithmically improving state resolution to be more performant; finishing faster room joins; improving federation traffic routing etc... so that smaller deployments get faster anyway without needing the faster workers.
Re: Scaling to users requires Synapse Pro
#8Earlier quoted context omitted.
Yea, it's obviously a move away from open source. The FOSS tools are surely to turn to garbage. They killed of Dendrite (the re-implementation of the Matrix server in Go). People have made some clients, but I don't think there are any alternative implementations. This is sad. The Matrix protocol will no never be XMPP. I hope Element is happy, because they're never going to be Slack. They're now stuck in a position wh…
I read this post as more of an “oh shit, idk who is running these projects but if you are reading this and developing a big deployment it’s going to be expensive and broken and make us all look bad. Please just spend your org’s $$$ for our rust rewrite that will make your graphs pretty and bosses smile”. The target audience feels pretty narrow for this post. I’m also wary of such FOSS -> fee transitions, but I think…
The issue is that large system integrators offer to run huge Matrix deployments for governments, think they can do so by using the FOSS server and maintain it themselves, and have no incentive to route any $ to the upstream project at all. As a result, you end up with situations like https://www.heise.de/news/Probleme-mit-Open-Source-Videokonf... where the project fails, which makes everyone look bad.
So the point of this (pretty brutal) post is to try to say: "Seriously, if you are trying to run millions of users on a deployment, work with us as the upstream project - out of the box, the FOSS project will not work for this use case".
Re: Scaling to users requires Synapse Pro
#9So there is the Synapse version that is required to get the big money contracts and the Synapse that is pretty inconsequential to the business except as a testing playground. - Makes it difficult to see how "Element is fully committed to community Synapse" can be true in the long run. Does this not spread the development effort & focus even thinner across these projects? And would reduced memory & cpu requirements no…
Making worker processes go fast has most benefit to enormous deployments, as they won't run out of headroom when running lots of single-core python workers.
However, ALL deployment sizes benefit from algorithmic improvements to the protocol and its implementation - which are the cause of smaller servers being slower today.
Specifically:
* Merge conflict resolution (State resolution) is worse than O(N) complexity with the amount of state to be merged.
* Incremental room joins (https://element-hq.github.io/synapse/latest/development/syna...) were never fully finished.
* Servers burn lots of time trying to talk to dead servers: https://github.com/matrix-org/matrix-spec-proposals/pull/413...
* All Matrix traffic currently runs full-mesh - there's no concept of "thin nodes" or delegating fan-out to a larger server.
So, fixing these issues is all going into open source Synapse (and Matrix as a whole) - which should unrecognisably improve performance, whether servers are written in Python or Rust or Elixir or whatever. And the hope is that $ from Synapse Pro funds that work (assuming the gambit is successful).
Meanwhile, all features, security work, perf optimisations (apart from scalability work), experimental MSCs etc will continue to land in FOSS Synapse for the forseeable.
Re: Scaling to users requires Synapse Pro
#10https://www.influxdata.com/blog/influxdb3-open-source-public... https://news.ycombinator.com/item?id=42684524 https://news.ycombinator.com/item?id=42703113
While I admit that I don't think losing open source developers is actually that big a harm to many projects (there's just not enough people out there to drive by big valuable amazing features), I feel like the open core approach shuts yourself off from most people who are looking for open source solutions. The core is not enough.
No one's going to be happy running a 500x slower python project knowing there's the real deal running elsewhere, with a hip new runtime they can't get.
I recognize that for some of these companies, this probably is a necessary move. They need revenue to do what they do and it's hard to get revenue in open source. But these are both interesting products that I was hopeful for that I can't imagine adopting anymore. That's fine, I don't demand being served by anyone, but it is really sad to see, and I wonder how many awesome projects that would have grown big stop these technologies will never be created, because of these shifts.
Matrix especially feels like a brutal loss, because we are so short of good communication systems. I regret not seeing DataFusion & Arrow being out to use & integrate on with InfluxDB 3 but at least there's a lots of time-series databases available. Matrix's whole ecosystem has been slowly slowly slowly building momentum & acceptance, but there's so much less diversity & offerings, & that now Synapse Pro is needed if you want more than a simple instance.