System and method for dynamic modeling of computer resources
By designing a system for dynamic modeling of computer resources and using the system coordinator to monitor and control distributed computing units and power generation modules, the problem of difficult to manage and control dynamic balance in the prior art is solved, and efficient power consumption regulation and maximizing the total utility of power consumption equipment is achieved.
Patent Information
- Application Number
- CN202380053825.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-07-14
- Filing Date
- 2023-07-14
- Publication Date
- 2025-02-28
AI Technical Summary
The prior art is difficult to effectively manage and control the dynamic balance between distributed computing units and power generation modules, especially in the context of portability and technological development, resulting in increased system complexity and risk of equipment damage.
A system for dynamic modeling of computer resources is designed to generate a graphical user interface through the system coordinator, monitor and control distributed computing units and power generation equipment, dynamically adjust power consumption, and achieve the best balance between power generation and power consumption.
Real-time monitoring and control of distributed computing units and power generation modules is realized, and power consumption is dynamically adjusted, the overall effectiveness of power consumption equipment is maximized, and system complexity and risk of equipment damage are reduced.
Smart Images

Figure CN119547054A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to U.S. Provisional Patent Application No. 63 / 389,170, filed on July 14, 2022, entitled “SYSTEM AND METHOD FOR DYNAMIC MODELING OF COMPUTER RESOURCES,” the entire contents of which are incorporated herein by reference. Background Art
[0003] In general, the present application discloses a system for dynamically modeling computer resources associated with an electric power system, and more specifically, the present application relates to a system and method for managing and controlling the operation of these resources to achieve an optimal and dynamic balance between power generation and consumption.
[0004] U.S. Patent No. 10,862,307 (incorporated herein by reference in its entirety) discloses a flaring mitigation system that utilizes a power generation device to convert natural gas from an oil well into electricity. These systems allow the generated electricity to be consumed on-site, for example, to run computing units that perform power-intensive distributed computing tasks, thereby generating revenue.
[0005] Using power generation modules to power distributed computing units presents a number of challenges, including portability and the ongoing evolution of related technologies. As computing units such as cryptocurrency miners or servers containing GPUs continue to advance in processing power and energy efficiency, these ongoing changes present many technical problems for tracking power generation and consumption metrics, especially when these computing units are installed in various remote locations (such as oil fields) and use intermittent power generated by one or more generators.
[0006] For example, if a compute unit is replaced with a newer model, or moved from one location to another, this is more complicated than simply unplugging the old device and plugging in the new one. At a site, there may be multiple generators to provide the required energy for multiple power-consuming devices (such as compute units), and problems may arise if there is no synergistic relationship between power generation and power consumption at a specific site. For example, if a power generation module is operated outside of specific operating parameters, the equipment may be damaged. In addition, optimizing the utility of power-consuming devices further increases the complexity of the system; the specific balance between power generation and power consumption requires finding a precise balance between exercising caution and achieving business needs.
[0007] In order to control such systems in an optimal and dynamic manner, a large amount of data needs to be continuously generated and processed. To this end, it is necessary to implement a system and method so that each power generating device (e.g., power generation module) and each power consuming device (e.g., computing unit) can be monitored, analyzed, and controlled. These systems should be able to iteratively predict power generation in complex installation environments with multiple generators and multiple power consuming devices, and dynamically adjust power consumption. It would be very beneficial if these systems could dynamically determine the optimal or target power generation of a group of generators based on continuously summarized power generation data and statistics. It would be even more beneficial if these systems could adjust individual power consuming devices based on priority information, and then dynamically balance real-time power consumption (i.e., load) based on the determined target power, thereby maximizing the total utility of the power consuming devices (e.g., hash computing power, revenue generation, etc.). Summary of the invention
[0008] In accordance with the above objectives and other objectives, the present application discloses an exemplary system and method for dynamic modeling of computer resources. The system may include: a processor; a memory; a system coordinator, wherein the system coordinator is stored in the memory, and when the system coordinator is executed by the processor, the processor is caused to perform the following operations: generating a graphical user interface to model multiple distributed computing units and multiple physical containers that communicate with a network; wherein each physical container accommodates a subset of the multiple distributed computing units, and each distributed computing unit has a pre-assigned unique hardware identifier that is accessible to the system coordinator network; each physical container has multiple network interfaces, each network interface is assigned a network address, and each distributed computing unit is connected to a network interface and is associated with a corresponding network address; generating in a database in the memory A data record comprising location information of each distributed computing unit communicating with a network and / or container information of each physical container; the container information and / or location information is automatically assigned to each distributed computing unit communicating with a network according to a network address of a corresponding network interface; an inventory identifier unique to the system coordinator is automatically assigned to each distributed computing unit, the inventory identifier being stored in the database together with the container information of the distributed computing unit and the pre-assigned unique hardware identifier; and the container information and / or location information of each distributed computing unit is dynamically adjusted in response to the distributed computing unit being disconnected from the corresponding network interface and reconnected to a different network interface in a different physical container.
[0009] In some aspects, the technology disclosed in the present application relates to a system, wherein the container information includes information describing the geographic location of the physical container, the container identifier of the physical container, the size of the physical container, the type of the physical container, and the cost of the physical container; wherein the location information includes the location of the distributed computing unit in the corresponding physical container, including at least one of the rack, bracket, and slot in which the distributed computing unit is located in the corresponding physical container.
[0010] In some aspects, the technology provided by the present application relates to a system, wherein the dynamically adjusting container information and / or location information includes confirming the container information and / or location information through an automatic joining event.
[0011] In some aspects, the technology provided herein relates to a system wherein the automatic joining event includes scanning a machine-readable representation attached to a distributed computing unit.
[0012] In some aspects, the technology provided in this application relates to a system wherein the scanning of the machine-readable representation occurs in a maintenance facility, and the container information and / or location information of the distributed computing unit is updated to indicate the geographic location of the maintenance facility and / or the location of the distributed computing unit within the maintenance facility.
[0013] In some aspects, the technology provided in this application relates to a system wherein the scanning of the machine-readable representation occurs in a storage facility, and the container information and / or location information of the distributed computing unit is updated to indicate the geographic location of the storage facility and / or the location of the distributed computing unit within the storage facility.
[0014] In some aspects, the technology provided by the present application relates to a system wherein, when a new join event indicates that a new distributed computing unit has been added to a physical container, the system coordinator causes the processor to: automatically update a database to include a new data record, wherein the data record includes an automatically generated inventory identifier.
[0015] In some aspects, the technology provided in the present application relates to a system wherein, when a new distributed computing unit is connected to a network interface of a physical container, the system coordinator causes the processor to automatically obtain a pre-allocated unique hardware identifier from the new distributed computing unit, and stores the pre-allocated unique hardware identifier together with the geographic location of the network interface to which the new distributed computing unit is connected in the new data record.
[0016] In some aspects, the technology provided in this application relates to a system, wherein the distributed computing unit is a plurality of cryptocurrency miners.
[0017] In some aspects, the technology provided herein relates to a system in which each data record contains financial information related to a cryptocurrency miner.
[0018] In some aspects, the technology provided by this application relates to a system, wherein the financial information includes at least one of the purchase price of the cryptocurrency mining machine, the depreciation of the cryptocurrency mining machine, and the income generated by the cryptocurrency mining machine.
[0019] In some aspects, the technology provided in this application relates to a system in which each data record includes repair and / or maintenance history information of the cryptocurrency mining machine, including financial costs associated with the repair and / or maintenance.
[0020] In some aspects, the technology provided herein relates to a system in which each data record includes a hash rate of the cryptocurrency miner.
[0021] In some aspects, the technology provided in the present application relates to a system in which each distributed computing unit includes multiple graphics processing units, and the data records include: the number of graphics processing units of each distributed computing unit; the number of graphics processing units currently available to each distributed computing unit; and the number of graphics processing units currently used by each distributed computing unit.
[0022] In some aspects, the technology provided in this application relates to a system in which each distributed computing unit is configured to run multiple virtual machines, each graphics processing unit runs a virtual machine alone or together with other graphics processing units of the corresponding distributed computing unit, and the data record includes one or more graphics processing units running each virtual machine.
[0023] In some aspects, the technology provided by this application relates to a system, wherein the data record includes the number of graphics processing units on each distributed computing unit currently running virtual machines and the remaining capacity of each distributed computing unit to run more virtual machines.
[0024] In some aspects, the technology provided in the present application relates to a system, wherein the physical container includes a plurality of racks having predetermined rack positions, which are configured to accommodate distributed computing units, each predetermined rack position being associated with a network interface; the memory is partitioned to store the predetermined rack positions and their associated network interfaces; and the system coordinator is configured to automatically assign the predetermined rack positions associated with the network interfaces to which the distributed computing units are connected to corresponding data records.
[0025] In some aspects, the technology provided in this application relates to a system, wherein the physical containers are located in different physical sites, each physical site has at least one physical container, and at least one physical site has multiple physical containers; the system coordinator is configured to enable the processor to generate a graphical user interface to depict the physical sites, the physical containers within the physical sites, the predetermined rack positions within the containers, and the distributed computing units in the rack positions.
[0026] In some aspects, the technology provided by the present application relates to a method for updating a computerized inventory of distributed computing units, wherein the distributed computing units can be moved between multiple containers at multiple physical sites, the method comprising: providing a computer system comprising a processor, a memory and a system coordinator, wherein the system coordinator is stored in the memory, and the system coordinator can be executed by the processor to update the inventory model stored in the memory; the inventory model comprises modeling information of multiple distributed computing units and multiple physical containers that communicate with a network; each physical container accommodates a subset of the multiple distributed computing units, and each distributed computing unit has a pre-assigned unique hardware identifier that can be accessed by the system coordinator network; each physical container has multiple network interfaces, each network interface is assigned a network address, and each distributed computing unit is connected to a network interface and is associated with a corresponding network address; in response to a request from a user device, the system coordinator generates a new object in the memory and stores the library unique to the system coordinator. The system coordinator is configured to associate a pre-assigned unique hardware identifier with the new object; instruct a user device to generate a user interface, the user interface being configured to generate a request to create a machine-readable representation of the inventory identifier for attachment to a distributed computing unit; when a new distributed computing unit is connected to the corresponding network interface, the system coordinator automatically performs the following operations: obtain a pre-assigned unique hardware identifier from the new distributed computing unit; determine location information based on the network address of the corresponding network interface, including a physical container where the corresponding network interface is located and a location of the corresponding network interface in the physical container; instruct the user device to generate a visual representation of the new distributed computing unit in a graphical user interface displayed thereon; when an input of the machine-readable representation of the inventory identifier is received through the user device or another user device, associate the pre-assigned unique hardware identifier with the new object generated in the inventory model; associate the location information with the new object in the inventory model; and provide a visual representation of the new object through the user interface.
[0027] In some aspects, the technology provided herein relates to a method in which, before a new distributed computing unit is connected to a corresponding network interface, a new object is generated in the memory and an inventory identifier unique to a system coordinator is associated with the new object.
[0028] In some aspects, the technology provided herein relates to a method in which a user interface for generating a request to create a machine-readable representation of an inventory identifier is a user interface configured to generate a request to print the machine-readable representation of the inventory identifier.
[0029] In some aspects, the technology provided in the present application relates to a method, wherein a new distributed computing unit connected to a corresponding network interface is located at a specific location on a rack in a physical container, and the location of the corresponding network interface in the physical container includes the specific location of the new distributed computing unit on the rack.
[0030] In some aspects, the technology provided in the present application relates to a method, which also includes: the system coordinator obtains and / or transmits data for displaying a visual representation of the relationship between the new distributed computing unit in the physical container at the corresponding position on the rack and other distributed computing units on a user interface containing a visual representation of the new object.
[0031] In some aspects, the technology provided in the present application relates to a method, which also includes: when a distributed computing unit is disconnected from its corresponding network interface and reconnected to another network interface at another location, the system coordinator automatically generates updated location information for the reconnected distributed computing unit based on the location information associated with the other network interface.
[0032] In some aspects, the technology provided by the present application relates to a method, wherein, upon reconnection, the system coordinator automatically determines a pre-assigned unique hardware identifier of a reconnected distributed computing unit and looks up an object associated with the unique hardware identifier in an inventory model to identify the reconnected distributed computing unit and associate updated location information of the reconnected distributed computing unit with the object.
[0033] In some aspects, the technology provided in the present application relates to a system for dynamic modeling of computer resources, including: a communication system for providing a network, the communication system including multiple network interfaces, each network interface is assigned a network address; a coordination computer that communicates with the network, the coordination computer including a coordination processor, a coordination memory and a system coordinator stored in the coordination memory, the system coordinator is executed by the coordination processor so that the coordination processor performs related operations; a first distributed computing unit set located in a first physical container at a first physical site, which communicates with the network through a network interface, each distributed computing unit has a pre-assigned unique hardware identifier, the system coordinator can access the hardware identifier through the network, each distributed computing unit is connected to one of the network interfaces and is associated with a corresponding network address; a first container controller, including a first controller processor, a first controller memory and a first controller coordinator, the first controller coordinator is configured to be in the first controller Data including the total computing power and currently available computing power of each first distributed computing unit is stored or periodically transmitted in the memory; and a set of second distributed computing units located in a second physical container at the first physical site or the second physical site, which communicate with the network through a network interface, each distributed computing unit has a pre-assigned unique hardware identifier, and the system coordinator can access the hardware identifier through the network, each distributed computing unit is connected to one of the network interfaces and associated with a corresponding network address; a second container controller, including a second controller processor, a second controller memory and a second controller coordinator, the second controller coordinator is configured to store or periodically transmit data including the total computing power and currently available computing power of each second distributed computing unit in the second controller memory, and the system coordinator is configured to communicate with the first and second container coordinators to obtain the total computing power and currently available computing power of each first and second distributed computing unit.
[0034] In some aspects, the technology provided by the present application relates to a system in which a coordination computer is configured to receive a virtual machine access request from a client computer, respond to the request to obtain the current available computing capacity of each first and second distributed computing units, and establish a virtual machine on the first or second distributed computing unit based on the current available computing capacity from the first and second inventory models.
[0035] In some aspects, the technology provided in the present application relates to a system, wherein each of the first and second distributed computing units is configured to run one or more virtual machines, each graphics processing unit is used to run a virtual machine alone, or to run a virtual machine together with one or more other graphics processing units of the distributed computing unit, and each of the first and second distributed computing units also includes an agent, which is configured to control multiple virtual machines generated by the respective first or second distributed computing units, the system coordinator is configured to instruct the first or second container coordinator to generate a virtual machine requested by a client computer, and the first or second container coordinator is configured to instruct one of the agents to generate the virtual machine requested by the client computer on one or more graphics processing units.
[0036] In some aspects, the technology provided herein relates to a system in which each agent is configured to monitor and store and / or periodically transmit metadata of a graphics processing unit controlled by it to broadcast it to a corresponding first or second container orchestrator.
[0037] In some aspects, the technology provided in this application relates to a system in which a first or second container coordinator is configured to obtain information about which graphics processing units in the first and second distributed computing units are mining cryptocurrencies and which graphics processing units are generating virtual machines for clients, and transmit the obtained information to a system coordinator.
[0038] In some aspects, the technology provided in the present application relates to a system, wherein a coordinating computer is configured to receive a request to run a virtual machine from a client computer, and in response to the request, send a query request to the first and second container coordinators through a system coordinator to obtain the operating status of the graphics processing units of the first and second distributed computing units, send instructions to one or more graphics processing units of the first or second distributed computing unit, clear the currently running virtual machine, and start the virtual machine newly requested by the client computer on the graphics processing unit from which the original virtual machine has been cleared.
[0039] In some aspects, the technology provided by the present application relates to a system in which, while a virtual machine requested by a client computer is started on corresponding one or more graphics processing units, a system coordinator is configured to prompt the available graphics processing units to start another virtual machine to run a hash algorithm to mine cryptocurrency.
[0040] In some aspects, the technology provided by the present application relates to a method for allocating computer resources, including: receiving a virtual machine access request from a client computer by a system coordinator connected to a plurality of distributed computing units through a network, the plurality of distributed computing units including at least one group of first distributed computing units in a first physical container located at a first physical location and at least one group of second distributed computing units in a second physical container located at the first physical location or a second physical location, each of the first and second distributed computing units including a plurality of graphics processing units, the request indicating the number of graphics processing units used to run the requested virtual machine; the request instructing to select a distributed computing unit having a number of one or more available graphics processing units equal to or greater than the number of requested graphics processing units from the first and second distributed computing units, the one or more available graphics processing units having available computing capabilities for generating the requested virtual machine; the request instructing the one or more available graphics processing units to clear all basic loads running on the one or more available graphics processing units of the selected distributed computing units, the number of the one or more available graphics processing units being equal to the total number of graphics processing units of the selected distributed computing unit minus the number of graphics processing units of the selected distributed computing unit running one or more virtual machines for the client computer; and after clearing all basic loads, starting the requested virtual machine on the one or more available graphics processing units of the selected distributed computing unit.
[0041] In some aspects, the technology provided in this application relates to a method in which the number of one or more available graphics processing units is greater than the number of requested graphics processing units so that after the requested virtual machine is started on the requested number of graphics processing units, there are still additional available graphics processing units, and the method further includes starting a new basic load on the additional available graphics processing units, and the new basic load runs in parallel with the requested virtual machine.
[0042] In some aspects, the technology provided herein relates to a method in which the base load and the new base load are each virtual machines that perform profitable tasks.
[0043] In some aspects, the technology provided herein relates to a method in which the profitable task is to run a hashing algorithm to mine cryptocurrency.
[0044] In some aspects, the technology provided by this application relates to a method in which the profitable task is to train a machine learning model.
[0045] In some aspects, the technology provided in this application relates to a method, wherein the step of selecting a distributed computing unit having one or more available graphics processing units and a number equal to or greater than the requested number of graphics processing units from a first and a second distributed computing unit includes: querying a first container coordinator, analyzing the first distributed computing unit, and querying a second container coordinator, analyzing the second distributed computing unit to determine whether the first or second distributed computing unit has sufficient computing power to generate the requested virtual machine.
[0046] The following is a detailed description of one or more embodiments of the present invention in conjunction with the accompanying drawings. Other features, aspects and advantages of the present invention will become apparent from the description, drawings and claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] Figure 1 The components of an exemplary system 100 according to one embodiment are shown.
[0048] Figure 2 It shows that Figure 1 An exemplary power generation system 200 for use in the system 100 is shown.
[0049] Figure 3a A method 300 is shown for dynamically creating and updating powered device objects in a computerized inventory corresponding to distributed computing units (DCUs) movable in a plurality of containers at one or more sites.
[0050] Figure 3b Shown in Figure 3a A sub-step of step 308 in method 300 in .
[0051] Figure 4 A method 400 for allocating computing resources of a power consuming system is shown;
[0052] Figure 5 A method 500 is shown, which is used to dynamically determine the target power output of the power generation system to balance the load of the power consumption system, and maximize the total utility of the power consumption system by selecting and adjusting various power consumption devices.
[0053] Figure 6 An exemplary computing machine 600 and module 650 are shown according to one embodiment. DETAILED DESCRIPTION
[0054] See also Figure 1, shows an exemplary system 100 for dynamic modeling of computer resources according to an embodiment. As shown in the figure, the system 100 may include a central control system 101, which communicates with various subsystems constituting a specific device or site 108 through a network 134. Typically, the site 108 includes a power generation system 200, a power consumption system 103, and a communication system 132, which provides communication with the central control system 101 (e.g., through a network 134).
[0055] The central control system 101 is typically configured to manage (i.e., model, monitor, and control) the components of the site 108 to keep process conditions within acceptable operating constraints. These constraints may be determined by economic, practical, and / or safety requirements. In certain embodiments, the coordinator 130 of the control system 101 may handle high-level operational control objectives, low-level PID loops, communications with local and remote operators, and communications with local and remote systems.
[0056] In one embodiment, the coordinator 130 includes a coordination processor 130a, a coordination memory 130b, and a system coordinator 130c stored in the coordination memory 130b, and the system coordinator 130c is executed by the coordination processor 130a to enable the coordination processor 130a to perform operations related to managing various components related to each site 108. It will be understood that although only one site 108 is shown, the control system 101 can manage any number of sites and / or additional components that are not associated with a specific site.
[0057] As shown, system 100 includes a power generation system 200 associated with site 108. Power generation system 200 may include any number of generators 231 for generating electricity 205 that can be consumed by components of power consumption system 103. Figure 2 As discussed in detail, the generator 231 may include one or more power generation modules (e.g., generator sets, turbines, etc.) that generate electricity 205 using fuel gas (e.g., natural gas). Additionally or alternatively, energy generation devices such as solar panels, wind turbines, batteries, etc. may also be used.
[0058] The power consumption system 103 may also be implemented as part of the site 108. The power consumption system 103 generally includes any number of power consumption devices 112, 122 for consuming the power 205 generated by the power generation system 200. Preferably, the power consumption devices include distributed computing units ("DCU") 112, 122, which together implement a modular computing device, such as a data center, a cryptocurrency mining machine, or a graphics computing unit.
[0059] Each distributed computing unit DCU 112, 122 may include a computer device having one or more processors 116, 126 (e.g., CPU, GPU, ASIC, etc.) for executing any number of processing, computing, and / or graphics intensive computing programs. For example, the distributed computing unit DCU may be used for artificial intelligence ("AI") research, machine learning ("ML") and other model training, data analysis, server functions, storage, virtual reality ("VR") and / or augmented reality ("AR") applications, Golem Project-related tasks, and non-monetary blockchain applications.
[0060] In another embodiment, the distributed computing unit DCU can be used to perform mathematical operations related to cryptocurrency mining, including calculating the following hash algorithms: SHA-256, ETHash, scrypt, CryptoNight, RIPEMD160, BLAKE256, X11, Dagger-Hashimoto, Equihash, LBRY, X13, NXT, Lyra2RE, Qubit, Skein, Groestl, BOINC, X11gost, Scrypt-jane, Quark, Kec cak, Scrypt-OG, X14, Axiom, Momentum, SHA-512, Yescrypt, Scrypt-N, Cunningham, NIST5, Fresh, AES, 2Skein, Equilhash, KS HAKE320, Sidechain, Lyra2RE, HybridScryptHash256, Momentum, HEFTY1, Skein-SHA2, Qubit, SpreadX11, Pluck and / or Fugue256.
[0061] As shown, the distributed computing units DCU 112, 122 may be housed within one or more containers, structures, or data centers 110, 120 located at a physical location associated with the site 108. In some embodiments, the containers 110, 120 may include prefabricated cases or enclosures for housing and protecting various electronic devices. The enclosures may include custom shipping containers or other modular enclosure systems for portability, durability, safety, stacking capabilities, ventilation, weatherproofing, dustproofing, and design requirements for operation in harsh oilfield conditions.
[0062] Each container 110, 120 may also include a power distribution system 186 for receiving power 205 from the power generation system 200 and distributing it to various electrical components within the container. To this end, the power distribution system 186 may include a series of power distribution units ("PDUs") or power channels for power transmission to one or more circuit breaker panels. In some embodiments, the container 110, 120 may also include one or more backup power systems 187 (e.g., batteries) and / or an environmental control system 189.
[0063] As shown, the containers 110, 120 (and any electronic components contained therein) can communicate with the central control system 101 by connecting to the communication system 132. For example, each container 110, 120 can include multiple network interfaces 136 (each interface has a network address) of the communication system 132, and the distributed computing units DCU 112, 122 can be connected to these interfaces 136 (e.g., via Ethernet).
[0064] Each container 110, 120 may include a container controller 114, 124, which is configured to communicate with the central control system 101 and the distributed computing unit DCU of the corresponding container (discussed in detail below). For example, the first container 110 may include a plurality of first distributed computing units DCU 112 and a first container controller 114 configured to control the first distributed computing units DCU 112; the second container 120 may include a plurality of second distributed computing units DCU 122 and a second container controller 124 configured to control the second distributed computing unit DCU 122. In each case, the corresponding container controller 114, 124 may control one or more related distributed computing units DCU 112, 122 based on information received from the distributed computing unit DCU (or other container components) and / or according to instructions received from the central control system 101.
[0065] As shown, each container controller 114, 124 may include a controller processor 114a, 124a, a controller memory 114b, 124b, and a container coordinator 114c, 124c. Each container controller 114, 124 is generally configured to determine the power usage information of each power-consuming device associated with the corresponding container and the container information related to the corresponding container (discussed in detail below). The container controllers 114, 124 may also be further configured to store this information in their respective controller memories 114b, 124b and / or periodically transmit this information to the central control system 101 (directly or through an intermediary device such as a site controller 177) so that this information can be stored in the database 130e.
[0066] As follows about Figure 3a-b, the container information and power usage information can be used to execute method 300 for managing a digital inventory of distributed computing units DCU (e.g., 112, 122), which can be moved between multiple containers (e.g., 110, 120) associated with a single site (e.g., 108) or even across multiple sites.
[0067] In some embodiments, each container controller 114, 124 may include a control module 114d, 124d, which is used to adjust the operating parameters of the relevant power-consuming equipment (e.g., DCU 112, 122). Figure 5 As discussed in detail, the container controllers 114, 124 can use control modules 114d, 124d to balance the load of the containers to achieve the target power received from the control system 101 (either directly or through an intermediary device such as the power system controller 177, etc.). Then, the control modules 114d, 124d can adjust the operating parameters of one or more power-consuming devices to balance the load of the power-consuming devices and achieve the target power. In addition, the control module can also select a distributed computing unit DCU and / or a processor of a specific distributed computing unit DCU (e.g., 116, 126) to make such adjustments based on power consumption information associated with each power-consuming device (e.g., priority information, power consumption indicators, etc.) to meet predetermined operating requirements or constraints, and / or optimize the overall utility of the power-consuming device (e.g., revenue generation, hash power, uptime, etc.).
[0068] like Figure 1 As shown, each site 108 may include, or be in communication with, a communication system 132 that may provide a network 134 to which various components of the system 100 may be connected. The network 134 may include a wide area network ("WAN"), a local area network ("LAN"), an intranet, the Internet, a wireless access network, a wired network, a mobile network, a telephone network, an optical network, or a combination thereof. The network 134 may be packet switched, circuit switched, of any topology, and may use any communication protocol. The communication links within the network 134 may involve various digital or analog communication media, such as fiber optic cables, free space optics, waveguides, electrical conductors, wireless links, antennas, radio frequency communications, and the like. In one embodiment, the communication system 132 may provide an internal network with automatic load balancing capabilities for a given site 108.
[0069] Power Generation System
[0070] See also Figure 2, shows an exemplary power generation system 200. As shown, the system 200 includes one or more generators (power generation modules 231a, 231b) in communication with a gas supply device 220, so that the power generation modules 231a, 231b can receive a gas flow 202 (e.g., natural gas) therefrom. As further shown, optionally, the power generation modules 231a, 231b can also be in electrical communication with an electrical conversion module 235, so that the electrical output 203 can be transmitted from the power generation modules 231a, 231b to the electrical conversion module 235.
[0071] In one embodiment, the power generation modules 231a, 231b may each include a generator assembly that generates an electrical output 203 by burning the gas 202. Typically, the generator assembly may use a gas-driven reciprocating engine or a gas-driven rotary turbine to burn the gas 202 and drive a generator.
[0072] As described below, each power generation module 231a, 231b may be associated with various power generation information, such as operating requirements, measured or determined power generation metrics, and statistical data determined over a period of time.
[0073] In one embodiment, the power generation modules 231a, 231b used may each be specified to operate with natural gas 202 having various characteristics. For example, certain modules may include generator components adapted to utilize enriched natural gas or natural gas that has been processed to be substantially free of propane and higher hydrocarbon (C3+) components.
[0074] The generator may be associated with a gas consumption rate, which refers to the volume of gas consumed by the generator in a given period of time. The gas consumption rate may be determined based on the continuous operation of the generator under standard ambient conditions. Typically, the gas consumption rate of the engine-type generator is about 40 to about 500 MMscfd. The gas consumption rate of the turbine-type generator is about 1 MMscfd to about 6 MMscfd.
[0075] Generators can also be associated with generated output power, which refers to the electrical energy output by the generator after the generator's internal efficiency losses. This characteristic is often referred to as "real power" or "kilowatts". The generated output power can be referred to as "continuous power", which is the actual power drawn from the generator when the module is operated continuously under standard ambient conditions.
[0076] Typically, engine-type generators can produce power outputs ranging from about 70 kW to about 2 MW, with associated voltages ranging from about 480 V to about 4.16 KV. Turbine-type generators can produce power outputs ranging from about 2 MW to 30 MW, with associated voltages ranging from about 4.16 KV to about 12 KV.
[0077] It should be understood that the various generator components used in the power generation module 231 can operate reliably in harsh oil field conditions, where the gas rate, composition and heating value are variable. In addition, it should be understood that the specific generators used in the power generation modules 231a, 231b can be selected and configured based on the specifications and availability of natural gas at a specific location.
[0078] As shown, each power generation module 231a, 231b can optionally communicate with a backup fuel supply 237, which contains backup fuel 208. In one embodiment, the backup fuel supply 237 includes a natural gas storage tank containing pressurized natural gas. In another embodiment, the backup fuel supply 237 may include propane stored on site. In the event of insufficient natural gas supply, the backup fuel 208 can be directly piped from the backup fuel supply 237 to the power generation modules 231a, 231b.
[0079] Typically, each power generation module 231a, 231b will further include various auxiliary components (commonly referred to as "power plant balance facilities"). These components include, but are not limited to, compressors, lubrication systems, emission control systems, catalysts, and exhaust systems. Power generation modules 231a, 231b optionally include integrated emission reduction technology, such as, but not limited to, a non-selective catalytic reduction ("NSCR") system or a selective catalytic reduction ("SCR") system.
[0080] In one embodiment, the power generation modules 231a, 231b may include a housing specially designed to house and protect the above components of the module. Such a housing may provide many functions, such as but not limited to waterproofing, sliding or trailer mounting for easy transportation, and sound reduction.
[0081] In certain embodiments, the power generation modules 231a, 231b are supported by a transportable chassis, trailer, or railcar to facilitate positioning and / or repositioning of the modules. More specifically, the transportable chassis, trailer, or railcar can be coupled to a vehicle such as a truck or train and transported across a geographic area. The size of the generator skid can be as large as an enclosed trailer towed behind a pickup truck or as large as multiple semi-trailer loads of the generator and its required auxiliary equipment.
[0082] As shown, each power generation module 231a, 231b may include one or more sensors 270 for measuring or determining various power generation indicators. These modules may also include a corresponding controller 272 for transmitting power generation information (e.g., indicators and statistics) to a controller (e.g., a master container controller 114, a site controller 117, or a remote control system 101). In some embodiments, the controller 272 may include a fieldbus (Modbus) controller so that power generation indicators can be obtained from the fieldbus controller at predetermined time intervals (e.g., every 15 seconds).
[0083] The system 200 may also include an inlet pressure sensor 274 configured to measure the pressure of natural gas entering the gas supply 220. In one embodiment, one inlet pressure sensor 274 may be used for the entire site, and the value measured by the single inlet pressure sensor 274 may be associated with each power generation module 231a, 231b supplied by the gas supply 220. In another embodiment, the system may be equipped with an inlet pressure sensor for each power generation module 231a, 231b. In any case, one or more controllers (e.g., the main container controller 114, the site controller 117, or the remote control system 101) may be configured to obtain natural gas pressure measurements from the inlet pressure sensor.
[0084] In some embodiments, the power production system 200 may further include an electric conversion module 235 in electrical communication with the power generation modules 231a and 231b. In this case, the power 203a and 203b generated by the power generation modules 231a and 231b may be transmitted through the electric conversion module 235, thereby being converted into power 205 suitable for use by the power consumption system 103.
[0085] To this end, the power conversion module 235 includes power conditioning equipment. For example, one or more step-down transformers may be used to reduce the voltage of the input power 203a, 203b to a lower voltage secondary power 205 through one or more “steps”.
[0086] In one embodiment, a 1 million volt-ampere step-down transformer can be used to step down the input power 203a, 203b (whose voltage can be as high as about 4.16 kV). In this case, the power conversion module 235 can convert the input power 203a, 203b into an output power 205 having a voltage of about 480V or less.
[0087] Alternatively, when a larger turbine-type power generation module 231 is used, the power conversion module 235 can be stepped down through multiple stages. For example, the power conversion module 235 can receive input power 203a, 203b with a voltage up to 12 kV and convert it into output power 205 with a voltage of about 480V or less through multiple steps.
[0088] In some embodiments, the power production system also includes a main circuit breaker capable of shutting off all downstream current, allowing an operator to quickly disconnect power to any connected computing devices as needed for operational work or in the event of an emergency shutdown. Additionally or alternatively, component ports may be equipped with "quick connect" devices.
[0089] As shown, each electrical conversion module 235 may include one or more sensors 276 for measuring or determining various power generation indicators. These modules may also include a corresponding controller 278 for transmitting the power generation indicator to the controller (e.g., the container controller 114, 124 or the remote control system 101). In some embodiments, the controller 278 may include a field bus controller (Modbus), so that the indicator can be obtained from the field bus controller (Modbus) at a predetermined time interval (e.g., every 15 seconds). It is understood that any number of power generation modules 231a, 231b and electrical conversion modules 235 may be included in the power production system 200. For example, the power generation modules 231a, 231b can be directly connected to the main end of the electrical conversion module 235 from the port of each power generation module 231a, 231b. Another example is that two or more groups of power generation modules 231a, 231b and electrical conversion modules 235 can be used in a series configuration to power any number of computing components.
[0090] It is understood that in some embodiments, a step-down transformer may not be required. For example, when the voltage of the output power 203 generated by the power generation module 231 is compatible with the components of the power system 103 (e.g., up to about 480V), the power of this voltage can be used directly without stepping down the voltage.
[0091] In a specific embodiment, the power production system 200 may include a plurality of power generation modules 231a, 231b connected in parallel. In this embodiment, the plurality of power generation modules 231a, 231b may be phase synchronized so that their output power 203a, 203b may be combined downstream without frequency shift of the electric wave. As shown, a plurality of phase synchronized power 203a, 203b may be connected to a parallel panel 260, which combines and synchronizes the power into a single downstream power 204, and the single downstream power 204 has a single voltage, frequency, current and power index.
[0092] In one such embodiment, the single downstream power 204 is connected to the primary terminal of the power conversion module 235 for voltage regulation. For example, as described above, the single downstream power 204 can be transmitted to the power conversion module 235 so that the power can be converted into output power 205 suitable for consumption by the power system.
[0093] Typically, each power generation module 231a, 231b and / or parallel panel 260 may also include a control system that enables the module to be synchronized and paralleled with other power generation modules. The control system can achieve load sharing of up to 32 power generation modules through a data link and can provide power management functions such as load-related start and stop, asymmetric load sharing and priority selection. This function enables the operator to optimize load sharing based on various producer indicators (such as operating hours and / or fuel consumption).
[0094] Inventory Management
[0095] Figure 3a-3b Steps of method 300 are shown, which include step 302 of a computer system provided in the form of a coordinator computer 130, wherein the coordinator computer 130 includes a coordinating processor 130a, a coordinating memory 130b, and a system coordinator 130c stored in the coordinating memory 130b, and the system coordinator 130c is executed by the coordinating processor 130a to cause the coordinating processor 130a to perform relevant operations to update the inventory model stored in the coordinator memory 130b and associated with the inventory system.
[0096] Generally, the inventory system may include models of various components of the system 100, such as sites, power generation systems (eg, power generation modules, power conversion modules, etc.), and power consumption systems (eg, containers, DCUs, etc.).
[0097] In one embodiment, the system may determine and store site information for each site 108. Exemplary site information may include: site ID, operator information, location information (e.g., address and / or coordinates), gas information (e.g., current and historical calorific value, volume), network equipment information, associated power generation system information, and associated power consumption systems (e.g., associated containers, associated power consumption equipment).
[0098] With respect to the power generation system, the system may monitor, determine and / or store producer information, such as: producer ID, producer type, associated site, network information (e.g., generator fieldbus URL, ECU fieldbus URL), operating constraints and requirements, power generation metrics, power generation statistics and controls.
[0099] As shown in Table 1, the system may monitor and / or calculate current values of some or all of the listed power generation indicators.
[0100] Table 1: Power generation indicators
[0101]
[0102]
[0103] In some embodiments, the system can calculate power generation statistics for one or more time periods by analyzing historical values of these indicators. Exemplary statistics include slope and exponential moving average (EMA). In some embodiments, the system can determine engine pressure slope, engine pressure EMA, coolant temperature slope and / or coolant temperature EMA. These statistics can be determined for different time periods.
[0104] As shown in Table 2, the generator may also be associated with certain operating requirements that must be followed. These requirements can be predetermined (e.g., based on the generator type) or dynamically adjusted based on the value of certain generation indicators (e.g., based on the current knock index).
[0105] Table 2: Generator operation requirements
[0106]
[0107] The system can also model any number of power consumption systems and manage power consumption device information, which can include: unique ID, associated container information, and information about each power consumption device associated with each associated container.
[0108] Typically, exemplary container information may include: container ID, associated site, associated generator, container type (e.g., manufacturer, model), network information (e.g., container fieldbus URL), VLAN information (e.g., primary VLAN, ASIC, IoT, etc.), controller information (controller ID, controller IP address), layout information, associated DCU information, and various container metrics.
[0109] These embodiments can also manage the power usage information of each power-consuming device. Exemplary power usage information may include, but is not limited to: unique ID, hardware identifier, network information, information related to associated containers and locations, power-consuming device type (e.g., manufacturer, model), processor information (e.g., type, quantity, temperature, etc.), fan speed, hash power, board information (e.g., temperature), software information, uptime, financial information (e.g., mining pool, mining pool user), owner information, status information, and / or priority information.
[0110] Typically, each powered device (eg, DCU 112, 122) has a pre-assigned unique hardware identifier that the system coordinator 130c can access via the network. For example, the pre-assigned unique hardware identifier may be a media access control (MAC) address.
[0111] In any case, the method 300 may also include step 304, where the system coordinator 130c generates a new object in the memory 130b upon receiving a request from a user device 138 (e.g., a smartphone or a computer), and assigns a unique inventory identifier to the new object. The inventory identifier is different from the MAC address and is an ID assigned by the system coordinator 130c. The user device 138 may be a client computer, such as a mobile phone. Before the new DCU 112, 122 is connected to the corresponding network interface 136, the system coordinator 230c may generate a new object in the memory 230b and assign it an inventory identifier.
[0112] After step 304, the method 300 may further include step 306, in which the system coordinator 130c sends a transmission instruction to instruct the user device 138 to generate a graphical user interface for generating a request for generating a machine-readable inventory identifier to be attached to a DCU 112, 122. The intermediate system 144, such as an application server or a web server, may receive the transmission instruction from the system coordinator 130c and generate a graphical user interface on the user device 138. The graphical user interface may include an icon that a user may select to print the machine-readable representation via a printer on the network 134. The machine-readable representation may be a machine-readable code, such as a barcode or a QR code.
[0113] The user of the user device 138 can then affix the machine-readable code (e.g., a QR code printed on a label) to the new DCU 112, 122 and connect the new DCU 112, 122 to one of the corresponding network interfaces 136, such as by plugging an Ethernet cable that communicates with the network 134 into a port of the new DCU 112, 122.
[0114] Method 300 also includes step 308, in which system coordinator 130c automatically obtains a pre-assigned unique hardware identifier and location-related information from the new DCU 112, 122 in response to the new DCU 112, 122 connecting to the network interface 136, and associates the pre-assigned unique hardware identifier and location-related information with the new object in memory 130b.
[0115] As described above, each container may be associated with corresponding layout information, which corresponds to multiple racks within the container. Each rack may contain multiple brackets, and each bracket contains a number of slots in which DCUs can be installed. Therefore, each slot represents a unique physical location, which can be used to determine the physical location of a specific DCU when the system associates these components.
[0116] To this end, each slot can be configured to include a network interface 136 of the communication system 132, wherein each interface is assigned a unique static network address. Thus, when a DCU is connected to a particular network interface 136, the DCU is automatically associated with the corresponding network address. Since the network address uniquely identifies a particular slot on a rack in a container, the physical location can be determined through this network address association.
[0117] As described below, the new DCU 112, 122 may be connected to a specific location of a rack in a physical container, and the location of the network interface 136 and the specific location of the new DCU on the rack may also be determined by this association.
[0118] like Figure 3b As shown, step 308 may also include multiple sub-steps, including sub-step 308a automatically executed by the system coordinator 130c. Step 308a obtains a pre-assigned unique hardware identifier from the new DCU 112 or 122 through the communication system 132 in response to a new DCU being connected to the network interface 136.
[0119] Next, step 308 may also include a sub-step 308b of automatically determining, by the system coordinator 130c, location information, the location information including the physical container 110, 120 of the corresponding network interface 136, and the location of the corresponding network interface 136 in the physical container 110, 120, which is automatically determined based on the network address of the corresponding network interface 136. Each network interface 136 may have a pre-assigned container identifier, a pre-assigned rack identifier, a pre-assigned bay identifier, and a pre-assigned bay location identifier, which are automatically determined by the system coordinator 130c when a new DCU 112, 122 is connected to the network interface 136.
[0120] Sub-step 308c of step 308 includes automatically instructing the user device 138 by the system coordinator 130c to generate a visual representation of the new DCU 112, 122 through a graphical user interface displayed on the user device. The intermediate system 144 can receive the instruction of the system coordinator 130c and generate a visual representation on the user device 138. The visual representation can be a message that contains information describing that the new DCU 112, 122 has been added to the network 134 by connecting to a specific network interface 136, and requests the user of the user device 138 to scan a machine-readable representation of the inventory identifier attached to the new DCU 112, 122 so that the system coordinator 130c can associate the pre-assigned unique hardware identifier with the inventory identifier and the new object. The information describing the new DCU 112, 122 can include any of the electrical device information listed above. Once the DCU is connected to the network interface, the container coordinator 114c can extract such information, and more information can be monitored and updated by the container coordinator 114c sending a ping command to the DCU periodically. For example, each DCU may include multiple hash boards, each hash board includes multiple chips. The container coordinator 114c may periodically send a ping command to the DCU to obtain the highest chip temperature of the chips on the hash board, the average temperature of each hash board, and the hash rate of the DCU.
[0121] Sub-step 308d of step 308 includes automatically associating the pre-assigned unique hardware identifier with the new object selected in the inventory model upon receiving, by the system coordinator 130c, the machine-readable representation of the inventory identifier input via the user device 138 or other user device. For example, the input of the machine-readable representation of the inventory identifier may be scanning the machine-readable representation of the inventory identifier via a camera of the user device 138.
[0122] Sub-step 308e of step 308 includes automatically associating, by the system coordinator 130c, location information with the new object in the inventory model. As described above, the location information may include the physical container 110, 120 where the new DCU 112, 122 is located, and the location of the corresponding network interface 136 in the physical container 110, 120. The location information may include a pre-assigned container identifier, a rack identifier, a shelf identifier, and a shelf location identifier.
[0123] The method 300 may then include step 310 of providing a visual representation of the new object via the user interface 130d of the coordination computer 130. In other embodiments, the visual representation of the new object may be displayed on a user interface of another computer connected to the network 134. As described below, the visual representation of the new object may be displayed within a visual representation of the container, including visual representations of other DCUs within the container, and may be selected to obtain information related to the new DCU that is stored in the memory 130b and associated with the new object.
[0124] The system coordinator 130c may acquire and / or transmit data for display on a user interface that provides a visual representation of the new object, which may include a diagram showing the positional relationship of the new DCU 112, 122 with other DCUs 112, 122 in the physical container 110, 120 on the rack.
[0125] If the DCU 112, 122 is disconnected from the network interface 136, the method 300 further includes a step for updating the object of any one of the DCUs 112, 122. The method 300 may include a step 312 of automatically generating updated location information for the reconnected DCU 112, 122 based on the location information associated with the other user interface 136 when one of the DCUs 112, 122 is disconnected from the corresponding network interface 136 and the disconnected DCU 112, 122 is reconnected to another network interface 136 at another location by the system coordinator 130c.
[0126] Upon reconnection, the system coordinator 130c may automatically determine the pre-assigned unique hardware identifier of the reconnected DCU 112, 122 and look up the object in the inventory model associated with the hardware identifier, thereby identifying the reconnected DCU 112, 122 and associating the updated location information of the reconnected DCU 112, 122 with the object.
[0127] The system coordinator 130c may cause the processor 130a to generate a graphical user interface for modeling a plurality of physical containers (including, for example, physical containers 110, 120) and a plurality of DCUs (for example, DCUs 112, 122) communicating with the network. Specifically, the system coordinator 130c may be configured to cause the processor 130a to generate a graphical user interface that displays the physical site 108, the first and second physical containers 110, 120 within the physical site 108, and the locations of the DCUs 112, 122 in the first and second physical containers 110, 120. The physical site 108 may be represented by a site representation, the first and second physical containers 110, 120 may be represented by a container representation, and the DCUs 112, 122 may be represented by a DCU representation.
[0128] Each representation may be selected by a user to access a corresponding data record generated by the system coordinator 130c and stored in the memory 130b. The data records of the containers 110, 120 include container information for each physical container 110, 120. The container information may include information describing the geographic location of the physical container, a container identifier of the physical container, a size of the physical container, a type of the physical container, and a cost of the physical container. The data records of the DCUs 112, 122 include location information for each DCU that communicates with the network 134. The location information may include the location of the DCU in the corresponding physical container, specifically including at least one of a rack, a bracket, or a slot of the DCU within the corresponding physical container. The container information and / or location information is automatically assigned to each DCU 112 and 122 that communicates with the network 134 by the system coordinator 130c based on the network address of the corresponding network interface 136.
[0129] The physical containers 110, 120 may each include a plurality of racks having predetermined rack positions configured to receive the DCU, and each predetermined rack position may be associated with one of the network interfaces. The memory 130b may be partitioned to store the predetermined rack positions and their associated network interfaces, and the system coordinator 130c may be configured to automatically assign the predetermined rack positions associated with the network interfaces 136 connected to the DCU to the corresponding data records.
[0130] The physical containers 110 and 112 may be located in different physical sites, each physical site may have at least one physical container 110 and 112, and at least one physical site may have multiple physical containers. The system coordinator 130c may be configured to cause the processor to generate a graphical user interface that displays the physical site, the physical container in the physical site, the predetermined rack position in the container, and the DCU in the predetermined rack position.
[0131] As described above, the system coordinator 130c can also cause the processor 130a to automatically assign an inventory identifier unique to the system coordinator 130c to each DCU 112, 122, and store the inventory identifier in the database together with the container information of the distributed computing unit and the pre-assigned unique hardware identifier. When a new DCU joins the system 100, the system coordinator 130c causes the processor 130a to automatically update the database and add a new data record after receiving a new addition event indicating that the new DCU has been added to one of the physical containers, and the data record includes an automatically generated inventory identifier unique to the system coordinator 130c. Specifically, the system coordinator 130c can cause the processor 130a to automatically obtain the pre-assigned unique hardware identifier from the new DCU when the new DCU is connected to the network interface 136 of one of the physical containers 110, 120, and store the pre-assigned unique hardware identifier and the geographic location of the network interface 136 to which the new DCU is connected in the new data record.
[0132] The container information and / or location of each DCU may be dynamically adjusted by the system coordinator 130c in response to the DCU being disconnected from the corresponding network interface 136 and reconnected to another physical container or another network interface in the same physical container. For example, if the DCU is disconnected, the system coordinator 130c may automatically update the graphical user interface to remove the corresponding representation, and upon reconnection, the system coordinator 130c may automatically update the graphical user interface to add the corresponding representation at the new location in the corresponding physical container.
[0133] After reconnection, the adjusted container information and / or location can be confirmed by an automatic join event, for example, by scanning a machine-readable representation attached to the DCU by the user device. In some embodiments, the scanning of the machine-readable representation can be performed in a maintenance facility, and the container information and / or location of the DCU can be updated to represent the geographic location of the maintenance facility and / or the location of the DCU in the maintenance facility. In some embodiments, the scanning of the machine-readable representation can be performed in a storage facility, and the container information and / or location of the DCU can be updated to represent the geographic location of the storage facility and / or the location of the DCU in the storage facility.
[0134] In some embodiments, each of the DCUs 112 and 122 includes multiple GPUs, and the data record may include the number of GPUs of each DCU 112 and 122, the number of GPUs currently available to each DCU 112 and 122, and the number of GPUs currently used by each DCU 112 and 122. During operation, each GPU may run a virtual machine alone or together with one or more other GPUs of the corresponding DCU 112 and 122, and the data record may include one or more GPUs running each virtual machine. The data record may also include the number of GPUs currently running virtual machines on each DCU and the remaining capacity of each DCU available for running more virtual machines.
[0135] In some embodiments, the DCUs 112 and 122 are cryptocurrency miners, and the data records may include financial information related to the cryptocurrency miners. The financial information may include at least one of the purchase price of the cryptocurrency miner, the depreciation of the cryptocurrency miner, and the revenue generated by the cryptocurrency miner. Each data record may also include repair and / or maintenance history information of the cryptocurrency miner, including financial costs associated with repair and / or maintenance. In addition, each data record may also include the hash rate of the cryptocurrency miner.
[0136] The user interface 130d may display information related to the containers 110, 112, racks, and individual DCUs. For example, if a container or rack is selected, the user interface 130d may display information about each DCU within the rack or container.
[0137] The user interface 130d may also display overall information about all DCUs in the container 110, 112. For example, for a particular container, the displayed metrics may include the total number of online and offline DCUs in the container, the total hash rate of all DCUs (current value and a graph of changes over time), the hash rate of the mining pool, the load of the generators powering the DCUs in the container, the current fuel consumption of the generators, the power consumption of the DCUs in the container displayed in a graph, the pressure of the generators powering the DCUs displayed in a graph, and the average maximum chip temperature of the DCUs in the container displayed in a graph.
[0138] The user interface 130d can also display information for multiple containers, which relates to the overall information of all DCUs in each container. For example, all containers can be viewed on the screen at the same time, so that the user can compare indicators between containers. These indicators can include the power of the generator (kW) powering the container, the maximum power of the generator powering the container (kW), the air pressure (psi), the current utility (expressed as a percentage of the maximum hash rate used), the mining machine inventory (the total number in the container), the number of mining machines connected to the network, the number of mining machines being hashed, the number of mining machines in standby state, the number of damaged hash boards, the utility of the percentage of the maximum hash rate currently used, and the currently unused mining machine hash power (PH / s or TH / s). Users of the interface 130d can thereby identify, for example, which containers consume the most electricity, which containers consume the least electricity, which electrical devices have the highest utility percentage, which electrical devices have the lowest utility percentage, which containers have the least healthy mining machines, and which containers have the most unused hash power per second.
[0139] Regarding the computing resource allocation of the DCUs 112 and 122, the first container coordinator 114c is configured to store or periodically transmit data in the memory 114b of the first controller, including the total computing capacity and the currently available computing capacity of each first DCU 112. Similarly, the second container coordinator 124c is configured to store or periodically transmit data in the memory 124b of the second controller, including the total computing capacity and the currently available computing capacity of each second DCU 122. The system coordinator 130c is configured to communicate with the first and second container coordinators 114c and 124c to obtain the total computing capacity and the currently available computing capacity of each DCU 112 and 122.
[0140] The system 100 may be configured to communicate with a client computer 138 seeking computing resources in the form of virtual machines running on the DCUs 112, 122. The client computer 138 may access a web page or application generated by an intermediary system 144, which may be a web server or an application server, over a public network and submit a request to access a virtual machine generated by a DCU 112, 122. The request may include a requested number of GPUs for running the virtual machine, and the request may be passed to the coordination computer 114 to connect the client computer 138 to a corresponding one of the DCUs 112, 122.
[0141] As described above, each DCU 112, 122 may include multiple GPUs, and each first and second DCU 112, 122 may be configured to run one or more virtual machines. Each GPU may be used to run a virtual machine alone, or to run a virtual machine together with one or more other GPUs of the corresponding DCU 112, 122.
[0142] The coordination computer 114 is configured to receive a request for accessing a virtual machine from the client computer 138 through the intermediate system 144, and obtain the currently available computing capacity of each of the first and second DCUs 112, 122 according to the currently available computing capacity from the first and second inventory models, and establish a virtual machine on the first or second DCU 112, 122.
[0143] The coordination computer 130 is configured to receive a request for accessing a virtual machine from the client computer 138, and in response to the request, send query information to the first and second container orchestrators 114c, 124c through the system coordinator 130c to obtain the operating status of the GPUs of the first and second DCUs 112, 122, and send instructions to the corresponding GPUs in the first or second DCU 112, 122 to clear the running active virtual machines and spin up the virtual machines requested by the client computer 138 on these GPUs. For example, if the operator of the system 100 is running an active virtual machine on six GPUs of the DCU 122 for internal business purposes and / or profit-making activities, and the client computer 138 requests to run a virtual machine on three GPUs, the active virtual machine is cleared, the client computer 138 connects to the DCU 122, and runs the requested virtual machines on three of the six GPUs that originally ran the active virtual machine.
[0144] When the client computer 138 requests to start multiple virtual machines, the system coordinator 130c can be configured to prompt how many GPUs are available to start additional virtual machines. Internal business purposes and / or profitable activities can include running hash algorithms to mine cryptocurrency. As an example, for clearing active virtual machines running on six GPUs and then running the virtual machine requested by the client computer 138 on three of these GPUs, three available GPUs can be prompted to run additional virtual machines for internal business purposes and / or profitable activities. Specifically, the six GPUs can run an active virtual machine to mine cryptocurrency, then mining is stopped to reallocate three of the six GPUs to run the virtual machine requested by the client computer, and three of the six GPUs to run additional virtual machines to mine cryptocurrency.
[0145] Each of the first and second DCUs 112, 122 may further include an agent 146 configured to control a plurality of virtual machines generated by the corresponding first or second DCU 112, 122. The system coordinator 130c may be configured to instruct the first or second container coordinator 114c, 124c to generate a virtual machine requested by the client computer 138. The first or second container coordinator 114c, 124c may be configured to instruct one of the agents 146 to generate a virtual machine requested by the client computer 138 on one or more GPUs controlled by the agent 146. Each agent 146 may be software running on a corresponding DCU 112, 122 controlled and monitored by the agent 146.
[0146] Each agent 146 may be configured to monitor and store and / or periodically transmit metadata of the GPU controlled by the agent 146 and broadcast it to the corresponding first or second container orchestrator 114c, 124c. For example, if the DCU 112 in the container 110 includes eight GPUs, and four of the GPUs are running a first virtual machine for a first client computer 138 and four of the GPUs are running a second virtual machine for a second client computer 138, then the agent 146 of the DCU 112 stores and / or periodically transmits metadata of these GPUs to the container orchestrator 114c. If the first client computer 138 is disconnected from the DCU 112, the agent 146 of the DCU 112 stores and / or periodically transmits metadata indicating that the four GPUs are no longer running the second virtual machine.
[0147] In some embodiments, if the first client computer 138 is disconnected from the DCU 112, the system coordinator 130c can instruct the DCU 112 through the corresponding container coordinator 114c and the agent 146 to run a hash algorithm on the four GPUs that are no longer running the first virtual machine to mine cryptocurrency on these four GPUs.
[0148] The first or second container orchestrator 114c, 124c may be configured to obtain information about which GPUs in the first and second DCUs 112, 122 are mining cryptocurrency and which GPUs in the first and second DCUs 112, 122 are generating virtual machines for clients, and transmit the obtained information to the system orchestrator 130c.
[0149] Base load management
[0150] Method 400 for allocating computing resources Figure 4As shown. The method may include step 402, where a system coordinator 130c connected to the DCU via a network receives a request from a client computer 138 to access a virtual machine. In this embodiment, each DCU 112, 122 includes multiple GPUs, and the request from the client computer 138 identifies the number of GPUs required to request to run the virtual machine. Step 402 may also include querying and analyzing a first container coordinator 114c of the first DCU 112 and analyzing a second container coordinator 124c of the second DCU 122 to identify one of the DCUs 112, 122 that has available computing capacity that can be used to provide the requested virtual machine.
[0151] The method 400 also includes a step 404 of identifying a DCU selected from the DCUs 112, 122 that has one or more available GPUs equal to or greater than the requested number of GPUs. The one or more available GPUs have available computing capacity for generating the requested virtual machine.
[0152] Then, the method 400 further includes a step 406 of instructing one or more available GPUs to clear all base loads running on the one or more available GPUs of the selected DCU. The one or more available GPUs are equal to the total number of GPUs of the selected DCU minus the number of GPUs of the selected DCU running one or more virtual machines for the client computer 138. For example, if the selected DCU includes 10 GPUs, and eight of the GPUs run one or more virtual machines for the client computers 138—for example, three of the eight run virtual machines for the first client computer and five run virtual machines for the second client computer—then the DCU includes two available GPUs.
[0153] The method 400 then includes step 408, i.e., after clearing all base loads, starting the requested virtual machine on the requested number of GPUs of the one or more available GPUs. If the client computer 138 requests only one GPU to run the requested virtual machine, and two GPUs are available, the requested virtual machine is run on one of the two GPUs.
[0154] If the number of one or more available GPUs is greater than the number of requested GPUs, and there are still additional available GPUs after launching the requested virtual machine, the method further includes launching a new basic load on the additional available GPU at step 410. The new basic load runs in parallel with the requested virtual machine launched in step 408. Continuing with the example of step 408 above, if the client computer 138 only requested one GPU to run the virtual machine, and now two GPUs are available, the new basic load is launched on the other available GPU.
[0155] In some embodiments, both the base load cleared in step 406 and the new base load started in step 410 are virtual machines that perform profitable tasks. For example, the profitable tasks may be running a hashing algorithm to mine cryptocurrency or training a machine learning model.
[0156] Figure 5 A method 500 is shown for balancing the loads generated by various components of a power consuming system and determining an optimal power output for a power producing system.
[0157] As described above, the embodiments disclosed in the present application may include automatic control devices that are configured to monitor the operation of generators in a power generation system, adjust the operation of generators based on power generation indicators and / or operating requirements, and monitor and control the operation of electrical equipment in a power consumption system.
[0158] Generally speaking, the embodiments of the present application provide an automated method that determines the target output power of a power generation system based on various indicators, statistical data, and / or operating requirements; determines the operating parameters of the power system's power consumption equipment; and adjusts the operating conditions of one or more power consumption equipment so that the power consumption system is corrected and the load provided by it substantially meets the target output power. In this way, the embodiments of the present application enable the power generation system to provide the best output power while balancing the power consumption demand of the power consumption system.
[0159] In a first step 502, the method 500 includes obtaining input of a plurality of indicators of the system 100. The indicators may include the power generation indicators described above, including engine pressure, generator output, engine output, coolant temperature, engine load percentage, cylinder position of the engine, and knock index, etc. The power control module 114d, 124d may obtain sensor data of a plurality of control variables from the corresponding controller 272. The power generation indicators may be obtained from the controller 272 by the corresponding power control module 114d, 124d at predetermined intervals.
[0160] Other indicators may also include one or more transformer indicators, including the temperature of the electrical conversion module 235 acquired from the sensor 276 by the corresponding power control module 114d, 124d at predetermined intervals.
[0161] Other indicators may also include one or more site indicators, which may be the pressure of the gas entering the gas supply device 220, which is obtained by the corresponding power control module 114d, 124d through the inlet pressure sensor 274 at predetermined intervals.
[0162] The indicators may also include one or more business indicators, such as a maintenance schedule obtained from the business database 148 at predetermined intervals.
[0163] The next step 504 is to calculate a plurality of different target powers at time t+1 based on the power generation index and other indexes. Each of the plurality of different target powers is calculated based on statistical data of different generators derived from the power generation index. Step 504 may include running each index through an independent PID controller to determine the target power for each index. In particular, each power generation index, each transformer index, and each site index may be run through an independent PID controller to determine an independent target power for each power generation index, each transformer index, and each site index.
[0164] The process may calculate statistics of the power generation indicator based on the current and historical values (ie, over one or more time periods) of the power generation indicator by the power control modules 114d, 124d.
[0165] The system can compare the statistical data with a specific threshold value of the corresponding power generation statistical data to determine whether the corresponding power generation statistical data exceeds the threshold value, that is, is greater than the maximum threshold value or less than the minimum threshold value. If the threshold value is exceeded, an error is output, and the error is proportional to the amount by which the corresponding power generation statistical data exceeds the threshold value, and this proportion is used to calculate the target power of the corresponding power generation statistical data.
[0166] When determining the target power, the gas pressure indicators of other power generation modules 231a and 231b at the same site may also be considered. For example, if the gas pressure of one power generation module 231a is lower than a certain threshold, the target power of another power generation module 231b may be reduced, thereby correspondingly increasing the gas pressure of the power generation module 231a.
[0167] The next step 506 is to select the most conservative target power from the different target powers calculated (eg, by the power control modules 114d, 124d). This conservative approach can advantageously avoid most generator downtimes and maximize the uptime of the DCU 112, 114 as a whole.
[0168] The next step 508 is to output the power consumption change through the corresponding power control module 114d, 124d, which is calculated based on the most conservative target power. The power consumption change can be sent by the corresponding power control module 114d, 124d to the corresponding container coordinator 114c, 124c. The power control module 114d, 124d can select the lowest calculated target power and convert it into a target power for the power-consuming device and send it to one of the container coordinators 114c, 124c. The power control module 114d, 124d outputs the required power reduction or increase to the corresponding container coordinator 114c, 124c.
[0169] The next step 510 is to select at least one DCU 112, 122 based on the priority or hierarchy information associated with each DCU to change its power state to achieve the power consumption change. If the power consumption change is a power reduction, the DCU 112, 122 can be selected to be turned off, so the power state change is from on to off. If the power consumption change is a power increase, the DCU 112, 122 can be selected to be turned on, so the power state change is from off to on. Firmware can also be provided for the DCUs 112, 122 that allows the power consumed by each DCU 112, 122 to be increased or decreased within a range greater than 0 to 100%.
[0170] As described above, the container coordinators 114c, 124c can obtain the hierarchical information of the DCUs 112, 122 under the control of the corresponding container coordinators 114c, 124c (for example, the container coordinator 114 controls the DCU 112, and the container coordinator 124c controls the DCU 122), and fill the hierarchical information and the power currently consumed by each DCU 112, 122 into the data record. For example, if it is necessary to reduce the output power of the power generation module 231a or 231b, the container coordinators 114c, 124c can select the lowest priority DCUs 112, 122 to shut them down to achieve the required power reduction. Specifically, the container coordinators 114c, 124c can start from the bottom of the hierarchy, select to deactivate the lowest priority DCU, and then select the second lowest priority DCU until the cumulative current power consumption of the selected DCU is equal to or greater than the required power reduction. Conversely, if one or more DCUs 112, 122 are currently powered off and not consuming power, a hierarchy may be used to select a DCU to start if the most conservative target power at time t+1 is greater than the power currently consumed by the DCU 112, 122. In the hierarchy, a higher priority DCU 112, 122 is selected for activation before a lower priority DCU 112, 122.
[0171] For example, if the DCUs 112 are cryptocurrency miners of different models, the DCUs 112 can be prioritized based on the output of the miners, and the miners to be shut down can also be selected based on the service life of the DCUs 112. If the output of the five oldest DCUs 112 is equal to or greater than the required power reduction, the five oldest DCUs 112 are selected to be shut down, and the remaining DCUs 112 continue to mine cryptocurrency and obtain power from the corresponding power generation modules 231a, 231b.
[0172] As another example, if the DCU 122 is a mix of cryptocurrency miners and servers containing GPUs, the cryptocurrency miners may be prioritized for shutting down rather than the servers first.
[0173] The tiers may also be changed based on the cloud virtual machine services provided by the system 100. For example, if the DCUs 112, 122 are powered by a single power generation module 231a, and the DCU 112 includes a GPU configured to provide virtual machines for the cloud virtual machine service, the maximum power consumption provided for the reserved virtual machines must always be reserved for the DCU 112, and only the DCU 122 may be considered for achieving the desired power reduction. For example, if no customers are booking virtual machines through the cloud virtual machine service, only the DCUs 112, 122 may be selected for power changes based on the standard tier. However, once customers begin booking hardware in the cloud center, the possible power available from the power generation module 231a must be reserved to ensure that when these cloud customers fully utilize their hardware to the maximum power consumption, the power generation module 231a has enough available power to meet the maximum possible power consumption.
[0174] The power control modules 114d, 124d are further configured to convert the received target power into a target power for the powered device to be sent to the container coordinators 114c, 124c. For example, if the target power is lower than the current power consumption (i.e., the current load), the power control modules 114d, 124d determine the required power reduction and send it as the target power for the powered device to the corresponding container coordinators 114c, 124c.
[0175] The container coordinator may then output overclocking or underclocking instructions and the desired adjusted power consumption to the corresponding DCU 112 , 122 selected for power adjustment (eg, based on distributed computer hierarchy or priority information).
[0176] The container coordinators 114c, 124c may obtain the hierarchy of the DCUs 112, 122 under the control of the corresponding container coordinators (e.g., the container coordinator 114 controls the DCU 112, and the container coordinator 124c controls the DCU 122), and fill the hierarchy and the power currently consumed by each DCU 112, 122 into the data record. For example, if the output power of the power generation module 231a or 231b needs to be reduced, the container coordinators 114c, 124c may shut down the lowest priority DCU 112, 122 to achieve the required power reduction. In particular, the container coordinators 114c, 124c may start from the bottom of the hierarchy, select the lowest priority DCU to be deactivated, and then select the second lowest priority DCU, and this process continues until the cumulative current power of the selected DCU is equal to or greater than the required power reduction.
[0177] It should also be noted that a single power generation module 231a or 231b can provide power to all DCUs 112, 122. When a single power generation module 231a or 231b provides power to all DCUs 112, 122, a single power control module 114d or 124d can calculate the minimum target power for all different control variables and then send the power target power to the two container coordinators 114c, 124c. The next step 512 is to change the power state of at least one selected DCU 112, 122 to achieve the power consumption change. As previously described, if the power consumption change requires a reduction in power, it may involve shutting down one or more DCUs 112, 122, and if the power consumption change requires an increase in power, it may involve turning on one or more DCUs 112, 122. In addition, the power consumption of the DCUs 112, 122 can be finely adjusted without completely turning the DCUs 112, 122 on or off. For example, the power consumption change may be achieved by reducing the power of the five lowest priority DCUs 112, 122 by 25%.
[0178] Calculation Machine
[0179] See also Figure 6 , shows a block diagram of an exemplary computing machine 600 and a module 650 according to one or more embodiments proposed in this specification. The computing machine 600 may represent any of the various computing systems discussed in this specification, such as but not limited to distributed computing units DCU 112, 122, components of the control system ( Figure 1 101, 114, 124), client devices ( Figure 1 138) and / or third-party systems. In addition, module 650 may include one or more hardware or software elements, which are configured to facilitate the computing machine 600 to perform various methods and processing functions described in this specification.
[0180] The computing machine 600 includes various devices, means and machines for processing data, including but not limited to a programmable processor, a computer and / or multiple processors or computers. As shown, the exemplary computing machine 600 includes various internal and / or attached components, such as a processor 610, a system bus 670, a system memory 620, a storage medium 640, an input / output interface 680 and a network interface 660 for communicating with a network 630.
[0181] The computing machine 600 can be implemented as a conventional computer system, an embedded controller, a server, a laptop, a mobile device, a smart phone, a wearable device, a kiosk, a custom machine, any other hardware platform, and / or a combination thereof. In addition, the computing machine can be embedded in another device, such as, but not limited to, a portable storage device. In some embodiments, the computing machine 600 can be a distributed system configured to work using multiple computing machines interconnected via a data network or system bus 670.
[0182] The processor 610 may be configured to execute code or instructions to implement the operations and functions described in this specification, manage request flows and address mappings, and perform calculations and generate commands. The processor 610 may be configured to monitor the operation of each component in the computing machine 600. The processor 610 may be a general-purpose processor, a processor core, a multiprocessor, a reconfigurable processor, a microcontroller, a digital signal processor ("DSP"), an application-specific integrated circuit ("ASIC"), a graphics processing unit ("GPU"), a field programmable gate array ("FPGA"), a programmable logic device (PLD), a controller, a state machine, a gated logic, a discrete hardware component, any other processing unit, or any combination thereof. The processor 610 may be a single processing unit, multiple processing units, a single processing core, multiple processing cores, a dedicated processing core, a coprocessor, or any combination thereof. In addition to hardware, an exemplary device may include code that creates an execution environment for a computer program (e.g., code that constitutes one or more of the following: processor firmware, a protocol stack, a database management system, an operating system, and a combination thereof). According to certain embodiments, the processor 610 and / or other components of the computing machine 600 may be virtualized computing machines executed within one or more other computing machines.
[0183] The system memory 620 includes non-volatile memory, such as read-only memory ("ROM"), programmable read-only memory ("PROM"), erasable programmable read-only memory ("EPROM"), flash memory, or any other device capable of storing program instructions or data with or without power. The system memory 620 may also include volatile memory, such as random access memory ("RAM"), static random access memory ("SRAM"), dynamic random access memory ("DRAM"), and synchronous dynamic random access memory ("SDRAM"). Other types of RAM may also be used to implement the system memory. The system memory 620 may be implemented using a single memory module or multiple memory modules. Although the system memory is depicted as part of the computing machine 600, those skilled in the art will recognize that the system memory may be separate from the computing machine without departing from the scope of the present invention. It should also be understood that the system memory may include or be used in conjunction with a non-volatile storage device such as a storage medium 640.
[0184] The storage medium 640 may store one or more operating systems, applications, and program modules, such as modules, data, or any other information. The storage medium may be part of the computing machine 600 or connected to the computing machine 600. The storage medium may also be part of one or more other computing machines that communicate with the computing machine (e.g., a server, a database server, a cloud storage, a network-attached storage, etc.).
[0185] Module 650 may include one or more hardware or software elements configured to facilitate the computing machine 600 to perform the various methods and processing functions described in this specification. Module 650 may include one or more instruction sequences of software or firmware, which are stored in association with system memory 620, storage medium 640, or both. Therefore, storage medium 640 is an example of a machine or computer readable medium that can store instructions or codes for execution by a processor. Machine or computer readable media generally refers to any one or more media for providing instructions to a processor. Such machine or computer readable media associated with a module may include a computer software product. It should be understood that a computer software product including a module may also be associated with one or more steps or methods, and the module is transmitted to the computing machine 600 via a network, any signal-bearing medium, or any other communication or delivery technology. Module 650 may also include information for hardware circuits or configuration hardware circuits, such as microcode or configuration information for FPGAs or other PLDs.
[0186] The input / output ("I / O") interface 680 may be configured to couple to one or more external devices to receive data from one or more external devices and to send data to the one or more external devices. Such external devices and various internal devices may also be referred to as peripheral devices. The I / O interface 680 includes electronic and physical connections for operably coupling various peripheral devices to the computing machine 600 or the processor 610. The I / O interface 680 may be configured to transmit data, addresses, and control signals between peripheral devices, computing machines, or processors. The I / O interface may be configured to implement a variety of interface or bus technologies. The I / O interface may be configured as part of, all of, or in conjunction with the system bus 670. The I / O interface 680 may include one or more buffers for buffering transmissions between one or more external devices, internal devices, computing machines 600, or processors 610.
[0187] The I / O interface 680 may couple the computing machine 600 to various input devices to receive any form of input from the user. In addition, the I / O interface 680 may couple the computing machine 600 to various output devices to provide feedback to the user through any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback).
[0188] The embodiments described in this specification may be implemented in a computing machine 600 that includes one or more of the following components: a back-end component (e.g., a data server); a middleware component (e.g., an application server); a front-end component (e.g., a client computer with a graphical user interface ("GUI") and / or a web browser through which a user can interact with an implementation of the subject matter described in this specification); and / or a combination thereof. The components of the system may be interconnected by any form or digital data communication medium, such as, but not limited to, a communication network. Thus, the computing machine 600 may operate in a network environment using logical connections to one or more other systems or computing machines on the network through the network interface 660.
[0189] The processor 610 may be connected to other elements of the computing machine 600 or various peripheral devices discussed in this specification via a system bus 670. It should be understood that the system bus 670 may be internal to the processor, external to the processor, or both. According to some embodiments, the processor 610, other elements of the computing machine 600, or any of the various peripheral devices discussed in this specification may be integrated into a single device, such as a system-on-chip (“SOC”), a system-in-package (“SOP”), or an ASIC device.
[0190] In the foregoing description, the present application has been described in detail with reference to specific embodiments and examples thereof. However, it is apparent that a person skilled in the art may make various modifications without departing from the inventive concept and scope of the claims of the present application. Therefore, the description and drawings are illustrative and should not be viewed in a restrictive manner.
Claims
1. A system for dynamic modeling of computer resources, comprising: processor; Memory; A system coordinator, wherein the system coordinator is stored in the memory, and when the system coordinator is executed by the processor, the processor is caused to perform the following operations: Generate a graphical user interface to model a plurality of distributed computing units and a plurality of physical containers in communication with a network; wherein each physical container houses a subset of the plurality of distributed computing units, each distributed computing unit having a pre-assigned unique hardware identifier accessible to the system coordinator network; each physical container having a plurality of network interfaces, each network interface being assigned a network address, each distributed computing unit being connected to a network interface and associated with a corresponding network address; generating a data record in a database of the memory, the data record comprising location information of each distributed computing unit in communication with the network and / or container information of each physical container; the container information and / or location information is automatically assigned to each distributed computing unit in communication with the network according to a network address of a corresponding network interface; automatically assigning an inventory identifier unique to the system coordinator to each distributed computing unit, the inventory identifier being stored in the database together with container information of the distributed computing unit and the pre-assigned unique hardware identifier; The container information and / or location information of each distributed computing unit is dynamically adjusted in response to the distributed computing unit being disconnected from the corresponding network interface and reconnected to a different network interface in a different physical container.
2. The system of claim 1, wherein the container information includes information describing a geographic location of the physical container, a container identifier of the physical container, a size of the physical container, a type of the physical container, and a cost of the physical container; in, The location information includes the location of the distributed computing unit in the corresponding physical container, including at least one of a rack, a bracket, and a slot where the distributed computing unit is located in the corresponding physical container.
3. The system according to claim 1, wherein: The dynamically adjusting the container information and / or the location information includes confirming the container information and / or the location information through an automatic joining event.
4. The system according to claim 3, wherein: The automatic join event includes scanning a machine-readable representation attached to the distributed computing unit.
5. The system according to claim 4, wherein: The scanning of the machine-readable representation occurs at a service facility, and the container information and / or location information of the distributed computing unit is updated to indicate the geographic location of the service facility and / or the location of the distributed computing unit within the service facility.
6. The system according to claim 4, wherein: The scanning of the machine-readable representation occurs in the storage facility, and the container information and / or location information of the distributed computing unit is updated to indicate the geographic location of the storage facility and / or the location of the distributed computing unit within the storage facility.
7. The system according to claim 1, wherein: When a new join event indicates that a new distributed computing unit has been added to a physical container, the system coordinator enables the processor to: The database is automatically updated to include a new data record including the automatically generated inventory identifier.
8. The system according to claim 7, wherein: When a new distributed computing unit is connected to a network interface of a physical container, the system coordinator enables the processor to automatically obtain a pre-allocated unique hardware identifier from the new distributed computing unit, and store the pre-allocated unique hardware identifier together with the geographic location of the network interface to which the new distributed computing unit is connected in the new data record.
9. The system according to claim 1, wherein: The distributed computing units are multiple cryptocurrency mining machines.
10. The system according to claim 9, wherein: Each data record contains financial information related to a cryptocurrency miner.
11. The system according to claim 10, wherein: The financial information includes at least one of the purchase price of the cryptocurrency mining machine, the depreciation of the cryptocurrency mining machine, and the income generated by the cryptocurrency mining machine.
12. The system of claim 9, wherein each data record includes repair and / or maintenance history information of the cryptocurrency mining machine, including financial costs associated with the repair and / or maintenance.
13. The system of claim 9, wherein each data record comprises a hash rate of the cryptocurrency miner.
14. The system of claim 1, wherein each distributed computing unit comprises a plurality of graphics processing units, and the data record comprises: The number of graphics processing units per distributed computing unit; the number of graphics processing units currently available per distributed computing unit; the number of graphics processing units currently used by each distributed computing unit.
15. The system of claim 14, wherein each distributed computing unit is configured to run multiple virtual machines, each graphics processing unit runs a virtual machine alone or together with other graphics processing units of the corresponding distributed computing unit, and the data record includes one or more graphics processing units running each virtual machine.
16. The system of claim 15, wherein the data record includes the number of graphics processing units of each distributed computing unit currently running virtual machines and the remaining capacity of each distributed computing unit to run more virtual machines.
17. The system of claim 1, wherein: The physical container includes a plurality of racks having predetermined rack positions, the racks being configured to receive distributed computing units, each predetermined rack position being associated with a network interface; the memory being partitioned to store the predetermined rack positions and their associated network interfaces; The system coordinator is configured to automatically allocate a predetermined rack position associated with a network interface to which the distributed computing unit is connected to a corresponding data record.
18. The system of claim 17, wherein: The physical containers are located in different physical sites, each physical site has at least one physical container, and at least one physical site has multiple physical containers; The system coordinator is configured to cause the processor to generate a graphical user interface to depict the physical site, the physical container within the physical site, the predetermined rack locations within the container, and the distributed computing units in the rack locations.
19. A method of updating a computerized inventory of a distributed computing unit that is movable between a plurality of containers at a plurality of physical sites, the method comprising: A computer system is provided, comprising a processor, a memory and a system coordinator, wherein the system coordinator is stored in the memory and can be executed by the processor to update an inventory model stored in the memory; the inventory model comprises modeling information of a plurality of distributed computing units and a plurality of physical containers in communication with a network; each physical container accommodates a subset of the plurality of distributed computing units, each distributed computing unit having a pre-assigned unique hardware identifier accessible to the system coordinator network; each physical container has a plurality of network interfaces, each network interface is assigned a network address, and each distributed computing unit is connected to a network interface and is associated with a corresponding network address; In response to a request from a user device, the system coordinator generates a new object in the memory and associates an inventory identifier unique to the system coordinator with the new object; instructing a user device to generate a user interface configured to generate a request to create an inventory identifier in a machine-readable representation for attachment to a distributed computing unit; When a new distributed computing unit is connected to the corresponding network interface, the system coordinator automatically performs the following operations: Obtain a pre-assigned unique hardware identifier from the new distributed computing unit; Based on the network address of the corresponding network interface, determine location information, including the physical container where the corresponding network interface is located and the location of the corresponding network interface in the physical container; Instructing the user device to generate a visual representation of the new distributed computing unit in a graphical user interface displayed on the user device; upon receiving input of a machine-readable representation of an inventory identifier through the user device or another user device, associating the pre-assigned unique hardware identifier with the new object generated in the inventory model; associating the location information with a new object in the inventory model; A visual representation of the new object is provided through a user interface.
20. The method according to claim 19, wherein: Before a new distributed computing unit is connected to a corresponding network interface, a new object is generated in the memory and an inventory identifier unique to the system coordinator is associated with the new object.
21. The method according to claim 19, wherein: The user interface for generating a request to create a machine-readable representation of the inventory identifier is a user interface configured to generate a request to print the machine-readable representation of the inventory identifier.
22. The method according to claim 19, wherein: The new distributed computing unit connected to the corresponding network interface is located at a specific position on the rack in the physical container, and the position of the corresponding network interface in the physical container includes the specific position of the new distributed computing unit on the rack.
23. The method according to claim 22, further comprising: The system coordinator obtains and / or transmits data for displaying a visual representation of the relationship between the new distributed computing unit and other distributed computing units in the physical container at the corresponding position on the rack on a user interface containing a visual representation of the new object.
24. The method of claim 19, further comprising: When a distributed computing unit is disconnected from its corresponding network interface and reconnected to another network interface at another location, the system coordinator automatically generates updated location information for the reconnected distributed computing unit based on location information associated with the other network interface.
25. The method according to claim 24, wherein: Upon reconnection, the system coordinator automatically determines a pre-assigned unique hardware identifier of the reconnected distributed computing unit and looks up an object associated with the unique hardware identifier in an inventory model to identify the reconnected distributed computing unit and associate updated location information of the reconnected distributed computing unit with the object.
26. A method for controlling power consumption of a plurality of computing units powered by at least one power generation module, the plurality of computing units being distributed in at least two containers, each container comprising a corresponding container controller for controlling the computing units in the container, the method comprising: Receiving, through a power control module, a power generation index of the power generation module from at least one sensor of the power generation module; calculating a plurality of different target powers at time t+1 based on the power generation index, each of the plurality of different target powers being derived based on a different power generation statistic derived from the power generation index; Select the most conservative target power from among the different calculated target powers; Outputting a power consumption change calculated according to the most conservative target power; Selecting at least one computing unit from the plurality of computing units in the hierarchy and changing its power state to achieve the desired power consumption change; The power state of the selected at least one computing unit is changed to achieve the power consumption change.
27. The method according to claim 26, wherein: Each of the plurality of different target powers is calculated by a PID controller.
28. The method according to claim 26, wherein: The computing unit is a cryptocurrency miner, and the hierarchy involves the utility of hash rate, wherein computing units with low hash rate utility are given priority to reduce power.
29. The method according to claim 26, wherein: The computing units are cryptocurrency miners, and the hierarchy relates to who owns them, with computing units owned by operators of at least one power generation facility having priority for reducing power.
30. The method of claim 26, wherein: The power generation index includes at least one of the following: The output power of the generator, the pressure of the generator, the coolant temperature of the generator and the load percentage of the generator.
31. The method of claim 26, wherein one container includes a computing unit with a GPU, and another container includes a computing unit in the form of a cryptocurrency miner, wherein the cryptocurrency miner has a lower priority in the hierarchy than the computing unit with a GPU, and at least one of the selected computing units is at least one cryptocurrency miner.
Citation Information
Patent Citations
Systems and methods for generating and consuming power from natural gas
US10862307B2