Is there a good reference of #activitypub scaling with more users/clients, servers, content exchange, network topology etc. What happens when everything and everywhere is connected?
Looking for a more or less rigorous *model* to compare and contrast with e.g., how #atproto and #p2p protocols scale (at least in theory) and put some mathematical meat behind the recent "message passing" vs "shared heap" discussions.
Have been looking for this with little success so time to #askfedi #askfediverse
Doubt it. Everybody who tries will despair at the brokenness of the current design.
@helge isn't that all the more reason to pursue this? There are scarce resources and social / political capital spent on trying to develop a sane (not 100% centralized) online world. There are probably alternative viable realizations - which is fine - but it would be great (at least to my mind) to lay down the underlying constraints that are entirely intrinsic to the task of networking large numbers of online users.
@openrisk is there such a rigorous model for AT Proto?
@mariusor nope. The main extra from the atproto side in this respect is a more detailed and bottom-up specification of data flow (pds, views etc.). This is completely missing ("left to implementations") on the AP side.
@mariusor the thing is, it was less needed on the atproto side, at least for the bluesky implementation: they made a number of design choices and optimisations compatible with the "public firehose of small texts" paradigm and empirically it seems to be working.
I think AP is more ambitious (all sort of use cases, not just theoretically but already pursued by various projects - practically any web server as AP server) which means having a clear handle on scaling constraints is more relevant.
>What happens when everything and everywhere is connected?
As if every user is followed by every other user?
@silverpill Individuals have limited bandwidth so I don't see that happening, but bots acting on their behalf could get close to that.
A more realistic working hypothesis for a "mass scaling" scenario would be if every existing web server (cities, universities, companies, whatever) is part of the server-to-server network. User "follows" would be a parameter to model.
@openrisk Simply adding more servers won't affect the network. What matters is how they are connected, and follows is a good way to think about that.
For example, if account is followed by 1M accounts, then delivering a single post to personal inboxes would require 1M POST requests. With shared inboxes, the number would be equal to the number of servers where followers are located (likely much lower than 1M).
@silverpill that configuration can be modeled in a crude way as some sort of partially connected network with a parameter capturing what fraction of total other server count is linked to by any given server.
There are a few other such important parameters, like the amount of data storage. E.g. youtube arrarently has something like 5 bln videos, how would that work if #peertube instances are to replicate it etc.