ARMing our products2017-06-10 12:55:30
A dear old customer of ours half jokingly asked if our software could run on a Raspberry PI. This little wonder of a computer is basically a cell phone worth of hardware with a few additions. Key to this is it’s an ARM1176 processor. This is a modestly powered chip that uses very little power. Keep in mind that this cannot run Intel machine code and Windows will not work on this system.
The port of the code would have to compile in Linux natively on the ARM architecture. A copy of Raspbian was installed along with dev tools and work commenced. Aside from a couple of adjustments, all of our code compiled successfully! Both UnitySync and Profiler work without issue. Granted it’s a touch slower but not unreasonable with loads of memory free to run other applications.
Why do this little waste of time in the first place?
Up until recently, a lot of software out in the world has gotten larger and more resource heavy. The practice was to let Moore’s law work for you. Software too slow? Just wait six months as computers got faster, the problem goes away. As Moore’s law starts to slow down a bit, software developers are finding their environments shrinking due to hardware virtualization. Your software no longer has dedicated hardware and memory. It’s now shared with other virtualized machines.
The challenge of building and running our software on such a small platform was not just for bragging rights. It was also a way to prove that not all enterprise software requires big iron and operating systems to do their job effectively.
Further, more and more data centers are starting to embrace the idea of servers that use less and less electricity. Large chip fabs like AMD are starting to embrace the idea of using ARM chips in servers. This has the potential to bring about a radical change in the enterprise.
Who knows, what was an exercise in absurdity could turn into a road map to the future of our industry.