Why compute with light?
Research into new computing technologies has recognised light as an interesting resource, but why do we need new computers, and why with light?
Oh how computers change..
The devices we use to compute have become more and more specific over the years. While Von Neumann and Turing conceptualised the computer a general purpose computing machine, the reality is devices which do lots of the heavy lifting for some of the most computationally expensive tasks, Artifical Intelligence models, take a slightly different approach:
Do only a few differents calculation, but do them fast
More simply – You can’t run MS Word on a Google TPU (specifically made for computing AI models) but you can on your laptop – a general purpose machine designed to run as many different programs as possible.
Summary : We have devices which do only specific kinds of calculations.
So what’s the problem, why do we need to bring light into this?
Information (numbers, letters, data), is represented digitally as a string of bits. To represent a 1, the voltage (push of electrons) is high, a zero is low volatage.
Classical digital computers work using electricity, a stream of electrons, which you can image to be pushing through a wire (or a silicon on a chip). When the electrons are pushed very hard, we say this represents a ‘1’, when they are not being pushed at all, we say it represents a ‘0’.
However when you push electrons through a wire, the wire pushes back, and provides a resistance, and it is the flow of these electrons through the wires which generates so much heat! (This is also why your phone gets so hot when you have been on the phone to your grandma for 30 minutes trying to explain how to get out of ‘together mode’ on Zoom)
To stop chips getting so hot, we cool them. However, these cooling systems cannot remove the heat fast enough, so we are stuck with chips which we are deliberately running slower than possible, becuase we can’t get rid of the heat.
Here we see the number of transistors – the things dissapating heat, consistantly increasing while the amount of power remains constant.
So we have to look for alternative computing resources, other materials or methods for doing the same calculations that these electronic chips do, but without running into the same heat removal problem. Enter light stage left.
Summary: Electronic chips are hot. Really hot. So hot that we can’t run them any faster, otherwise they would burn. So we look elsewhere.. towards the light.
But how do you calculate with light?
To really get to grips with calculating with light, we need to make a small destinction between analog and digital computing.
Analog computing – Computing with continuous values, there is no conversion into bits, no digitzation. A stream of values looks like a graph with lots of different heights. This doesn’t have to be an electrical system, in our case we use light!
Digital computing – Classic idea of a computer, continous data is converted into bits, 0,1. A stream of values looks like a string of 0s and 1s.
Analog computing is not new. In fact it existed before the transistor made digital computing feasible and the pros and cons of such a system are summarised very succinctly in the veratasium video below. However the demand arising from expensive machine learning models, means that we are looking back into more traditional ways of computing.
We have two main options, for encoding information into our light, and they are intensity and phase:
- Intensity is how ‘bright’ the light is, how many photons can we see.
- Phase is how ‘delayed’ the light is.
Typically, most analog computers use intensity encoding, as intensity based systems tend to be more stable, and can represent more numbers.
To make light of different intensities, we use lasers. Lasers generate light of the same color, same phase and initally same intensity, and we use other deviced to change the intensity of the laser light, to make something like the pulse shape you see above.
Summary: Analog computers use continuous values, which are encoded in the intensity of laser light.
Right, but how would I do 1+1 in light?
That is the beauty of it. To do 1+1 with light, you encode two 1s in your laser light, and overlap the two beams, and measure with a camera! It really can be as simple as that. This is just a basic example of a calculation which can be sped up with light, there are more – but that is for its own blog post!
Summary: Computing with light can be really easy.
Neat, but why is light so good again?
Light, or photons, in the physics world, are known to be bosons. Bosons are particles which don’t carry charge (unlike electrons) and thus famously don’t like to interact with the magnetic or electric fields of other atoms. This gives us multiple useful properties:
- It doesn’t like interacting with other photons
- Good for scalability, but difficult for logic, non-linearity
- But it also doen’t like interacting with the matierals which transport it
- That’s why optical fibres are used for fast internet
- Information in the system can be changed (modulated) a lot faster than electrons.
- GHz with optics vs MHz with electronics
- Energy efficient
- (less wasted energy in heat loss)
Summary: Light is low energy, fast, and scaleable.
Good, so we should compute with light, what’s the catch.
For photonic computers to really become a thing, several areas have been earmarked for improvement:
- Making copies of the devices.
- Photonic Digital to Analog converters
- Storing the light in a memory
Each one of these areas deserves its own explaination in its own blog post, so stay tuned for the next installment in the Photonic Computing series: Optical memories.
Summary: We still have lots to do before we have full optical computers, look out for more blog posts.
I hope you enjoyed this topic, let me know if you have any questions or areas you feel would benefit from their own seperate blog post.