Man, Mantis and Machine

March 26, 2014

I work with Jenny Read, Vivek Nityananda and Ronny Rosner as a member of the Man, Mantis and Machine (M3) project team at the Institute of Neuroscience, Newcastle University.


Our work aims at reverse-engineering vision algorithms in the praying mantis (specifically binocular vision and depth perception) and using these to understand and develop human and machine vision. The praying mantis is the only invertebrate known to have 3D vision; a surprising fact given the computational complexity of depth perception and the relatively low complexity of their brains (10^6 neurons as opposed to 10^11 for humans).

Our team designs and runs psychophysics experiments that involve putting praying mantids in specifically-crafted virtual environments where simulated preys and predators elicit some of the behavioural responses of the animal. The collected data from these experiments allow us to build computational models and extract the efficient algorithms that are being implemented by their tiny brains. At the moment, we are quickly developing towards a stage where this information will be extracted directly using electrophysiological recordings.

In the press:

No Comments

Metastability in Electronics

During my PhD, I explored the phenomenon of flip-flop metastability in modern multi clock domain architectures. Metastability is a psuedo-stable state in which a physical system can take an unbounded amount of time to decide which stable state to transition it. To illustrate what this means, consider the following classic example of mechanical metastability:


This is a “ball and hill” dynamic system with two stable states: ball on the left of the hill (state 1) and ball on the right (state 2). Assume the ball is placed at a random position on the hill and allowed to roll to either side with the time taken for it to reach a stable state being measured. You may be able to see that the rolling of the ball (the transition into a stable state) will take longer as the ball is positioned closer and closer to the tip (in a Newtonian universe, the distance to the tip can be infinitely reduced). If the ball is to be placed at the hypothetical tipping point itself then it will remain stuck there forever.

The question is: is it possible to engineer the hill such that an upper bound can be placed on the time it takes the ball to roll to either side?

This phenomenon is tied very closely with the nature of choice as a physical process and has been the source of mystery and wonder in the history of computer design. It is in fact fundamentally impossible to place an upper bound on the resolution time of a continuous multistable system whose initial state is unconstrained. It took decades of elusive failures and many fooled attempts before computer engineers finally accepted this difficult truth and had it carved in stone.

Today, most System on Chip (SoC) architectures consist of Intellectual Property (IP) blocks that run at different clock frequencies. Asynchronous handshake mechanisms are implemented to interface these blocks and allow them to transfer data between each other reliably. In each handshake operation, a choice process similar to the situation with the ball-and-hill system takes place. Designers cannot eliminate the inherent failures in these mechanisms but work around them by allowing the choice process an extended decision time. This is analogous to being extra patient before judging whether the ball has rolled to state 1 or state 2. By doing so, the failure rate due to metastability can be diminished exponentially until it reaches an acceptable level. The catch is that IP blocks must now tolerate latencies of (typically) up two cycles per each handshake synchronization attempt.

I published a set of workaround speculation-based solutions that enable computer systems to perform decision-dependent computations before a metastable decision is made. A thorough discussion of these solutions and other thoughts on the problem are published in my PhD thesis.


No Comments