40 research outputs found
Recent Advances in Graph Partitioning
We survey recent trends in practical algorithms for balanced graph
partitioning together with applications and future research directions
DisPar Methods and Their Implementation on a Heterogeneous PC Cluster
Esta dissertação avalia duas áreas cruciais da simulação de advecção-
difusão.
A primeira parte é dedicada a estudos numéricos. Foi comprovado que
existe uma relação directa entre os momentos de deslocamento de uma partícula
de poluente e os erros de truncatura. Esta relação criou os fundamentos teóricos
para criar uma nova família de métodos numéricos, DisPar.
Foram introduzidos e avaliados três métodos. O primeiro é um método
semi-Lagrangeano 2D baseado nos momentos de deslocamento de uma partícula
para malhas regulares, DisPar-k. Com este método é possível controlar
explicitamente o erro de truncatura desejado. O segundo método também se
baseia nos momentos de deslocamento de uma partícula, sendo, contudo,
desenvolvido para malhas uniformes não regulares, DisParV. Este método
também apresentou uma forte robustez numérica. Ao contrário dos métodos
DisPar-K e DisParV, o terceiro segue uma aproximação Eulereana com três
regiões de destino da partícula. O método foi desenvolvido de forma a manter um
perfil de concentração inicial homogéneo independentemente dos parâmetros
usados. A comparação com o método DisPar-k em situações não lineares realçou
as fortes limitações associadas aos métodos de advecção-difusão em cenários
reais.
A segunda parte da tese é dedicada à implementação destes métodos num
Cluster de PCs heterogéneo. Para o fazer, foi desenvolvido um novo esquema de
partição, AORDA. A aplicação, Scalable DisPar, foi implementada com a
plataforma da Microsoft .Net, tendo sido totalmente escrita em C#. A aplicação foi
testada no estuário do Tejo que se localiza perto de Lisboa, Portugal.
Para superar os problemas de balanceamento de cargas provocados pelas
marés, foram implementados diversos esquemas de partição: “Scatter
Partitioning”, balanceamento dinâmico de cargas e uma mistura de ambos. Pelos
testes elaborados, foi possível verificar que o número de máquinas vizinhas se
apresentou como o mais limitativo em termos de escalabilidade, mesmo utilizando
comunicações assíncronas. As ferramentas utilizadas para as comunicações
foram a principal causa deste fenómeno. Aparentemente, o Microsoft .Net remoting 1.0 não funciona de forma apropriada nos ambientes de concorrência
criados pelas comunicações assíncronas. Este facto não permitiu a obtenção de
conclusões acerca dos níveis relativos de escalabilidade das diferentes
estratégias de partição utilizadas. No entanto, é fortemente sugerido que a melhor
estratégia irá ser “Scatter Partitioning” associada a balanceamento dinâmico de
cargas e a comunicações assíncronas. A técnica de “Scatter Partitioning” mitiga
os problemas de desbalanceamentos de cargas provocados pelas marés. Por
outro lado, o balanceamento dinâmico será essencialmente activado no inicio da
simulação para corrigir possíveis problemas nas previsões dos poderes de cada
processador.This thesis assesses two main areas of the advection-diffusion simulation.
The first part is dedicated to the numerical studies. It has been proved that
there is a direct relation between pollutant particle displacement moments and
truncation errors. This relation raised the theoretical foundations to create a new
family of numerical methods, DisPar.
Three methods have been introduced and appraised. The first is a 2D semi-
Lagrangian method based on particle displacement moments for regular grids,
DisPar-k. With this method one can explicitly control the desired truncation error.
The second method is also based on particle displacement moments but it is
targeted to regular/non-uniform grids, DisParV. The method has also shown a
strong numerical capacity. Unlike DisPar-k and DisParV, the third method is a
Eulerian approximation for three particle destination units. The method was
developed so that an initial concentration profile will be kept homogeneous
independently of the used parameters. The comparison with DisPar-k in non-linear
situations has emphasized the strong shortcomings associated with numerical
methods for advection-diffusion in real scenarios.
The second part of the dissertation is dedicated to the implementation of
these methods in a heterogeneous PC Cluster. To do so, a new partitioning
method has been developed, AORDA. The application, Scalable DisPar, was
implemented with the Microsoft .Net framework and was totally written in C#. The
application was tested on the Tagus Estuary, near Lisbon (Portugal).
To overcome the load imbalances caused by tides scatter partitioning was
implemented, dynamic load balancing and a mix of both. By the tests made, it was
possible to verify that the number of neighboring machines was the main factor
affecting the application scalability, even with asynchronous communications. The
tools used for communications mainly caused this. Microsoft .Net remoting 1.0
does not seem to properly work in environments with concurrency associated with
the asynchronous communications. This did not allow taking conclusions about the
relative efficiency between the partitioning strategies used. However, it is strongly
suggested that the best approach will be to scatter partitioning with dynamic load
balancing and with asynchronous communications. Scatter partitioning mitigates
load imbalances caused by tides and dynamic load balancing is basically trigged
at the begging of the simulation to correct possible problems in processor power
predictions
Accelerating shape optimizing load balancing for parallel FEM simulations by algebraic multigrid
We propose a load balancing heuristic for parallel adaptive finite element method (FEM) simulations. In contrast to most existing approaches, the heuristic fo-cuses on good partition shapes rather than on mini-mizing the classical edge-cut metric. By applying Alge-braic Multigrid (AMG), we are able to speed up the two most time consuming calculations of the approach while maintaining its large amount of natural parallelism
Recent Advances in Fully Dynamic Graph Algorithms
In recent years, significant advances have been made in the design and
analysis of fully dynamic algorithms. However, these theoretical results have
received very little attention from the practical perspective. Few of the
algorithms are implemented and tested on real datasets, and their practical
potential is far from understood. Here, we present a quick reference guide to
recent engineering and theory results in the area of fully dynamic graph
algorithms
An Improved dynamic Load Balancing Algorithm applied to a Cafeteria System in a University Campus
Load-balancing algorithms play a key role in improving the performance of practical distributed systems that consist of heterogeneous nodes. The performance of any load-balancing algorithms and its convergence-rate is affected by the structural factors of the network that executes the algorithm. The performance deteriorated as the number of system nodes, the network-diameter, the communication-overhead increased. Moreover, additional technical-factors of the algorithm itself significantly affect the performance of rebalancing the load among nodes. Therefore, this paper proposes an approach that improves the performance of load-balancing algorithms by considering the load-balancing technical-factors and the structure of the network executes the algorithm. We applied the proposed method to a cafeteria system in a university campus and compared our approach with two significant methods presented in the literature. Results indicate that our approach considerably outperformed the original neighborhood approach and the nearest neighbor approach in terms of response time, throughput, communication overhead, and movements cost
Graph Partitioning of Transportation Networks under Disruption
This research is concerned with providing a solution capable of treating network complexity and scalability effectively so that it overcomes administrative, environmental and technique boundaries. One good approach dealing with this matter is applying graph partitioning techniques. Graph partitioning is an optimization problem with the aim of dividing a large geographical network into manageable size districts called sub-networks with less complexity in favor of balancing the workload and minimizing the communication among them, with the aim of maximizing their independency as much as possible. Over the past decades various models have been developed in such a way to satisfy a multi-objective problem such as delivery time and managerial cost. In real life, due to inevitable changes during network’s lifetime, it is vital to offer survivability and resilience in the existence of network failure and disruption. Further, it is essential to maintain functionality in critical facilities and high priority connections in the time of crisis. This paper suggests four partitioning techniques namely “Hierarchical recursive progression1^+ “(HRP1^+) and “Hierarchical recursive progression2^+ “(HRP2^+) and their extensions called “HRP1^+control” and “HRP2^+control” to solve the scalability as well as complexity of a network. For this matter, the initial balanced partition is produced on a predefined network. Furthermore two different approaches namely “complete failure update “and “partial failure update” are proposed and demonstrated in the occurrence of network disruption.
In sum, the three main objectives of this thesis are as follows:
Modeling disruption on logistics networks
Assuring and strengthen connectivity in the disrupted network for routing purposes
Developing partitioning approaches in favor of generating roughly equal sized and balanced partitions in the disrupted network
Equilibrage de charges dynamique avec un nombre variable de processeurs basé sur des méthodes de partitionnement de graphe
Load balancing is an important step conditioning the performance of parallel programs. If the workload varies drastically during the simulation, the load must be redistributed regularly among the processors. Dynamic load balancing is a well studied subject but most studies are limited to an initially fixed number of processors. Adjusting the number of processors at runtime allows to preserve the parallel code efficiency or to keep running the simulation when the memory of the current resources is exceeded.In this thesis, we propose some methods based on graph repartitioning in order to rebalance the load while changing the number of processors. We call this problem \M x N repartitioning". These methods are split in two main steps. Firstly, we study the migration phase and we build a \good" migration matrix minimizing several metrics like the migration volume or the number of exchanged messages. Secondly, we use graph partitioning heuristics to compute a new distribution optimizing the migration according to the previous step results. Besides, we propose a direct k-way partitioning algorithm that allows us to improve our biased partitioning. Finally, an experimental study validates our algorithms against state-of-the-art partitioning tools.L'équilibrage de charge est une étape importante conditionnant les performances des applications parallèles. Dans le cas où la charge varie au cours de la simulation, il est important de redistribuer régulièrement la charge entre les différents processeurs. Dans ce contexte, il peut s'avérer pertinent d'adapter le nombre de processeurs au cours d'une simulation afin d'obtenir une meilleure efficacité, ou de continuer l'exécution quand toute la mémoire des ressources courantes est utilisée. Contrairement au cas où le nombre de processeurs ne varie pas, le rééquilibrage dynamique avec un nombre variable de processeurs est un problème peu étudié que nous abordons ici.Cette thèse propose différentes méthodes basées sur le repartitionnement de graphe pour rééquilibrer la charge tout en changeant le nombre de processeurs. Nous appelons ce problème « repartitionnement M x N ». Ces méthodes se décomposent en deux grandes étapes. Dans un premier temps, nous étudions la phase de migration et nous construisons une « bonne » matrice de migration minimisant plusieurs critères objectifs comme le volume total de migration et le nombre total de messages échangés. Puis, dans un second temps, nous utilisons des heuristiques de partitionnement de graphe pour calculer une nouvelle distribution optimisant la migration en s'appuyant sur les résultats de l'étape précédente. En outre, nous proposons un algorithme de partitionnement k-aire direct permettant d'améliorer le partitionnement biaisé. Finalement, nous validons cette thèse par une étude expérimentale en comparant nos méthodes aux partitionneursactuels