WO2016033435A1 - Methods and computing systems for virtualization of graphical computing resources - Google Patents

Methods and computing systems for virtualization of graphical computing resources Download PDF

Info

Publication number
WO2016033435A1
WO2016033435A1 PCT/US2015/047395 US2015047395W WO2016033435A1 WO 2016033435 A1 WO2016033435 A1 WO 2016033435A1 US 2015047395 W US2015047395 W US 2015047395W WO 2016033435 A1 WO2016033435 A1 WO 2016033435A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
computer
virtual machine
gpus
computing
Prior art date
Application number
PCT/US2015/047395
Other languages
French (fr)
Inventor
Kanai Pathak
Tarick Ibrahim BEDEIR
Original Assignee
Westerngeco Llc
Schlumberger Canada Limited
Westerngeco Seismic Holdings Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Westerngeco Llc, Schlumberger Canada Limited, Westerngeco Seismic Holdings Limited filed Critical Westerngeco Llc
Publication of WO2016033435A1 publication Critical patent/WO2016033435A1/en

Links

Classifications

    • EFIXED CONSTRUCTIONS
    • E21EARTH DRILLING; MINING
    • E21BEARTH DRILLING, e.g. DEEP DRILLING; OBTAINING OIL, GAS, WATER, SOLUBLE OR MELTABLE MATERIALS OR A SLURRY OF MINERALS FROM WELLS
    • E21B44/00Automatic control systems specially adapted for drilling operations, i.e. self-operating systems which function to carry out or modify a drilling operation without intervention of a human operator, e.g. computer-controlled drilling systems; Systems specially adapted for monitoring a plurality of drilling variables or conditions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Geology (AREA)
  • Mining & Mineral Resources (AREA)
  • Environmental & Geological Engineering (AREA)
  • Fluid Mechanics (AREA)
  • General Life Sciences & Earth Sciences (AREA)
  • Geochemistry & Mineralogy (AREA)
  • Geophysics And Detection Of Objects (AREA)

Abstract

A method including the steps of receiving a request to instantiate a new virtual machine and identifying a target computer in a plurality of computer systems that can meet the computational requirements of the new virtual machine. The method further includes the steps of instantiating the new virtual machine on the target computer and assigning one or more GPUs from a pool of GPUs to the new virtual machine.

Description

METHODS AND COMPUTING SYSTEMS FOR VIRTUALIZATION OF
GRAPHICAL COMPUTING RESOURCES
CROSS REFERENCE TO RELATED APPLICATION
[0001] This Application claims priority to and the benefit of U.S. Provisional
Application 62/044,011 filed on August 29, 2014, the entirety of which is incorporated herein by reference.
BACKGROUND
[0002] Virtualization is the creation of substitutes for real resources, that is substitutes that have the same functions and external interfaces as their counterparts, but that differ in attributes, such as size, performance, and cost. These substitutes are called virtual resources. Virtualization is commonly applied to physical hardware resources by combining multiple physical resources into shared pools from which users receive virtual resources. With virtualization, one physical resource can appear as multiple virtual resources. Virtual resources can have functions or features that are not available in their underlying physical resources.
[0003] Computing system virtualization enables the consolidation of systems, workloads, and operating environments, resource use improvement, and IT flexibility and responsiveness enhancement. System virtualization can create many virtual systems within a single physical system. Virtual systems are independent operating environments that use virtual resources. System virtualization can be approached through hardware partitioning or hypervisor technology. Hardware partitioning subdivides a physical server into fractions, each of which can run an operating system. These fractions are typically created with coarse units of allocation, such as whole processors or physical boards. This type of virtualization allows for hardware consolidation, but does not have the full benefits of resource sharing and emulation offered by hypervisors. Hypervisors use a thin layer of code in software or firmware to achieve fine-grained, dynamic resource sharing. Because hypervisors provide greater flexibility in how virtual resources are defined and managed, they are a common technology of choice for system virtualization. [0004] Some graphics- and computation-intensive software can be particularly demanding and expensive for individuals and companies to acquire and run. High-end medical imaging is one example. Oil and gas exploration and production software is another example. Indeed, running sufficient computing resources for Petrel® software available from Schlumberger, as well as other large-scale processing software such as Omega®, can be more expensive to acquire, maintain, and use than a given individual company may desire. Moreover, software such as Petrel® can be particularly graphics intensive, requiring a user to purchase a more expensive high-performance system than she might otherwise acquire. Towards that end, virtualization of high-performance computing systems and making such virtual systems available to users over though a cloud can be a useful solution to users and organizations.
[0005] Accordingly, there is a need for methods and computing systems that can employ more effective and accurate methods for providing computing resources, including virtualized high-performance computing systems over a cloud to users internal or external to the users' organization.
[0006] As those with skill in the art will appreciate, processing techniques for medical imaging, oil and gas E&P data, and other demanding processing may be successfully carried out according to the various embodiments disclosed herein.
SUMMARY
[0007] The computing systems, methods, processing procedures, techniques and workflows disclosed herein are more efficient and/or effective methods for providing computing resources, including virtualized high-performance computing systems over a cloud to users internal or external to the users' organization.
[0008] In some embodiments, a method includes receiving a request to instantiate a new virtual machine; identifying a target computer in a plurality of computer systems that can meet the computational requirements of the new virtual machine; instantiating the new virtual machine on the target computer; and assigning one or more GPUs from a pool of GPUs to the new virtual machine.
[0009] In some embodiments, there is a plurality of virtual machine flavors. [0010] In some embodiments, the one or more GPUs are installed on a different computer than the target computer
[0011] In some embodiments, the one or more GPUs are used to process oil and gas exploration and production data
[0012] In some embodiments, a computing system displays results from the new virtual machine.
[0013] In some embodiments, computational results from the one or more GPUs are sent to a requesting client computer.
[0014] In some embodiments, a computing system is provided that comprises at least one processor, at least one memory, and one or more programs stored in the at least one memory, wherein the programs comprise instructions, which when executed by the at least one processor, are configured to perform any method disclosed herein.
[0015] In some embodiments, a computer readable storage medium is provided, which has stored therein one or more programs, the one or more programs comprising instructions, which when executed by a processor, cause the processor to perform any method disclosed herein.
[0016] In some embodiments, a computing system is provided that comprises at least one processor, at least one memory, and one or more programs stored in the at least one memory; and means for performing any method disclosed herein.
[0017] In some embodiments, an information processing apparatus for use in a computing system is provided, and that includes means for performing any method disclosed herein.
[0018] These systems, methods, processing procedures, techniques, and workflows increase effectiveness and efficiency. Such systems, methods, processing procedures, techniques, and workflows may complement or replace conventional methods for providing computing resources, including virtualized high-performance computing systems over a cloud to users internal or external to the users' organization. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] For a better understanding of the aforementioned embodiments as well as additional embodiments thereof, reference should be made to the Description of Embodiments below, in conjunction with the following drawings in which like reference numerals refer to corresponding parts throughout the figures.
[0020] Figure OA illustrates a computing system in accordance with some embodiments.
[0021] Figures 0B-0H illustrate simplified, schematic views of an oilfield and its operation in accordance with various embodiments described herein.
[0022] Figures 1 and 2 illustrate methods in accordance with various embodiments described herein.
DESCRIPTION OF EMBODIMENTS
[0023] Reference will now be made in detail to embodiments, examples of which are illustrated in the accompanying drawings and figures. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be apparent to one of ordinary skill in the art that the invention may be practiced without these specific details. In other instances, well-known methods, procedures, components, circuits and networks have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.
[0024] It will also be understood that, although the terms first, second, etc., may be used herein to describe various elements, these elements should not be limited by these terms. These terms are used to distinguish one element from another. For example, a first object or step could be termed a second object or step, and, similarly, a second object or step could be termed a first object or step, without departing from the scope of the invention. The first object or step, and the second object or step, are both objects or steps, respectively, but they are not to be considered the same object or step. [0025] The terminology used in the description of the invention herein is for the purpose of describing particular embodiments and is not intended to be limiting of the invention. As used in the description of the invention and the appended claims, the singular forms "a," "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term "and/or" as used herein refers to and encompasses any possible combination of one or more of the associated listed items. It will be further understood that the terms "includes," "including," "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
[0026] As used herein, the term "if may be construed to mean "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context.
[0027] Those with skill in the art will appreciate that while some terms in this disclosure may refer to absolutes, e.g., all of the components of a wavefield, all source receiver traces, each of a plurality of objects, etc., the methods and techniques disclosed herein may also be performed on fewer than all of a given thing, e.g., performed on one or more components and/or performed on one or more source receiver traces. Accordingly, in instances in the disclosure where an absolute is used, the disclosure may also be interpreted to be referring to a subset.
Computing Systems
[0028] Fig. OA depicts an example computing system 100 in accordance with some embodiments. The computing system 100 can be an individual computer system 101 A or an arrangement of distributed computer systems. In some embodiments, the computer system 101 A includes one or more geosciences analysis modules 102 that are configured to perform various tasks according to some embodiments, such as one or more methods disclosed herein. To perform these various tasks, geosciences analysis module 102 executes independently, or in coordination with, one or more processors 104, which is (or are) connected to one or more storage media 106. The processor(s) 104 is (or are) also connected to a network interface 108 to allow the computer system 101 A to communicate over a data network 109 with one or more additional computer systems and/or computing systems, such as 10 IB, 101C, and/or 10 ID (note that computer systems 101 B, 101C and/or 10 ID may or may not share the same architecture as computer system 101 A, and may be located in different physical locations, e.g., computer systems 101 A and 10 IB may be on a ship underway on the ocean, while in communication with one or more computer systems such as 101C and/or 10 ID that are located in one or more data centers on shore, other ships, and/or located in varying countries on different continents). Note that data network 109 may be a private network, it may use portions of public networks, it may include remote storage and/or applications processing capabilities (e.g., cloud computing).
[0029] In some embodiments (not illustrated), analysis module 102 may be adapted for other forms of analysis, such as medical imaging or other compute- and/or graphics-intensive computer processing.
[0030] A processor can include a microprocessor, microcontroller, processor module or subsystem, programmable integrated circuit, programmable gate array, or another control or computing device.
[0031] The storage media 106 can be implemented as one or more computer-readable or machine-readable storage media. Note that while in the example embodiment of Fig. OA storage media 106 is depicted as within computer system 101 A, in some embodiments, storage media 106 may be distributed within and/or across multiple internal and/or external enclosures of computing system 101 A and/or additional computing systems. Storage media 106 may include one or more different forms of memory including semiconductor memory devices such as dynamic or static random access memories (DRAMs or SRAMs), erasable and programmable read-only memories (EPROMs), electrically erasable and programmable readonly memories (EEPROMs) and flash memories; magnetic disks such as fixed, floppy and removable disks; other magnetic media including tape; optical media such as compact disks (CDs) or digital video disks (DVDs), BluRays or any other type of optical media; or other types of storage devices. Note that the instructions discussed above can be provided on one computer- readable or machine-readable storage medium, or alternatively, can be provided on multiple computer-readable or machine-readable storage media distributed in a large system having possibly plural nodes and/or non-transitory storage means. Such computer-readable or machine-readable storage medium or media is (are) considered to be part of an article (or article of manufacture). An article or article of manufacture can refer to any manufactured single component or multiple components. The storage medium or media can be located either in the machine running the machine-readable instructions, or located at a remote site from which machine-readable instructions can be downloaded over a network for execution.
[0032] It should be appreciated that computer system 101 A is one example of a computing system, and that computer system 101 A may have more or fewer components than shown, may combine additional components not depicted in the example embodiment of Figure OA, and/or computer system 101 A may have a different configuration or arrangement of the components depicted in Figure OA. The various components shown in Fig. OA may be implemented in hardware, software, or a combination of both, hardware and software, including one or more signal processing and/or application specific integrated circuits.
[0033] It should also be appreciated that while no user input/output peripherals are illustrated with respect to computer systems 101A, 101B, 101C, and 101D, many embodiments of computing system 100 include computer systems with keyboards, mice, touch screens, displays, etc. Some computer systems in use in computing system 100 may be desktop workstations, laptops, tablet computers, smartphones, server computers, etc.
[0034] Any or all of computer systems 101 A, 101 B, 101 C, and 101 D may be configured to access computer system 10 IE over data network 109. Computer system 10 IE includes one or more cloud services module(s) 112, which is configured to provide any of computer systems 101A, 101B, 101C, and 101D access to resources such as graphical processing unit(s) 103a within cloud computing resource pool system(s) 103.
[0035] In some embodiments, cloud services module(s) 112 include one or more hypervisors to facilitate system virtualization to any of computer systems 101A, 101B, 101C, and 10 ID. In some embodiments, module(s) 112 are configured to provide hardware partitioning, (e.g., allocating resources from one or more GPU(s) in computer system 101E for virtualization to other computers in computing system 100). [0036] Further, the steps in the processing methods described herein may be implemented by running one or more functional modules in information processing apparatus such as general purpose processors or application specific chips, such as ASICs, FPGAs, PLDs, or other appropriate devices. These modules, combinations of these modules, and/or their combination with general hardware are included within the scope of protection.
[0037] Figures 0B-0E illustrate simplified, schematic views of oilfield 100 having subterranean formation 102 containing reservoir 104 therein in accordance with implementations of various technologies and techniques described herein. Figure 0B illustrates a survey operation being performed by a survey tool, such as seismic truck 106.1, to measure properties of the subterranean formation. The survey operation is a seismic survey operation for producing sound vibrations. In Figure 0B, one such sound vibration, e.g., sound vibration 112 generated by source 110, reflects off horizons 114 in earth formation 1 16. A set of sound vibrations is received by sensors, such as geop hone-receivers 1 18, situated on the earth's surface. The data received 120 is provided as input data to a computer 122.1 of a seismic truck 106.1, and responsive to the input data, computer 122.1 generates seismic data output 124. This seismic data output may be stored, transmitted or further processed as desired, for example, by data reduction.
[0038] Figure 0C illustrates a drilling operation being performed by drilling tools 106.2 suspended by rig 128 and advanced into subterranean formations 102 to form wellbore 136. Mud pit 130 is used to draw drilling mud into the drilling tools via flow line 132 for circulating drilling mud down through the drilling tools, then up wellbore 136 and back to the surface. The drilling mud is typically filtered and returned to the mud pit. A circulating system may be used for storing, controlling, or filtering the flowing drilling mud. The drilling tools are advanced into subterranean formations 102 to reach reservoir 104. Each well may target one or more reservoirs. The drilling tools are adapted for measuring downhole properties using logging while drilling tools. The logging while drilling tools may also be adapted for taking core sample 133 as shown.
[0039] Computer facilities may be positioned at various locations about the oilfield 100
(e.g., the surface unit 134) and/or at remote locations. Surface unit 134 may be used to communicate with the drilling tools and/or offsite operations, as well as with other surface or downhole sensors. Surface unit 134 is capable of communicating with the drilling tools to send commands to the drilling tools, and to receive data therefrom. Surface unit 134 may also collect data generated during the drilling operation and produce data output 135, which may then be stored or transmitted.
[0040] Sensors (S), such as gauges, may be positioned about oilfield 100 to collect data relating to various oilfield operations as described previously. As shown, sensor (S) is positioned in one or more locations in the drilling tools and/or at rig 128 to measure drilling parameters, such as weight on bit, torque on bit, pressures, temperatures, flow rates, compositions, rotary speed, and/or other parameters of the field operation. Sensors (S) may also be positioned in one or more locations in the circulating system.
[0041] Drilling tools 106.2 may include a bottom hole assembly (BHA) (not shown), generally referenced, near the drill bit (e.g., within several drill collar lengths from the drill bit). The bottom hole assembly includes capabilities for measuring, processing, and storing information, as well as communicating with surface unit 134. The bottom hole assembly further includes drill collars for performing various other measurement functions.
[0042] The bottom hole assembly may include a communication subassembly that communicates with surface unit 134. The communication subassembly is adapted to send signals to and receive signals from the surface using a communications channel such as mud pulse telemetry, electro-magnetic telemetry, or wired drill pipe communications. The communication subassembly may include, for example, a transmitter that generates a signal, such as an acoustic or electromagnetic signal, which is representative of the measured drilling parameters. It will be appreciated by one of skill in the art that a variety of telemetry systems may be employed, such as wired drill pipe, electromagnetic or other known telemetry systems.
[0043] Typically, the wellbore is drilled according to a drilling plan that is established prior to drilling. The drilling plan typically sets forth equipment, pressures, trajectories and/or other parameters that define the drilling process for the wellsite. The drilling operation may then be performed according to the drilling plan. However, as information is gathered, the drilling operation may need to deviate from the drilling plan. Additionally, as drilling or other operations are performed, the subsurface conditions may change. The earth model may also need adjustment as new information is collected
[0044] The data gathered by sensors (S) may be collected by surface unit 134 and/or other data collection sources for analysis or other processing. The data collected by sensors (S) may be used alone or in combination with other data. The data may be collected in one or more databases and/or transmitted on or offsite. The data may be historical data, real time data, or combinations thereof. The real time data may be used in real time, or stored for later use. The data may also be combined with historical data or other inputs for further analysis. The data may be stored in separate databases, or combined into a single database.
[0045] Surface unit 134 may include transceiver 137 to allow communications between surface unit 134 and various portions of the oilfield 100 or other locations. Surface unit 134 may also be provided with or functionally connected to one or more controllers (not shown) for actuating mechanisms at oilfield 100. Surface unit 134 may then send command signals to oilfield 100 in response to data received. Surface unit 134 may receive commands via transceiver 137 or may itself execute commands to the controller. A processor may be provided to analyze the data (locally or remotely), make the decisions and/or actuate the controller. In this manner, oilfield 100 may be selectively adjusted based on the data collected. This technique may be used to optimize (or improve) portions of the field operation, such as controlling drilling, weight on bit, pump rates, or other parameters. These adjustments may be made automatically based on computer protocol, and/or manually by an operator. In some cases, well plans may be adjusted to select optimum (or improved) operating conditions, or to avoid problems.
[0046] Figure 0D illustrates a wireline operation being performed by wireline tool 106.3 suspended by rig 128 and into wellbore 136 of Figure 0C. Wireline tool 106.3 is adapted for deployment into wellbore 136 for generating well logs, performing downhole tests and/or collecting samples. Wireline tool 106.3 may be used to provide another method and apparatus for performing a seismic survey operation. Wireline tool 106.3 may, for example, have an explosive, radioactive, electrical, or acoustic energy source 144 that sends and/or receives electrical signals to surrounding subterranean formations 102 and fluids therein. [0047] Wireline tool 106.3 may be operatively connected to, for example, geophones
118 and a computer 122.1 of a seismic truck 106.1 of Figure 0B. Wireline tool 106.3 may also provide data to surface unit 134. Surface unit 134 may collect data generated during the wireline operation and may produce data output 135 that may be stored or transmitted. Wireline tool 106.3 may be positioned at various depths in the wellbore 136 to provide a survey or other information relating to the subterranean formation 102.
[0048] Sensors (S), such as gauges, may be positioned about oilfield 100 to collect data relating to various field operations as described previously. As shown, sensor S is positioned in wireline tool 106.3 to measure downhole parameters which relate to, for example porosity, permeability, fluid composition and/or other parameters of the field operation.
[0049] Figure 0E illustrates a production operation being performed by production tool
106.4 deployed from a production unit or Christmas tree 129 and into completed wellbore 136 for drawing fluid from the downhole reservoirs into surface facilities 142. The fluid flows from reservoir 104 through perforations in the casing (not shown) and into production tool 106.4 in wellbore 136 and to surface facilities 142 via gathering network 146.
[0050] Sensors (S), such as gauges, may be positioned about oilfield 100 to collect data relating to various field operations as described previously. As shown, the sensor (S) may be positioned in production tool 106.4 or associated equipment, such as Christmas tree 129, gathering network 146, surface facility 142, and/or the production facility, to measure fluid parameters, such as fluid composition, flow rates, pressures, temperatures, and/or other parameters of the production operation.
[0051] Production may also include injection wells for added recovery. One or more gathering facilities may be operatively connected to one or more of the wellsites for selectively collecting downhole fluids from the wellsite(s).
[0052] While Figures 0C-0E illustrate tools used to measure properties of an oilfield, it will be appreciated that the tools may be used in connection with non-oilfield operations, such as gas fields, mines, aquifers, storage or other subterranean facilities. Also, while certain data acquisition tools are depicted, it will be appreciated that various measurement tools capable of sensing parameters, such as seismic two-way travel time, density, resistivity, production rate, etc., of the subterranean formation and/or its geological formations may be used. Various sensors (S) may be located at various positions along the wellbore and/or the monitoring tools to collect and/or monitor the desired data. Other sources of data may also be provided from offsite locations.
[0053] The field configurations of Figures 0B-0E are intended to provide a brief description of an example of a field usable with oilfield application frameworks. Part of, or the entirety, of oilfield 100 may be on land, water, and/or sea. Also, while a single field measured at a single location is depicted, oilfield applications may be utilized with any combination of one or more oilfields, one or more processing facilities and one or more wellsites.
[0054] Figure OF illustrates a schematic view, partially in cross section of oilfield 200 having data acquisition tools 202.1, 202.2, 202.3 and 202.4 positioned at various locations along oilfield 200 for collecting data of subterranean formation 204 in accordance with implementations of various technologies and techniques described herein. Data acquisition tools 202.1-202.4 may be the same as data acquisition tools 106.1-106.4 of Figures 0B-0E, respectively, or others not depicted. As shown, data acquisition tools 202.1-202.4 generate data plots or measurements 208.1-208.4, respectively. These data plots are depicted along oilfield 200 to demonstrate the data generated by the various operations.
[0055] Data plots 208.1-208.3 are examples of static data plots that may be generated by data acquisition tools 202.1-202.3, respectively; however, it should be understood that data plots 208.1-208.3 may also be data plots that are updated in real time. These measurements may be analyzed to better define the properties of the formation(s) and/or determine the accuracy of the measurements and/or for checking for errors. The plots of each of the respective measurements may be aligned and scaled for comparison and verification of the properties.
[0056] Static data plot 208.1 is a seismic two-way response over a period of time. Static plot 208.2 is core sample data measured from a core sample of the formation 204. The core sample may be used to provide data, such as a graph of the density, porosity, permeability, or some other physical property of the core sample over the length of the core. Tests for density and viscosity may be performed on the fluids in the core at varying pressures and temperatures. Static data plot 208.3 is a logging trace that typically provides a resistivity or other measurement of the formation at various depths.
[0057] A production decline curve or graph 208.4 is a dynamic data plot of the fluid flow rate over time. The production decline curve typically provides the production rate as a function of time. As the fluid flows through the wellbore, measurements are taken of fluid properties, such as flow rates, pressures, composition, etc.
[0058] Other data may also be collected, such as historical data, user inputs, economic information, and/or other measurement data and other parameters of interest. As described below, the static and dynamic measurements may be analyzed and used to generate models of the subterranean formation to determine characteristics thereof. Similar measurements may also be used to measure changes in formation aspects over time.
[0059] The subterranean structure 204 has a plurality of geological formations 206.1-
206.4. As shown, this structure has several formations or layers, including a shale layer 206.1, a carbonate layer 206.2, a shale layer 206.3 and a sand layer 206.4. A fault 207 extends through the shale layer 206.1 and the carbonate layer 206.2. The static data acquisition tools are adapted to take measurements and detect characteristics of the formations.
[0060] While a specific subterranean formation with specific geological structures is depicted, it will be appreciated that oilfield 200 may contain a variety of geological structures and/or formations, sometimes having extreme complexity. In some locations, typically below the water line, fluid may occupy pore spaces of the formations. Each of the measurement devices may be used to measure properties of the formations and/or its geological features. While each acquisition tool is shown as being in specific locations in oilfield 200, it will be appreciated that one or more types of measurement may be taken at one or more locations across one or more fields or other locations for comparison and/or analysis.
[0061] The data collected from various sources, such as the data acquisition tools of
Figure OF, may then be processed and/or evaluated. Typically, seismic data displayed in static data plot 208.1 from data acquisition tool 202.1 is used by a geophysicist to determine characteristics of the subterranean formations and features. The core data shown in static plot 208.2 and/or log data from well log 208.3 are typically used by a geologist to determine various characteristics of the subterranean formation. The production data from graph 208.4 is typically used by the reservoir engineer to determine fluid flow reservoir characteristics. The data analyzed by the geologist, geophysicist and the reservoir engineer may be analyzed using modeling techniques.
[0062] Figure 0G illustrates an oilfield 300 for performing production operations in accordance with implementations of various technologies and techniques described herein. As shown, the oilfield has a plurality of wellsites 302 operative ly connected to central processing facility 354. The oilfield configuration of Figure 0G is not intended to limit the scope of the oilfield application system. Part, or all, of the oilfield may be on land and/or sea. Also, while a single oilfield with a single processing facility and a plurality of wellsites is depicted, any combination of one or more oilfields, one or more processing facilities and one or more wellsites may be present.
[0063] Each wellsite 302 has equipment that forms wellbore 336 into the earth. The wellbores extend through subterranean formations 306 including reservoirs 304. These reservoirs 304 contain fluids, such as hydrocarbons. The wellsites draw fluid from the reservoirs and pass them to the processing facilities via surface networks 344. The surface networks 344 have tubing and control mechanisms for controlling the flow of fluids from the wellsite to processing facility 354.
[0064] Attention is now directed to Figure OH, which illustrates a side view of a marine- based survey 360 of a subterranean subsurface 362 in accordance with one or more implementations of various techniques described herein. Subsurface 362 includes seafloor surface 364. Seismic sources 366 may include marine sources such as vibroseis or airguns, which may propagate seismic waves 368 (e.g., energy signals) into the Earth over an extended period of time or at a nearly instantaneous energy provided by impulsive sources. The seismic waves may be propagated by marine sources as a frequency sweep signal. For example, marine sources of the vibroseis type may initially emit a seismic wave at a low frequency (e.g., 5 Hz) and increase the seismic wave to a high frequency (e.g., 80-90Hz) over time. [0065] The component(s) of the seismic waves 368 may be reflected and converted by seafloor surface 364 (i.e., reflector), and seismic wave reflections 370 may be received by a plurality of seismic receivers 372. Seismic receivers 372 may be disposed on a plurality of streamers (i.e., streamer array 374). The seismic receivers 372 may generate electrical signals representative of the received seismic wave reflections 370. The electrical signals may be embedded with information regarding the subsurface 362 and captured as a record of seismic data.
[0066] In one implementation, each streamer may include streamer steering devices such as a bird, a deflector, a tail buoy and the like, which are not illustrated in this application. The streamer steering devices may be used to control the position of the streamers in accordance with the techniques described herein.
[0067] In one implementation, seismic wave reflections 370 may travel upward and reach the water/air interface at the water surface 376, a portion of reflections 370 may then reflect downward again (i.e., sea-surface ghost waves 378) and be received by the plurality of seismic receivers 372. The sea-surface ghost waves 378 may be referred to as surface multiples. The point on the water surface 376 at which the wave is reflected downward is generally referred to as the downward reflection point.
[0068] The electrical signals may be transmitted to a vessel 380 via transmission cables, wireless communication or the like. The vessel 380 may then transmit the electrical signals to a data processing center. Alternatively, the vessel 380 may include an onboard computer capable of processing the electrical signals (i.e., seismic data). Those skilled in the art having the benefit of this disclosure will appreciate that this illustration is highly idealized. For instance, surveys may be of formations deep beneath the surface. The formations may typically include multiple reflectors, some of which may include dipping events, and may generate multiple reflections (including wave conversion) for receipt by the seismic receivers 372. In one implementation, the seismic data may be processed to generate a seismic image of the subsurface 362.
[0069] Typically, marine seismic acquisition systems tow each streamer in streamer array 374 at the same depth (e.g., 5-10m). However, marine based survey 360 may tow each streamer in streamer array 374 at different depths such that seismic data may be acquired and processed in a manner that avoids the effects of destructive interference due to sea-surface ghost waves. For instance, marine-based survey 360 of Figure OH illustrates eight streamers towed by vessel 380 at eight different depths. The depth of each streamer may be controlled and maintained using the birds disposed on each streamer.
[0070] Those with skill in the art will recognize that the oil field exploration, production, and operational settings described above result in the collection of vast amounts of data, much of which requires intensive processing, conditioning, analysis, and visualization. As discussed above, some individuals or companies may not wish to invest significant sums in high-performance computing systems to handle this collected data. Accordingly, attention is now directed to methods, techniques, and computing systems for providing computing resources, including virtualized high-performance computing systems over a cloud that are in accordance with some embodiments. Some operations in the processing procedures, methods, techniques, and workflows disclosed herein may be combined and/or the order of some operations may be changed.
[0071] In some embodiments, a cloud computing system is provided that allows for automated creation of virtual machines (VMs) with graphical processing units (GPUs). Automation of VMs with GPUs facilitates the support and scaling of users, without addition of IT human resources.
[0072] In one example embodiment, cloud services module 112 includes virtualization code for controlling cloud computing fabric, which those with skill in the art will appreciate is one aspect of providing IaaS (Infrastructure as a Service) over the cloud. A cloud computing fabric controller is designed to manage and automate pools of computer resources and can work with virtualization technologies, bare metal server configurations, and high-performance computing (HPC) configurations. One non-limiting example of a cloud computing fabric controller is OpenStack Compute (i.e. nova), which can be used to manage aspects of cloud services, such as a request to instantiate a new virtual machine. In some examples, cloud computing fabric controllers may be configured to initiate instantiation of different varieties, or flavors, of virtual machines (e.g., a VM with 128 gigabytes of RAM, 4 CPU cores, 4 GPUs, and 10 terabytes of disk space, or a VM with 64 gigabytes of RAM, 2 CPU cores, 1 GPUs, and 5 terabytes of disk space). [0073] In some embodiments, cloud services module 112 includes image services that provides discovery, registration, and delivery services for disk and server images. One non- limiting example of a cloud computing fabric controller is OpenStack Image Service (Glance).
[0074] In some embodiments, cloud services module 1 12 includes a scheduler that can determine which cloud computing resource pool system may be able to provide the necessary compute resources to host a new virtual machine.
[0075] As noted above, in some embodiments, cloud services module 112 includes a hypervisor that creates and runs virtual machines. One non-limiting example of a cloud computing fabric controller is Xen Server.
[0076] In some embodiments, cloud services module 112 is configured to define a GPU as a resource in different VM flavors to be instantiated. In some embodiments, cloud services module 1 12 is configured to treat a GPU as a resource to be associated with a GPU passed- through from the cloud computing resource pool as managed by the hypervisor.
[0077] Attention is now directed to example method 1000 that allows for automatic
GPU pass-through of graphical processing resources from a set of hardware resource pools. Those with skill in the art will appreciate that in varying circumstances, the graphics computational resource allocation (i.e., GPU pass-through) and the basic computational resource allocation (i.e., virtual CPUs, disk space, RAM, etc.), for a newly instantiated VM will be from different resource pools.
[0078] Method 1000 includes receiving 1002 a request to instantiate a new virtual machine. In some embodiments, there is a plurality of virtual machine flavours that could be instantiated (1004).
[0079] Method 1000 includes identifying 1006 a target computer in a plurality of computer systems that can meet the computational requirements of the new virtual machine.
[0080] Method 1000 includes instantiating 1008 the new virtual machine on the target computer.
[0081] Method 1010 includes assigning 1010 one or more GPUs from a pool of GPUs to the new virtual machine (e.g., the assignment is for automatic GPU passthrough to the new VM). In some embodiments, the one or more GPUs are installed on a different computer than the target computer (1012).
[0082] In some embodiments, the one or more GPUs are used to process oil and gas exploration and production data (1014).
[0083] In some embodiments, computational results from the one or more GPUs are sent to a requesting client computer (or in some instances, retrieved or read from the one or more GPUs for transmission to the requesting client computer) (1016).
[0084] Attention is now directed to a specific example embodiment of automatic GPU pass-through allocation to a VM. Figure 2 provides context to the following flow, where numeric step designations below correspond to the numbered operations in Figure 2.
[0085] Client code 2000 calls Nova boot API 2002 with image and flavor arguments.
The client code 2000 could be in another application or a command typed from a command line. Nova boot API 2002 reads the image and/or flavor properties 2003, for the flavor specified in the nova boot command. The images are managed by the Glance component 2004 of OpenStack. Nova boot API 2002 reads the image properties for the image specified in the nova boot command. Nova boot API 2002 posts a message through a message queue 2005 to a scheduler 2006 to create a new VM 2008. The scheduler 2006 finds a host 2010 that meets the needs of the new VM 2008. The scheduler 2006 posts a message to the Nova Compute instance 2012 on the host 2010. Nova Compute instance 2012 then creates a virtual machine 2014 with virtual CPUs (vCPUs) 2014a, disks 2014b and RAM 2014c according the flavor properties, from a Xen Server resource pool, for example Xen Server 2016. The nova compute instance 2012 automatically assigns GPU pass-through from the GPU pool in the Xen Server 2016, to the VM 2010. The Xen Server 2016 assigns an available GPU to the VM 2010. At the point the virtual machine 2010 in the cloud is ready for use. A remote user 2018 can then run a Petrel® session in the cloud. At some times, Petrel® does 3D rendering using OpenGL, which in turns interacts with the GPU assigned to this VM. The user may access Petrel® running in cloud environment using remote visualization (server & client) software such as ThinAnywhere, HP RGS etc. [0086] Those with skill in the art will appreciate that the method 1000 and the specific example embodiment of automatic GPU pass-through allocation to a VM discussed above can be utilized with any type of high-performance graphics software where virtualization is desirable.
[0087] The steps in some of the methods described above may be implemented by running one or more functional modules in information processing apparatus such as general purpose processors or application specific chips, such as ASICs, FPGAs, PLDs, or other appropriate devices. These modules, combinations of these modules, and/or their combination with general hardware are included within the scope of protection.
[0088] While any discussion of or citation to related art in this disclosure may or may not include some prior art references, applicant neither concedes nor acquiesces to the position that any given reference is prior art or analogous prior art.
[0089] The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated.

Claims

What is claimed is:
1. A method, comprising:
receiving a request to instantiate a new virtual machine;
identifying a target computer in a plurality of computer systems that can meet the computational requirements of the new virtual machine;
instantiating the new virtual machine on the target computer; and
assigning one or more GPUs from a pool of GPUs to the new virtual machine.
2. The method of claim 1 , wherein there is a plurality of virtual machine flavors.
3. The method of claim 1, wherein the one or more GPUs are installed on a different computer than the target computer.
4. The method of claim 1 , wherein the one or more GPUs are used to process oil and gas exploration and production data.
5. A computing system comprising at least one processor, at least one memory, and one or more programs stored in the at least one memory, wherein the programs comprise instructions, which when executed by the at least one processor, are configured to perform a method according to any one of claims 1 through 3.
6. A computer readable storage medium, which has stored therein one or more programs, the one or more programs comprising instructions, which when executed by a processor, cause the processor to perform a method according to any one of claims 1 through 3.
7. A computing system comprising at least one processor, at least one memory, and one or more programs stored in the at least one memory; and means for performing a method according to any one of claims 1 through 3.
8. An information processing apparatus for use in a computing system includes means for performing a method according to any one of claims 1 through 3.
PCT/US2015/047395 2014-08-29 2015-08-28 Methods and computing systems for virtualization of graphical computing resources WO2016033435A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201462044011P 2014-08-29 2014-08-29
US62/044,011 2014-08-29

Publications (1)

Publication Number Publication Date
WO2016033435A1 true WO2016033435A1 (en) 2016-03-03

Family

ID=55400643

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2015/047395 WO2016033435A1 (en) 2014-08-29 2015-08-28 Methods and computing systems for virtualization of graphical computing resources

Country Status (1)

Country Link
WO (1) WO2016033435A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110284872A (en) * 2019-06-10 2019-09-27 中国石油大学(北京) The virtual flow rate calculation method and system of the underwater acquisition system of offshore gas field group
CN113986547A (en) * 2021-10-29 2022-01-28 江苏安超云软件有限公司 Method for creating cloud host and management system of vGPU

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100115510A1 (en) * 2008-11-03 2010-05-06 Dell Products, Lp Virtual graphics device and methods thereof
US20100262722A1 (en) * 2009-04-10 2010-10-14 Christophe Vauthier Dynamic Assignment of Graphics Processing Unit to a Virtual Machine
US20120054740A1 (en) * 2010-08-31 2012-03-01 Microsoft Corporation Techniques For Selectively Enabling Or Disabling Virtual Devices In Virtual Environments
US20120069032A1 (en) * 2010-09-17 2012-03-22 International Business Machines Corporation Optimizing Virtual Graphics Processing Unit Utilization
US8166473B2 (en) * 2005-04-21 2012-04-24 Microsoft Corporation Method and system for a resource negotiation between virtual machines

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8166473B2 (en) * 2005-04-21 2012-04-24 Microsoft Corporation Method and system for a resource negotiation between virtual machines
US20100115510A1 (en) * 2008-11-03 2010-05-06 Dell Products, Lp Virtual graphics device and methods thereof
US20100262722A1 (en) * 2009-04-10 2010-10-14 Christophe Vauthier Dynamic Assignment of Graphics Processing Unit to a Virtual Machine
US20120054740A1 (en) * 2010-08-31 2012-03-01 Microsoft Corporation Techniques For Selectively Enabling Or Disabling Virtual Devices In Virtual Environments
US20120069032A1 (en) * 2010-09-17 2012-03-22 International Business Machines Corporation Optimizing Virtual Graphics Processing Unit Utilization

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110284872A (en) * 2019-06-10 2019-09-27 中国石油大学(北京) The virtual flow rate calculation method and system of the underwater acquisition system of offshore gas field group
CN113986547A (en) * 2021-10-29 2022-01-28 江苏安超云软件有限公司 Method for creating cloud host and management system of vGPU

Similar Documents

Publication Publication Date Title
US20240053500A1 (en) Seismic data interpretation system
US10422906B2 (en) Modeling and filtering coherent noise in seismic surveys
US20150253445A1 (en) Visualization of seismic attributes
US20170176228A1 (en) Drilling fluid loss rate prediction
EP4147075A1 (en) Interpreting seismic faults with machine learning techniques
WO2021046576A1 (en) Unsupervised well log reconstruction and outlier detection
EP3423870B1 (en) Image enhancement using seismic partition images
US10514475B2 (en) Post-critical reflection muting in seismic migration
US20220121987A1 (en) Differential multi model training for multiple interpretation options
WO2016033435A1 (en) Methods and computing systems for virtualization of graphical computing resources
US11774620B2 (en) Interpolation of seismic data with time variant locations
EP3377923B1 (en) Horizon-based splitting intensity inversion for anisotropic characterization of a target volume
EP3271549B1 (en) Single streamer deghosting with extended model space
WO2019060220A1 (en) Reconstruction of multi-shot, multi-channel seismic wavefields
US20240054398A1 (en) Machine learning training based on dual loss functions
WO2024064625A1 (en) A system and method for providing and executing standardized seismic processing workflows
WO2023043925A1 (en) Systems and methods for modeling a subsurface volume using time-lapse data
WO2024049404A1 (en) Seismic wavefield deconvolution

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15837028

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15837028

Country of ref document: EP

Kind code of ref document: A1