David Lester

David Lester
  • DPhil, MA, MSc, MIET
  • The University of Manchester

About

66
Publications
23,521
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
2,612
Citations
Current institution
The University of Manchester
Additional affiliations
August 1990 - present
University of Manchester

Publications

Publications (66)
Article
Full-text available
SpiNNaker is a massively parallel distributed architecture primarily focused on real time simulation of spiking neural networks. The largest realization of the architecture consists of one million general purpose processors, making it the largest neuromorphic computing platform in the world at the present time. Utilizing these processors efficientl...
Article
Full-text available
Advances in experimental techniques and computational power allowing researchers to gather anatomical and electrophysiological data at unprecedented levels of detail have fostered the development of increasingly complex models in computational neuroscience. Large-scale, biophysically detailed cell models pose a particular set of computational chall...
Article
Full-text available
This work presents sPyNNaker 4.0.0, the latest version of the software package for simulating PyNN-defined spiking neural networks (SNNs) on the SpiNNaker neuromorphic platform. Operations underpinning realtime SNN execution are presented, including an event-based operating system facilitating efficient time-driven neuron state updates and pipeline...
Preprint
Full-text available
Distributed systems are becoming more common place, as computers typically contain multiple computation processors. The SpiNNaker architecture is such a distributed architecture, containing millions of cores connected with a unique communication network, making it one of the largest neuromorphic computing platforms in the world. Utilising these pro...
Article
Full-text available
The digital neuromorphic hardware SpiNNaker has been developed with the aim of enabling large-scale neural network simulations in real time and with low power consumption. Real-time performance is achieved with 1 ms integration time steps, and thus applies to neural networks for which faster time scales of the dynamics can be neglected. By slowing...
Conference Paper
Full-text available
The emergence of Address-Event Representation (AER) as a general communications method across a large variety of neural devices suggests that they might be made interoperable. If there were a standard AER interface, systems could communicate using native AER signalling, allowing the construction of large-scale, real-time, heterogeneous neural syste...
Article
Full-text available
SpiNNaker (a contraction of Spiking Neural Network Architecture) is a million-core computing engine whose flagship goal is to be able to simulate the behavior of aggregates of up to a billion neurons in real time. It consists of an array of ARM9 cores, communicating via packets carried by a custom interconnect fabric. The packets are small (40 or 7...
Article
Full-text available
SpiNNaker is a biologically-inspired massively-parallel computer designed to model up to a billion spiking neurons in real-time. A full-fledged implementation of a SpiNNaker system will comprise more than 105 integrated circuits (half of which are SDRAMs and half multi-core systems-on-chip). Given this scale, it is unavoidable that some components...
Article
Full-text available
The modelling of large systems of spiking neurons is computationally very demanding in terms of processing power and communication. SpiNNaker - Spiking Neural Network architecture - is a massively parallel computer system designed to provide a cost-effective and flexible simulator for neuroscience experiments. It can model up to a billion neurons a...
Conference Paper
Full-text available
With neuromorphic hardware rapidly moving towards large-scale, possibly immovable systems capable of implementing brain-scale neural models in hardware, there is an emerging need to be able to integrate multi-system combinations of sensors and cortical processors over distributed, multisite configurations. If there were a standard, direct interface...
Article
In this paper we present what is thought to be the world@?s shortest correct exact real arithmetic program. The aim is to provide a tractable starting point for formal analysis and further development. In addition the program presented here allows beginners to the field to easily experiment with a practical implementation in order to understand som...
Conference Paper
Traditionally, the performance-limiting attributes of a multi-processor machine are memory bandwidth, the need to maintain state coherence, and simple synchronisation issues, or some combination of these. As the system size increases, so too does the relative cost overhead of solving these problems. The SpiNNaker engine is a million core system wit...
Chapter
Traditionally, the performance-limiting attributes of a multi-processor machine are memory bandwidth, the need to maintain state coherence, and simple synchronisation issues, or some combination of these. As the system size increases, so too does the relative cost overhead of solving these problems. The SpiNNaker engine is a million core system wit...
Article
Dedicated hardware is becoming increasingly essential to simulate emerging very-large-scale neural models. Equally, however, it needs to be able to support multiple models of the neural dynamics, possibly operating simultaneously within the same system. This may be necessary either to simulate large models with heterogeneous neural types, or to sim...
Article
We embed a non-trivial subset of Bluespec SystemVerilog (BSV) in the higher order logic of the PVS theorem prover. Owing to the clean semantics of BSV, application of monadic techniques leads to a surprisingly elegant embedding, in which hardware designs are translated into logic almost verbatim, preserving types and language constructs. The result...
Conference Paper
A PID controller is a simple and general-purpose way of providing responsive control of dynamic systems with reduced overshoot and oscillation. Spiking neural networks offer some advantages for dynamic systems control, including an ability to adapt, but it is not obvious how to alter such a control network’s parameters to shape its response curve....
Article
We provide bounds on the probability that accumulated errors were never above a given threshold on numerical algorithms. Such algorithms are used, for example, in aircraft and nuclear power plants. This report contains simple formulas based on Lévy’s, Markov’s and Hoeffding’s inequalities and it presents a formal theory of random variables with a s...
Article
Full-text available
The SpiNNaker machine is a massively parallel computing system, consisting of 1,000,000 cores. From one perspective, it has a place in Flynns' taxonomy: it is a straightforward MIMD machine. However, there is no interconnecting bus structure, and there is no attempt to maintain coherency between any of the memory banks. Inter-core communication is...
Conference Paper
Bluespec SystemVerilog (BSV) is a Hardware Description Language based on the guarded action model of concurrency. It has an elegant semantics, which makes it well suited for formal reasoning. To date, a number of BSV designs have been verified with hand proofs, but little work has been conducted on the application of automated reasoning. We present...
Conference Paper
In this paper we use the idea of Brisebarre, Muller, Tisserand and Chevillard on machine-efficient Chebyshev approximation. Our aim is to provide high accuracy results for log, Gamma (and related functions), and the solution of Ordinary Differential Equations by Picard iteration using machine-efficient Chebyshev approximations. We demonstrate that...
Conference Paper
SpiNNaker (Spiking Neural Network architecture) is a massively parallel computing machine, comprising a million ARM9 cores. These are realised on 50000 chips, 20 cores/chip. While it could be classed as a MIMD machine, there is no unifying bus structure, and there is no attempt to maintain cross-system memory coherence. Inter-core communication is...
Article
Full-text available
Real number calculations on elementary functions are remarkably difficult to handle in mechanical proofs. In this paper, we show how these calculations can be performed within a theorem prover or proof assistant in a convenient and highly automated as well as interactive way. First, we formally establish upper and lower bounds for elementary functi...
Article
Full-text available
Machine-Efficient Chebyshev Approximation is a technique that permits practical evaluation of transcendental functions within a computable arithmetic, such as the com-putable reals. The approach adopts the usual Chebyshev method so that coefficients are efficiently handled by current computer hardware. The proposed technique has an ap-plication to...
Conference Paper
Full-text available
This paper describes the design automation issues and techniques used to design a massively parallel processing platform – SpiNNaker – from a hardware and systems design perspective. The emphasis of this paper is addressing the key problem of resource mapping, where multiple threaded programs are to be targeted onto a hardware platform that consist...
Conference Paper
When handling proofs of properties in the real world we often need to assert that one numeric quantity is greater than another. When these numeric quantities are real-valued, it is often tempting to get out the calculator to calculate the values of the expressions and then enter the results directly into the theorem prover as “facts” or axioms, sin...
Conference Paper
Full-text available
SpiNNaker is a novel chip - based on the ARM processor - which is designed to support large scale spiking neural networks simulations. In this paper we describe some of the features that permit SpiNNaker chips to be connected together to form scalable massively-parallel systems. Our eventual goal is to be able to simulate neural networks consisting...
Article
Full-text available
Topology can seem too abstract to be useful when first encountered. My aim in this paper is to show that --- on the contrary --- it is the vital building block for continuous mathematics. In particular, if a proof can be undertaken at the level of topology, it is almost always simpler there than when undertaken within the context of specific classe...
Article
Full-text available
We show that Chebyshev Polynomials are a practical representation of computable functions on the computable reals. The paper presents error estimates for common operations and demonstrates that Chebyshev Polynomial methods would be more efficient than Taylor Series methods for evaluation of transcendental functions.
Article
Full-text available
We provide a framework to bound the probability that accumulated errors were never above a given threshold on hybrid systems. Such systems are used for example to model an aircraft or a nuclear power plant on one side and its software on the other side. This report contains simple formulas based on L\'evy's and Markov's inequalities and it presents...
Chapter
Full-text available
In this paper we show that the critical part of a correctness proof for implementations of higher-order functional languages is amenable to machine-assisted proof. An extended version of the lambda-calculus is considered, and the congruence between its direct and continuation semantics is proved. The proof has been constructed with the help of a ge...
Article
Full-text available
This paper provides a bound on the number of numeric operations (fixed or floating point) that can safely be performed before accuracy is lost. This work has important implications for control systems with safety-critical software, as these systems are now running fast enough and long enough for their errors to impact on their functionality. Furthe...
Article
Full-text available
Every lazy functional programmer knows about the following approach to enumerating the positive rationals: generate a two-dimensional matrix (an infinite list of infinite lists), then traverse its finite diagonals (an infinite list of finite lists). Each row of the matrix has the positive rationals with a given denominator, and each column those with a...
Article
Full-text available
This paper provides an accurate bound on the number of numeric operations (fixed or floating point) that can safely be performed before accuracy is lost based on the assumption that accumulated errors are uniformly distributed in ± 1 2 unit in the last place. This work has important implications for control systems with safety-critical software, as...
Conference Paper
Full-text available
Wouldn't it be nice to be able to conveniently use ordinary real number expressions within proof assistants? In this paper we outline how this can be done within a theorem proving framework. First, we formally establish upper and lower bounds for trigonometric and transcendental functions. Then, based on these bounds, we develop a rational interval...
Article
The whole point of exact arithmetic is to generate answers to numeric problems, within some user-specified error. An implementation of exact arithmetic is therefore of questionable value, if it cannot be shown that it is generating correct answers. In this paper, we show that the algorithms used in an exact real arithmetic are correct. A program us...
Conference Paper
This paper outlines the PVS development for the inverse trigonometric functions: atan(x), asin(x) and acos(x). This is then used to validate exact arithmetic algorithms based on fast binary cauchy sequences [14, 17] for these functions in a further PVS development. The principle results of using PVS in this process is the detection of four errors...
Article
In this paper we will show that it is possible to generate the roots of monic polynomials with computable real coefficients as computable complex numbers. A result from constructive analysis has already shown that the roots are computable numbers; however, because the proof is non-constructive it does not provide an effective method for finding the...
Conference Paper
Full-text available
Only the leading seven terms of a continued fraction are needed to perform on-line arithmetic, provided the continued fractions are of the correct form. This forms the basis of a proof that there is an effective representation of the computable reals as continued fractions: we also demonstrate that the basic arithmetic operations are computable usi...
Conference Paper
This paper provides a survey of practical systems for exact arithmetic. We describe some of the methods used in their implementation, and suggest reasons for the performance differences displayed by some of the competing systems at this years CCA Exact Arithmetic Competition. Because the practical aspects of the field of exact arithmetic are at an...
Article
Full-text available
: In this paper we investigate an extension to Vuillemin's work on continued fraction arithmetic [Vuillemin 87, Vuillemin 88, Vuillemin 90], that permits it to evaluate the standard statistical distribution functions. By this we mean: the normal distribution, the Ø 2 -distribution, the t-distribution, and, in particular, the F-distribution. The und...
Article
Full-text available
One of the problems encountered with a formal approach to the teaching of functional programming is to encourage students to perform inductive proofs for recursively defined functions. In this paper we investigate the use of a theorem prover (written in Haskell) to help students gain confidence in their mathematical abilities. As examples, we use t...
Conference Paper
Higher-order lazy functional languages have had a reputation for inefficiency, and recent work has both addressed and corrected these defects. An unfortunate side-effect of the improved efficiency is the increasing complexity of the resultant implementations. In this paper we present the correctness proof of a new abstract machine. The abstract mac...
Article
Full-text available
One of the key features of modern high level programming languages is the automatic allocation and reclamation of space for data structures. This paper concentrates on the problem of providing these facilities, for a functional language, satisfying the following constraints: the programming language permits cyclic data structures; the architecture...
Article
This paper serves a dual purpose. Firstly it is a specification of a distributed memory parallel reduction machine to evaluate lazy functional languages. Being a Mirandal script, it is also an executable specification. Secondly, it is an example of a large functional program (of the order of 2000 lines) which performs a nontrivial task, simulating...
Article
Full-text available
Distributed implementations of programming languages with implicit parallelism hold out the prospect that the parallel programs are immediately scalable. This paper presents some of the results of our part of Esprit 415, in which we considered the implementation of lazy functional programming languages on distributed architectures. A compiler and a...
Book
Full-text available
This book provides a practical approach to understanding implementations of non-strict functional languages using lazy graph reduction. It is intended to be a source of practical laboratory work material and to help students to develop, modify and experiment with their own implementations. The emphasis lies on the building of working prototypes of...
Article
An important step in many compilers for functional languages is lambda lifting. In his thesis, Hughes showed that by doing lambda lifting in a particular way, a useful property called full laziness can be preserved. Full laziness has been seen as intertwined with lambda lifting ever since. We show that, on the contrary, full laziness can be regarde...
Conference Paper
If we are content with using only rational numbers, accurate computer arithmetic is easy to implement. Unfortunately, as was discovered early in the history of mathematics, there are numbers, such as \(\sqrt 2\), which are irrational. The discovery of computable functions by Turing [15] and Church [4] led to work on computable numbers [13, 2]. This...
Conference Paper
Full-text available
General purpose parallel computers can be expected to become widely available shortly; compilers for such machines need to be developed now. Declarative languages provide an excellent foundation for software development on such machines. One of the critical areas for an efficient implementation of a declarative language is the memory allocator and...
Conference Paper
Compiling general programming languages to run efficiently on a distributed architecture is hard. One of the problems that confronts the potential implementor, is how to store the stack. This is normally used in two ways: firstly it is used to hold the arguments and temporary variables of a function or procedure, and secondly it is used to hold a p...
Article
Full-text available
This paper describes a closed-loop robotic system which calculates its position by means of a silicon retina sensor. The system uses an artificial neural network to determine the direction in which to move the robot in order to maintain a line-following trajectory. We introduce a pure "end to end" neural system in substitution of typical algorithms...
Article
Full-text available
With the increasing complexity of Systems-on-Chip, the clear specification of Network-on-Chip (NoC) architectures is of growing importance. We present an approach which uses Concurrent Haskell to produce concise formal specifications. We present a detailed high-level specification of a real-world NoC, the SpiNNaker Communications NoC.
Article
Full-text available
Abstract: "The G-Machine is an efficient implementation of lazy functional languages developed by Augustsson and Johnsson. This thesis may be read as a formal mathematical proof that the G-machine is correct with respect to a denotational semantic specification of a simple language. It also has more general implications. A simple lazy functional la...

Network

Cited By