270 likes | 391 Views
Organic Computing Or: The Future of Computing CS 597 September 18, 2006. Christoph von der Malsburg Computer Science Department University of Southern California and Frankfurt Institute for Advanced Studies Frankfurt, Germany. Applications of the Future. Applications.
E N D
Organic ComputingOr: The Future of ComputingCS 597September 18, 2006 Christoph von der Malsburg Computer Science Department University of Southern California and Frankfurt Institute for Advanced Studies Frankfurt, Germany
Applications of the Future Applications • Integration of information sources • e.g., geographic information systems • Networking on a large scale • Portable identity • Data Security • Augmented reality • Telepresence • Computer situation awareness • Perception, Vision • Natural language communication • Intelligence!!
Computing Power Computing power • Moore’s law • Growth of installed computing power • Beyond Moore’s law • Dirt-cheap chips • Massively parallel computing • Nanoscale (molecular) computing
A New Style of Computing A new style of computing • Massively parallel • Heterogeneous domains • Fault tolerant • Complex beyond imagination • Loss of programmer’s insight
The Software Crisis The Software Crisis • B NIST study 02: yearly US losses due to SW failure: $ 60 Billion
The impending complexity barrier Complexity barrier • Within a decade: • SW complexity grows by 10 • SW productivity grows by < 20%/a => x6 • Overstretching the SW workforce • … if there isn’t a breakpoint altogether • Programmingneeds a new paradigm
Algorithmic division of labor Algorithmic Division of Labor Human: Creative Infrastructure: Goals, Methods, Interpretation, World Knowledge, Diagnostics Detailed Communication Machine: Algorithms: deterministic, fast, clue-less
Growing difficulty of detailed communication Difficulty of detailed communication • System opacity • System complexity • heterogeneous parallel threads • unknowable relative timing, • automatic workload balancing by • process relocation • Breakdown of detailed communication • between programmer and process • Loss of Insight!!
Automating the Automation Automating the automation • Putting the creative infrastructure in the computer • SW generation in the machine • Programming outside in in stead of inside out • Design on more and more abstract level • (accelerating the trend of the past 50 years!) • Automating the developmental cycle • Giving up algorithmic control!
In-out vs. out-in Outside-In Programming Inside-Out Programming System behavior as consequence of code code as consequence of System behavior
Organic computers Organic Computers Human: Goals Loose Communication Machine: Creative Infrastructure: Goals, Methods, Interpretation, World Knowldege, Debugging Data, „Algorithms“
Potential mound Electronic Organisms Algorithmic Machines... are programmed contain no infrastructure may be simple have to be simple Electronic Organisms... grow, learn contain infrastructure have to be complex may be complex
Organic Computing: A new Computing Paradigm New computing paradigm • From adding and sorting • To organization: • coordination of data and processes • Paradigm: living cell, organism, brain, society! • Cells are computers without being • digital, deterministic, algorithmically controlled • yet, they are complex, flexible, robust, evolvable… • Organisms are Computers, • Computers will be Organisms
Aspects of Organization Aspects of Organization • Architectures • Self-Organization • Collaborative control • Differentiation • Abstraction – Instantiation • Goal hierarchies • Adaptation
Architectures Architectures • Design in two stages: • Stage 1: architecture • creates narrow search space • Stage 2: specific system • Examples • Building: brick and mortar, steel and glass • Painting: oil, pigment and brush • Cell: DNA – RNA – proteins – lipids • VLSI, digital machines, von Neumann arch. • Programming languages
Self-Organization Self-organization • large systems of simple elements • set of simple interactions or rules • iterative application of rules • stabilization of “globally ordered” states • Examples • Crystallization • Soap bubbles • Convection
Bénard Convection Benard
Collaborative Control Collaborative Control • Each conclusion supported by several threads • Conclusions consistent with nested chains of • Consequences • Example: societal consensus
Differentiation Differentiation • Systems are born simple • They segregate into weakly coupled subsystems • which segregate into sub-subsystems • and so on (ideally, no backtracking!) • Examples: Companies, embryos
Abstraction-Instantiation Abstraction-Instantiation • Abstraction: recognize a (predefined) abstract xxx schema in a concrete situation • Instantiation: fill in slots of abstract schema • Necessity to automate this process! • Abstract schemas are human-defined • This is the basis of intelligence!
Goal Hierarchies Goal hierarchies • Original goal: successful procreation • Derived goals (in animals) • feed, find shelter, avoid danger,… • Self-organization of a hierarchy of sub-goals • Goals are abstract schemas, to be applied • to concrete situations
Adaptation: Learning from Example Adaptation • Recognize abstract schema in input • Extract instance • Align with other instances • Improve (generate!) abstract schema Example: Wrapper to deal with heterogeneous data bases
Conclusion Conclusion • Impending problem for computerscience: • the complexity barrier • This requires a massive research program • Live systems (cell, brain) • are to guide the way • Existing approaches need to be emboldened • and coordinated • Certain applications (vision, robotics, natural language communication) will not be realized without transition to a new paradigm: • Organic Computing
Questions Questions • Who are the partners in the algorithmic division of labor? • Name 3 components of the creative infrastructure • Why is the main difficulty in programming heterogeneous parallel systems? • Name at least 5 aspects of organization • What is the first step in learning from example?