Beyond multi-core parallelism: faster Mandelbrot with SIMD
What do you do when computation is too expensive?
Recently I’ve had a brilliant business idea: Mandelbrot-as-a-Service!
Instead of companies calculating their own fractals, I will do it for them, freshly calculated in the cloud, with no work on their part.
And by using cloud computing, I will be able to scale to the no-doubt vast number of customers who will be paying for my ingenious new service.
I have two goals:
- Speeding up results: The faster I can return fractals, the happier my customers will be.
- Reducing costs: If I can pay my cloud provider less for computing, my profits will go up!
Unfortunately, since I will only be selling freshly calculated and warm-from-the-CPU Mandelbrots, I can’t rely on caching.
What would you do in this situation?