&gt; I had a look at Spark, but its linear algebra packages seemed too limited (I guess abstraction comes at a cost). I can see that Spark would be nice if it does what you need out of the box.<p>Did you look at MLlib and&#x2F;or just using Breeze directly? There&#x27;s a bit of awkwardness in the initial set up of the cluster (mainly just having LAPACK installed on all nodes, see <a href="https:&#x2F;&#x2F;spark.apache.org&#x2F;docs&#x2F;1.1.0&#x2F;mllib-guide.html" rel="nofollow">https:&#x2F;&#x2F;spark.apache.org&#x2F;docs&#x2F;1.1.0&#x2F;mllib-guide.html</a> ). Spark itself is essentially just sugar to let you write a map&#x2F;reduce in natural scala style and have it distributed across a cluster - it&#x27;ll only work if you can factor your algorithm in a way that fits into that paradigm. (I&#x27;ve heard arguments that it&#x27;s possible to do that with any distributable algorithm if you&#x27;re clever enough, but I&#x27;m not sure I believe them).<p>&gt; Heard good things about Scala, is it straightforward to get a process on a remote machine to execute code?<p>Honestly, no. I love the language but Spark is very much what I think of (perhaps unfairly) as typical scientific software. Spark clusters are finicky - they&#x27;re cobbled together from a few unrelated projects (especially for cases where you need LAPACK as well), and it shows, especially when it comes to updating them. There are a few organizations like Cloudera (I think there was an open-source effort under the Apache umbrella somewhere too) that try to provide a working package, and various efforts with Puppet&#x2F;Chef&#x2F;etc. to automate the process of putting a cluster together, and it&#x27;s certainly a lot better than it was even a few years ago, but a cluster still need at least a little bit of dedicated sysadmin time (or, at a bare minimum, a programmer with a bit of *nix admin experience who&#x27;s willing to get their hands dirty - that was me at times) to keep it running reliably.<p>If you&#x27;re part of an institution that already maintains a Spark cluster - or maintains an ordinary Hadoop cluster and you&#x27;re friendly enough with the sysadmins to suggest they install it - it&#x27;s wonderful. If you&#x27;re having to do it all from scratch I won&#x27;t lie, it&#x27;s going to involve a lot of fiddling and may well not be worth it for your problem.