Jun 13, 2014
To paraphrase a well-known sci-fi program: the journey is towards “Latency — the final frontier”. As organizations chase nanoseconds of performance to approach real-time computing as closely as possible, we see improvements in networking technology and also in server bus and storage interconnect technologies.
Indeed, at a recent EMC event, a slide was shown demonstrating the relative impact of where the storage sits on the overall performance of the data. As people tend to struggle with concepts of nanoseconds and milliseconds in such discussions, EMC used a single second as the benchmark. As such, if we take it as that data would take one second to get from static random access memory (SRAM) to the CPU (whereas this would normally be a matter of a few nanoseconds), then the equivalent time for the same data to get to the CPU from an all flash, fabric-connected array would be around 1 week. Hardly surprising that the effort in data storage is now in making server-side storage such as PCI-X flash more effective as a mission critical component.
However, all of this is to no avail anyway. In the fifth century BC, a Greek philosopher by the name of Zeno showed that, contrary to observed actions, motion is, in fact, nothing but an illusion.
Zeno put forward several paradoxes, but the one that is apposite to discussions on the movement of data is one that may just force you to rethink how your network operates.
Consider a data path — any data path of any length. This could be an inter-data center link of a few thousand kilometers, or it could be a cache link within a CPU of a few nanometers. It makes no odds — the paradox still rules.
Any piece of data has to traverse the whole of that link. However, to do so, it has to cross the half-way point. To do that, it will take a finite amount of time. Once it is at that half-way point, it now has a new distance to cover (one half of the link distance). However, to do so, it has to cross the half-way point of this. To get there will take a finite amount of time — at which point, it will have half of this link to traverse, and to do so, it has to cross the half-way point, and so on… Although the distance to the other side of the original link get infinitesimally smaller, there will always be half that distance left to travel, and that will always take a period of time. Therefore, your data cannot ever get from one end of a data link to another — the paradox is logical; it is mathematically correct; it is immutable.
That data obviously does get across the link is neither here nor there: that is just observed activity. The laws of physics make it obvious that everything you think you are observing just cannot be true.
Until you have read this, you have been safe. Your network is probably unaware of Zeno’s paradox, and therefore is paying no attention to it. It is only now that you are aware that your network runs the risk of becoming prey to the physical limitations of it. Therefore, we have to find a way around the limitations that are posed.
The paradox (which Zeno obviously could not base on digital data packets, so instead chose a race between Achilles and a tortoise… as you would) has taxed the brains of other philosophers and mathematicians over the years — yet no-one has come up with a real answer (other than Hans Reisenbach’s dismissive “Zeno considered time and space as separate entities. In a theory like general relativity, which presumes a single space-time continuum, the paradox may be blocked”).
However, I have devised a simple trick to ensure that your network can carry on working: tell it that all its data links are twice as long as it thinks. It will then cross the first half-way point to find that it has actually reached its destination…