/>
X

Scala gets grant to tackle parallel challenge

Developers of the open source Scala programming language have been given a grant to work the language into a programming model designed to support parallel processing.The European Research Grant, worth €2.
jack-clark.jpg
Written by Jack Clark, Reporter on

Developers of the open source Scala programming language have been given a grant to work the language into a programming model designed to support parallel processing.

The European Research Grant, worth €2.3m (£1.92m), was awarded to the Scala research group at the swiss Ecole Polytechnique Federale De Lausanne (EPFL), it was announced on 10 January. The EPFL group is headed up by Scala's designer Martin Odersky

The grant "means that the Scala team will nearly double in size to pursue a truly promising way for industry to harness the parallel processing power of the ever increasing number of cores available on each chip," according to the official Scala blog.

To build large, multi-datacentre spanning applications it is necessary to parallelise tasks and to increase the efficiency with which compute resources are utilised.

Scala will provide mechanisms for a programming model that allows applications to benefit from parallel processing. The model will allow high-level optimisation of multiple, distinct languages, programmed in parallel.

"Language Virtualisation"

"The principle innovation is to use "language virtualisation", combining polymorphic embeddings with domain-specific optimisations in a staged compilation processing," according to the blog.

Polymorphic embedding works by abstracting DSL programs into objects of the host language, in this case Scala, which represent the intended meanings of the original DSL programs.

"In the traditional pure embedding approach, two languages are composable if they share a common representation for the types that are relevant in the composition," according to the academic paper which coined the term (PDF). "Polymorphic embedding generalizes this property, in that it is sufficient to give an interpretation for both languages that results in a common representation of those types."

Polymorphic embedding of DSLs will permit language virtualisation, which will make it possible for a single programming model to pull in multiple DSLs. This will allow a program to be compiled through Scala, with other DSLs brought in as libraries under a Scala umbrella.

"DSLs can be designed for application areas such as machine learning, fluid dynamics, analytics, financial modelling and visualisation," according to the blog.

"The work proposed here describes an ambitious but coherent attempt to address the issues and consequently, if successful, would be of enormous value, both intellectually and industrially," the ERC reviewers said. "There is not any other ongoing project which attempts to integrate developments in the necessary range of sub-disciplines."

Related

Are you ready for the worst Economy Class airline seats in the world?
airline-seats.jpg

Are you ready for the worst Economy Class airline seats in the world?

Business
Microsoft Azure-certified roles are well-paid, and you can study for certification for $39
replace-this-image.jpg

Microsoft Azure-certified roles are well-paid, and you can study for certification for $39

Deals
Remote working vs back to the office: Benefits are clear, but there could be trouble ahead for some
A middle aged man in casual attire sat at his computer desk speaking to colleagues via a split-screen video chat application

Remote working vs back to the office: Benefits are clear, but there could be trouble ahead for some

Professional Development