Autonomic Oil Reservoir Optimization using Decentralized ServicesAbstractThe Grid community is actively working on defining, deploying and standardizing protocols, mechanisms, and infrastructure to support decentralized, seamless, and secure interactions across distributed resources. Such an infrastructure will enable a new generation of autonomic applications where the application components, Grid services, resources and data interact as peers. In this project we describe the development and operation of a prototype application that uses such peer-to-peer interactions between services on the Grid to enable the autonomic optimization of an oil reservoir.The Oil Reservoir Optimization ApplicationThe goal of the prototype application described in this section is to dynamically and autonomically optimize the placement and configuration of oil wells to maximize revenue. The process is autonomic in the sense that the oil reservoir simulation utilizes peer services to adapt, configure, and optimize itself without human intervention. The overall application scenario is illustrated on the Figure below. The peer components involved are described below.![]()
Integrated Parallel Accurate Reservoir Simulator (IPARS) The IPARS Factory is responsible for configuring instances of IPARS simulations, deploying them on resources on the Grid, and managing their execution. Configuration consists of selecting appropriate models from those provided by IPARS, defining the structure and properties of the reservoir to be simulated, specifying required parameters and producing relevant input files. Deployment and management of IPARS instances uses services provided by DISCOVER\cite{Discover} and Globus.
Very Fast Simulated Annealing (VFSA) Economic Modeling Service The Economic Modeling Services use the output produced by an IPARS simulation instance and current market parameters (e.g. oil prices, drilling costs, etc.) to compute estimated revenues for a particular reservoir configuration. In general, economic value of production is a function of the time of production and of injection rates in the reservoir. It takes into account fixed costs such as drilling a well, injection, extraction, disposal, and removal of the hydrocarbons, as well as additional fluids which are used in the injection process, or are being extracted from the field.
DISCOVER Computational Collaboratory
Using the DISCOVER computational collaboratory, clients can connect to
a local server using the portal, and can use it to discover and access
active applications and services on the Grid as long as they have
appropriate privileges and capabilities.
Furthermore, they can form or join collaboration groups and can securely, consistently, and collaboratively interact with and steer applications based on their privileges and capabilities.
The components described above need to dynamically discover and interact with one another
as peers to achieve the overall application
objectives. The experts use
the portals to interact with the DISCOVER middleware and the Globus Grid
services to discover and allocate appropriate resource, and to deploy the
IPARS Factory, VFSA and Economic model peers (step 1). Design and ImplementationThe Pawn Substrate Conceptually, the Pawn P2P substrate is composed of peers (computing, storage, or user peers), network, and interaction services, and mechanisms. These components are layered to represent the requirements stack enabling interactions in a Grid environment. The figure can be read from bottom to top as :``Peers compose messages handled by services through specific interaction modalities''. The figure below shows the high-level architecture of the Oil Reservoir Optimization application. The application uses Pawn as a supporting framework and messaging substrate to enable the interactions between the participating entities.![]() Pawn builds on the current Java implementation of the JXTA protocols. ![]() Types of Peers in Pawn In Pawn, peers can implement one or more services (behaviors); the combination of services implemented by a peer defines its role. Typical roles for a peer are client, application or rendezvous.A client peer deploys applications on resources and accesses them for interactive monitoring and/or steering; it also collaborates with other peers in the peergroup.%using group communication mechanisms. An application peer exports its application interfaces and controls to the peergroup; these interfaces are used by other peers to interact with the application. The rendezvous peer distributes and relays messages, and filters them en route to their destination. Pawn Services A network service is a functionality that can be implemented by a peer and made available to a peergroup. File-sharing or printing are typical examples of network services. In Pawn, network services are application-centric and provide the mechanisms to query, respond, subscribe, or publish information to a peergroup. Pawn offers four key services to enable dynamic collaborations and autonomic interactions in scientific computing environments. These services are: Application Runtime Control, Application Monitoring and Steering, Application Execution, and Group Communication. These services are briefly described below along with the support they require from the Pawn P2P messaging substrate. Application Execution service [AEX] The Application Execution service enables a peer to remotely start, stop, get the status of, or restart an application. This service requires a mechanism that supports synchronous and guaranteed remote calls necessary for resource allocation and application deployment (i.e. transaction oriented interactions) in a P2P environment. Application Monitoring and Steering service [AMS] The Application Monitoring and Steering service handles interactive (Request/Response) application querying (i.e. PULL), and dynamic steering (i.e. PUSH) of application parameters. It requires support for synchronous and asynchronous communications with message delivery guarantees, and for dynamic data injection (e.g. to push information to an application at runtime). Application Runtime Control service [ARC] The application runtime control service announces the existence of an application to the peergroup, sends application responses, publishes application update messages, and notifies the peergroup of an application termination. This service requires mechanisms for pushing information to the peergroup and for responding to queries (i.e. PUSH and Request/Response interactions). Collaboration Service [Group communication, Presence] The collaboration service provides collaborative tools and support for group communication and detection of presence. Collaborating peers need to establish direct end-to-end communications through synchronous/asynchronous channels (e.g. for file transfer or text communication), and be able to publish information to the peergroup (Transaction and PULL interactions).Implementation of Pawn Services JXTA defines unicast pipes that provide a communication channel between two endpoints, and propagate pipes that can multicast a message to a peergroup. It also defines the Resolver Service that sends and receives messages in an asynchronous manner. The recipient of the message can be a specific peer or an entire peergroup. The pipe and resolver service use the available underlying transport protocol (TCP, HTTP, TLS). To realize the four services identified above, Pawn extends the pipe and resolver services to provide stateful and guaranteed messaging. This messaging is then used to enable the key application-level interactions such as synchronous/asynchronous communication, dynamic data injection, and remote procedure calls.
Stateful Messages
Message Guarantees
Synchronous/Asynchronous communication ![]()
Dynamic Data Injection
Remote Procedure Calls (PawnRPC) ScenarioIn this section, we describe how Pawn is used to support the prototype autonomic oil reservoir optimization application outlined in section 2. Every interacting component is a peer that implements Pawn services. The IPARS Factory, VFSA, and the DISCOVER collaboratory are Application peers and implement ARC and AEX services. The DISCOVER portals are Client peers and implement AMS and Group communication services. Key operations in the process include peer deployment (e.g. IPARS Factory deploys IPARS), peer discovery (e.g IPARS Factory discovers VFSA), peer initialization and configuration (e.g. Expert configures VFSA), autonomic optimization (e.g IPARS and VFSA interactively optimize revenue), interactive monitoring and steering (e.g. Experts connect to, monitor, and steer IPARS), and collaboration (e.g. Experts collaborate with one another). These operations are described below.IPARS Factory and VFSA Optimization Service Deployment
![]() The IPARS Factory and VFSA Optimization peers are deployed using Globus services accessed through DISCOVER/CORBACoG. The VFSA peer is a Fortran program with C wrappers and is integrated with Pawn using the Java Native Interface. The figure shown above presents the sequence of operations involved. The deployment is orchestrated by the Expert through the DISCOVER portal. The portal gives the Expert secure access to all the machines registered with Globus's Meta Directory Service (MDS) to which the Expert has access privileges. Authentication and authorization is based on the Globus GSI service. Once authenticated, the Expert can use the portal to deploy the IPARS Factory and VFSA peers on machines of choice after verifying their availability and current status (load, cpu, memory). Deployment uses the Globus Resource Allocation Management (GRAM) service. The portal also gives the Expert access to already deployed services and applications for collaborative monitoring and steering using DISCOVER services.
Peer Initialization and Discovery ![]() On startup, peers use the underlying JXTA discovery service to publish an advertisement to the peergroup. This advertisement describes the functionalities and services offered by the peer. It also contains a pipe advertisement for input and output communications, and the RPC interfaces offered by the peer for remote monitoring, steering, service invocation and management. To enable peers to mutually recognize each other, the peer that discovers an advertisement sends its advertisement back to the discovered peer. This discovery process is also used by IPARS instances to discover the VFSA service.
IPARS and VFSA Configuration
Oil Reservoir Optimization ![]() Initialization phase In the initialization phase, VFSA provides the IPARS Factory with an initial guess of well parameters based on its configuration by the Expert and the IPARS Factory. This is done using the channel established during discovery and is used by the IPARS Factory to initialize and deploy an IPARS instance. Iterative optimization phase In the iterative optimization phase, the IPARS instance uses the Economic Model along with current market parameters to periodically estimate the current revenue. This revenue is normalized and then communicated to the VFSA service, which in turn uses this value to generate an updated guess of the well parameters and sends this to the IPARS Factory. The IPARS Factory now configures a new instance of IPARS with the updated well parameters and deploys it. This process continues until the required terminating condition is reached (e.g. revenue stabilizes). Well Parameter and Normalized Revenue Archive After each iteration of the optimization process, normalized well parameters produced by VFSA, and the revenue and normalized revenue produced by the Economic Model are stored in an archive (MySQL database) maintained by a dedicated peer. During the optimization process, when a new set of well parameters are received from VFSA, the IPARS Factory checks the archive before launching an IPARS instance. If the current guess is already present in the archive, the corresponding normalized revenue value is sent to VFSA and a redundant IPARS instance is avoided. Note that peer interactions during the optimization process are highly dynamic and require synchronous or asynchronous RPC semantics with guarantees, rather than the document exchanges typically supported by P2P systems. In Pawn, these interactions are enabled by PawnRPC that provides the same semantics as the traditional RPC in a client-server system, but is implemented in a purely P2P manner. Production Runs and Collaborative Monitoring and Steering Once the optimization process terminates and the optimal well parameters are determined, the IPARS Factory allocates appropriate resources, configures a production run based on these parameter, and launches this run on the allocated resources. Experts can now collaboratively connect to the running application, collectively monitor its execution and interactively steer it. The portal interface can also be used to access, monitor, and steer the IPARS Factory, the VFSA optimization service, and the Economic Model. ![]() This figure presents the client peer's portal interface used by the Experts. The Figure shows the Collaboration Services provided, including Chat and Whiteboard.
Sample Results from the Oil Reservoir Optimization Process
![]() Sample results from the oil reservoir optimization process are plotted on the figure shown above. The plots show the well position guesses produced by the VFSA optimization service and the normalized cost. The well positions plot shows the oil reservoir field and the positions of the wells. The black circles are the fixed injection wells. The well at the bottom most part of the plot is a fixed production well. The plot also shows the sequence of guess returned by the VFSA service for the other production well (shown by the lines connecting the light squares). For each guess, the plot on the right shows the corresponding normalized cost value. It can be seen that this value decreases with successive guesses until it stabilizes. This validates the optimization process. These results show that the optimization process required 20 iterations for this example. Contact: automate@caip.rutgers.edu Copyright © TASSL Laboratory |