Denna sida på svenska This page in English

The parallel programming JavaScript expert


Name: Jan Kasper Martinsen

Parallel programming is known as complicated and difficult, but unlike many other programming paradigms, it is not entirely the programmers fault. Jan Kasper Martinsen at EASE and Blekinge Tekniska Högskola has become an expert on so called Thread-Level Speculation for JavaScript in web applications. In his research, he allows programmers of web applications to continue programming as normal, while he and his colleagues are designing the run-time system to take advantage of parallel hardware and speed up JavaScript execution in popular web applications.

The execution of JavaScript test programs are not representative for the JavaScript execution found in web applications. The benchmarks often originate from benchmarks used within system programming and numerical computing. These workloads are rare in web applications and the result is that popular optimization techniques slow down JavaScript execution in web applications even though they speed up JavaScript execution in benchmarks.

– Our subsequent discovery was that JavaScript execution in web applications takes advantage of a lot of JavaScript specific features, and that these are often great candidates to be executed in parallel. By executing speculatively, with Thread-Level Speculation, we have been able to gain significant speedups for a set of very popular web applications on a multicore computer, says Jan Kasper Martinsen.

Parallel computing and compilator design seems to have a never ending list of challenges that needs to be addressed. This has also grown to be a very important area within computer science, as it is becoming a field that is also important within desktop computing as well.

So far, Jan Kasper Martinsen and his team have co-authored five scientific papers with the industrial partner Sony Mobile, and have three more scientific papers in the pipeline.

He is grateful for the industry/academia collaboration and they conduct meetings on a regular basis where they discuss ongoing research as well as future directions in the research.

– It was actually representatives from the industry that suggested that we should look into improving the JavaScript execution time in web applications. Originally, we intended to find methodologies for executing legacy code on modern parallel architectures, he says.

In collaborative projects such as EASE there is obviously a balance that needs to be maintained, so that the research remains fruitful from both an academic and an industrial point of view. In this sense, the division of the EASE project into phases allows the directions to be changed for instance after the first batch of PhD students graduate, which is a great, according to Jan Kasper Martinsen.

Travelling between Lund and Karlskrona, he takes advantages of both cities:

– Lund has a great university, and we have had interesting discussions with colleagues from LTH. As a PhD student I have enjoyed both LTH courses and the social gatherings. For BTH, I enjoy both that it is an intimate university, and perhaps even more that there is a large number of students and colleagues from a wide range of countries and cultures, says Jan Kasper Martinsen.

What are the differences between how research and industry collaboration is performed in Sweden and your home country Norway?

– Being a Norwegian, I am well aware of the industrial understanding and tradition in Sweden. Norway is an oil driven economy where the government partially owns the oil companies. This reflects itself in the industry academic collaboration. In Norway research is often a government driven initiative. This might have the advantage that funding is perhaps more easily available? The disadvantage is that projects could lack the continuity of industrial projects (such as EASE). So in a sense, the Swedish model for industry and research collaboration is perhaps more realistic.


Anders Frick