Increasingly available computing resources enable the design and implementation of services that are more and more sophisticated, and rely on hig scale, high efficiency computational and communication architectures. This is a fundamental, foundational resource for computational science, that benefits from theoretical results and innovation in algorithms, but also needs the availability of raw computing power abundance to face the challenges of increasingly complex problems. State of the art technological solutions, like federated multi-site cloud and grid systems, heterogeneous systems and any kind of large scale systems, are characterized by the fact that scale and distribution are fundamental parameters to be considered when designing and evaluating them. High architectural complexity factors arise in the extension of the software and hardware subsystems, in the relations between the two, in the interactions with layers of middleware or abstractions, in the management of the HW/SW architecture, in the presence of heterogeneous subsystems, in the interface with the environment, in the nature of the requirements, because they are interdependent or strict about time, dependability, safety or security. Designing and assessing architecturally complex computer systems is a classic but still open challenge, as the identification of new solutions pushes beyond their current limits the goals for the next future. Modeling, analysis and evaluation tools and methodologies are the key that should be leveraged to turn complexity into opportunities.
More information you can find here.