A group priority earliest deadline first scheduling algorithm