The story of change#
by Oskar Mencer Department of Computing, Imperial College London, September 2017Change makes a difference. Changing the world takes a lot of time, so it is important to start early. When I encountered a Tandy TRS80 the first time I was 10. My world changed. I was mesmerized by a machine that follows instructions. I decided right there and then what I want to do in life.
Life led me via tze soft keyboard of a Sinclair ZX Spectrum (with assembly programming a year later), an Amiga 1000, my first multitasking program with two Basic interpreters running in parallel in what seemed like magic, all the way to using hardware performance counters inside an Intel Pentium chip while studying the source code of Microsoft WindowsNT, which I had access to as an undergraduate student of computer engineering at the Technion in Israel.
Changing the world is hard. Making the world a better place is even harder. During my Ph.d. work at Stanford I was particularly struck by the inefficieny of microprocessors and the difference between technical performance and commercial reality. Technically, the new microprocessors of the 1990, based on RISC instruction sets, made a lot of sense. But as we know today, the commercial x86 architecture was the one to succeed. Nevertheless, I embarked on my own journey to make computing a lot more efficient. The key to success is Data, I thought, and the key problem, the complex instruction sets. If we could get rid of instructions sets altogether, computing could be a lot more efficient. My first paper on Reconfigurable Dataflow Computing was promptly rejected by the reviewers for “The Wild and Crazy Session” at the ASPLOS conference in the late 90s. Too much change. In order for my idea to work, we would have to rewrite all the worlds programs in a completely new dataflow paradigm.
Today, 20 years later, we are living in data-centric world, with the new emerging world religion of Dataism [1]. And yet, teaching Dataflow computing to Computer Science students, my computing paradigm based on minimizing the travel-time of numbers inside the computer seems to require a whole new department in universities, the same way that operations research can not stay in a mathematics department, Dataflow Processing is not a good match for the interests of students in a computer science department. Like most other “unreasonable men”[2], I have clearly underestimated the level of resistance to change, and still do not see a Gladwell tipping point even if it might be just around the corner.
Many books have been written about “disruptive technologies”, but few are studying the effect of disrupting a market versus disrupting a profession or scientific world order. To manage the change process, it is important to understand who is being disrupted (the programmer or the user) and how one can make the disruption easier to digest.
Like Edison and Tesla, I founded a company mainyl to make the world a better place, and JP Morgang helped by investing and beleiving in my ideas. This time it was not the lighting of a daughter’s wedding, but the Credit Crisis of the previous decade, which encouraged a monumental shift in how computing is being done. JP Morgan ran their credit derivatives risk calculations on a Maxeler Dataflow computer, and the success was celebrated with an article in the Wall Street Journal. One woudl think that now the whole world would follow to use this new technology. But no, the intensity of rejection from programmers increased for a further few years and datacenter managers shouted at me that their beautiful large collections of microprocessors “will never go away.” Today Multiscale Dataflow Computing is deployed by major banks, governments, and universities. Students in select universities are taught to program Dataflow Engines (DFEs), and some computational problems have been solved that could not have been solved with the conventional approach.
A popular quote (maybe from Schopenhauer) can be paraphrased to: “Change passes through three stages. First, it is ridiculed. Second, it is violently opposed. Third, it is accepted as being self-evident.”
(The oringinal statement is: "Alle Wahrheit durchläuft drei Stufen. Zuerst wird sie lächerlich gemacht oder verzerrt. Dann wird sie bekämpft. Und schließlich wird sie als selbstverständlich angenommen.")
I have first tried to tell the story in German, but was unable to find a proper translation for the word "Change" into German. “Change” is: Aendern, Aenderung, veraendern, und Veraenderung, but “etwas anderes” in English would be “something different”. But “To make a difference” is “einen Unterschied machen”. Quoting Wittgenstein: “Die Grenzen meiner Sprache bedeuten die Grenzen meiner Welt" i.e. "The borders of my langauge are the borders of my world." To put it differently, by abolishing computer (programming)languages as they were known the limitations of computers in time and space are lost. What could be more exciting!
- A video on data-flow computing from Stanford
Footnotes#