Approximation algorithms for scheduling unrelated parallel machines
Mathematical Programming: Series A and B
Performance evaluation of software architectures
Proceedings of the 1st international workshop on Software and performance
Architecture-based approach to reliability assessment of software systems
Performance Evaluation
Probability and statistics with reliability, queuing and computer science applications
Probability and statistics with reliability, queuing and computer science applications
Architecture-Level Support for Software Component Deployment in Resource Constrained Environments
CD '02 Proceedings of the IFIP/ACM Working Conference on Component Deployment
Model-Based Performance Prediction in Software Development: A Survey
IEEE Transactions on Software Engineering
A Framework for Resource Allocation in Grid Computing
MASCOTS '04 Proceedings of the The IEEE Computer Society's 12th Annual International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems
An Integrated Approach to Software Engineering
An Integrated Approach to Software Engineering
A Performance Engineering Tool for Tiered Software Systems
COMPSAC '06 Proceedings of the 30th Annual International Computer Software and Applications Conference - Volume 01
ISSRE '06 Proceedings of the 17th International Symposium on Software Reliability Engineering
The Current State and Future of Search Based Software Engineering
FOSE '07 2007 Future of Software Engineering
Search-based software engineering: Trends, techniques and applications
ACM Computing Surveys (CSUR)
Hi-index | 0.00 |
Performance is a critical attribute of software systems and depends heavily on the software architecture. Though the impact of the component and connector architecture on performance is well appreciated and modeled, the impact of component deployment has not been studied much. For a given component and connector architecture, the system performance is also affected by how components are deployed onto hardware resources. In this work we first formulate this problem of finding the deployment that maximizes performance, and then present a heuristic-based solution approach for it. Our approach incorporates the software architecture, component resource requirements, and the hardware specifications of the system. We break the problem into two sub-problems and formulate heuristics for suggesting the best deployment in terms of performance. Our evaluation indicates that the proposed heuristic performs very well and outputs a deployment that is the best or close to the best, in more than 96% cases.