  This paper considers a practical mobile edge computing (MEC) system, where
edge server does not pre-install the program required to perform user offloaded
computing tasks. A partial program offloading (PPO) scheme is proposed, which
can divide a user program into two parts, where the first part is executed by
the user itself and the second part is transferred to an edge server for remote
execution. However, the execution of the latter part requires the results of
the previous part (called intermediate result) as the input. We aim to minimize
the overall time consumption of a multi-server MEC system to complete all user
offloaded tasks. It is modeled as a mixed integer nonlinear programming (MINLP)
problem which considers user-and-server association, program partitioning, and
communication resource allocation in a joint manner. An effective algorithm is
developed to solve the problem by exploiting its structural features. First,
the task completion time of a single server is minimized given the computing
workload and available resource. Then, the working time of the edge servers are
balanced by updating user-and-server association and communication resource
allocation. Numerical results show that significant performance improvement can
be achieved by the proposed scheme.
