文摘
An important challenge faced by high-throughput multiscale applications is that human intervention has a central role in driving their success. Many times scientists must carefully analyse results either manually or semi-automatically and then make the appropriate decisions to tune application parameters. However,direct human intervention is not only tiring and highly demanding on the scientist,but costly and detrimental to the efficient use of large amounts of computing resources. In this thesis we claim that high-throughput multiscale applications running on volunteer computing VC) systems,need to become self-managed. We prove this claim by: 1) Building a testing environment combining simulation and emulation components to enable reproducibility of tests in VC systems. This hybrid emulator accurately predicts performance of different VC scenarios,allows testing different combinations of parameter settings and policies,and enables reproducibility of results in a reduced amount of time. 2) Analysing and characterizing VC systems based on latency quantiles,and providing the basis to extend this characterization to other factors such as throughput,distribution rate,and starvation. 3) Analysing the feasibility of application-aware self-management by implementing a real-world parametric VC application. This reconfigurable application is able to drive runtime parameter adaptations in order to use its full potential and achieve scientific conclusions quickly. 4) Integrating application and resource knowledge into a learning engine based on a novel and powerful tree structure. This module considers both application goals and resource availability to make decisions about parameter reconfiguration and workload demands. We propose the implementation and assessment of our research ideas for volunteer computing systems,a challenging case of distributed systems,but still our contributions can be easily adapted to a broader range of distributed system.