8 research outputs found

    Enumerative Branching with Less Repetition

    Get PDF
    We can compactly represent large sets of solutions for problems with discrete decision variables by using decision diagrams. With them, we can efficiently identify optimal solutions for different objective functions. In fact, a decision diagram naturally arises from the branch-and-bound tree that we could use to enumerate these solutions if we merge nodes from which the same solutions are obtained on the remaining variables. However, we would like to avoid the repetitive work of finding the same solutions from branching on different nodes at the same level of that tree. Instead, we would like to explore just one of these equivalent nodes and then infer that the same solutions would have been found if we explored other nodes. In this work, we show how to identify such equivalences鈥攁nd thus directly construct a reduced decision diagram鈥攊n integer programs where the left-hand sides of all constraints consist of additively separable functions. First, we extend an existing result regarding problems with a single linear constraint and integer coefficients. Second, we show necessary conditions with which we can isolate a single explored node as the only candidate to be equivalent to each unexplored node in problems with multiple constraints. Third, we present a sufficient condition that confirms if such a pair of nodes is indeed equivalent, and we demonstrate how to induce that condition through preprocessing. Finally, we report computational results on integer linear programming problems from the MIPLIB benchmark. Our approach often constructs smaller decision diagrams faster and with less branching

    Formal Generation of Executable Assertions for Application-Oriented Fault Tolerance

    Get PDF
    Executable assertions embedded into a distributed computing system can provide run-time assurance by ensuring that the program state, in the actual run-time environment, is consistent with the logical stage specified in the assertions; if not, then an error has occurred and a reliable communication of this diagnostic information is provided to the system such that reconfiguration and recovery can take place. Application- oriented fault tolerance is a method that provides fault detection using executable assertions based on the natural constraints of the application. This paper focuses on giving application-oriented fault tolerance a theoretical foundation by providing a mathematical model for the generation of executable assertions which detect faults in the presence of arbitrary failures. The mathematical model of choice was axiomatic program verification. A method was developed that translates a concurrent verification proof outline into an error-detecting concurrent program. This paper shows the application of the developed method to several applications

    Simulation and close-to-optimal algorithm for the static load balancing of a network of heterogeneous processors

    Get PDF
    A close-to-optimal linear programming-based algorithm for the static load balancing of a network of heterogeneous processors is described and implemented. Experimental results suggest that the amount of time required by the implementation of the algorithm to balance the loads of the servers as a function of the number of servers has polynomial complexity

    Sequencing by enumerative methods

    Get PDF

    Procesamiento paralelo : Balance de carga din谩mico en algoritmo de sorting

    Get PDF
    Algunas t茅cnicas de sorting intentan balancear la carga mediante un muestreo inicial de los datos a ordenar y una distribuci贸n de los mismos de acuerdo a pivots. Otras redistribuyen listas parcialmente ordenadas de modo que cada procesador almacene un n煤mero aproximadamente igual de claves, y todos tomen parte del proceso de merge durante la ejecuci贸n. Esta Tesis presenta un nuevo m茅todo que balancea din谩micamente la carga basado en un enfoque diferente, buscando realizar una distribuci贸n del trabajo utilizando un estimador que permita predecir la carga de trabajo pendiente. El m茅todo propuesto es una variante de Sorting by Merging Paralelo, esto es, una t茅cnica basada en comparaci贸n. Las ordenaciones en los bloques se realizan mediante el m茅todo de Burbuja o Bubble Sort con centinela. En este caso, el trabajo a realizar -en t茅rminos de comparaciones e intercambios- se encuentra afectada por el grado de desorden de los datos. Se estudi贸 la evoluci贸n de la cantidad de trabajo en cada iteraci贸n del algoritmo para diferentes tipos de secuencias de entrada, n datos con valores de a n sin repetici贸n, datos al azar con distribuci贸n normal, observ谩ndose que el trabajo disminuye en cada iteraci贸n. Esto se utiliz贸 para obtener una estimaci贸n del trabajo restante esperado a partir de una iteraci贸n determinada, y basarse en el mismo para corregir la distribuci贸n de la carga. Con esta idea, el m茅toEs revisado por: http://sedici.unlp.edu.ar/handle/10915/9500Facultad de Ciencias Exacta
    corecore