Programmable network paradigm allows the execution of active applications in routers or switches to provide more flexibility to traditional networks, and richer services for users. In this paper, we discuss issues in designing resource schedulers for processing engines in programmable networks. One of the key problems in programmable networks is the inability to determine execution times of packets from information in headers for scheduling which is in contrast to using packet length in transport resources scheduling. Therefore, this paper focuses on developing CPU scheduling algorithms that could schedule CPU resource adaptively, fairly, and efficiently among all the competing flows. In this paper, we present two scheduling algorithms that could resolve the problem of prior determination of CPU requirement of the data packet. One of the proposed packet scheduling algorithm is called start time weighted fair queueing that does not require packet processing times in advance and the other one is called prediction based fair queueing which uses a prediction algorithm to estimate CPU requirements of packet and it then schedules the packets according to that. The effectiveness of these algorithms in achieving fairness and providing delay guarantee is shown through analysis and simulation work.