Chapter 4. The Designed Joint Relay Selection and Scheduling Algorithm 16
4.2 Scheduling Algorithm
Our scheduling algorithm consists of two phases: the first phase is to allocate channel time to intra-piconet flows, while the second phase is to serve inter-piconet flows. For each piconet, the PNC performs phases 1 and 2 operations in order.
1. Phase 1: intra-piconet flow scheduling
The PNC first sorts all intra-piconet flows and the last hop of the inter-piconet flows in decreasing order of the required channel time. The flow which has the longest required channel time among all will be scheduled first. A new intra-piconet flow can be allocated in a CTA if it is interference-free with all existing flows. When none of existing CTAs can accommodate this new intra-piconet flow, the PNC allocate a new CTA to the flow. The detailed operations are in [6].
After performing phase 1 scheduling operations, we assume that all intra-piconet flows utilize n CTAs for data delivery. Let be the time duration of the ith CTA.
From [6], we know .
2. Phase 2: inter-piconet flow scheduling
After serving all intra-piconet flows, the PNC then starts to schedule inter-piconet flows. Similarly, all inter-piconet flows are sorted in decreasing order of the requested channel time, and the inter-piconet flow which has the longest requested channel time will be scheduled first.
Assume the PNC will schedule m inter-piconet flows. Let , , … , represent
23
the sorted flows, and their requested channel times are , , … , , and .
Briefly speaking, for each inter-piconet flow , the PNC first searches all CTAs in order to find the possibility of allocating in existing CTA by performing the interference-free verification, and concurrence-restricted extent derivation. When discovering a CTA which has non-empty set of relay candidates, the scheduling for completes. The detail steps are summarized in the following and the pseudo code is shown in Fig.4.4
Step 1:
For , the PNC performs the verification of interference free, derives Θ , and , . If , , then the PNC derives Θ , and , . This process keeps till the PNC discovers a non-empty , , 1 or the PNC has verified all n CTAs.
Step 2:
If discovering a non-empty , , 1 , the PNC allocates in CTA , calculates the concurrence index of each relay candidate, and designates the one with the largest index value as the relay node. The calculation is introduced in Sec. 4.1. Besides, the PNC sets the CTA time duration to be max , and re-sort this CTA to keep CTAs in decreasing time order.
Step 3:
If none of CTAs can accommodate (i.e., , , ), the PNC allocates a new CTA (i.e., CTA ) to , sets , re-sorts CTAs, and updates the number of CTAs to be (n+1).
Step 4:
The PNC treats the scheduled inter-piconet flow as an intra-piconet flow.
Step 5:
24
The PNC keeps performing steps 1-4 on , , … , .
We use the example in Fig. 4.3 again to illustrate the operations of the designed joint algorithm. In Fig. 4.3, the required transmission times of , , , and are 0.7 ms, 0.5 ms, 0.6 ms, and 0.3 ms, respectively. After phase 1 scheduling, the PNC of piconet 1 allocates CTA to and sets be 0.7 ms; the PNC of piconet 2 also allocates its CTA to and sets be 0.7 ms, as shown in Fig. 4.5. The PNC of piconet 1 then performs phase 2 operations to schedule and . Since , the PNC schedules first. As we previously described, and are two relay candidates of and , thus acts as the relay node of . The PNC allocates in CTA without modifying the CTA time. Now is viewed as an intra-piconet flow of piconet 1, and the PNC re-checks the concurrence restricted extent and the set of relay candidates for . Since is not in the green and the blue sectors, and is interference-free with and , it can be scheduled in CTA , and its relay candidates are and . The concurrent restricted extent of and is (60° 30° 20° 110°) and (60° 30° 10° 100°), respectively. The
concurrence index of is ° 0.722, while it’s ° 0.694 for . Therefore, the PNC designates to be the relay of .
To schedule the second hop of and , the PNC of piconet 2 can only allocate CTA to , and thus 0.5 ms. Similarly, the PNC performs phase 2 operations on and discovers that can be allocated in CTA without interfering with . The scheduling result is summarized in Fig. 4.5.
25 Phase 1:
Schedule intra-piconet flows and the last hop of inter-piconet flows using algorithm in [6]
Phase 2:
Joint relay selection and scheduling algorithm
Input: n inter-piconet flows
14:// If the inter-piconet flow can not be scheduled in the exist CTAs, PNC will allocate one new CTA for that flow
15: if CTA ,
22: : ; //Treat the scheduled flow as an intra-piconet flow
Figure 4.4 Pseudo code of joint relay selection and scheduling algorithm
26
z Complexity
The complexity of the joint algorithm is O( ). Compare to the optimal solution, the joint algorithm can greatly decrease the complexity and the computation time.
Although the scheduling result is not the best assignment, the differences are quite small and we show the comparison of utilized channel time in the simulation part.
Piconet 1 Piconet 2
CTA1 CTA1 CTA2
(f2, 0.6 ms) (f1, 0.7 ms)
(f4, 0.3 ms)
(f3, 0.5 ms) (f3, 0.5 ms) (f4, 0.3 ms) t1=0.6 ms, t2=0.5 ms t1=0.7 ms
Phase 1 scheduling
results Phase 2 scheduling
results
Figure 4.5 The scheduling results of the example in Fig. 4.3
27