HAL's hardware

Hardware for HAL

HAL is not intended primarily as an academic exercise in Artificial Life, it is primarily targetted as a design tool for generating computational elements with an element of tolerance to asynchronous operation and point failure.

During use designing software a particular type of hardware, HAL requires very similar hardware to operate efficiently. In acting as a design tool for fine-grained parallel hardware, HAL needs to be run on a computer with such an architecture to operate efficiently. Simulation of HAL on a computer which processes instructions largely in serial is not a viable option - except for simulation of toy systems - due to appalling performance of such systems when faced with massively parallel systems.

Programmable logic

The current hardware which matches HAL's requirements most closely is that used in 'programmable logic' work, in particular FPGAs (Field Programmable Gate Arrays).

'Programmable logic' is hardware that can reasonably efficiently simulate virtually any electronic circuit.

It is possible to simulate virtually electronic circuit in an ordinary computer, it is true, but the difference is that in an FPGA many components can be processed at once and that components which are next to one another in the model may be placed next to one on the silicon. These differences means that circuitry may be simulated reasonably efficiently.

The 'Gate' in 'Field Programmable Gate Array' is a reference to the fact that the chips are essentially grids of Boolean logic gates, connected together in a mesh. Some FPGAs are LUT-based, and allow complete programmability of the logic gates.

While FPGA systems offer the option to connect to external memory devices, each logic gate has a flip-flop or two which store the local state of that gate. It is mainly this local, distributed memory which HAL employs, as access to external memory is too slow.

FPGAs are commonly used in prototyping designs of mass-produced silicon chips. In effect they allow you to design your own computer architecture reasonably cheaply.

In the absencse of good, cheap specialised hardware devoted to accelerating cellular automata hardware, FPGAs are the most appropriate target for implementing cellular automata on.

FPGAs are not yet terribly cheap, but they have come down in price to the level where they are affordable to most people who are interested in designing their own silicon.

The market for FPGAs is in a state of explosive growth. Some observers of the industry say that they should create a revolution in system design by reducing development costs so that virtually anyone who wants to can join in.

By allowing software designers much closer access to the underlying hardware, programmers have a much better chance of developing an architecture that matches their target problem, rather than having to make do with a supposedly general-purpose serial computer, complete with von-Neumann bottleneck.

Some people have suggested that programmable logic will succeed in finding its way into the corners of mainstream CPUs, where it can be dedicated to performing calculations where high speed is important and being able to create a dedicated circuit to perform a task pays off. This might mean that dedicated DSP-style units to perform decryption, dithering, video decompression can be soft-loaded into silicon when needed, rather than having to jostle one another for silicon space.

If, when and to what extent these dreams of programmable proponents are expected to come to fruition is not yet clear, however.

Beyond electronics

It seems unlikly that electronic systems will remain mankind's computing substrate of choice indefinitely. It appears that computation based on electromagnetic radiation and a variety of mechanical possibilities will offer potentially greater speed, faster propagation of information, and greater minaturisation than will be possible by continuing to improve electronic components.

As miniaturization increases, thermal noise will increasingly become a problem. In order to minimise the difficulties this will cause it makes sense to transfer to as near a reversible computing substrate as can be found. In the context of calculation, revesibility means that computations can performed without the need for a power supply, and without generating any heat.

Nanotech enthusiasts have explored the computational possibilities offered by molecular scale machines. One possibility that appeals to cellular automata enthusiasts is that at some point a regular, three-dimensional crystalline substance will be able to be synthesized which will be able to directly support reversible computation on a molecular scale.

Because evolutionary processes are extremely computationally intensive systems like HAL benefit immensely from improvements in speed, and a large number of researchers are involved in investigating their use. Many interesting phenomena will require more powerful hardware before it becomes practical to demonstrate them in virtual environments.

Index | HAL | HALcell | Parallel | Hardware | Future | Problem | Limits | Automata | Questions | Links
tim@tt1.org | http://www.alife.co.uk/