> Isn't the whole point of project Ara that you can disconnect components and the phone doesn't crash?
If the CPU is disconnected from the device it will not continue to function. Failing gracefully is the best you can do and even that is incredibly hard. Are you going to give the CPU its own battery so it can keep its cache when removed?
In the initial materials I read about Ara, they indicated there would be a very minimal, secondary CPU, memory and battery in the frame itself. So, when you want to hot-swap the CPU, it falls back on/suspends to that tiny system temporarily.
In theory this is doable, I did it 6 years ago for equipment designed for Comcast. A few different programs running in embedded system - only one program was keeping the states. The rest of them are stateless - snmp, web, etc tasks. When 2nd CPU board was plug into the system standby mode, it synced all the states/config DB info from the master and become hot standby. After that you can stop, reboot, regrade the first CPU.
BUT, that was for one vertical application which the complete application stack is under my total control - all configurations are sync when in hot standby mode.
Android system which anyone is able to install any type of Apps are completely different stories. The design will be much more complex to handle all the cases - I am not sure if that's even possible.
BTW, I watched the Ara demo for Io14 youtube - they can't even boot the system in the IO "demo". I worked on a few projects for Mobile SOC + android AOSP porting including JB, KK. Ara project has a long long long way to go.
It is a good science project - not sure about any commercial potential.
Interesting! Isn't this the kind of thing Erlang was made for? Telcos being able to swap out and upgrading switching boards on the fly without disruptions?
If the CPU is disconnected from the device it will not continue to function. Failing gracefully is the best you can do and even that is incredibly hard. Are you going to give the CPU its own battery so it can keep its cache when removed?