Load Balancing using Hilbert Space-filling Curves for Parallel Reservoir Simulations

نویسندگان

  • Hui Liu
  • Kun Wang
  • Bo Yang
  • Min Yang
  • Ruijian He
  • Lihua Shen
  • He Zhong
  • Zhangxin Chen
چکیده

New reservoir simulators designed for parallel computers enable us to overcome performance limitations of personal computers and to simulate large-scale reservoir models. With development of parallel reservoir simulators, more complex physics and detailed models can be studied. The key to design efficient parallel reservoir simulators is not to improve the performance of individual CPUs drastically but to utilize the aggregation of computing power of all requested nodes through high speed networks [38]. An ideal scenario is that when the number of MPI (Message Passing Interface) processes is doubled, the running time of parallel reservoir simulators is reduced by half. The goal of load balancing (grid partitioning) is to minimize overall computations and communications, and to make sure that all processors have a similar workload [4]. Geometric methods divide a grid by using a location of a cell [8] while topological methods work with connectivity of cells, which is generally described as a graph [20]. This paper introduces a Hilbert space-filling curve method. A space-filling curve is a continuous curve and defines a map between a one-dimensional space and a multi-dimensional space [25]. A Hilbert space-filling curve is one special space-filling curve discovered by Hilbert and has many useful characteristics [25, 26], such as good locality, which means that two objects that are close to each other in a multi-dimensional space are also close to each other in a one dimensional space. This property can model communications in grid-based parallel applications. The idea of the Hilbert space-filling curve method is to map a computational domain into a one-dimensional space, partition the one-dimensional space to certain intervals, and assign all cells in a same interval to a MPI process. To implement a load balancing method, a mapping kernel is required to convert high-dimensional coordinates to a scalar value and an efficient one-dimensional partitioning module that divides a one-dimensional space and makes sure that all intervals have a similar workload. The Hilbert space-filling curve method is compared with ParMETIS, a famous graph partitioning package. The results show that our Hilbert space-filling curve method has good partition quality. It has been applied to grids with billions of cells, and linear scalability has been obtained on IBM Blue Gene/Q.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Parallel domain decomposition and load balancing using space-filling curves

Partitioning techniques based on space-filling curves have received much recent attention due to their low running time and good load balance characteristics. The basic idea underlying these methods is to order the multidimensional data according to a space-filling curve and partition the resulting onedimensional order. However, space-filling curves are defined for points that lie on a uniform ...

متن کامل

A New Scalable Parallel Method for Molecular Dynamics Based on Cell-Block Data Structure

A scalable parallel algorithm especially for large-scale three dimensional simulations with seriously non-uniform particles distributions is presented. In particular, based on cell-block data structures, this algorithm uses Hilbert space filling curve to convert three-dimensional domain decomposition for load distribution across processors into one-dimensional load balancing problems for which ...

متن کامل

Dynamic Load Balancing Using Space-Filling Curves

Space-filling curves (SFCs) provide a continuous mapping from a one-dimensional to a d-dimensional space and have been used to linearize spatially distributed data for partitioning, memory management and image processing. This paper gives a short introduction to the concept of SFCs and highlights some of the applications found in computer science. The main focus will be on dynamic distribution ...

متن کامل

Parallel space-filling curve generation

A key aspect of the parallel partitioners of AMR codes based on meshes consisting of regularly refined patches lies in the choice of a load balancing algorithm. One of the current load balancing methods of choice is to use a space-filling curve. The need to apply load balancing in parallel on possibly hundreds of thousands of processors has led to the development of an algorithm which generates...

متن کامل

Load Balancing for Adaptively Refined Grids

The solution of partial differential equations on a parallel computer is usually done by a data parallel approach. The grid is partitioned and mapped onto the processors. However, partitioning of unstructured meshes and adaptively refined meshes in general is an NP -hard problem and heuristics are needed. In this paper a parallelisable and cheap method based on space-filling curves is analysed....

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • CoRR

دوره abs/1708.01365  شماره 

صفحات  -

تاریخ انتشار 2017