8

This question here brought up interesting points on what kind of distribution we could expect for the increase in computational power of mechanical computers in a world relying solely on such non-electric computation devices. A related question is asking about theoretical limits to mechanical computing.

I am wondering on what realistic computational limits exist on mechanical computers given a certain level of mechanical expertise - i.e. how small can we make the actual gears/shafts/springs/cogs/...

What is the maximum amount of computational power we could expect from a mechanical computer?

Some limitations:

  • Let's assume that the level of mechanical expertise is what we see in exquisite (and expensive) mechanical watches today - so in effect mechanics on a scale that a person can manufacture at with hand tools.
  • As a size limit let's pick the size of some of the earliest large computers (maybe similar to ENIAC and consorts): the mechanical computer still needs to fit into a medium sized building.

As a measure of computational power I'm interested in FLOPS, i.e. floating point operations per second, which is still the standard in measuring computational strength of cluster systems nowadays. Exact numbers would of course be dependant on the system, but some rough order-of-magnitude estimation should be possible. For reference:

  • Z4 reached about 0.27 FLOPS
  • ENIAC reached about 500 FLOPS

Bonus: If possible I'd also be interested in the power consumption (in Watt) of such a computational machine, but this could also be hand waved.

fgysin
  • 3,240
  • 16
  • 27
  • 1
    I think that the power consumption is not really a bonus. If you want the maximum performance the practical limiting factor will almost certainly turn out to be power density. You probably could get some kind of an estimate simply by comparison to equivalent electronic system. Metal components can sustain higher temperatures and conduct heat better than semiconductors so that is a plus. On the other hand energy per computational bit will be very much greater since moving mechanical parts requires more work than switching the state of a FET. – Ville Niemi Jan 24 '19 at 09:15
  • 1
  • @aCVn, I've seen the question. I'm more interested in a 'realistic'/current/... limit given the limitations I mentioned above as compared to the theoretical considerations in that question. Any idea on how I could change my title to differentiate my question from the other? – fgysin Jan 24 '19 at 11:44
  • If you limit the mechanical expertise to watchmaking you'll limit yourself a lot compared to what we can do mechanically today. Is that your goal? That is, do you purposefully ask about mechanics on that scale that a person can manufacture at home with hand tools? Because watchmaking is crude compared to MEMS technology used in every cellphone etc. – pipe Jan 24 '19 at 12:28
  • @fgysin The easiest way to do it might be to simply add a link to that question within yours, and basically incorporate your comment along with it. – user Jan 24 '19 at 12:38
  • You seen to restrict this to a von Neumann machine. I believe that analogue computers would have developed much more in this world. What sort of calculations are you wanting to perform? It makes a difference. – chasly - supports Monica Jan 24 '19 at 13:06
  • @aCVn I updated my question with the link. – fgysin Jan 24 '19 at 13:58
  • @pipe Good point. Yes that was deliberate, I edited the question to make this clear. – fgysin Jan 24 '19 at 13:59
  • @chaslyfromUK Sorry, my CS basics are a little rusty... Isn't a von Neumann machine Turing complete (for not-inifinite sized Turning machines) and can thus compute pretty much anything? – fgysin Jan 24 '19 at 14:05
  • My old answer speculated that the level of 1962 Atlas would be the limit. I don't know if this is a real concern in the context of this question, but reliability issue will grow exponentially as we try to make mechanical computer faster. – Alexander Jan 24 '19 at 17:32
  • The question is: why in the world would you need floating point operations? – NofP Jan 24 '19 at 23:40
  • @JBH, Sorry, but that is not true. The Babbage Analytical Engine is considered Turing complete, see here: https://en.wikipedia.org/wiki/Analytical_Engine – fgysin Jan 28 '19 at 07:29
  • @JBH, The Babbage Engines processing language is compared to assembly on Wikipedia and is considered Turing complete. Thus, yes, it is theoretically possible to adapt it to process text, or anything, really. This might in reality be limited by available "memory" and the size of the instruction cards and the available output - but my question is also not on the Babbage Engine per se, but on mechanical computing devices in general - the Babbage Engine serves merely as an example of Turing complete mechanical computers. – fgysin Jan 29 '19 at 09:13
  • @JBH You are talking about the Babbage Difference Engine (https://en.wikipedia.org/wiki/Difference_engine) and not the Analytical Engine. They are not the same thing. – fgysin Jan 30 '19 at 06:56

1 Answers1

7

Propagation of mechanical signals into solids is basically limited by the speed of sound in that solid.

Therefore, assuming that the length over which you want to transfer a mechanical signal is $L$ and the signal propagates with velocity $s$, neglecting inertial effect you cannot switch the signal before a time $t_{min}=L/s$, which gives a maximum operating frequency of $F_{max}=1/t_{min}=s/L$

Also here we see that reducing the dimension of the features is a good way to increase the frequency of the device.

Just to throw some numbers in, let's say the device is made of steel and the critical size is 1 cm, this means that the maximum frequency would be $F_{max}=5900 [m/s]/0.01 [m]=590 kHz$

Giving the equivalent in FLOPS goes beyond my capability, and I suspect the architecture of the device should be known, too.

L.Dutch
  • 286,075
  • 58
  • 587
  • 1,230
  • Somewhat related: https://phys.org/news/2010-09-mechanical-logic-gate-levers-transistors.html - electromechanical computing elements. I know this question is not about electromechanical, but it shows how small mechanical computational elements can be built right now. Fun fact? It works at 500kHz, just about what your answer states. – Mołot Jan 24 '19 at 11:59
  • For comparison, a Zilog Z80 running at 4 MHz was capable of about 0.6 MIPS, or maybe 0.05 MFLOPS... I've used such a computer, in the old days. With CP/M and Turbo Pascal! – AlexP Jan 24 '19 at 12:09
  • MOS Technology 6502: 0.500 MIPS at 1 MHz. By using very sloppy math, then, 500 KHz might get you on the order of 0.25 MIPS. – rje Jan 24 '19 at 15:07
  • 2
    Hz is "cycles per second", so converting from kHz to FLOPS (FLoating point Operations Per Second) would require knowing how many cycles that particular device requires to perform a Floating Point Operation. So, you are right that the architecture of the device would be a necessity - even in modern CPUs it varies greatly – Chronocidal Jan 24 '19 at 17:10
  • Am I misunderstanding something? What does the propagation of sound through a solid have to do with how fast a gear can turn? – JBH Jan 27 '19 at 18:35
  • @JBH, imagine you want to turn one end of a shaft by rotating the other end. The rotation propagates through the shaft at the speed of sound. – L.Dutch Jan 27 '19 at 22:52
  • Really? I never knew that! You mean if one end of a 343 meter long rod rotates 360 degrees in one second, the other end completes the rotation one second later? That's cool... – JBH Jan 27 '19 at 23:41
  • 1
    @JBH, 343 m/s is the velocity of sound in air. In steel it is 5900 m/s. – L.Dutch Jan 27 '19 at 23:55
  • So...turn the end of a 5900 m steel rod, and one second later the other end starts turning? Still... a babbage engine with enough columns to acomodate 5.9Km would probably tear the cam apart via torque before the speed of sound in steel matters. I love it, though. – JBH Jan 28 '19 at 00:40