Learn More
Model-based reconstruction of electrical brain activity from electro-encephalographic measurements is of growing importance in neurology and neurosurgery. Algorithms for this task involve the solution of a 3D Poisson problem on a realistic head geometry obtained from medical imaging. In the model, several compartments with different conductivities have to(More)
Writing concurrent applications is extremely challenging, not only in terms of producing bug-free and maintainable software, but also for enabling developer productivity. In this article we present the Æminium concurrent-by-default programming language. Using Æminium programmers express data dependencies rather than control flow between(More)
We study the compilation of X10 to novel, highly scalable hardware architectures in the scope of the InvasIC project. To this end, we describe the implementation of a machine code backend and its integration into the existing X10 compiler. In our implementation, the graph-based intermediate representation Firm is used. We identify several issues in the(More)
Invasive Computing enables a resource-aware programming style, which includes adapting to external resource changes similar to malleability. We introduce asynchronously-malleable applications, which can adapt at any time without synchronizing the whole application, in contrast to specific synchronization points. We show how master-slave applications meet(More)
Linear permissions have been proposed as a lightweight way to specify how an object may be aliased, and whether those aliases allow mutation. Prior work has demonstrated the value of permissions for addressing many software engineering concerns, including information hiding, protocol checking, concurrency, security, and memory management. We propose the(More)
Register allocation is one of the most time-consuming parts of the compilation process. Depending on the quality of the register allocation, a large amount of shuffle code to move values between registers is generated. In this paper, we propose a processor architecture extension to provide register file permutations by which the shuffle code can be(More)
Linear <i>permissions</i> have been proposed as a lightweight way to specify how an object may be aliased, and whether those aliases allow mutation. Prior work has demonstrated the value of permissions for addressing many software engineering concerns, including information hiding, protocol checking, concurrency, security, and memory management. We propose(More)
Biorthogonal decomposition (BOD) is used to detect and study synchronous coherent structures occurring at multiple levels in the vertical momentum flux (u1w1) within and above a planted Scots pine forest during a 12-week continuous measurement period. In this study, the presented method allowed for the simultaneous detection and quantification of the number(More)
In the X10 language, computations are modeled as lightweight threads called activities. Since most operating systems only offer relatively heavyweight kernel-level threads, the X10 runtime system implements a user-space scheduler to map activities to operating-system threads in a many-to-one fashion. This approach can lead to suboptimal scheduling decisions(More)
<i>Access permissions</i> (permissions for short) are a lightweight way to specify how an object may be aliased and whether aliases allow mutation. Prior work has demonstrated the value of permissions for addressing many software engineering concerns, including information hiding, protocol checking, concurrency, security, and memory management. We propose(More)