Microsoft R Client provides a free taste of R Server

It's limited in power, but low in price: R Client provides a reduced but functional set of features from the full Microsoft R Server product

Microsoft R Client provides a free taste of R Server
Credit: Quinn Dombrowski

If you've been hungering to make use of the advanced number-crunching technology in Microsoft's R Server product, but feared its pricetag, Microsoft itself has a partial answer: Microsoft R Client.

Free, but not open source, R Client is built with much of the same code as R Server. It even includes many of the same features, such as the "ScaleR" technology that allows R programs to benefit from multicore architectures, although they're only available here in a limited form.

Put another way, Microsoft R Client is to R Server as SQL Server Express is to SQL Server Enterprise. Users can get a taste of what's possible in the full-blown product without shelling out a ton of cash, even if it's no substitute for the original.

R Client leverages Microsoft R Open, which was known as Revolution Analytics before Microsoft acquired it. R Open lets users do most everything they could in an R environment, such as using the plethora of open source R packages out there, plus any ScaleR extension-based packages.

That said, there are two primary restrictions. First, any data to be processed has to fit in local memory -- you can't do remote processing as you would be able to with R Server. You can, however, push computations from R Client to a remote R Server instance -- you just have to have an R Server instance handy to do it.

The other, more egregious limit R Client imposes is that a maximum of only two threads can be used to process ScaleR-powered functions. Given that most anyone serious about using R and working with hardware built in the last five years or so has at least eight cores at their disposal, it's a major limitation.

Another potential drawback is that R Open is only available on Windows. A few years back, this wouldn't have seemed as egregious for a Microsoft creation. But R itself has always been cross-platform and open source, and the growing expectation for the post-Ballmer, Nadella-era Microsoft is that more of its products ought to be cross-platform by default. SQL Server, for instance, will be available in a Linux version; why not this? Maybe eventually, just not now.

One partial compensation for the ScaleR limitations: R Client supports full multi-threaded behaviors with libraries that use Intel MKL (Math Kernel Library) functions. This, however, isn't new: It was introduced into the original Revolution Open R product. Also, Microsoft is touting ScaleR as a way to allow functions to scale across multiple nodes, not just multiple cores on the same node as MKL does.