Network: Run faster? It's all in the genes

A small British company could be about to revolutionise the computing industry by using technology based on the machine that was used to crack German codes during the Second World War. Stephen Pritchard reports
Click to follow
The Independent Culture
Computing's short history is punctuated by good ideas that somehow never quite made it from concept to reality. Nowhere is this more apparent than in the work of Alan Turing, and his universal machine.

Turing is best known for his work during the Second World War at the Bletchley Park code-breaking centre, where he used the earliest computers to decipher enemy signals, with great success. Two years ago, a team committed to preserving the Bletchley Park work rebuilt Colossus, one of the code- breaking machines and, some say, the earliest modern computer.

Turing's own work predated the war. In 1936 he wrote an academic paper, On Computable Numbers, in order to solve a mathematical conundrum. In the paper, he proposed a problem-solving device. Although he never built it, the Universal Turing Machine established much of the theoretical basis for computing.

That, too, is being revived. If the project is successful, it could prompt the whole computing industry to think again about the developments of the past 40 or more years.

This time round it is based on software rather than a paper tape carrying symbols, but its backers believe that Turing-type computers will do away with much of the complexity of current technology. Compilers and even operating systems will be redundant.

For Professor Bernard Hodson, Turing's approach to computing has been a lifelong interest. The retired engineer and academic has developed a product called Genetix, which, he maintains, is faithful to Turing's ideas.

Genetix, or the Gene Machine, is a program that carries out the tasks of an operating system and an application. By reusing large amounts of the code, known as genes, Genetix is very compact, will work on any hardware, and is much simpler to program (see box at right).

Professor Hodson's work draws on the notion that in the early days, computing could have taken one of two routes. Turing's model was for a universal computer, where one "machine" performed all different tasks. The other, postulated by the Hungarian-born American scientist John von Neumann, was to break operations down into smaller parts. This meant loading programs for each task, and using a master program, what we now know as the operating system, to manage the process.

In the early Forties, when computing resources were very limited, Von Neumann's approach made sense. It also reflected the different work that the two men were engaged on. Von Neumann, who worked on designing the atomic bomb, needed a computer that emphasised mathematics, and for the first few decades of computing this worked well. Turing, whose work was in ciphers, needed a computer that could process any symbol, not just numbers - an approach closer to the way we use computers today.

The idea of Genetix as a modern version of the Universal Turing Machine is supported by Robin Bloor, who heads the firm of analysts Bloor Research. However, the theoretical purity of Professor Hodson's work matters less than its applications.

The key feature of Genetix, as a set of code that enables a computer to carry out a task such as running a hospital records system, is its compactness and economy. A library of software genes means much of the code is common from application to application, so Genetix uses very little memory to run, even for complex tasks.

Last week, at a conference organised by Bloor Research, Professor Hodson demonstrated a working version of Genetix for Intel-based PCs. The software lacks refinement: there is no graphical interface. But the total Genetix system takes up less than 30Kb, and Bloor Research's analysis indicates that it can be a thousand times as compact as the programming language C.

"The concept was developed by analysing a variety of programs," Professor Hodson explains. "There is a lot of overlap in the functions computers work with."

Software genes have a further advantage. Development time is reduced because programmers use the gene library rather than starting from scratch. It is easier, Professor Hodson says, to verify a program because once a gene has been verified, there is no need to repeat the process. This could save a lot of time in fields such as aerospace or power-station management, where verifying a program can take as long as writing it.

Genetix sees its technology being adopted first by manufacturers of embedded systems, the small computers controlling devices from washing machines to cars, and smart cards, where memory and processing power are very restricted. "Embedded chips is where extremely small code size brings real benefits," explains Tim Negris, who heads Genetix in the United States.

The concept has advantages for desktop PCs, but Genetix sees little point in taking on Microsoft or Intel directly. "Blowing Gates out of the water is not our objective," says Mr Negris. "We are just trying to provide people with a better way of doing things."

Instead, the company thinks its idea will be taken up by organisations designing their own internal computer systems, and in products such as handheld computers and PDAs, or smart mobile phones. There, compactness and efficiency matter, and the industry does not have one, dominant system. Consumers of a smart mobile phone buy the phone on the strength of its brand. Its internal workings are less of a concern than they are in a PC, where industry standards and compatibility are critical. Genetix could also provide applications over the Web, rather like a more compact form of Java.

Genetix plans to do this through deals with other, larger companies in the industry. Genetix itself has only 12 staff, plus a number of voluntary collaborators. One reason for targeting markets that use smart cards, "wallet computing" or embedded systems is that it is relatively cheap and easy to adopt new technologies. Getting into the desktop computer market, by comparison, requires heavy spending on marketing.

Robin Bloor, of Bloor Research, agrees that Genetix will find its initial applications in "anything that is embedded, or mobile". This is a large market: Mr Bloor points out that about seven billion processors are made annually. Far more go into embedded systems, in domestic appliances, vehicles, even buildings, than into PCs. The Genetix advantage, he suggests, is that it is a universal machine, in the Turing model. One device - possibly even, a Genetix chip - can carry out any task, reducing costs.

Mr Bloor believes that if Genetix makes inroads into those markets, it will start to influence personal computers. Already, Genetix has developed applications for its system within computers, including controlling cards to connect Pentium PCs to a fibre-optic network, and an application to decode MPEG movies.

The idea behind Genetix is, to continue the analogy, to grow organically. As developers in any sector create new genes, they enrich the gene pool and create ever more powerful applications. Its success would be evolutionary - if it can grow without attracting the unwanted attention of the industry's established predators.

What is a gene machine?

The Genetix gene machine draws on Turing's early theories of computing. The result is an environment that is hard to classify in current terms: it is neither an operating system, a program or a language, but it has some of the characteristics of all those. The gene machine has a number of key features that give it the potential for both efficiency and power.

At its most basic, Genetix consists of a virtual machine, and gene library. The virtual machine addresses the processor. Currently, it does this via MS-Dos, but Genetix claims it would be simple to address the BIOS (the computer's most essential functions) directly. In this way, Genetix could work on any type of computer with little new programming.

The virtual machine is currently 2Kb.

The gene library does all the other work of a standard computer. It contains a hierarchy of genes. The lowest level are virtual machine instructions, followed by service genes, developer genes, application genes and super genes. The super genes are pointers, which point to the applications.

Each level of genes draws on the level below it. High-level, or application genes, are made up of calls to lower genes. New lower-level genes can be added to Genetix if they are needed for additional functionality, but every time this happens the gene pool is checked for duplication. This keeps the system small and prompts programmers to reuse code or genes.

When Genetix carries out a task, such as reading a movie from a CD-Rom, the one system carries out the whole process, from the interface with the CPU chip at the bottom to the interface with the viewer at the top. There is no passing information between operating system, applications and utilities.

Stephen Pritchard