Home Products Documents links News Events Tech Info

TAOS

This was found in Unigram, X, The weekly UNIX newspaper.

JAPAN BACKS UK FIRM TAO's COMPACT
PARALLEL OBJECT OPERATING SYSTEM

An object-oriented parallel operating system that is completely portable between all widely used processors, so much so that applications do not even need to be recompiled is the creation of a British company - Tao Systems Ltd of Belsize Park, London NW - which has substantial financial backing from Japan. Taos relies on a Virtual Processor - a 32-bit machine with 16 registers and support for standard data types and addressing modes, for which all applications are written. The run-time code is loaded onto a real processor and translated on the fly into the chip's native instruction set. It is currently up on the Transputer and the 80386, with 68000 family, ARM RISC and MIPS R3000 processors a few months away. The most significant feature of Taos is that the kernel takes up just 13Kb of memory - and is blindingly fast on complex applications such as graphics ray tracing. Details of the operating system below.

TAOS: THE PARALLEL OBJECT- ORIENTED OPERATING SYSTEM
THE WORLD IS WAITING FOR?
By Chris Rose

Imagine an operating system that is suitable for everything from photo copiers to games consoles to video-graphics work to transaction processing. It is completely parallel and can intelligently farm bits of itself and applications across multiple processors, or alternatively sit on just one. Now imagine that it is processor-independent and is already running on 80386 and 80486, and Transputers, with the 68000 family, ARM RISC and MIPS R3000 processors a few months away. Now say that the applications are completely processor-independent too - that you don't even have to re-compile them to move them from one machine type to another, and indeed bits of them may even wander from processor type to processor type in the course of execution. Why not add network support so that if you plug an extra personal computer into the local network, everyone's applications will automatically run a bit faster (and they already run very quickly indeed)? Finally, for good measure, let's say that the operating system kernel takes up just 13Kb of RAM and the entire executive and developers code will fit onto a single 720Kb floppy when compressed.

This is not fantasy, this is a real-life operating called Taos from Tao Systems Ltd, a small company based in North London. Moreover Tao claims to have found substantial funding and board- level interest from some of the biggest Japanese computer and electronics companies, the identities of which will be announced this summer. Chris Hinsley, Tao Systems chief executive and the operating system's architect claims without a blush that the Japanese computer industry will completely steam-roll the US and Europeans, and that Taos will be the fuel. Funding is being provided by a separate marketing company, TK Suppliers, based in Tokyo. This has paid for the first phase of development and is entirely owned by a group of Japanese businesspeople plus Francis Charig, formerly head of trading systems business at the London Stock Exchange, who acts as managing director and the link between TK and Tao Systems. In this way Tao gets money, but also retains its independence: Charig says that Tao Systems has turned down a number of buy-out bids from the US in the last few months. The European Commission didn't prove that helpful either: Hinsley makes no secret of his frustration with the Esprit parallel processing projects, which he sees as obsessed with making Unix parallel - a quest that he sees as fundamentally misguided and doomed to failure in the long term. In the end, too, it was the Japanese that turned out to be most amenable to the idea of throwing away and starting from scratch; which is what Taos does.

Heritage

Chris Hinsley started off as a successful commercial author of arcade games for home computers, and many of Taos's concepts spring from his original need to produce code that would transfer easily between a plethora of machines. The approach he took was to develop a Virtual Processor - a 32-bit machine with 16 registers and support for standard data types and addressing modes, which didn't actually exist. All applications, and the bulk of Taos itself is written in Virtual Processor code, so that at run-time the code is loaded onto a real processor and translated on the fly into the chip's native instruction set. The practical upshot is that, as long as you have the right translator, the Virtual Processor code will run without modification on any chip. The 80386-80486 translator is the latest to be finished after the original Transputer implementations and Hinsley says that now they have first couple under their belts, it will only take a month or two to write each additional processor implementation. Moreover you can have heterogeneous networks of different processors all running co-operatively. Taos' games-based heritage brings other benefits too. Games tend to be inherently object-oriented, says Hinsley (all those sprites moving about and interacting) and games authors often have to cram a lot into a tiny amount of memory while stretching hardware to its limits. As a result Taos is object-oriented at a very fine level and it takes the idea of dynamic linking to its logical conclusion. This means that instead of being a monolithic operating system running monolithic applications, the program just calls in bits of code as they are needed from libraries of routines - rather the same way that ICL Plc's VME mainframe operating system works.

Load-balancing

This accounts for the small size of the Taos microkernel, which provides memory and process management, load balancing and precious little else. Even the Virtual Processor translator is retrieved only when needed, and it is Hinsley's boast that no piece of code is ever loaded onto the processor that isn't about to be run. As a result, load-balancing also becomes virtually trivial, he says. Each processor on the network runs its own copy of the 13Kb microkernel and when a new thread is started, the kernel on that chip compares its loading with its immediate neighbours. The calculation takes account of processing power and the speed of communication links, and then the request to start the thread is handed on to the processor with the least to do. This processor carries out exactly the same load balancing process until the thread finds a home, is translated by the chip's translator and begins to run.

Fancy graphics

All this talk of bits of code being pulled out of disk and cache, being translated on the fly and wandering around networks sounds horrendously slow, but appears in practice to be blindingly fast. A personal computer with a single 66MHz 80486 will render a broadcast quality, full screen, complex piece of ray-tracing in less than a minute. That is with no fancy graphics chips and using a standard VESA video adapter board. The 80486 translator floating point code is still being optimised and in a couple of weeks Charig says that time will be cut to between 20 and 30 seconds. This summer the company will have a board, costing around #1,500 containing four MIPS R3050 RISC processors. This will slot into a personal computer and enable the 80486 and the MIPS processors run code cooperatively, bringing our same ray trace example down to less than 10 seconds. Exactly where all this speed comes from is difficult to pin down; obviously Virtual Processor code is pretty low level stuff and assembler code tends to run quickly by its very nature, however Hinsley is optimistic that the kind of performance seen today will be preserved even when applications are written using the C++ and Parallel Basic compilers that are currently nearing completion - compilers that produce Virtual Processor code, of course. Programmers do not need to worry about the fact that their applications may be running in parallel, Hinsley says, they merely need to think about the appropriate size of object and Taos will do the rest.

Four markets

A product's quality or degree of innovation is never a guarantee of success and a lot will depend on just how hefty these forthcoming Japanese backers turn out to be. So will Taos succeed? There are four markets in which its designers say it will do equally well: graphics, we have already outlined; then there are games consoles - Taos' original home territory; and embedded applications: it may sound odd to have Taos running in a photocopier or a drinks machine, but the tiny kernel makes it ideal, says Hinsley. It may also seem improbable that the world's transaction processing systems will suddenly switch to Taos, but on the other hand the company is already hard at work building SQL interface objects and others that will confer Posix compliance, it has even chatted to a bank about payroll applications. Its acceptance will be helped by the pragmatic approach that Tao Systems is taking in integrating its baby with existing systems. So, for example with the 80386 and 80486 implementations, the company has decided to stick with the MS-DOS file system. Installing Taos then, is as simple as copying the files to your hard disk, typing TAOS and you're in. Similarly, there will be a variant of the 68000 family translator tweaked to make use of the Macintosh file system. The trouble is that both the product and the claims made for it are so unusual that it is impossible to predict whether it will disappear, never to be seen again, or become the biggest thing since MS-DOS. Towards the end of the demonstration, Hinsley leant back and said "of course there's no reason why the fridge shouldn't be doing a bit of your mandelbrot." And he wasn't really joking...

poppy@poppyfields.net