From the point of view of an operating system, a computer is managed and optimized in terms of the application programming model and the management of system resources. For the TF...
—This paper argues that algorithmic skeletons are a suitable programming model for multi-core architectures. -level abstractions offered by algorithmic skeletons provide a simple...
A technique for estimating the cost of executing a loop nest in parallel (parallel start-up overhead) is described in this paper. This technique is of utmost importance for paralle...
Abstract. Dynamic separation is a new programming discipline for systems with transactional memory. We study it formally in the setting of a small calculus with transactions. We pr...
In developing High-Performance Computing (HPC) software, time to solution is an important metric. This metric is comprised of two main components: the human effort required develo...