SoftwareX · 2015 · 83 citations · 10 references
ComputingCloud ComputingComputer ScienceCluster ComputingGrid ComputingParallel ComputingConcurrent ProgrammingDistributed ComputingParallel Programming ModelsParallel Runtime SystemsRuntime SystemsSuperscalar ProcessingDistributed Runtime SystemsElasticityIntertask DependenciesProgramming Model DesignRun-time Resource ManagementRuntime System ArchitectureRuntime Systems For ParallelismSuperscalar Execution
COMPSs is a programming framework that aims to facilitate the parallelization of existing applications written in Java, C/C++ and Python scripts. For that purpose, it offers a simple programming model based on sequential development in which the user is mainly responsible for (i) identifying the functions to be executed as asynchronous parallel tasks and (ii) annotating them with annotations or standard Python decorators. A runtime system is in charge of exploiting the inherent concurrency of the code, automatically detecting and enforcing the data dependencies between tasks and spawning these tasks to the available resources, which can be nodes in a cluster, clouds or grids. In cloud environments, COMPSs provides scalability and elasticity features allowing the dynamic provision of resources.
10
Pegasus, a workflow management system for science automation
Ewa Deelman, Karan Vahi, Gideon Juve et al. · Future Generation Computer Systems · 2014 · 818 citations · Full text
Swift: A language for distributed parallel scripting
Michael Wilde, Mihael Hategan, Justin M. Wozniak et al. · Parallel Computing · 2011 · 404 citations
OPTIMIS: A holistic approach to cloud service provisioning
Ana Juan Ferrer, Francisco Hernández, Johan Tordsson et al. · Future Generation Computer Systems · 2011 · 363 citations · Full text
Algorithms implementing distributed shared memory
Michael Stumm, Shi Zhou · Computer · 1990 · 197 citations