I know basically nothing about computer engineering or electronics, so bare with me on this, but conceivably could tech like this be used inside a computer?
As in, instead of just using fiber to make different computers talk to each other really fast, could we use it for like a RAM bus or something? Is there too much latency associated with it compared to the copper we've been using? 301 Tbps seems like insane speeds, even inside a computer.
Yes, basic physics shows [1] that we can use (free space) optics instead of wires inside chips. This will improve energy use and speeds by 3 orders of magnitude. Next to a transistor you put a photon detector. You can flip the transistor with the voltage from the photon detector by sending 10000 photons (or less). Pictures of such systems in the slides [2].
We can beam billions of optical channels with different frequencies in parallel across chips, exabits (yettabits, yottabits) per second.
We will not compute with photons tough [4][5], the optical structures are to large and it would only work for very specific types of computations.
We design wafer scale integrations (very large chips) this way we can start making these fast on-chip interconnects around 2027 if we invest a few billion today in making free space optics. A layman's introduction in my talk here [3].
How much parallelization is required? Any idea how fast a single channel could get with optical transport and photon-detecting transistors?
As an Elixir dev (where parallelization is relatively easy), I think there is a lot of potential for parallelization that isn't being used by most programs, but for serial algorithms where multi-core can't be used, I wonder what the ceiling will be.
> Any idea how fast a single channel could get with optical transport and photon-detecting transistors?
Terabits per second per channel would be possible but it would require to much high energy SerDes (serializer-deserialiser) circuits. It will be more energy efficient to have more parallel optical channels (bundled) switching at the low power optimal speed of the transistors, around 1-2 Ghz instead.
>I wonder what the parallelisation ceiling will be? How much parallelization is required?
There is no ceiling, no limit, for example look at an "existence proof": there are around a hundred trillion cells in your body that perform billions of computations chemically and also with DNA processing by ribosomes in parallel. No limit. Those 8 billion bodies theoretically could learn to work together with the aid of internet and personal computers. There are 10^24 stars in the universe.
Your thinking, your imagination, your thinking brain modelling of parallel systems is the ceiling, the limit. But you can learn, experiment and improve over time so your limits on thinking up better ways to parallelise computation will improve. Humanity could dedicate itself to the open ended creation of knowledge (of knowing how to compute in parallel with photons without limits) [1].
Right now our computation limits are limited by our knowledge (of manufacturing at atom scales), the energy output of the sun and the amount of atoms in the solar system we could rearrange [4].
We should fund our scientists to create the knowledge we need to enlarge the limits [5]. I hope you'll fund me as well :-)
> Elixir development
Smalltalk, LISP, Erlang, Elixer, Actor Language are some of the best message passing programming languages for massively scaling parallelism.
Alan Kay [2][3] has great lectures to get you started in thinking better (including about (computational) parallelism, scaling and message passing). A few others have written some papers as well (see links in my HN comments the last 12 weeks). I can teach you a bit too, write to morphle73 at gmail dot com.
Optical interconnects within a system are very much a possibility, but they are prohibitively expensive.
Going from copper to optics and back again at the other end is significantly more expensive than using mechanical connectors. The complexity of optical fibers and their interconnects also adds a lot more assembly difficulty and failure opportunity.
We still have a lot of headroom in copper interconnects, but it’s getting more and more difficult to squeeze bandwidth out of longer distances interconnects like those between your CPU and your GPU slot. Next generation systems might need retimer chips at the halfway point to basically rebuild and retransmit the signal so it can make it the full distance. We also have to use more expensive PCB materials to reduce the cost. There may come a day when we have to connect the CPU and GPU optically, but it’s going to be a while before we get there.
The biggest problem I see from 10,000 feet is you’d need to constantly be converting electricity to light and back again… there is a penalty for that in speed… so far putting ram on die with the cpu has been the best way to reduce that particular form of latency…
Theoretically yes. Though it makes 0 sense and difference in practice. The conversion between electrical and optical isn't straightforward and it isn't cheap to implement now. Let's say we've resolved this. We are still limited by the same latency of the channel, i.e. speed of light is roughly the same in fibre-optics and metal interconnects we use on chip now for electrical signals. Meaning, electrical signals we use are as fast as light. So, no delay advantage.
The biggest advantage of optical is less loss, which makes a huge difference for a long channel. By this I mean really long, like meters. Till that point it has literally no advantage while it is so much more complicated.
I think this original question was between devices within a computer, rather than within a single chip/package. Optical interconnects within high-end servers/routers are being designed today for use in the next generation. We previously reached the limits of copper pcb traces, coax has lots of problems, optical is next. It's not about latency, it's about signal integrity.
Ironically, the heat produced by the optical transceivers is one of the biggest problems.
Yeah for within a computer, maybe. But then we're still using inefficient standards like DDR for memory access. There's sooooo much more we can do for copper interconnects while more viable optical tech is being developed. Think about denser modulation PAM4 is already in, PAM8 and PAM16 are being looked at. 10Gbit Ethernet uses a symbol density of 128 over a 100m long channel. We have the digital horsepower for encoding/decoding the data on-chip. I also see people are implementing full-duplex channels. This will double the density. Again, Ethernet is doing this for 30 years already but no chip-to-chip standard like PCIe, DDR etc are doing these yet.
I'd think optical will replace back-plane side but not anything within a motherboard itself in the coming 10 years. Copper has a lot of juice left in it.
I'm not aware of anyone actually going to use pam8 or 16 with high-frequency links. The signal integrity is a mess and the corresponding FEC requirements undo all the benefits.
I suppose a relatively high-speed chip-to-chip standard in use within consumer computers today is GDDR. If you want something with serdes then it's obviously PCIe, which has been using NRZ and now PAM4. Then there's Interlaken which has been around for yonks in HPC and networking. More recently NVLink also. None of these point-to-point serdes solutions can give you latency anywhere near DDR. And when they get to 200Gbps, copper backplanes are dead. It's cable now, and optical is coming. On the PCB, copper channels are thankfully holding out.
I almost get nostalgic reading about optical computing, it's something I remember reading about 20 years ago as a promising field for future development. As far as I can tell though, it's something that still hasn't gotten out of the lab.
As in, instead of just using fiber to make different computers talk to each other really fast, could we use it for like a RAM bus or something? Is there too much latency associated with it compared to the copper we've been using? 301 Tbps seems like insane speeds, even inside a computer.