The current
project aims at implementing a high performance computing center Internet accessible, for solving optimization problems using specialized hardware resources and software designed for that hardware. The system can be accessed through any type of network (intranet or Internet).
The problem-solving requests of linear programming are received, in first instance, by an I/O system that validates the client sending the request and analyzes the representation of the problem to ensure it is correct and meets with the structure defined for the type of problem. If the validation is positive, the I/O system logs the problem request in the router.
The router assesses the problem and estimates the computational effort
required to solve it, based on the knowledge acquired through solving
previous problems. Depending on that complexity the problem is assigned
to a server, or put on stand-by. When the problem execution ends, the
router writes a log into the I/O system so that the result can be sent
to the client who raised up the problem, and checks if there are
pending processes in the queue in order to reassign the required
resources.
Servers attached to this network have multi-core processors, and a series of graphics cards in parallel, to solve the problems of resource optimization.
Input/Output System
The optimization problems enter the system through the input/output
system. Instances of problems may be represented according to a predefined format, published in the I/O system, or through two standards for modelling lineal programming problems, namely MPS1 and CPLEX2.
As linear programming processes will take a considerable time to resolve,
a request/communication asynchronous system will be implemented: after
receiving a request, it takes the system a (significant) time to solve
the problem, after which it sends the solution to the user of system that
raised up the problem.
Router
The router plays a crucial role in the whole system infrastructure: receives
requests from the I/O system, examines them, and decides the resources
allocated for solving each problem. In order to perform resource
allocation, the router has up-to-date knowledge of whole available
infrastructure and the assigned resources.
In this way it can estimate the capacity required to execute the new
process, optimize the allocation of resources to the ongoing problems,
detect the end of execution, and prepare the solution to be sent to the customer.
The router will manage a knowledge base that aims at predict the
complexity and computation time required to solve each problem.
The router includes a series of processes aimed at providing the system with
capabilities required for customer service, such as customer management
and service agreements, access statistics, monitoring, problem reception
or solution sending, besides optimization processes.
Service network
In this architecture, the customer sees the system AMBÚ as a provider of
computing services over the Internet. The client does not need to be
aware of the infrastructure of CPUs, GPUs, or routers making up AMBÚ;
AMBÚ offers a computer system as a service, so users can access it
"in the Internet cloud" without knowledge of the the resources used.