Ha. Yeah, at the high level that's clearly the requirement. To code this in an hdl we need to translate that into a low level list of features to implement. Can it be done without an os? Without a tcp stack?
@poleguy The scale of the ask, really. Sure, you can theoretically fake the output without an OS or network stack or processor, but you'd need to implement something that can produce the same final output as if it had all of the above.
@Tathar It's not clear to me what the scale of the ask is. Sometimes you can produce a minimum implementation that technically works, but can ignore all/most of the difficult logic. For example we have an FPGA implementation to drive gigabit ethernet with 'fake' udp, and it requires no os or processor. Just a state machine to stuff data we want in there. It's higher bw than real udp would be. Mastodon server would be more than that of course, but how much more? I don't have a clear picture.
@poleguy I think the most-limiting factor would be storage, honestly. An FPGA wouldn't have the on-chip resources to serve anything like Mastodon, regardless of cost.
If we were talking a bare-bones web server hosting logic-generated content, maybe it could be done by someone with a strong understanding of everything that goes into a web server. That wouldn't be me; I fully abandoned web design by the time CSS got popular.
@poleguy The thing with doing this on an FPGA is that all of the things you don't see and don't need to worry about with a conventional web server are suddenly problems that only you can solve.
poleguy
in reply to Neil E. Hodges • • •that sounds fun. I imagine it wouldn't be so fun to just implement a processor in hdl and just compile the server code for it.
It sounds like a really bad match for hdl implementation, which makes it sound fun.
What's the minimum functionality needed to be a fediverse server? Can we do it in hdl with no compiler? With no processor?
Neil E. Hodges reshared this.
Neil E. Hodges
in reply to poleguy • •poleguy
in reply to Neil E. Hodges • • •Tathar makes stuff
in reply to poleguy • • •The prospect of doing this sounds terrifying to me.
Neil E. Hodges likes this.
poleguy
in reply to Tathar makes stuff • • •Tathar makes stuff
in reply to poleguy • • •@poleguy The scale of the ask, really. Sure, you can theoretically fake the output without an OS or network stack or processor, but you'd need to implement something that can produce the same final output as if it had all of the above.
As you said, it's a really bad match for HDL.
poleguy
in reply to Tathar makes stuff • • •Tathar makes stuff
in reply to poleguy • • •@poleguy I think the most-limiting factor would be storage, honestly. An FPGA wouldn't have the on-chip resources to serve anything like Mastodon, regardless of cost.
If we were talking a bare-bones web server hosting logic-generated content, maybe it could be done by someone with a strong understanding of everything that goes into a web server. That wouldn't be me; I fully abandoned web design by the time CSS got popular.
poleguy
in reply to Tathar makes stuff • • •https://blog.joinmastodon.org/2018/06/how-to-implement-a-basic-activitypub-server/
I did a little search and I think this writeup represents the current minimum viable server. I actually think that doing valid https would be the hardest part of getting this onto an FPGA (without a processor).
How to implement a basic ActivityPub server
Mastodon BlogTathar makes stuff
in reply to poleguy • • •poleguy
in reply to Tathar makes stuff • • •