Bitfusion: Bringing supercomputing to the masses
I was just chatting with the folks from Bitfusion.io, who are on a mission to "bring supercomputing to the masses." Of course, when they say this, they don’t mean the unwashed masses like yours truly (LOL).
These days, a lot of scientific, medical, and technological development relies on humongous amounts of compute power. If we visualize the technology company landscape as a pyramid, there are relatively few mega-companies perched on the pinnacle. These companies have the resources to implement massive supercomputers and to throw PhD computer scientists at their applications (figuratively, not literally) in order to wrest the most out of the hardware.
Meanwhile, the middle of the pyramid is occupied by the aforementioned "masses" -- medium-sized companies conceiving incredibly innovative ideas that rely on computing power if they are ever to see the light of day.
It's now possible to create a very respectable computing environment that boasts a mix of multiple CPUs, GPUs, FPGAs, and so forth, and to do so without breaking the bank. Alternatively, it's possible to run one's applications in the cloud on a baffling and bewildering mixture of computing resources.
The real trick is to get one's applications to take full advantage of the resources that are available. Another other trick is to be able to determine what the most advantageous mix of resources would be for a particular application in terms of both performance and price.
The folks from Bitfusion say they have the answer to both of these problems. We start with Bitfusion Boost, which is an abstraction layer that runs as an agent in the operating system and that conceptually sits between your application(s) and any hardware supported by OpenCL.
(Source: Embedded.com/Max Maxfield)
Bitfusion Boost intercepts and profiles application code at runtime and redirects function calls that can be accelerated to the best available hardware -- CPU, GPU, or FPGA.
This really is very impressive. The result is to unlock hardware acceleration -- to transparently and automatically accelerate existing applications, sometimes by orders of magnitude, without requiring application rewrite. You can literally be running your application and monitoring its performance, and then "turn on" Bitfusion Boost -- whilst your application is still running -- and watch the performance numbers rocket up.
But that's not what I wanted to talk about (LOL). One of the things the folks at Bitfusion are passionate about is measuring things -- that's how they can tell how well Bitfusion Boost is doing. Now, they've made this technology available to the rest of us in the form of the Bitfusion Profiler. To get started with Bitfusion Profiler, users access a complete Linux environment directly from their browser and use Bitfusion’s Workload Builder to install programs and utilities and write scripts, just as they would on a home system or server. Bitfusion also provides detailed documentation and pre-configured sample workloads that users can employ as a starting point for their own experiments.
Bitfusion Profiler quickly evaluates application performance across a variety of hardware and software configurations. It automatically detects limitations and whether a particular application might benefit from larger memory footprints, multiple sockets, more cores, larger disk drives or even a different cloud provider. Then Bitfusion Profiler suggests optimal configurations, helping users determine which instance types are fastest and which offer the best value.
Bitfusion Profiler is free and available in public beta as of today (click here to get started). Enterprise customers who wish to install Bitfusion Profiler directly onto their own infrastructure can do so for a fee (contact firstname.lastname@example.org for more details).