Friday, September 1, 2017

The future of computing as I would like to see it

The future of computing as I would like to see it


This diagram represents how I see the future of computing.

First we have an online service where we store our data. This would hold our e-mail, pictures, documents, videos, music, etc.

We access our data through web applications. Take Google Docs for example. Currently Google hosts both the application and the data. I would like to see that come to an end. In my model I would log into my Google Docs and set up an account. I would give Google Docs the URL of my web storage server and then Google Docs would give me a unique private key. I would simply highlight this key and copy it into my computers memory. I would then log into my web storage site and select that I want to share my document data. I would paste the private key provided by Google Docs into my storage interface and receive a unique private key from the storage server. I would provide this unique private key back to Google as authorization.

Behind the scenes Google would contact the web storage server, tell them whos account it wants to access, give it both its own private key that is unique to my Google Docs account, and provide the private key that is unique to the storage server. With both of these keys the web storage server can be confident that it is talking to the correct server that I have authorized to access my documents.

With the trust between the two servers setup I could use Google Docs to modify my documents.

I could repeat this process for different online applications. Files would be saved with open standards so that I can be guaranteed that any application on the web can reliably read and write to them.

I could even use two providers for the same service. I could switch back and forth between using Googles picasaweb and Flickr, for example. There is no reason why only one application would need to be tied to a file type.

If down the road Microsoft comes out with a better online application for modifying documents I could go in to my storage service and deny Google access and go through the process of allowing Microsoft. At any point I could ditch Microsoft and go with another service provider.

Likewise, if I want to change my storage provider I should be able to import all my data to a local file and then upload it to a new provider.

Both the web applications and the data should always be synched up to our primary computers. This way if we dont have an internet connection we can still use the application to modify our data, and the next time the computer comes online it will all synch back up. Googles Gears application already allows for application and data synchronization for offline use, and thats exactly how I envision this working.

The benefits to this are:
  1. No vendor lock-in.
    We are free to change providers at any time. It is not like currently where one must choose Microsoft Office because it is the only application suite that can reliably open and close the .doc format which is the document format.
  2. Access to data from anywhere with an Internet connection.
    You no longer have to carry around a thumb drive or go through any such hassle. Your data is available from almost anywhere.
  3. Enhanced data persistence
    Computer crashes will no longer cause you to lose any of your work.
  4. Enhanced data security.
    A lot is made of the security problems of data existing on the cloud. I believe that you are better served with your data in the hands of a team of professionals than in yours. The average PC user is simply the largest security hole that exists today. As long as the average user is in charge of their data, the average users data is vulnerable. Google is more likely to keep your data secure than you are.
  5. OS independence.
    Whether you are using Windows, Mac, Linux, your cell phone, game console or any other device, all you need is an Internet connection and a browser to get to your content.
  6. Cheaper computers.
    Because most of the hard work is being done by the application server, your computer no longer needs a lot of ram and processing to run your applications. You just need enough resources to run your web browser.
This is cloud computing at its best and I believe that we will be seeing technology continue to move in this direction over the coming years. The development of Googles Chrome OS will be the first of many major steps towards this model.

download file now

Continue reading ...

Sunday, August 13, 2017

The future of computing The SpiNNaker million processor computer

The future of computing The SpiNNaker million processor computer


The future of computing is a very big claim. However if anything the future of computing does not lie in a common time, unified shared memory system - this pretty well describes every multicore computer made at the moment. The trouble is once you go to more than a few thousand cores the shared memory - shared time concept falls to bits. It just doesnt scale. Where then should we look for a new model other than biology? The brains of living creatures are capable of phenomenal processing power and yet have almost none of the features of the computers we build today. Dont you find this odd?

Lets look at how brains do it:

  • Does each neuron have a sense of the passage of time? Not in the traditional sense and maybe not at all. If it does it will probably only be only vague ordering.

  • Does a neuron share a memory space with every other neuron? No. The closest concept is an area effect of diffusion of chemicals which affect neighbours (which may not be synaptically connected) but that is very far from a shared memory concept.

  • Is each neuron connected to every other neuron? They have many connections to close neurons and some connections to neurons further away best described by a statistical distribution but otherwise, again, no.

So clearly modern computing bears as relation to a brain as sudoku does to quantum mechanics. The closest we get are the datacenters of a company such as Google but they enjoy far too much connectivity to be a good model.

Enter the world of academia because no commercial company would be stupid enough to commit the resources we can into a project like this (and all the ones before it which make it possible) - it is unlike anything that has come before and it is risky (i.e. it may not work!).

Project SpiNNaker

This revolutionary idea is nothing less than a plan to put together a computer of approximately 1 million cores with no common clock or shared memory and which can route messages with a model that approximates a neurological system.

Born in the University of Manchesters Advanced Processor Technologies Group the SpiNNaker project has taken shape in collaboration with the University of Southamptons School of Electronics and Computer Science (where I work), the Engineering and Physical Science Research Council and two enlightened commercial companies: ARM (for the processor IP) and Sil�stix (for their Network on Chip expertise).

SpiNNaker is a child of many parents, each a vital step on the path to its genesis:
  1. AsipIDE GALS Design and Co-Simulation Framework - A hardware/software co-design and debugging framwork
  2. Transactional Memory - A new locking strategy which massively simplifies the ability to lock data to pass information between processes
  3. TERAFLUX: Exploiting Dataflow Parallelism in Teradevice Computing - A pan-european project looking at computers with massive numbers of cores
  4. The Balsa Asynchronous Synthesis System - A language and compiler targetting asynchronous, handshake driven logic design
The main centrepiece of the SpiNNaker project is a special System on Chip, the SpiNNaker SoC. Inside are 18 processors asynchronously connected via a blindingly fast network-on-chip and communicating with the other SoCs via hundreds of megabit links to the other SpiNNaker SoCs. With these SoCs it will take only 56,000 chips to reach the target of 1 million. The cores are ARM968 series processors capable of significant independent computation while communicating with their neighbours or the 1GBbit DDR SDRAM available to each SoC. Even within a SoC the cores do not share a common clock and communicate by passing messages which are routed to each other or outside to another SpiNNaker SoC.

A seriously ambitious project you say? Absolutely right. Vapourware or a dream? Hell no! Feast your eyes on this:




This is the first generation of SpiNNaker SoCs on a test board - there are four dual processor SoCs on this board each next to its accompanying 1Gbit ram chip (click on the picture for a very high resolution version). This board already holds 8 processors asynchronously interconnected with all the necessary debug hardware to perfect the design of the next generation.

Who ever said British Science was dull?

BIG DISCLAIMER: I am not one of the great minds trying to change the world with this project. At best I have helped a couple of people around the edges. I am a very big fan, however!

download file now

Continue reading ...