1. A kernel execution order scheduling apparatus comprising: an estimation unit configured to estimate respective execution times of kernels based on an effective progress index (EPI) of each of the kernels; and a hardware-based control unit configured to determine an execution order of the kernels based on the estimated respective execution times of the kernels and respective priorities of the kernels, wherein the estimation unit comprises a progress index estimator to estimate the EPI a memory progress index (MPI), and a kernel progress index (KPI) based on a history of a kernel repeatedly executed during execution of an application program; an MPI estimator to estimate a final MPI based on a real progress index (RPI), the EPI, a memory efficiency (ME) of each of the kernels, and ME variation with respect to kernels to be executed; and a KPI estimator to estimate a final KPI based on the RPI, the EPI, an operating system (OS) efficiency, that is, a kernel efficiency (KE) with respect to each of the kernels and KE variation with respect to kernels to be executed.