Also, in one embodiment, the virtualization unit metadata may include one or more guidelines for the application that is implemented by the virtualization unit. For example, the virtualization unit metadata may include one or more benefits of the virtualization unit (such as an unlimited number of users, etc.). In another example, the virtualization unit metadata may include one or more limitations of the virtualization unit (e.g., a limited number of concurrent users, limited number of simulations, etc.). In yet another example, the virtualization unit metadata may include one or more operating costs of the virtualization unit (e.g., pay per use, freeware, recurring fee, etc.).
Additionally, in one embodiment, the virtualization unit metadata may be obtained utilizing one or more daemons. For example, a daemon may be located within each of the plurality of nodes, and may collect and export the virtualization unit metadata for that node. In another embodiment, the virtualization unit metadata may be stored in a template in middleware (e.g., at a storlet scheduler, etc.).
Further, method 400 may proceed with operation 408, where an optimal node for implementing the computation algorithm is determined from the plurality of nodes, based on the one or more computation operations and the virtualization unit metadata for each of the plurality of nodes. In one embodiment, the optimal node may be determined by comparing the one or more computation operations to the virtualization unit metadata for each of the plurality of nodes. For example, the one or more computation operations may be compared to a template storing the virtualization unit metadata.