CAN TURING SYSTEMS MAKE VON NEUMANN OBSOLETE?

This article was distributed by HPCwire
CAN TURING SYSTEMS MAKE VON NEUMANN OBSOLETE?                        06.20.97
Compiled by Norris Parker Smith, editor at large                      HPCwire
=============================================================================

  Is a Turing-style computer possible? If so, would the von Neumann computing
strategy become obsolete -- and, with it, many of the burdens that are now
familiar, including complex, verbose operating systems and applications?

  Bernard A. Hodson, president of GENETIX Software, Inc, and an adjunct
professor of computer science at the University of Ottawa, says that the
Turing concept is feasible. Furthermore, he has developed a solution based on
super-compact "software genes" that implements the concept.

  The document that follows, quoted in full, could be a systematic hoax, a
truly revolutionary idea, or something in between that might nevertheless
stimulate thought about assumptions and practices that are now taken for
granted.

  HPCwire's readers are urged to communicate their reactions to me or
directly to Hodson. Hodson's email and ordinary post addresses follow.

THE VON NEUMANN MACHINE VERSUS THE TURING MACHINE
by Bernard A. Hodson

Adjunct Professor of Computer Science,  University of Ottawa
President GENETIX Software Inc.,
PO Box 3310 Station D Ottawa K1P 6H8 Canada
613-523-5322  fax 613-523-6833  email bhodson@csi.uottawa.ca

  The history of computing has indicated two principles, one developed by Von
Neumann, the other by Turing. Many current practitioners have said that the
Turing machine can never be built. This paper argues that those practitioners
are wrong and that a Turing Universal machine can be built, and in fact one
has been built which works very well. Its implications are far reaching.

  The philosophy of Von Neumann indicated that a computing machine, as
interpreted by his contemporaries, should be such that it should modify a set
of instructions contained within the machine, and that this was the only way
in which a computing engine could be built. This meant that all programming
had to be internal and has led to the awful software mess we have today,
requiring ever more increasing resources before even one application is
developed or run.

  As an example we have millions of computers storing the 191 million bytes
of that resource wasting Office 97, of which only a few percent will ever be
needed by most users, the same for Windows 97 and the various office suites.
What a terrible, obscene use of resources.

  The Turing approach indicates that it should be possible to develop a
machine which can do any type of information processing problem assigned to
it. In this approach only one computer program, in the Von Neumann sense, is
needed to not only develop but also run any and all applications. With this
approach no operating system is needed because the main function of an
operating system, to be a traffic policeman to manage the huge resources and
multiple languages, is no longer required.

'GENES' ENABLE SUPERCOMPACT SOFTWARE

  Such a Universal system has been built and, using the concept of the
'virtual machine' along with a set of 'software genes' the Turing Universal
machine has been proved to be not only feasible but also very practical.
Remarkably the resource requirements for this Turing machine are very small.
With the current implementation it requires only 2k bytes of conventional
code, in the Von Neumann sense, and only 26k bytes for the set of 'software
genes' developed to date. This is the ONLY code needed for whatever
application is developed, the code also running the developed application
along with any other applications that are needed. The 'software genes' are
used in a similar sense to human genomes, building a large number of
applications from a small and finite set of 'software genes'. The present
implementation has so far developed about 600 of these 'software genes'.

  The applications developed with the set of 'software genes' are themselves
quite tiny, taking only a few dozen bytes for application which, with the Von
Neumann approach, take tens and hundreds of thousands. For the moment it can,
and does, interface with an operating system, but only for access to drivers.

TURING CONCEPT IS UNSTRUCTURED

  The Turing Universal machine has many advantages over the structured
languages which are needed for the Von Neumann concept, such as JAVA, FORTH
and C++, as the Turing concept is unstructured. With the structured approach
you are stuck, once the limits of the structure have been reached. With the
Turing machine all you do is develop a new 'software gene' and insert it in
the 'software gene' database. The approach cuts significantly development
time, virtually eliminates maintenance costs, and enormously reduces the
resource needs of disc and memory.

WIDE CAPABILITIES

  What can the early version of the Turing Universal machine do? In fact
quite a lot, as will be illustrated.

  It can read and write any peripheral, do a variety of database work,
word-processing, graphics, telecommunications, data mining (single unit or
later in parallel), search remotely located data, high accuracy mathematics
(128 digits or more), simple animation, shortly CDROM multimedia, and much
more. All this is done with a Turing Universal machine requiring 2k bytes of
Von Neumann style code and a small 'software gene' database of 26k bytes. The
Von Neumann approach for all this activity takes many millions of bytes.

START SMALL WITH RADICAL CONCEPT

  The concept is so radical to the industry that it will have to be
introduced carefully and marketed with expertise. To this end it is suggested
that the initial thrusts be in areas in which the concept can be exploited,
gaining industry acceptance with easy to implement developments. These are
suggested as follows:

  1. Smart cards, in which The Universal machine concept can make the card
almost equal in capability to existing computers, with the entire system
being placed in the secure area of the card. Instead of being only able to do
one or two applications on a card it will be possible to place many
applications on the same card.

  2. Embedded systems, both the mass market of cars and appliances, and the
dedicated, (but less voluminous), market. Embedded systems make up over 90%
of all microprocessors sold (in volume not in dollars). They are what control
many of our automobile functions, our microwaves, our remotely controlled
television, handicapped wheelchairs, automated toll booths and such. These
embedded systems will be able to handle many more applications simultaneously
than they do now.

RENT-AN-APPLICATION

  3. Applications developed with this approach are so small (dozens of bytes
rather than tens of thousands) that the 'software genes' they use can be
transmitted in a few seconds, requiring very little bandwidth. This means
that servers can be set up, (or else use spare switching capacity with the
telephone or cable companies), or else use Internet, to rent out
applications.

  In this respect the software genes can be encrypted and sent with an
encrypted time token, to be rented at very low cost, increasing enormously
the availability of applications to users and reducing their need to buy
application packages. Because of the small footprint only a minute or two of
connect time is needed, reducing the telecommunications bottleneck on the
Internet, or whatever communication path is chosen. This capability has
already been developed, except for the encryption, and can be demonstrated.
The encryption adds only a few seconds to the transmittal time

DATA MINING AND BYPASSING OPERATING SYSTEMS

  4. Another application very easy to implement, and currently being worked
on, is that of data mining, in which the Turing Universal machine is placed
as the front end to a CDROM server, and where multiple searches can be done
in parallel. In fact, with this approach it is possible to establish very
large databases and have them accessible from anywhere in the world.

  5. The Turing Universal approach can be placed on a CDROM, along with the
peripheral drivers, and completely bypass the operating system, such as is
done with several computer games today. There are some fundamental changes
needed for which this approach can act as catalyst. For one thing no computer
languages are needed, and there will shortly be no need for any operating
system requirement. This obviously will have some impact on university and
information technology courses, these needing to be replaced by courses on
algorithms (or how to solve problems).

TURING ON A CHIP  -- AND IN A TELEPHONE

  Application development is so simple with this approach that such
application development will be very boring to those who enjoy conventional
programming. However, considering the scarcity of software engineers, the
Turing approach should help alleviate this shortage of talent around the
world.

  Even more than that is the future potential. The Turing system takes up so
little resource that it can be made into a chip or into 'firmware'. Initially
being placed in simple network and cheap computers, along with the handheld
variety, there is also no reason why the entire system could not be placed in
a standard or mobile telephone, in which case we already have a worldwide
network far greater in extent then anything being offered by Internet. In
this case computing power becomes as standard as switching on the light or
making a telephone call, with a similar charging structure, which is already
available.

----------------------------
Norris Parker Smith, scrib@well.com, is a journalist who specializes in
HPC and high bandwidth communications. Reader comments are welcome.
*************************************************************************** 
Copyright 1997 HPCwire. Redistribution of this article is forbidden by law
without the expressed written consent of the publisher. For a free trial 
subscription to HPCwire, send e-mail to trial@hpcwire.tgc.com.


  • Back to Home Page our Laboratory