Parallel Reservoir Simulation Dynamic Task Migration
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
2Power
If more computational nodes are used, then processing capacity increases, but communication overhead increases
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
3Ease of operation
If tasks are dynamically migrated between nodes, then load balancing improves, but communication overhead increases
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
Data Source
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.


