Java and the Future of Computing  


CHEP'97
Computing in High Energy Physics

Lichtenberger Congress Center
 Berlin

7 April 1997

John Gage
Chief Scientist
Sun Microsystems 


 Ulrich Gensch: DESY

7 April 1997
"We can remember vividly the first connection between Zeuthen and DESY: in 1986-87, our first collaboration took place, long before the world of politics could connect different worlds. "

_________________________

An Example of How Java is Used by NASA in Controlling the Hubble Space Craft

________________________________________

The High Energy Physics community has always moved in advance: in international links, in collaboration, and in pushing the limits of data acquisition and computing.  They are the cowboys of advanced computation.

______________________________________ 

Today, the rest of the world is catching up.  With the ubiquity of the Internet, of Java, and the plummeting cost of computing, we have a new world:

What was the province of only the rich: the military, the media, the central  government, the law enforcement agencies, the high energy physics community, is now available to children in primary school

_________________________

How Does Change Come About? 

"Philosophy comes from the collision of ideas which create problems. The ideas come from life. Life changes, so do the ideas, so do the collisions. The collisions breed puzzles, but when life changes, these puzzles are not so much answered as die away. Ideas perish from inanition far more frequently than as a result of being refuted by argument."
Isaiah Berlin
, Recollections of a Historian of Ideas, Scribner's, 1991

___________________________________ 

The Importance of Choosing the Most Powerful Metaphor

"Davidson lets us think of the history of language, and thus of culture, as Darwin taught us to think of the history of a  coral reef.

Old metaphors are constantly dying off into literalness....."

                 Richard Rorty, Contingency, Irony, and Solidarity
Cambridge University Press, 1989
________________________

"A technical discontinuity is at hand. We have been building systems of computers for twenty-five years from a common set of concepts, but now, most of the concepts are changing, and at the same time. This is a major shift in metaphor, based on netcentric programs based on Java.We are at a point of change equivalent to 1980's move to microprocessors." 

Bill Joy 
VP: Research, Sun : April 20, 1995

______________________________ 
 

Order of Value in Creating the New Networked World

Creating New Metaphors
Understanding Human Culture
Understanding Objects
Understanding Services




People Want 
Creating Trustable Systems: 



Communicating Objects 
Designing Applications
Designing Network Infrastructure
Writing Programs
 Building the Network and 




Computing Infrastructure 

________________________________________ 

What is a computer? 
What metaphor transforms the transistors and wires into something a human can understand?

_________________________________

Watershed Event:  New Metaphors Create New Objects 
______________________________________

 The Computer is a Desktop
Spring, 1968: ACM/IEEE Joint Conference: San Francisco: 
Doug Englebart
_______________________ 

The Computer is a Linked Book:
WWW, Mosaic, Netscape

1971: Ted Nelson; 1991: Tim Berners-Lee; 1994: Mark Andreessen

__________________

The Computer is a Sketchpad
Intelligent Drawings 1963: MIT Ph.D Thesis:  Ivan Sutherland 

All Computer Aided Design, Computer Graphics, 
Virtual Reality
Chips, Molecules, Circuit Boards, Sheep


_______________________________________ 

The Computer is a Flying Carpet

(A space-based acquisition system)
1960's : Central Imagery Office (NRO, NPIC, .....)
1864 Civil War balloons
__________________________

The Computer is a Command and Control Deck
Conning tower, Air traffic control, Military Command, Trading floors, briefing room, Accelerator control, Tracking _____________________________
The Computer is a Conversation

Café, Journal, Diplomatic meeting, dinner table, public forum, agora, MUD, MOO
____________________
The Computer is a Market
_________________
The Computer is invisible, the operating system is invisible, the network is invisible:
The Computer is a dynamic ecology _________________ 

The world is coming alive: sensors are increasingly linked on the network

 Country Rankings by Number of Hosts: 
Jan 97

USA

 1

 10 000 000

Japan

 2

734 406

Germany

 3

721 847 

Canada

 4

603 325 

UK

 5

591 624

Australia

 6

 514 760

Finland

 7

 283 526

Netherlands

 8

 270 521

France

 9

245 501

Sweden

 10

232 955 

Norway

 11

 171 686

Italy

 12

149 595

Switzerland

 13

 129 114

Spain

 14

110 041

Denmark

 15

 106 476

South Africa

 16

99 284

Austria

 17

91 938

New Zealand

18

84 532

Brazil

19

 77 148

South Korea

20

66 262

Belgium

21

64 607

Russian Fed

23

50 097

Mexico

29

29 840

Singapore

30

28 892

Ireland

31

27 049

Portugal

32

26 077

Chile

37

15 885

Argentina

40

12 688

______________________________________

The Arrival of Ubiquituous Networking Protocols, Coupled With Ubiquituous Java Virtual Machines, Allows the Construction of a Completely New Computing Environment

__________________________________

Why Java?

Height of Stack of Required Books to Write Programs In Each Environment 
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
WIN/NT
Mac
Unix
NeXT
Oberon
Java
________________________________ 

The operating systems are far too complex, and can never be made secure.  Security must come at the language level.

___________________________________________________ 
 Fundamental Software Changes Are Coming
  • Sofware Design Revolution is Coming
  • The Network brings Dynamic Assembly of Component Software
  • At Low End: Direct Execution of Byte Codes is Simple and Efficient
  • At High End: Dynamic Optimization
  • Machine and System Independent
  •  
    For Modern Software: Quality and Safety
  • Safe language: 
  • Garbage Collection will be Ubiquituous
  • No Pointer Arithmetic
  • Testable
  • Concurrent
  • Media-Oriented
  • Dynamically Linked
  • Static and Dynamic Checking
  • Built at Run-time from components => Late optimization
  • _____

    Java addresses this problem

  •  Carefully and completely specified 
  • Necessary Properties 
  • Concurrent 
  • Safe 
  • Garbage Collected 
  • Strongly Typed 
  • Dynamically Linked 
  • Some Difficult Parts of the  Java Specification

  • Order of Evaluation and Exceptions 
  • Semantics of Loading, Linking, Initialization 
  • Parallelism and Memory Model 
  • Binary Compatibility 
  • In the presence of strong typing 
  • Why Garbage Collection(GC)?   Automatic Storage Management

  • Without GC, the system has no semantics 
  • If free, why still in use? 
  • then, reallocate with malloc 
  • then effect is not explainable by the language semantics 
  • Without GC, unreliable software 
  • Like doing chips without CAD (Computer Aided Design) 
  • Implications for Microprocessor Architecture

  • Current optimizations are static
  • We've been studying and overoptimizing old applications with SPEC
  • Things that will change, thus changing optimal design:
  • We Now Have Cross-Industry Agreement on the Essential Protocols
    TCP/IP, HTML, JAVA

  • Adopted by NTT, ATT, BT (MCI), France Télécom, Deutsche Telekom, Singapore Telecom, ........
  • Adopted by Motorola, Nokia, Alcatel
  • Adopted by Toshiba, Sony, Mitsubishi, Matsushita, Philips, Thomson, Samsung, Gold Star
  • Adopted by IBM, Apple, Sun, Fujitsu, Hitachi, Toshiba, Compaq, Unisys, Silicon Graphics, ...
  • Adopted by Motorola, NEC, Samsung, National, ....
  • www.nc.ihost.com shows list of sites
  • But, Is This A Good Thing For Security?
    We have lost genetic diversity......
    ________________________________

    More Fundamental Long-term Change in Software

    Determinate + Indeterminate = Indeterminate

  • Software does not have the same physical foundation as hardware: no CAD (computer-aided design) rules
  • No physics in software
  • Most software systems are indeterminate: memory is left in an unpredictable state after an exception
  • If the program is determinate, the operating system is not: NT and UNIX, for example. DOS is beneath mention.
  • Determinate + Indeterminate = Indeterminate

  • ______________________________ The Most Extraordinary Thing in the last year of Java development: the unanimity of agreement on Java API extensions ____________________________ 

    Java API Development is bringing the experience of thirty companies to bear on all aspects of computing

    IBM, Sun, HP, Intel, Microsoft, DEC, Silicon Graphics, Oracle, Sybase, Adobe, ATT,  
        
  • JDK 1.0.2 API 
  • JDK 1.1 API 
  • Java Enterprise API 
  • JavaBeansTM API 
  • Java Security API 
  • Java Server API 
  • Java Commerce API (Java Wallet) 
  • Java Media API 
  • Java Management API 
  • Java Embedded API 
  • 30 companies, 100 initiatives: 


    _________________^______^_

    We Should Not Allow Today's Metaphors to Limit Tomorrow's Possibilities

    Today's Incorrect Assumptions

  • Today's objects define industries: telephone, television, cell phone, computer, cable, disk
  • Telephone, computer, television use different hardware and software
  • What is expensive today will be expensive tomorrow
  • Desktop or book metaphors for computer use are enough
  • Physics in the interface is expensive 
  • Technology is hard and important (technology is easy, people are hard)
  • ___________ 

    Two Stages of Technology Change: Last 29 Years 
    (since Englebart)

    ________________________________________________________

    1968-1997: Twenty-nine years spent exploring the implications of : 

    Desktop metaphor on 150 million computers;

    100 milllion unconnected computers; 50 million connected computers
    beginnings of the network is the computer
    50% [70%] of the  world will never make a phone call
    2-5 embedded processors for top 2% of world population 


    The Next Ten Years of Technology Change: 1996 - 2006
    The Implications of Networks

  • Ubiquitous software running  on all computers: common protocols
  • Hardware is ephemeral, protocols live forever
  • 10,000 times faster microprocessors, but the end of CMOS in 2005-2010 
  • Terabit wired networks, megabit wireless 
  • Terabyte storage on a credit card 
  • $ 300 Network Computer: keyboard, display, one chip: 








  • Standard for Network Computer adopted by IBM, Apple, DEC, HP, Sun, Alcatel, .....  
  • Common software environment: write once, run anywhere
  • 10 -100 embedded processors per capita in top 10% of world population 
  • Peer-to-peer, multithreaded, platform-independent software 
  • Ubiquituous encryption and certification authorities 
  • Almost zero-cost transactions, leading to ubiquituous digital money 
  • Access world-wide to real-time sensor data in the elementary schools
  • Access to sub-meter imagery from 20 countries by 2002:








  • ________________________________________ 

    Technological Survey Today

    The Internet is the platform, not Sun, not Intel, not Microsoft:
    Software runs on all processors
    Software is distributed everywhere on the network
    Software is safe, simple
    Software allows a new kind of computing device: $US 200: 4 chips Applications are modular, downloaded when needed, which leads to minimal administrative costs

    ___________________________________________ 

    Security Becomes the Paramount Issue


    Real-time transcripts of Kevin Mitnick, and the Los Alamos, MIT, Boston University, Naval Research Labs attacks on February 12 and 13 

     
    Legacy Systems:






    Unix, NT, ... 
    New Ideas
     
    Unsafe system
    Safe system 
    Unsafe Language
    Safe, Concurrent Object Oriented language:






    JAMES GOSLING 
    Java 
    Thick layers for protection:






    Multics: 60's 
    Language for protection:






    JOHN COCKE w/original RISC 
    BILL JOY 
    Explicit memory allocation:







    before the beginning 
    Real time, pause-free, bounded







    Garbage Collection: 
    GUY STEELE 
    Early (static) compilation
    Late (dynamic) code generation:






    PETER DEUTSCH 
    Smalltalk 
    RDMS and file systems:






    CODD '69 
    Object DBMS: 






    many in late 80's,90's 
    Streams/ universal datagrams:






    PUP: 70's 
    Unified storage: 





    Lifestreams: 
    DAVID GELERNTER 
    Hierarchical file names:






    Multics: 60's 
    Universal resource names in the WWW:






    TIM BERNERS-LEE 
    1989 
    Process/command:






    Genie: 60's  
    Dynamic linking in single address space:






    BOB KAHN 
    knowbots: 90's, hotjava 
    Unicast
    Multicast,with unicast as special case






    VAN JACOBSON 
    Servers
    Distributed Network-available services




    A structural change in the definition of common intellectual technology 

  • Physics in the interface
  • Heads-up in 50 million vehicles in consumer market
  • GPS in everything locational


  • Overlapping Forms of Intellectual Technology

    Orality --> Writing --> Executable Writing --> Multiform


    60,000 years-> 6,000 years -> 40 years -> 10 years

    _______________________ 
  • Marks
  • Sounds
  • Hierarchical notation
  • Sketches, diagrams and maps
  • Images and motion
  • Intuitive physics: the world we know
  • Spatial and location-based understanding 
  • __________________________

    What should you pay attention to right now?

    The Education Rate: FCC rules Spectrum Allocation: reach all users Taxation Encryption fight: key escrow and key recovery Emergence of new law on liability 

    ________________________

    What can we do today?

    Your telephone line can carry up to 6 Megabits/second to the Internet

    ATT just announced wireless to the home: 5 Megabits in a pizza box

    ______________________________________ 

    Primary Long-term Issues for Schools and Libraries

  • Authentication and Security
  • Law Enforcement struggles over privacy and public good
  • Spectrum allocation
  • Data usage rules

  • Bringing the Internet to the Next Generation User

    _________________ 

    We can let our children use the same tools we do

    Wire the Schools 

    Interconnection changes human organization and institutions: it's creating new economies


    Forms of human communication are changing: it's creating new cultural environments


    Forms of technological development are changing: the line between hardware and software blurs, and all executable systems become dynamically assembled from network components


    What Do We Do?

    Wire the Schools and Libraries


    Provide free or extremely cheap network access to higher education.


    Provide free network access to the primary schools, secondary schools, and libraries 


    Provide network access to the vocational schools, to provide a radical change in the awareness of the students of their global role


    How do we get applications and services to every home and school in a country?

    Build the infrastructure

    Singapore ONE-Net, computing appliance, 100 new applications written in Java
    Result: 5 000 homes by January 1998

    Build a trustable environment

    Singapore:50 000 smart card IDs by Q2 97
    Malaysia: 100 000 smart cards by 1998
    France, Germany, Italy

    Michael Yap
    National Computer Board, Singapore
    Wednesday, 26 Feb 97