Parallel Reservoir Simulation Dynamic Task Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Reservoir simulation models face challenges in achieving efficient parallel computing due to irregular computational loads and dynamic data access behaviors, particularly when dealing with complex geological structures and unstructured grids, leading to suboptimal speed-up and increased computational resources required.

Innovation Solution

The method involves generating a representation of a simulation model and distributing computational tasks among shared-memory computational nodes, allowing for dynamic task migration and load balancing through a master thread and communication thread, which identifies and reallocates movable tasks based on communication overhead and processing node utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If computational tasks are distributed among multiple processing nodes, then simulation speed increases, but load balancing becomes difficult due to irregular computational loads

Engineering Contradiction:
Improvesimulation speedVSAvoidload balancing
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system dynamically adjusts task allocation among processing nodes based on real-time load conditions. The master thread continuously monitors computational progress and redistributes tasks from overloaded nodes to underutilized nodes, enabling adaptive load balancing that responds to changing computational demands during simulation execution

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback mechanisms where processing nodes report their computational status and task completion progress to the master thread. This feedback enables the master thread to make informed decisions about task redistribution, optimizing load balance across the distributed system while maintaining high simulation speed

Inventive Principle:
Principle #23Feedback

2Power

If more computational nodes are used, then processing capacity increases, but communication overhead increases

Engineering Contradiction:
Improveprocessing capacityVSAvoidcommunication overhead
Core Design Contradiction:
PowerVSLoss of energy

Solution Approach 1:

The simulation model is segmented into discrete computational tasks that can be independently assigned and executed on different processing nodes. This segmentation allows the system to scale processing capacity by adding nodes while maintaining efficient communication through standardized task transfer protocols, reducing overall communication overhead

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If tasks are dynamically migrated between nodes, then load balancing improves, but communication overhead increases

Engineering Contradiction:
Improveload balancingVSAvoidcommunication overhead
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The system performs task migration selectively rather than continuously, migrating tasks only when load imbalance thresholds are exceeded. This partial action approach maintains good load balancing while minimizing unnecessary communication overhead associated with constant task movement between nodes

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9754056B2Method and system for parallel simulation models
Publication Date: 2017.09.05 EXXONMOBIL UPSTREAM RESEARCH COMPANY(US)
  • US9754056B2 patent drawing
  • US9754056B2 patent drawing
  • US9754056B2 patent drawing

AI summary

A method for modeling a hydrocarbon reservoir. A representation of a simulation model is generated in a non-transitory, computer readable medium. The simulation model is used to generate computational tasks. The tasks are allocated among a plurality of computational nodes. Each processing node of the plurality of computational nodes includes core processors and a shared memory accessible by the core processors. The reservoir simulation is executed on the plurality of computational nodes. During the reservoir simulation, if a first processing node in the plurality of computational nodes finishes executing its allocated tasks, a migration request is sent from the first processing node to another processing node in the plurality of computational nodes. The migration request is configured to request migration of a movable task from the other processing node to the first processing node. The movable task is migrated from the other processing node to the first processing node.