Heat energy capture and storage systems
A system and method for capturing heat energy are disclosed. The system comprises a central processing platform, at least one heating system comprising at least one computing unit, one or more Application Programming Interfaces (API) components on the central processing platform, and a job queue. The at least one computing unit has one or more computing nodes communicatively connected over a wired and/or wireless network and to the central processing platform. The at least one heating system is installed at a premise. The at least one heating system is configured to output heat generated from the respective at least one computing unit by the one or more computing nodes executing a processing job.
1 . A system for capturing heat energy comprising:
a central processing platform;
at least one heating system comprising at least one computing unit, the at least one computing unit having one or more computing nodes communicatively connected over a wired and/or wireless network and to the central processing platform, wherein the at least one heating system is installed at a premise, the at least one heating system being configured to output heat generated from the respective at least one computing unit by the one or more computing nodes executing a processing job;
one or more Application Programming Interfaces (API) components on the central processing platform, the one or more API components comprise:
a Compute Management Service programmed and configured to receive a request for a processing job, and in response, create a cluster comprising the one or more computing nodes that are indicated as having an available status, wherein the available status of the one or more computing nodes correlates with a demand for heat at the respective at least one heating system, and wherein the one or more computing nodes in the created cluster is programmed and configured to execute the processing job assigned by the Compute Management Service; and
a Distributed Training Service communicatively connected to the one or more computing nodes, wherein the Distributed Training Service is programmed and configured to orchestrate the incoming processing jobs among the one or more computing nodes in the created cluster that are assigned the processing job by the Compute Management Service;
a job queue communicatively connected to the Compute Management Service and the Distributed Training Service, wherein the job queue is configured to receive from the Compute Management Service information about the processing job and to transmit to the Distributed Training Service said information about the processing job.
2 . The system as defined in claim 1 , wherein the orchestrating at the Distributed Training Service comprises receiving the processing job from the job queue, and communicating the processing job to the assigned computing nodes in the created cluster.
3 . The system as defined in claim 1 , wherein the orchestrating at the Distributed Training Service comprises transmitting the information about the processing job to the assigned computing nodes in the created cluster.
4 . The system as defined in claim 3 , wherein the information about the processing job comprises access to a base model, an intermediate model, and/or training data that are necessary for the assigned computing nodes to start the processing job.
5 . The system as defined in claim 1 , wherein the information about the processing job comprises information about assignment of computing nodes in the created cluster.
6 . The system as defined in claim 1 , the one or more Application Programming Interfaces (API) components additionally comprise an Adaptive Cluster Configuration Service communicatively connected to the Compute Management Service, the Adaptive Cluster Configuration Service being programmed and configured to transmit to the Compute Management Service clustering options for creating the cluster.
7 . The system as defined in claim 1 , wherein the one or more computing nodes are communicatively connected to the Compute Management Service, the one or more computing nodes are programmed and configured to communicate to the Compute Management Service, in the middle of the processing job, a change of status availability from the available status to an unavailable status.
8 . The system as defined in claim 7 , wherein the Compute Management Service is programmed and configured to reconfigure the created cluster to generate a new cluster comprising one or more computing nodes, the new cluster of one or more computing nodes are configured and programmed to continue executing the processing job.
9 . The system as defined in claim 1 , further comprising a model storage component communicatively connected to the Compute Management Service and the one or more computing nodes, wherein the model storage component is configured to store intermediate models, wherein the intermediate models are uploaded to the model storage component by the one or more computing nodes in the created cluster at the end of each training epoch.
10 . The system as defined in claim 9 , wherein the model storage component is configured to transmit to the Compute Management Service one or more intermediate models, the Compute Management Service is programmed and configured to generate one or more signed uniform resource locators (URLs) comprising access to the intermediate model for providing to the one or more computing nodes in the new cluster, wherein the one or more computing nodes in the new cluster is programmed and configured to continue executing the processing job using the respective intermediate model as a starting point.
11 . The system as defined in claim 1 , wherein the created cluster comprises computing nodes which have node affinity with one another.
12 . The system as defined in claim 11 , wherein node affinity identifies each of the computing nodes by one or more of hardware compatibility, firewall configuration, network configuration and/or geographical location.
13 . The system as defined in claim 1 , further comprises a dashboard interface communicatively connected to the Compute Management Service, the dashboard interface being configured to transmit to the Compute Management Service the request for the processing job.