Further still, in one embodiment, the optimal node may be chosen as the node having a virtualization unit that can implement the computation algorithm with a lowest cost. For example, the cost may be monetary (e.g., the optimal node may implement the computation algorithm with the lowest virtualization unit operation cost). For instance, a node that includes a freeware virtualization unit that can implement the computation algorithm may be selected instead of virtualization unit with a pay-per-use license that can implement the computation algorithm. This may minimize CAPEX and OPEX costs associated with the implementation of the algorithm within the storlet architecture.
Also, in one embodiment, the cost may be resource-centric (e.g., the optimal node may implement the computation algorithm with the smallest impact on an amount of available resources, etc.). For example, a node that includes a virtualization unit that can implement the computation algorithm without any limits on concurrent usage may be selected instead of virtualization unit that can implement the computation algorithm that has a limit on a number of concurrent users of the virtualization unit.
In addition, in one embodiment, the determination may be based on previous node selection. For example, a user may manually determine the node for a predetermined computation algorithm. In another example, a history of manual node selection for predetermined computation algorithms may be stored and used to determine the optimal node.