user level thread scheduling framework