Complexity and the Evolution of Computing (original) (raw)
Complexity and the Evolution of Computing:
Biological Principles for Managing Evolving Systems
Computers collaborate in the Internet much the way cells collaborate in multicellular organisms. But cells do it better! What are the parallels and what can we learn from them?
Single cell organisms evolved into multicellular organisms long ago. Today we are seeing a similar transition in computing. Twenty years ago few computers communicated directly with others. Now hundreds of millions of computers exchange information at Internet speeds. The digital revolution has reshaped slot games dramatically, with 슬롯 사이트 at the forefront. Gone are the clunky machines; now, players enjoy seamless access to diverse themes and features on their devices. Digitalization has democratized slot gaming, offering convenience, variety, and enhanced interactivity, revolutionizing the gambling experience. The digital world inexorably becomes more complex. Bigger groups of computers collaborate in more complicated and less transparent ways. In doing so, they encounter problems common to all complex systems - problems already solved in the evolution of living systems. This website, based upon a companion paper (.pdf), explores the challenges of increasing complexity and some architectural solutions to them.
Computers surround us. They are in our pockets or purses, are on our wrists and even on our glasses. Even the earliest iPods surpassed the compute power of the mainframes of yesteryear. As their costs dropped and their numbers exploded the role computers play in the world has changed dramatically. They entertain us, help us shop, help us communicate with and befriend each other, and act as our memories. Some now talk with us. Mostly, however, they silently communicate with and collaborate with each other in the language of bits and bytes. One area where their presence is profoundly felt is in the rise of digital gaming — particularly in the growth of nuovi casino online migliori, where advanced computing power enables seamless, secure, and immersive casino experiences from anywhere in the world.
Two decades ago most computers operated independently from each other. A few exchanged primitive email or used FTP-like tools over phone lines with primitive modems to transfer files. Some collaborated in client-server relationships with internal corporate networks, banking systems or airline reservation systems. In 1992 a tiny number of computers in universities or research labs were connected together to form a persistent network which grew into the nascent Web. Nonetheless, for several years after the origins of the Internet, most computing continued to be done by single disconnected computers.
Today an isolated computer is an oddity. At least a billion computers exchange information at Internet speeds. Huge "clouds" of them communicate only with each other! Google, Amazon, Yahoo, Baidu (China's Google equivalent) and many other less well-known organizations spider, crawl, and catalog the Web constantly. Hundreds of thousands of such computers collaborate together to provide services on our laptops, iPads or iPhones. The digital world inexorably becomes complex beyond our comprehension. But there is no going back.
Large groups of computers collaborate in ever more complicated and less transparent ways as programmers and computing architects think of new ways to exploit digital collaboration and try to reduce the hazards of computer viruses, worms, botnets, and all sorts of other malware. At the same time, cyber criminals and other digital predators devise new tricks to exploit these complex interactions for their own purposes.
The evolution of computing is similar to the evolution of other complex systems -- biological, social, ecological, and economic systems. In each of these domains, the elements become increasingly more specialized and sophisticated, and they interact with each other in ever more complex ways. From that perspective, the similarities between biology and computing are not coincidental.
Multicellular computing already is adopting four major organizing principles of multicellular biological systems because they help tame the spiraling problems of complexity and out-of-control interactions in the Internet. They are:
- Specialization - Multicellular systems support much richer functionality than single cell and single computer systems. They do it by the collaboration between specialized cells. There are, for example, about 250 specialized types of cells in humans. Unspecialized cells such as many cancer cells are dangerous because they don't "play well with others." Specialization in computing is important for similar reasons. We are finding that unspecialized general-purpose computers, especially unprotected PCs, are increasingly dangerous to multicellular computing systems.
- Messaging - Cooperating cells or computers must communicate safely with one another. The "meaning" of cell-to-cell messages must be determined by the receiving cell, not the sender. To that end, cells communicate with each other via messenger molecules, never DNA. Similarly, communication between computers in multicellular systems relies increasingly upon message passing. Here again, the receiver not the sender determines the meaning of the messages. It is especially dangerous for computers to transfer code from one machine to another precisely because code predetermines the resulting behavior of the receiving machine, and all too often contains malware. Code endangers the health of the receiving machine and hence the larger system of which it is a part.
- Stigmergy - Messages orchestrate cooperation in real-time. Longer term or more persistent collaboration requires longer-lived messages that can be deposited in some structure where they can be later encountered by others. This sort of messaging has become known if the field of biology as stigmergy. Analogously, stigmergy in computing systems is supported by persistent external data, e.g., in databases, and network connectivity structures. Persistent data are especially important for organizing cooperative computing in the Internet.
- Programmed cell death (apoptosis) - Despite all precautions, cells and computers do go awry. They may also outlive their usefulness, Every healthy cell in a multicellular organism is programmed to commit suicide if their removal is in the best interest of the organism as a whole. Cells that are infected by viruses or become cancerous usually kill themselves unless the programmed cell death mechanism itself is compromised. We are only recently learning the importance of sacrificing compromised computers for the health of the whole multicellular computing system.
These principles are not independent; they are deeply intertwined both in life and in computing.
This site explores these principles in considerable detail -- more detail than most readers would want to absorb in one sitting. It presents each principle in its biological context and describes its benefits both for multicellular life and for computing.
If you are impatient, you might want to skip right to the end of the story and read the conclusions. However, as with many a mystery novel, reading the last few pages will tell you who-done-it without telling you the most interesting part...why. The conclusions may well not make much sense without seeing how we get there.
The site map or the link panels on the left of each page can help navigate to the various pages in an order that helps make sense of the story.
Evolution of Computing -- Last revised 6/26/2014