1 |
MigBSP++: balanceamento de carga eficiente para aplicações paralelas em fasesGomes, Roberto de Quadros 20 March 2014 (has links)
Submitted by Nara Lays Domingues Viana Oliveira (naradv) on 2015-07-15T14:37:25Z
No. of bitstreams: 1
ROBERTO.pdf: 6262020 bytes, checksum: 76c7611d1d91674b302b17af7b02b0e4 (MD5) / Made available in DSpace on 2015-07-15T14:37:25Z (GMT). No. of bitstreams: 1
ROBERTO.pdf: 6262020 bytes, checksum: 76c7611d1d91674b302b17af7b02b0e4 (MD5)
Previous issue date: 2014 / CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / A migração de processos é uma técnica utilizada no remapeamento de um processo para um processador mais rápido ou para aproximá-lo de outros processos com os quais se comunica frequentemente. Esta dissertação descreve o MigBSP++, um modelo de reescalonamento de processos que utiliza a técnica de migração para realizar o balanceamento de carga em sistemas paralelos. Direcionado às aplicações do tipo Bulk-Synchronous Parallel (BSP), o modelo apresentado redistribui os processos com o intuito de reduzir o tempo de cada super-passo. De modo similar ao MigBSP, o MigBSP++ combina múltiplas métricas a fim de decidir as migrações necessárias para que o sistema entre em equilíbrio sem a intervenção do usuário. As métricas utilizadas são: computação, comunicação e sobrecusto de migração. Através de sua função de decisão, chamada Potencial de Migração (PM), essas métricas são utilizadas para eleger os processos mais propícios a trazer o equilíbrio ao sistema. O MigBSP++ responde as questões necessárias para a política de migração de processos: quando realizar a migração de processos; quais processos são candidatos à migração e; para onde migrar os processos selecionados. Como contribuição científica, o MigBSP++ introduz as soluções para duas questões que estão em aberto no MigBSP: (a) a detecção de desbalanceamento de carga quando há mais processos do que processadores e; (b) a definição de quantos processos irão migrar de fato. Para a questão (a), propõe-se alteração do modo de detecção de desbalanceamento utilizada, observando o tempo total de computação de cada processador. Para a questão (b) é apresentado um algoritmo chamado de Algoritmo de Predição BSP (APBSP). Os dados de entrada do APBSP são os processos eleitos pela técnica de PM e a saída é uma lista de processos que irão, de fato, migrar proporcionando a redução do tempo do próximo super-passo. Para demonstrar os resultados da aplicação deste modelo, foram desenvolvidas duas aplicações BSP com o auxílio da biblioteca Adaptive Message Passing Interface (AMPI). Essa ferramenta oferece um arcabouço uniforme que, através da migração de processos, permite o balanceamento de carga de forma transparente ao usuário. Foram desenvolvidas as estratégias de balanceamento de carga, baseadas no MigBSP e no MigBSP++, para a realização da comparação entre elas e com as estratégias já existentes no sistema. Os resultados apontam que, nos casos onde a granularidade da tarefa é maior, os ganhos em tempo de execução são mais evidentes, podendo ser de até 46% em relação à aplicação sem balanceamento e de até 37% em relação às estratégias nativas do AMPI. Esses números sugerem que o modelo MigBSP++ tem aplicação prática e pode produzir resultados satisfatórios. / Process migration is a technique used in the remapping of a process to a faster processor or in the approaching from the processes which already have some communication among themselves. This essay describes the MigBSP++, a rescheduling process model that uses the technique of migration to perform load balancing in parallel systems. Directed to the BulkSynchronous Parallel (BSP) applications, the model redistributes the processes with the purpose of reducing the time of each super-step. Similar to MigBSP way, MigBSP++ combines multiple metrics to decide which migrations should be chosen in order to balance the entire system without the user intervention. The metrics used by the model are: computing, communication and extra costs of migration. Through its decision function, called Potential Migration (PM), these metrics are used to choose the most appropriate processes that will balance the system. MigBSP++ answers the questions about the policy process migration issues: when to perform the migration process, which processes are candidates for migration and where to migrate the selected processes. As scientific contribution, MigBSP++ introduces the solutions to two issues that were missing at MigBSP: (a) the detection of imbalance load when there are more processes than processors, and (b) the definition of how many processes will migrate indeed. On the question (a), a change of the mode of detection of imbalance is proposed, noting the total computation time for each processor. On the second question (b) an algorithm called the Prediction Algorithm BSP (PABSP) is presented. The input data of PABSP are elected process by the PM technique and the output is a list of processes that will, indeed, migrate providing a time reduction of the next super-step. To demonstrate the results of applying this model, two BSP applications have been developed with the assistance of Adaptive Message Passing Interface (AMPI) library. This tool provides a uniform framework that, through the migration process, allows a transparent load balancing to the user. Based on MigBSP and MigBSP++, load balancing strategies have been developed for the performance and comparison among new strategies and among the ones which were already in the system.The results indicate that, in cases where the granularity of the task, the gains in runtime are more evident, reaching up to 46% compared to the application without balancing, and 37% when compared to native strategies AMPI. These numbers suggest that the model MigBSP++ has practical application and can produce satisfactory results.
|
2 |
MigCube e MigHull: Heurísticas para Seleção Automática de Processos para Migração em Aplicações BSPGuerreiro, Vladimir Magalhães 20 March 2014 (has links)
Submitted by Fabricia Fialho Reginato (fabriciar) on 2015-07-08T01:19:32Z
No. of bitstreams: 1
VladimirGuerreiro.pdf: 5547701 bytes, checksum: b807e1f8091b49a5ee1e0b36e2ae4286 (MD5) / Made available in DSpace on 2015-07-08T01:19:32Z (GMT). No. of bitstreams: 1
VladimirGuerreiro.pdf: 5547701 bytes, checksum: b807e1f8091b49a5ee1e0b36e2ae4286 (MD5)
Previous issue date: 2014 / Nenhuma / Em ambientes paralelos, uma das alternativas para tratar o dinamismo, tanto em nível de infraestrutura quanto de aplicação é o uso de migração, principalmente em aplicações que executam em fases utilizando BSP (Bulk Synchronous Parallel). Neste contexto, o modelo de reescalonamento MigBSP foi desenvolvido para tratar da realocação de processos em aplica- ções paralelas. Assim como o modelo BSP, ele considera as três fases de execução de uma superetapa: (i) computação local, (ii) comunicação global e (iii) uma barreira de sincroniza- ção; coletando dados localmente durante a computação para efetuar o cálculo do Potencial de Migração (PM) do processo. Com o PM e parâmetros adicionais fornecidos no inicio da execução da aplicação, o MigBSP tem condições de escolher processos candidatos a migração em uma aplicação paralela executando em um ambiente distribuído. Entretanto, as duas heurísticas possíveis de serem utilizadas hoje, dependem de informações fornecidas pelo usuário e/ou podem não selecionar uma quantidade eficiente de processos no momento do reescalonamento, podendo ser necessário várias chamadas para balancear o ambiente. Desta forma, esta disserta- ção apresenta duas novas heurísticas, MigCube e MigHull. Elas utilizam o MigBSP e efetuam a seleção automática de processos candidatos à migração sem a interferência do programador. As informações fornecidas pelo MigBSP são utilizadas nas heurísticas, a combinação das três métricas mensurados, posicionadas em um plano tridimensional, define cada processo como um ponto no espaço que possui as coordenadas x, y e z, onde cada eixo representa uma mé- trica para tomada de decisão. A heurística MigCube monta um cubo a partir das médias das distâncias entre os pontos, utilizando o processo com o maior PM como centro do cubo. A heurística MigHull segue a definição da Envoltória Convexa, tentando envolver todos os pontos, porém utilizando duas adaptações que se fazem necessárias para a aplicação neste trabalho. O MigBSP foi desenvolvido no simulador SimGrid, e este segue sendo utilizado para a criação das duas heurísticas apresentadas nesta dissertação. Nos testes realizados neste simulador, foi possível verificar um ganho de até 45% no tempo de execução da aplicação utilizando a heurística MigHull, e até 42% utilizando a MigCube, quando comparado a aplicação sem o modelo de migração. Porém, em simulações com um maior número de processos, este ganho tende a cair, já que um dos maiores problemas do BSP e aplicações que executam em grades é o tempo de sincronização de tarefas, ou seja, quanto mais processos, maior a necessidade de sincronização, e mesmo o balanceamento dos processos acaba tendo um resultado prejudicado. / In a parallel environment, one of the alternatives to address the dynamism, both at the infrastructure and application levels, is the use of migration, mostly with applications that execute in steps using BSP (Bulk Synchronous Parallel). In this context, the rescheduling model MigBSP was developed to deal with processes reallocation in parallel applications. As BSP model, MigBSP uses the three steps of a superstep: (i) computation, (ii) communication and (iii) a synchronization barrier; collecting local data during the computation step, to compute the processes’ Potential of Migration (PM). With the PM and additional parameters provided in the beginning of the application’s execution, MigBSP have conditions to choose the processes candidate to migrate in a parallel application running in a distributed system. However, the two heuristics possible to be used today depend of information provided by the user and/or may not select the proper quantity of processes in the rescheduling moment, being necessary many executions to balance the environment. This way, this dissertation present two new heuristics, MigCube and MigHull. They make use of MigBSP, and automatically will choose the processes to migrate without user interference. The information provided by MigBSP are used in the heuristics, the combination of the three measured metrics, positioned in a three-dimensional space, defines each process as a point in space and has the coordinates x, y e z, where each axis represents a metric for decision making. The MigCube heuristic build a cube from the average of the distances between points, using the process with the highest PM as the center of the cube. The MigHull follows the definition of a Convex Hull, trying to involve all points, but using two adaptations that are necessary to implement this work. The MigBSP was developed using SimGrid simulator, and it keeps being used to creation of the two heuristics presented in this dissertation. In the conducted tests in this simulator, was possible to achieve a gain of until 45% on application execution time using MigHull, and until 42% using MigCube, when compared with the application without the migration model. However, simulations with a bigger number of processes, this gain tends to fall, since one of the bigger problems of BSP and applications that run in grid is the time of tasks synchronization, that is, as more processes, more need of synchronization, and even the processes balancing ends up having an impaired outcome.
|
Page generated in 0.0226 seconds