Heuristic Algorithms for Task Assignment in Distributed Systems
IEEE Transactions on Computers
Spawn: A Distributed Computational Economy
IEEE Transactions on Software Engineering
The grid: blueprint for a new computing infrastructure
The grid: blueprint for a new computing infrastructure
Interconnections (2nd ed.): bridges, routers, switches, and internetworking protocols
Interconnections (2nd ed.): bridges, routers, switches, and internetworking protocols
Comparative Models of the File Assignment Problem
ACM Computing Surveys (CSUR)
Appia: Automatic Storage Area Network Fabric Design
FAST '02 Proceedings of the Conference on File and Storage Technologies
Optimal Resource Assignment in Internet Data Centers
MASCOTS '01 Proceedings of the Ninth International Symposium in Modeling, Analysis and Simulation of Computer and Telecommunication Systems
A solver for the network testbed mapping problem
ACM SIGCOMM Computer Communication Review
Quickly finding near-optimal storage designs
ACM Transactions on Computer Systems (TOCS)
Multiprocessor Scheduling with the Aid of Network Flow Algorithms
IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering
A cooperative coevolutionary algorithm for the composite SaaS placement problem in the cloud
ICONIP'10 Proceedings of the 17th international conference on Neural information processing: theory and algorithms - Volume Part I
Enabling efficient placement of virtual infrastructures in the cloud
Proceedings of the 13th International Middleware Conference
Hi-index | 0.01 |
In this article we address the application component placement (ACP) problem for a data center. The problem is defined as follows: for a given topology of a network consisting of switches, servers and storage devices with varying capabilities, and for a given specification of a component-based distributed application, decide which physical server should be assigned to each application component, such that the application's processing, communication and storage requirements are satisfied without creating bottlenecks in the infrastructure, and that scarce resources are used most efficiently. We explain how the ACP problem differs from traditional task assignment in distributed systems, or existing grid scheduling problems. We describe our approach of formalizing this problem using a mathematical optimization framework and further formulating it as a mixed integer program (MIP). We then present our ACP solver using GAMS and CPLEX to automate the decision-making process. The solver was numerically tested on a number of examples, ranging from a 125-server real data center to a set of hypothetical data centers with increasing size. In all cases the ACP solver found an optimal solution within a reasonably short time. In a numerical simulation comparing our solver to a random selection algorithm, our solver resulted in much more efficient use of scarce network resources and allowed more applications to be placed in the same infrastructure.