A method comprising: receiving an operation pipeline for a computing system, the computing system comprising computing devices (330A, 330 B) and non-volatile memories, NVMs (301A - 301D), that are connected by a communication network, and data is routed and transmitted by a switch to and from the NVMs and the computing devices, whereby the NVMs are comprised in a rack-scale data center with multi-level memory modules and multiple NVMs; each of the NVMs being attached to a memory side accelerator, MSA, respectively; whereby a first computing device of the computing devices comprises a model engine, a cost engine, a communication engine, a dynamic random access memory, DRAM, and an MSA attached to the DRAM; whereby receiving comprises receiving the operation pipeline by the first computing device; the method further comprising: generating, by the model engine, a plurality of models for a number of potential memory side accelerator thread assignments to carry out the operation pipeline; wherein each model comprises a number of steps, and at least one step out of the number of steps in each model comprises a function performed by one of the MSAs (311A, 311B, 311C, 311D), and includes steps that describe the movement of data from one of the NVMs or the DRAM to another one of the NVMs or the DRAM; determining a cost of at least one step of the number of steps in at least one model of the plurality of models, wherein the cost of the at least one step is based on energy consumption and/or execution time required for the step; determining a cost of the at least one model by adding together the cost of the at least one step in the at least one model; and selecting a pathway out of the models to carry out the operation pipeline based on the cost of the at least one model. receiving an operation pipeline for a computing system, the computing system comprising computing devices (330A, 330 B) and non-volatile memories, NVMs (301A - 301D), that are connected by a communication network, and data is routed and transmitted by a switch to and from the NVMs and the computing devices, whereby the NVMs are comprised in a rack-scale data center with multi-level memory modules and multiple NVMs; each of the NVMs being attached to a memory side accelerator, MSA, respectively; whereby a first computing device of the computing devices comprises a model engine, a cost engine, a communication engine, a dynamic random access memory, DRAM, and an MSA attached to the DRAM; whereby receiving comprises receiving the operation pipeline by the first computing device; the method further comprising: generating, by the model engine, a plurality of models for a number of potential memory side accelerator thread assignments to carry out the operation pipeline; wherein each model comprises a number of steps, and at least one step out of the number of steps in each model comprises a function performed by one of the MSAs (311A, 311B, 311C, 311D), and includes steps that describe the movement of data from one of the NVMs or the DRAM to another one of the NVMs or the DRAM; determining a cost of at least one step of the number of steps in at least one model of the plurality of models, wherein the cost of the at least one step is based on energy consumption and/or execution time required for the step; determining a cost of the at least one model by adding together the cost of the at least one step in the at least one model; and selecting a pathway out of the models to carry out the operation pipeline based on the cost of the at least one model. generating, by the model engine, a plurality of models for a number of potential memory side accelerator thread assignments to carry out the operation pipeline; wherein each model comprises a number of steps, and at least one step out of the number of steps in each model comprises a function performed by one of the MSAs (311A, 311B, 311C, 311D), and includes steps that describe the movement of data from one of the NVMs or the DRAM to another one of the NVMs or the DRAM; determining a cost of at least one step of the number of steps in at least one model of the plurality of models, wherein the cost of the at least one step is based on energy consumption and/or execution time required for the step; determining a cost of the at least one model by adding together the cost of the at least one step in the at least one model; and selecting a pathway out of the models to carry out the operation pipeline based on the cost of the at least one model.