05.08.2014 Views

here - Stefan-Marr.de

here - Stefan-Marr.de

here - Stefan-Marr.de

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

1<br />

I N T R O D U C T I O N<br />

During recent years, multicore processors have become available in a majority<br />

of commodity hardware systems such as smartphones, laptops, and workstations.<br />

However, threads, locks, message passing, and other concurrent and<br />

parallel programming techniques continue to remain the tools of specialists<br />

for system programming or high-performance computing, because they are<br />

consi<strong>de</strong>red to be too complex and too hard to manage for application <strong>de</strong>velopers.<br />

However, these techniques become increasingly important for the<br />

<strong>de</strong>velopment of mobile and <strong>de</strong>sktop applications, since it becomes mandatory<br />

to exploit parallelism at the application level in or<strong>de</strong>r to achieve <strong>de</strong>sired<br />

performance levels on mo<strong>de</strong>rn hardware.<br />

At the same time, managed languages, i. e., high-level programming languages<br />

on top of virtual machines (VMs), have become ubiquitous. The range<br />

of <strong>de</strong>vices that utilize such general-purpose platforms grew steadily over the<br />

last <strong>de</strong>ca<strong>de</strong>, enabling the same application to run on wristwatches, phones,<br />

tablet <strong>de</strong>vices, laptops, workstations, servers, and clusters. In addition, improvements<br />

in runtime technologies such as just-in-time compilation and automatic<br />

memory management wi<strong>de</strong>ned the range of possible applications on<br />

top of these VMs. Eventually, this led to ecosystems emerging around multilanguage<br />

VMs such as the Java Virtual Machine (JVM) and the Common Language<br />

Infrastructure (CLI). Supported by growing ecosystems, these VMs became<br />

the target platform of choice in many application domains.<br />

However, research has not reconciled these two trends have so far. While,<br />

the complexity of concurrent and parallel programming inspired a wi<strong>de</strong> range<br />

1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!