Hardware Acceleration for Everyone
Zaid Al-Ars and his team won a new award: the first place in the OpenPOWER Developer Challenge, an international competition in high performance computing and big data analytics. They created a system to enable accelerated big data applications using hardware acceleration (such as GPUs and FPGAs). It started with a simple counter-intuitive idea and a 'let's do it’ attitude, but it might become a commercially successful product.
Zaid: "Winning an award is always nice. It's all about recognition and validation: that somehow our counter-intuitive ideas do actually makes sense. This project involves running big data analytics applications on big clusters of computers. Recent developments in big data frameworks allow programmers to easily run their applications on large clusters of computers, without spending a lot of effort to prepare the code for the cluster. However, this approach prevents the programmer from efficiently using the individual computers in the cluster, resulting in low utilization of the processors and prevents using hardware acceleration. A couple of universities at the moment, such as UC Berkeley and MIT, are trying to solve this issue by automating the process of running the big data programs on hardware accelerators. This is showing some promise, but is still showing low utilization efficiency. We thought: how about taking the counter-intuitive approach .. what if we use our computer cluster in the same way we use our desktops? To do this, we created a monitoring system that keeps track of all the programs running on the cluster and gives control of the individual computers back to the programmer. This approach actually adds even more inefficiency to the cluster, since the monitoring system delays all operations as it tracks the programs. However, we were hoping that we can lose some efficiency but increase the total utilization efficiency significantly. Our bet turned to be true, and after we implemented the system we showed that it only reduces the efficiency by 14%, but we can gain a lot more speedup of up to 1000% for some application. We are basically enabling everybody to use GPUs and FPGA with this technology. There is still a lot of development needed to make the system industrially viable. The system is open source and everybody can play around with it. We got interest from a number of companies to use our system, and we are talking to potential partners now to see if we can make a commercial product out of it. So stay tuned.”