Int. J. Communcatons, Network and System Scences,,, - Publshed Onlne Aprl n ScRes. http://www.scrp.org/journal/jcns http://dx.do.org/./jcns.. Load Balancng for Hex-Cell Interconnecton Network Saher Manaseer, Ahmad Alamoush, Osama Rababah Department of Computer Scence, Kng Abdullah II School for Informaton Technology, The Unversty of Jordan, Amman, Jordan Department of Busness Informaton Technology, Kng Abdullah II School for Informaton Technology, The Unversty of Jordan, Amman, Jordan Receved March ; accepted Aprl ; publshed Aprl Copyrght by authors and Scentfc Research Publshng Inc. Ths work s lcensed under the Creatve Commons Attrbuton Internatonal Lcense (CC BY). http://creatvecommons.org/lcenses/by/./ Abstract The hex-cell s one of the nterconnecton networks used for parallel systems. The man dea of the hex-cell s that there are hexagon cells that construct the network; each one of those cells has sx nodes. The performance of the network s affected by many factors one of the factors as load balancng. Untl the moment of wrtng of ths paper, there s no load balancng algorthm for ths network. The proposed algorthm for dynamc load balancng on hex-cell s based on Tree Walkng Algorthm (TWA) for load balancng on tree nterconnecton network and the rng all to all broadcast. Keywords Hex-Cell, Load Balancng, Tree Walkng. Introducton Hex-cell s newly proposed nterconnecton network n () []. The researches that evaluate the performance of the hex-cell are not enough and t should get more attenton because t has potentals for parallel systems. Snce there s no load balancng algorthm on hex-cell topology (untl the moment of wrtng of ths paper), the am of ths paper s to propose a dynamc load balancng algorthm and evaluate t. The proposed algorthm s based on Tree Walkng Algorthm (TWA) for load balancng on tree nterconnecton network and the rng all to all broadcast, usng the SBHCR (Secton Based Hex-Cell Routng Algorthm) addressng schema proposed n that dvdes the hex-cell nto sx sectons []. The rest of the paper s arranged as the followng. Secton s the related works that we buld our work on t nclude hex-cell network topology, Tree Walkng Algorthm (TWA) and rng all to all broadcast. Secton s the How to cte ths paper: Manaseer, S., Alamoush, A. and Rababah, O. () Load Balancng for Hex-Cell Interconnecton Network. Int. J. Communcatons, Network and System Scences,, -. http://dx.do.org/./jcns..
proposed load balancng algorthm and example to llustrate the way the algorthm works. Secton s the smulaton for the algorthm. Fnally, Secton s the concluson of the paper and the future work.. Related Works.. Hex-Cell Network Topology Hexogen unts create hex-cell topology; each one of those cells has sx nodes. The depth of the network s the number of levels around the nnermost cell denoted by HC (d) where d s the depth. So the nnermost cell has depth of one, the sx cells around t form level two, then the next twelve cells make the level three and so on [], As shown n Fgure. There are three addressng for the hex-cell topology. Frst addressng depend on the number of the lne that the node stand on from top to down and the number of node n that lne from left to rght [], whch denoted by par (X, Y) where X s the lne number and Y s the node number n that lne. So f the node n the thrd lne and has poston of ten then the node label s (, ). As shown n Fgure. The second addressng of the hex-cell s by dvdng the network nto sx sectons label from one to sx left to rght (clockwse). Each node takes a label consst of three numbers (S, L, X) where S s the secton number, L s the level number and X s the node number n that level whle X s not bgger than (( L) ) []. So f we have a node n secton three, n level two and number n that level s three then the node label s (,, ). As shown n Fgure. The thrd addressng s by usng the level of the node and the node number n that level. Whch denoted by par (X, Y) where X s the level number and Y s the node number whle the Y s less than ( L ) where L s the node level []. So the node n the thrd level and has number of thrty then (, ) as shown n Fgure... Tree Walkng Algorthm (TWA) The TWA uses global nformaton collecton to know the accumulatve load at each subtree and the number of the nodes at each subtree. After that the root node calculates the average load and broadcast t. Then each node calculates the quota for subtree for whch t s the root. Fnally start the exchange of tasks between the nodes []. To explan how TWA works Fgure shows tree wth seven nodes. Each node has number of tasks. Frst after the global nformaton collecton, each node has number of tasks (W ) and number of nodes n the subtree t rooted (N ). Then each node calculate the total number of tasks n the subtree (SW ). The root node (N ) calculates the average load and the remanng task (R) that cannot be evenly dvded on nodes. Then broadcast average load and R to all the nodes. Next each node calculates the quota for tself (Q ) and the subtree t rooted ( ). Table shows the values for each node. The flow of steps s presented n Fgure... Rng All to All Broadcast In all to all broadcast what needed s that each node sends the same message to all other nodes. That knd of Fgure. Hex-cell wth level one, two and three [].
Fgure. Hex-cell addressng by lne number []. Fgure. Hex-cell addressng by secton []. Fgure. Hex-cell addressng level [].
Fgure. Tree network wth tasks. Fgure. TWA balancng on tree nterconnecton network.
Table. Calculate values for each node. W N SW Q broadcast on rng topology need (n ) communcaton steps where n s the number of nodes. To explan how all to all broadcast on rng topology works Fgure shows rng topology consst of sx nodes. Snce the number of nodes equal sx then the number of communcaton steps needed for all to all broadcast s fve ( = ). Frst step each node sends ts message to the next node clockwse. Then after that n the followng four steps each node sends the recent message receved from the prevous node [] as shown n Fgure.. LBHC Proposed Algorthm The proposed load balancng algorthm depends on the TWA on tree and all to all broadcast on rng. The hexcell nterconnecton network n [] s dvded nto sx sectons. We wll use each secton as tree topology and the root node for each tree construct rng topology of sx nodes, as shown n Fgure... LBHC Algorthm Phase one: Global nformaton Collecton For each chld n the node chldren { Receve global nformaton from the chld} If node has parent { Send global nformaton to the parent } Else { Calculate average load (accumulate task / accumulate nodes) Calculate remanng load (accumulate task Mod accumulate nodes)} Phase Two: All to All rng broadcast If node s root node { For sx loops { Send node global nformaton to the next root node Receve global nformaton from the prevous root node} // Evaluate tasks load If (maxaverage mnaverage > ) { Calculate new global average load tasks (total task load / ) Calculate new global remanng tasks (total task load Mod ) Calculate new average load tasks (global average load / tree nodes) Calculate new remanng tasks (global average load Mod tree nodes)} } Phase Three: Broadcast the Average Load If node has parent { Receve global nformaton from the parent} For each chld n the node chldren { Send global nformaton for the chld} Calculate the Quota for each subtree Phase Four: TWA balancng // Recevng If node has parent {
If ((Actual accumulated tasks < Quota) { Receve tasks from the parent}} For each chld n the node chldren { If ((Actual accumulated tasks for the chld > Quota) { Receve tasks from the chld}} // Sendng For each chld n the node chldren { If ((Actual accumulated tasks for the chld < Quota) { Send tasks to the chld}} If node has parent { If ((Actual accumulated tasks > Quota) { Send tasks to the parent}} Phase Fve: Rng Balancng If node s root node { For two loops { Send (extra tasks or Zero tasks) to the next root node Receve extra tasks from the prevous root node}} Phase Sx: Fnal Balancng If node has parent { If ((Actual accumulated tasks < Quota) { Receve tasks from the parent}} For each chld n the node chldren { If ((Actual accumulated tasks for the chld < Quota) { Send tasks to the chld}}.. LBHC Phases... Phase One: Global Informaton Collecton Local nformaton collecton n each tree topology separately, as n TWA.... Phase Two: All to All Rng Broadcast Each root node n the rng topology broadcast total task and average load to all other root nodes n the rng. Evaluate average load between the trees to check f t s effcent to do global load balancng. If t s effcent to do global balancng then new global average load tasks and remanng tasks for each tree calculated as followng: ) The new average calculated by all root nodes: a) Calculate new global average load tasks (accumulate task/). b) Calculate new global remanng tasks (accumulate task Mod ). ) Tree task quota calculated by all root nodes: a) Tree task quota = global average load + IF secton global remanng tasks. b) Tree task quota = global average load IF secton > global remanng tasks. ) Average load tasks and remanng tasks for each node calculated: a) Calculate new average load tasks (global average load/tree nodes). b) Calculate new remanng tasks (global average load Mod tree nodes). If s not effcent to do global balancng leave the average load and remanng task for each tree as t s. Fgure. Rng topology.
S. Manaseer et al. Fgure. All to all broadcast on rng topology. Fgure. TWA trees and rng topologes n hex-cell.
... Phase Three: Broadcast the Average Load Broadcast the average load tasks and the remanng tasks for each node n the tree secton. Each node calculates ts quota: ) Node quota = average load tasks + IF node order < remanng tasks. ) Node quota = average load tasks IF node order remanng tasks. For the each subtree quota: Subtree quota = (Average load tasks Number of nodes n the rooted subtree) + Remanng tasks for the rooted subtree.... Phase Four: TWA Balancng Trees wth dfferent load tasks do: ) Trees wth extra tasks apply TWA so that the extra task goes to the root node. ) Trees wth exact quota just apply TWA. ) Trees wth fewer tasks than ts quota do TWA to complete ts node from bottom to top wth the rght number of tasks (the node quota).... Phase Fve: Rng Balancng If the root node has extra tasks then sends the extra tasks to the next root else t sends Zero tasks to the next root node.... Phase Sx: Fnal Balancng Apply TWA agan to balance the receved tasks... LBHC Example Here s an example on the proposed LBHC algorthm. Fgure shows hex-cell network and each node has number of tasks.... Phase One: Global Informaton Collecton Each tree does the global nformaton collecton and compute total number of tasks and number of nodes n each subtree. The followng sx tables (Tables -) show that nformaton.... Phase Two: All to All Rng Broadcast Each root node sends the maxmum average and mnmum average. Then evaluate the task number and t s effcent to do global balancng snce maxmum quota s and the mnmum s. (Snce we have chosen tasks dfferent between the hghest average tasks load and lowest average tasks load to check the effcency to do Fgure. TWA balancng on tree nterconnecton network.
Table. Secton global nformaton. W N SW Q Table. Secton global nformaton. W N SW Q Table. Secton global nformaton. W N SW Q global balancng between the sectons trees). So calculate the new tree quota. Table shows the nformaton broadcast to all root nodes. So average load = total task/. Average load = /. Average load = and TR =. Tree quota = tree average load + IF secton TR.
Table. Secton global nformaton. W N SW Q Table. Secton global nformaton. W N SW Q Table. Secton global nformaton. W N SW Q Tree quota = tree average load IF secton > TR. Then the quota for trees n Sectons to s whle for trees n Sectons and s. Each tree calculates the quota for each node and subtrees usng the new average load. As followng: The average load = / = and the remanng (R) =. The average load = / = and the remanng (R) =.
Table. Secton global nformaton. Secton TN TW Max Mn... Phase Three: Broadcast the Average Load Broadcast the new average load tasks and remanng to the nodes n the tree sectons and calculate the new quota. Q = (The average load + ) IF < R. Q = (The average load) IF R. Tables - show the new average load for each node and subtrees.... Phase Four: TWA Balancng Trees, and have extra tasks so we apply TWA on them. As an example we take tree Secton. Fgure shows the secton two trees wth the tasks load t has. Now the exchangng of tasks between the nodes s done as the followng: Each node wats to receve tasks from ts parent f (SW < Q ) or from ts chldren j f (SW j > Q j ) else the node send tasks to ts parent f (SW > Q ) or to ts chldren j f (SW j < Q j ). Seven communcaton steps needed to perform the balancng: ) Send tasks from node to node. ) Send tasks from node to node. ) Send tasks from node to node. Send tasks from node to node. ) Send tasks from node to node. ) Send tasks from node to node. ) Send tasks from node to node. ) Send tasks from node to node. As shown n Fgure. Trees, and have fewer tasks than ts quota so we apply TWA to complete ts node from bottom to top wth the rght number of tasks (the node quota) and wat for more tasks. As an example we take tree Secton. Fgure shows the tree Secton that has fewer tasks than ts quota. Now the exchangng of tasks between the nodes s done as the followng: Each node wats to receve tasks from ts parent f (SW < Q ) or from ts chldren j f (SW j > Q j ) else the node send tasks to ts parent f (SW > Q ) or to ts chldren j f (SW j < Q j ). Sx communcaton steps needed to perform the partal balancng: ) Send tasks from node to node. Send tasks from node to node. Send tasks from node to node. ) Send tasks from node to node. ) Send tasks from node to node. ) Send tasks from node to node. ) Send tasks from node to node. ) Send tasks from node to node. As shown n Fgure. Untl now, we have partal balanced hex-cell network. Fgure shows the hex-cell partal balanced network.
Table. Tree average load. W N SW Q Table. Tree average load. W N SW Q Table. Tree average load. W N SW Q... Phase Fve: Rng Balancng Here, the root nodes start to send extra tasks among between them (Clockwse) startng from root node n tree Secton. ) Root node n tree Secton wll send tasks snce t wats for tasks. ) Root node n tree Secton wll not receve any tasks and t wll send the extra tasks ( tasks) to the root node n tree Secton. ) Root node n tree Secton receves tasks, snce t has extra tasks ( tasks) t wll add the extra tasks to
Table. Tree average load. W N SW Q Table. Tree average load. W N SW Q Table. Tree average load. W N SW Q the receved tasks (total extra tasks ) and send t to root node n tree Secton. ) Root node n tree Secton wll receve tasks, whle t has fewer tasks load than t quota then t wll take the approprate number of task ( tasks) and send the rest ( tasks) to the root node n tree Secton. ) Root node n tree Secton wll receve tasks, whle t has fewer tasks load than t quota then t wll take the approprate number of task ( task) and send the rest ( tasks) to the root node n tree Secton. ) Root node n tree Secton wll receve task, snce t has extra tasks ( tasks) t wll add the extra tasks to the receved tasks (total extra tasks ) and send t to root node n tree Secton.
Fgure. Tree Secton wth tasks load. Fgure. TWA balancng on tree Secton wth extra tasks.
Fgure. Tree Secton wth fewer tasks then t quota. Fgure. TWA partal balancng on tree Secton.
Fgure. Hex-cell network partal balanced. ) Root node n tree secton wll receve task, and ts quota s completed now. As shown n Fgure.... Phase Sx: Fnal Balancng After the root node n tree secton receved the tasks to complete ts quota as shown n Fgure. The tree wll apply TWA agan to balance the receved tasks. One communcaton step needed to perform the balancng: ) Send tasks from node to node. As shown n Fgure. Fnally the hex-cell network tasks load s balanced as shown n Fgure.. Smulaton The smulaton s done usng JAVA programmng language verson (.._) -bt, usng mult-threadng to smulate each node. The hardware specfcaton for our smulaton are: ) Processor: Intel(R) Core(TM) - M CPU @. GHz. ) RAM:. GB. ) System type: Wndows /-bt. As for the smulaton we have chosen dfferent tasks between the hghest average tasks load and lowest average tasks load to check the effcency to do global balancng between the sectons trees. The major factor to evaluate load balancng algorthm s the accuracy. After the smulaton wth dfferent levels and dfferent nputs for the load tasks for each node, LBHC proved to be effectve. In all runs, the dfference between the hghest task load and the lowest task load s one. (Unless t s not effcent to do global balancng where the dfference wll be the factor we choose and that s ). The executon tme for any algorthm s one of the mportant factors to evaluate the performance. So Fgure shows the average executon tme for LBHC n varous levels, from level one (hex-cell has nodes) to level ten (hex-cell wth nodes). Another factor we have studed s number of messages n the network whle applyng the LBHC algorthm. Fgure shows the average number of messages n varous levels from level one (hex-cell has nodes) to level ten (hex-cell wth nodes).. Concluson and Future Work In ths paper, we have proposed a dynamc load balancng algorthm for hex-cell nterconnecton network that
Fgure. Root nodes from the sectons sendng tasks. Fgure. Partal balanced tree Secton receved more tasks. Fgure. Tree secton apply TWA agan to balance the receved tasks. s based on Tree Walkng Algorthm (TWA) and the rng all to all broadcast, usng SBHCR addressng schema that dvdes the hex-cell nto sx sectons. As the smulaton shows, ths algorthm has good performance n executon tme and number of message compared wth the number of nodes n the network. But snce there are no other dynamc load balancng algorthms on the hex-cell, we could not compare t any algorthm. For future
Fgure. Hex-cell network tasks load balanced. Fgure. Average executon tme n nanosecond for dfferent levels. Fgure. Average number of messages n the network.
work, the next step s to propose another load balancng algorthm and compare t wth the proposed one. After that, we could do more research on other aspects of the hex-cell nterconnecton network to evaluate ts performance. References [] Shareh, A., Qatawneh, M., Almobadeen, W. and Slet, A. () Hex-Cell: Modelng, Topologcal Propertes and Routng Algorthm. European Journal of Scentfc Research,, -. [] Qatawneh, M., Alamoush, A. and Alqatawna, J. () Secton Based Hex-Cell Routng Algorthm (SBHCR). Internatonal Journal of Computer Networks and Communcatons,, -. [] Mohammad, Q. and Khattab, H. () New Routng Algorthm for Hex-Cell Network. Internatonal Journal of Future Generaton Communcaton and Networkng,, -. http://dx.do.org/./jfgcn... [] Shu, W. and Wu, M.-Y. () An Incremental Parallel Schedulng Approach for Solvng Dynamc and Irregular Problems. Proceedngs of the th Internatonal Conference on Parallel Processng, Oconomowoc, October, -. [] Grama, A., Gupta, A., Karyps, G. and Kumar, V. () Introducton to Parallel Computng. nd Edton, Chapter. Basc Communcaton Operatons, Secton. All-to-All Broadcast and Reducton, Subject.. Lnear Array and Rng.