Hacker News new | past | comments | ask | show | jobs | submit login
Bringing Emulation into the 21st Century (davetcode.co.uk)
112 points by rcarmo on July 4, 2021 | hide | past | favorite | 21 comments



Utterly brilliant. It's inspiring to see a modern microservices architecture approach used to such great effect. While the performance penalty seems somewhat steep at first blush, we know this problem solves itself as computers get faster. And in return we get a library of highly portable opcodes which can be efficiently re-purposed by other processor implementations.


I'm so glad somebody gets it! Sometimes you have to hold onto your ideals of architectural purity in the face of minor performance hiccups.

(This is my project and I'm really happy it made its way on here)


I actually laughed out loud when I got to the part where each opcode was its own microservice, implemented in a dozen different languages. Well done.


Oh good, I'm not the only one who laughed about that.

SO much awesome in everything there.


Your architecture diagram is a thing of beauty.

If only we did this with Rational ROSE, so we could be assured of ISO9001 compliance... sigh...

A relic from a more noble age.


Agreed. This is the way of the future. Is there a subscription model? I'd like myself a CPU-as-a-service. $50-100 a month seems reasonable.

Using these "efficiently repurposable" building blocks we can even create new software! Ultimate composability. I'll rent you a couple of instructions and you can create whatever turing-completeness your heart desires for the low, low cost of $0.01 per instruction. (I will have to send all your data to our headquarters in Russia and China, but only occasionally.)

Did anyone patent this already? Time to jump on this.


To anyone who might be confused, the parent and gradparent posts (mine) are intended to be comedic, consistent with the tone and spirit of the article itself.


What interesting software could be emulated from when CPUs had clock rates in the 1-3 kHz range, the reasonable performance target for this advanced technology? According to Wikipedia, the ENIAC operated at about 5 kHz.


For those that didn't read/skim to the end:

> Alright, if you’ve got this far I’m sure you’ve realised that the whole project is something of a joke.


What really would have sealed the deal was implementing this in WASM, translating it into Verilog, then burning it into an FPGA


Some of this seems slightly tongue-in-cheek, especially this part:

"As can be seen from the screenshot above, space invaders as deployed onto an AKS cluster runs at ~1KHz which gives us ample time for debugging but does make actually playing it slightly difficult."

Nonetheless it does still seem like an interesting technical exercise creating a 'distributed emulator' implemented using services, even if it's too slow to be of much use. :)


The whole thing is satire.


Yep. Modern software in a nutshell.


I've been considering a project to build a basic emulator (Game Boy, maybe?) entirely in Redux, with React for pixel rendering. I'm sure the performance will be awful, but it would be an interesting exercise.


I wonder what performance gains we could obtain by running locally all services on loopback. The network latency should be the same of kernel itself.


loopback + gRPC


After reading a few paragraphs and skipped to the end, I was almost certain it was going to end with "The Aristocrats!"


I didn't realize that Space Invaders was so complicated.


This satire is judging a professional-technical assault on civilization by the criteria of useful, self-contained tools. As you laugh at the spiritual abortions who wrangle kubernetes for a living, they laugh back, even louder, all the way to the bank.


I know this is a joke, but the idea feels very over engineered and unnecessary complication.

> emulation is still stuck firmly in the 20th century writing single threaded C++ of all things

I just don't know why you treat C++ as a 20th century language.

It has involved a lot and now we have C++20.


That's the joke, though: that C++ is looked down on with distain and treated as an obsolete language by some members of the younger generation of programmers.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: