Linda and a virtual world in a shoebox

Improbable
An Improbable Future
5 min readMay 18, 2016

A vision of building mirror worlds

“You will look into a computer screen and see reality.” More than two decades ago, David Gelernter, a professor of computer science at Yale University, outlined a bold, yet clear vision. Mirror Worlds: Or The Day Software Puts the Universe in a Shoebox claimed that the computer would become a digital edifice of the real world: its movements, its complexity.

“Some part of your world — the town you live in, the company you work for, your school system, the city hospital — will hang there in a sharp colour image, abstract but recognisable, moving subtly in a thousand places.”

On many fronts, the internet today is its realisation. He not only accurately described websites, but blogging, ebooks, search engines, internet telephony and tablets.

In Mirror Worlds, computers move from useful tools, or simple filing cabinets for information, to an integrated actor in human life. They become a means by which you can explore the reality which surrounds you, not as a passive watcher, but as an active explorer, “… for most purposes, you don’t merely sit and stare. You zoom in and poke around, like an explorer in a miniature sub.”

More than a mirror

Not your typical computer scientist, Gelernter’s vision was born not of his love, but of his frustration for computers, “From its beginnings, the software industry has suffered from having too many engineers. There are too many people who love computers and too few who are impatient with them”, he told one publication.

A philosopher and a writer too, he saw the potential for computers beyond a digital repository, a mere reflection, or even, in spite of the book’s title, a mirror. For Gelernter, the screen becomes flesh.

The worlds he describes model the way the world works in all its complexity with multiple interacting programs. Data fuels the world from a variety of sources (digital and non), yet the world relies not just on the patterns from the data it ingests, but from the rules which determine the behaviour of the agents. Concerned with both the overall view of the interaction and emergent behaviour, the “top sight”, and the detailed behaviour of particular agents, these agents are designed to follow particular rules of behaviour which mimic the real world. The result is two-fold: worlds which mimic the systems of the real-world (through inputting data) and yet worlds which constitute their own reality (by creating their own data).

Hello Linda

The sheer difficulty of computing large worlds with intricate detail, meant that a single desktop computer would not be enough.

As a graduate, he had already developed Linda, a parallel-programming language which allows programs running on different machines, to co-ordinate their actions. The concept behind this was simple: interconnectivity between computers can create a more powerful machine to work on a single problem.

In 1991, he and some colleagues at Yale demonstrated how this could work by linking up 14 workstation computers to create a network as powerful as a supercomputer, yet much cheaper. He emerged as a seminal thinker in the field of parallel, or distributed, computing. A forerunner of modern “cloud computing”, he is also attributed by many to have coined the term “cloud” to describe information “afloat in a virtual space”.

Swarming software

Beyond his own invention, Gelernter also saw the need for a new approach in designing software which could create virtual worlds. Quoting contemporary scientist Bernardo Huberman, he describes a “community of concurrent processes which, in their interactions, strategies, and competition for resources, behave like whole ecologies”.

Computers could only mirror ecologies and complex networks if they themselves learned to behave in way which mimics an ecological, rather than mechanical, system. Distributed computation would have to cope with the complicated business of rendering non embarrassingly parallel problems: problems which cannot be easily distributed across many machines but emerge in space and time. Phenomena which are both born of, and create, new complex relationships cannot be simplified into linear computational methods. It needs a new way.

At Improbable we have been working on exactly this problem. Creating a platform which can distribute compute across servers to create simulated worlds at scale. Simulating entire cities, for example, (with all their processes, infrastructure, and networks) requires huge compute power, distributed across many servers in the cloud.

SpatialOS, our platform, enables this distribution of work despite the fact that the entities (or the things that make up the simulation- cars, houses, buildings, pedestrians, for example) are not embarrassingly parallelizable; computing their relationship to each other cannot be done easily across a network of servers. This is because, unlike similar technologies which compute easily parallelizable problems, they exist and interact within space. Computing their complex relationship, the inter-machine messaging (think how the effect of one traffic jam, could affect the traffic flow of a completely separate part of town, computed on a different server), is the problem we have worked tirelessly on to solve.

SpatialOS then organically brings up as many servers the simulation requires: enabling developers to harness the power of these engines across vast spaces and complex behaviours. This smart structure responds to faults instantaneously: bringing up and replacing servers to recreate the state of the world within milliseconds. The system works like an organism, responding and reacting to the demands of the simulation in real-time.

“The technology exists, but our Mirror World is uninhabited. It’s like a forest with nothing in it”.

For the Economist, writing in 2013, the convergence of the digital and actual world is already happening. Smartphones and smart systems do just this. But the current applications are only a partial realisation of Gelernter’s vision. These applications are built on an ability to distribute embarrassingly parallelizable problems: they use big data in an effective way to create new forms of efficiency.

Creating simulated worlds which have as much detail as the real world, where you can interact with thousands of people in the same online space simultaneously, has not yet been realised.

The effects of these worlds, he saw, were not to confound or overpower human thinking but to empower the users, “the thick, dense, busy sub-world that encompasses you is also, now, an object in your hands. A brand new equilibrium is born.”

At Improbable, we want to put this technology in your hands to create and populate simulated worlds.

--

--

Improbable
An Improbable Future

We are developing an operating environment that makes building simulated worlds possible. www.improbable.io/