Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

GAAM: An Energy Conservation Method Using

Code

Migration for Ad Hoc


Reza Shokri
ECE Department University of Tehran Tehran, Iran r.shokri@ece.ut.ac.ir

Sensor Networks

Amir Nayyeri ECE Department University of Tehran Tehran, Iran a.nayyeriaece.ut.ac.ir

Nasser Yazdani ECE Department University of Tehran Tehran. Iran yazdani(ut.ac.ir

Abstract- Ad hoc sensor networks are used in different hostile environments, like forests, battle fields, etc. The nature of these surroundings makes power recharging of the network devices very difficult or even impossible. Therefore, energy conservation is one of the main concerns of such systems. As most of these systems consist of different procedures resided in sensors that communicating by means of RPC, placing related codes near each other can extremely reduce total energy utilization. In this paper, we have proposed GlobAl/locAl Migration (GAAM) to decrease power utilization with help of code migration. Then, the mathematical analysis of the proposed method is presented, where the correctness of the scheme is proved with an extra premise. Moreover extended issues provide some ideas to improve the outcomes even more. Simulation results indicate that the total consumed energy is reduced by 50 percent, using GAAM.

Keywords-Sensor Networks; Energy Conservation; Single System Image; Code Migration; Graph Theory.

monitoring and controlling in physical environments [7][81[9]. Usually, the sensors are powered by a limited battery, which is dissipated gradually during data transmission/reception. Since charging power of the nodes is either impossible or very hard, optimizing energy utilization becomes one of the main

INTRODUCTION Composed of tiny and resource constrained computing devices, sensor networks have been widely deployed for the
I.

greatly effective in the context of an ad hoc sensor netwvork. Code Migration also provides more advantages like load sharing, communication performance, availability of processes, and reconfiguration [I]. The primary contribution of this paper is GlobAl I locAl Migration (GAAM) as a method to find an optimal placement for procedures to minimize power consumption. The convergence of the method is proved mathematically in a model with an extra premise. In addition, some heuristic techniques are applied to distribute the load and avoid fluctuation of a single procedure among some nodes. In experimental results, the effectiveness of the algorithm is measured, by means of total energy consumption that could register 50 percent improvement. In our methods, we first try to find a destination for each piece of code, procedure, to optimize its communication cost. Considering the fact that putting different pieces of code in a single sensor can result in its early depletion, the codes are distributed in the neighborhood of a sensor iftheir all have a same target. The next section surveys the related work both in energy conservation of sensors and also in code migration applications. Section three tries to formally formulate the problem. Then, the solution of the problem is explained in detail in section four. Section five is devoted to experimental results. Finally, section six concludes the paper.
II.

challenges [13][14][22][231.

RELATED WORK

Nodes of a sensor network usually work in corporation to accomplish the goals of the network. Therefore, we can imagine the total network as a distributed system, in Nvhich message passing plays an important role. Moreover, in the newly introduced approaches [5J[6], inspired from products of cluster computing [4][24], that consider the whole network as a single system image (SSI), the necessity of message passing becomes more apparent. In such systems, Remote Procedure Calls (RPC) utilize a large portion of devices' energy. Thus, optimizing communication can extremely make the network lifetime longer. Communication cost in a distributed system, caused by RPC, highly depends on the placement of procedures in the network. Specifically placing more communicating codes close to each other reduces the communication cost, which can be

The related work is twofold: Energy Conservation and Code Migration. Energy conservation in sensor network can be applied in different levels from application to operating system and even hardware. Specially, communication optimizing methods are categorized due to the OSI level of their function. For example, in the physical layer selecting transmission power is a trade-off between energy conservation and connectivity of the network [13][14]. Collisions, idle listening, and overhearing are three different causes of extra energy consumption in MAC layer; [15][16] proposed some techniques to defeat them. [17] describes some goals of the energy conservation in the network layer as: minimizing total consumed energy, maximizing time till partition, minimizing energy variance of different nodes, and minimizing cost per packet. The paper indicates that we face a trade-off since the optimization process of some of the

1-4244-0000-7/05/$20.00 02005 IEEE.

481

mentioned values is in contradiction with each other. Defining -the cost as a remaining battery the article proved the optimization problem is NP-complete. Later [18] suggested a linear programming formulation of the problem. In the application layer, [19][20] suggested code migration to reduce the total energy consumed in RPC. Also [21] proposed methods for code migrating when a sensor power is to be drained. Code and data migration has been one of the most challenging criteria in the filed of distributed systems. [1] discusses advantages of migration including load sharing, communication performance, availability, fault tolerance, and utilizing special capabilities. Earlier operating systems like V [251, Sprite [261, Accent [28], and LOCUS [27], provide methods for code migration in a cluster of nodes. Code Migration becomes more vital in some recent works, like cJVM [4], and JESSICA [24], that provide a Single System Image of a cluster of hosts. To make the sensor application development simpler, MagnetOS [I91[20] has suggested the similar idea in which sensors are the systemts host. Motivating from these works, we proposed a method for energy conservation with the help of code migration. This scheme also helps load sharing, easier availability of procedures, and fault tolerance.
PROBLEM FORMULATION In a distributed system deployed on a sensor network, the procedures usually communicate with each other by means of remote procedure calls. Consequently, the consumed energy by message passing can be notably reduced with the help of code migration that is putting more communicating codes near each other. Therefore, finding a well positioning for code fractions to minimize the total energy consumption can extremely improve power conservation in the system. In the optimization process, two constraints should be considered. First, some procedures are static due to the nature of application; for example, some procedures communicating with outside world belong to this category. Second, large number of procedures on a single sensor results in its early depletion, so a threshold for the number of procedures in a node seems essential. Hereafter, we are to define the problem more formally using graph theory concepts. In the following definitions of the problem the sensor network is modeled with a Unit Disk Graph and the procedures and their mutual communication rate is considered as a weighted graph.
III.

c) Each mapping of the procedures to the nodes is defined by a function F: G S; F(p,) = nk means that procedures pi resides on the host nk Definition 2 (Problem Statement): Find the place of mobile procedures in the network; find F, so that the total energy consumption formulated below to be minimized.
E-C=

='EwGlvr=G w 2C

(u, v).ds (F(u), F(v))

(1)

where ds represents the distance of two nodes in UDG S. Since each link is computed once from each endpoint the coefficient 1/2 is required.
ENERGY CONSERVATION WITH CODE MIGRATION Location-aware sensor networks are those in which the nodes know their geographical positions. Many of the routing protocols suggested so far use the geographical information for finding routes [29][30]. In this work, nodes are assumed to be
IV.

location-aware. In this chapter, first, a simplified model of the problem and the corresponding solution are explained. Then, the algorithm will be modified to solve the real world's problem. Finally, extended issues will be discussed.
A. The Simplified Problem At first, a simplified problem is taken into consideration. The premise is added that sensors are deployed so densely that a procedure can approximately go to any point of the field. In this manner, a new function F`: G-+R2, should alternate F, which maps each procedure to an arbitrary point of, real numbers field, R2 instead of a special node of S. Definition 3 (Simplified Problem Statement): Find the place of mobile procedures in the field; find F so that the total energy consumption formulated below to be minimized.

EC = XEG LVEG WG (u, v).d(F'(u), F'(v))


2

(2)

Here, d represents the Euclidian distance between two points. In order to minimize the value presented by (2) derivative method is used. Using Euclid Formula for the distance of two points in the field we conclude:
EC

Definition 1: a) The Unit Disk Graph S represents connectedness of sensors in the field. Each vertex of S stands for a sensor, and two vertices are connected if and only if the corresponding sensors' distance is less than one. b) The Weighted Graph G models procedures and their mutual communication rates. Its nodes symbolize the procedures, and two nodes p, and pj are connected with weight w(p,, p) which is proportional to the communication rate between pi and pj.

=-ZEGvG WG(uXv) +(yx-YV) 2

(3)

where x,, y,, x,, yv, represents different dimensions of the points u, v in R2 respectively. The partial derivatives according to x , y, (for all procedures u), are used to find the optimum point of the function. Here the computation process for xX is presented. The other case is similar.

482

aEC
axu

1
2Z

WG(U,V).(XX ) -XvU (x Xv) + (Y Yv)2

(4)
0
(5)

0 o
0

For simplifying (4) the coefficient a,, is defined as follows:


_
W

t.,V~~~~Y YV)+(

WG(U,V)

_)2

Simplifying equation (4) with respect to definition (5), it could be deduced that the optimum energy consumption, EC, formulated in (2), can be reached by positioning the procedures at the solution points of the following System of Equation:
X =

0
0

1,EG au,V JV )/1WGau,v


(E r=G au,vv Y\'v/EG auj,l

(6)

YU

(7)

It is worth noting that in this system of equations, for each unknown valuexu oryu an equation exists. There exist different numerical methods for solving system of equations like (6) and (7). Jacobi and Gauss-Seidel are two well-known iterative methods that are used to solve alike systems. Here. we have used Jacobi to find the solution points; our proposed algorithm can even use Gauss-Seidel with a minor change. An explanation of Jacobi and Gauss-Seidel Methods are provided in the Appendix; for detailed information see [10][11 ][12]. Due to above discussions, a simple algorithm can be proposed to find a placement for procedures that minimizes EC. ln a distributed manner, the time is divided into equal sized divisions, called epochs. Then, at the start of each time division each node computes its destination coordinates with respect to formula (6), and (7). In other words, in each step, the procedure computes the weighted average of its incoming and outgoing RPC calls in the field, and starts moving toward there. During each epoch, the procedures are forwarded toward their destinations by sensors. If the epoch is long enough the movement of procedures actually simulates the steps of Jacobi iteration. According to this manner a formal proof for convergence of the algorithm can be presented. Definition 4: The NXN Matrix A is called diagonally dominant if

permutation matrix is the one that can be created by rearranging rows and columns of an identity matrix. On the contrary if no such permutation exists A is irreducible In addition, we call the matrix A, irreducibly diagonally dominant if it is irreducible and also diagonally dominant. Here two lemmas from [11] and [30] respectively are stated. For the proof of them we refer the reader to the corresponding references. Lemma 1: Let A be a strictly or irreducibly diagonally dominant matrix. Then both Jacobi and Gauss-Seidel iterative methods converge to the solution of AX = B, for any initial condition of PO. Lemma 2: Let G=(V, E) be a digraph, A =adj(G). Then A is irreducible if and only if G is strongly connected. Theorem: The proposed algorithm converges to the solution of the system if the lengths of epochs are as large as the required time to convey each procedure to its destination. Proof: As explained above, with long epochs the algorithm will be a distributed simulation of the Jacobi process. In fact the sensors positions after each time division are equal to the values of the system defined by equations (6), (7) after the same number of iterations in Jacobi process. As all a,,,, are positive, the corresponding matrix of the Jacobi process is diagonally dominant, that is:

I. The Over all schema of the Network: Global vs. Local Move. Thickness of lines show the rate of inter-procedures communication. where Al,, is an r xr matrix and A2,2 is an (n-r) x(n-r) matrix. A
Figure

la..kI> ja,1

*--+ i ja,for all k = 1, 2,..., N.


+

ak k

I+

+ jak.N

(8)

EveG au., ==lau, I + la.,2 I +...+ laUIV(GI


On the other hand, since Graph G is connected and undirected, it is strongly connected. Let H be the corresponding graph of A =[a ,/j matrix. Since the values of a,,,x is proportional to wG(u, v) with a positive factor. So, u, and v are connected in H if and only if they are connected in G. Thus the strong connectivity of G results in the strong connectivity of H. Using Lemma 2, A is irreducible because H is strongly connected. Hence A is irreducibly diagonally dominant. According to Lemma 1, Jacobi or Gauss-Seidel process converge to the solution for such a matrix, in tum the proposed method will converge to optimal placement of procedures. u

Furthermore, A is strictly diagonally dominant if inequality (8) is strict. Definition 5: For n.2, an n xn matrix A is reducible ifthere exists an nxn permutation matrix P such that

PAPTrAl, I
Lo

A22

A12

(9)

483

So far, we have simplified the problem and proposed a solution for it. Hereafter, the suggested solution should be scaled up to solve the real world problem.
B. GlobAl / locAI Migration (GAAM) Using the provided theory supports, and also some

This relation is extremely useful in determining the parameters of the algorithm. For example, if three total numbers of moves is desired in LM, p should be 2/3.

experimental results, GlobAl / locAl Migration (GAAM) is explained in this subsection. By dividing the method to two different layer of decision making, the concems of the problem, reducing the communication cost and also avoiding heavy load for a single sensor, are separated effectively. Therefore, the decision is made in a two-step manner, Global Move (GM) and Local Move (LM). At the beginning of each epoch, the node containing a procedure decides about its delivery. Being far from the computed destination, the node uses Global Move process, which means forwarding the code to a closer neighbor to the destination. On the other hand, if the procedure is close enough to the destination Local Move will be applied. The local move is applied when the current procedure's location is in R distance of its final destination; the matter of deciding about the R's value is discussed in experimental results. To distribute the load of procedure running evenly in a neighborhood methods' movement took place with consideration of four parameters: distance of the nodes to their destination and the number of procedures resides in each node. Figure 1 depicts the case for procedure p nodes v, u, and the corresponding values of distance, r(u), r(v), and load N(u), N(v), in moving from u to v. In this case the decision should be perfonned due to the following formula, called Appropriateness of the Move from u to v,AM(u, v):

C. Extended issues In this Section we discuss an extension to the proposed solution which results in even better outcomes. In addition, other forms of formulating energy conservation problem and a reduction to them are explained. A wise extension to the proposed algorithm is the use of code replication. Having diverse replicas of a single piece of code can help to improve the overall power conservation. A clear benefit may be co-placing a procedure in two regions of high access. However, code replication has significant difficulties for state-fill procedures; code that have internal variables. Therefore, in our experiment we only consider replication for state-less piece of codes. The improvement of this extending technique can be seen in experimental results. A controversial difficulty in the field of sensor network, especially in energy conservation researches, is how to define power- maintenance problem. Minimizing the total consumed energy, which is the goal of this article, is one approach. On the other hand some authors have tried to optimize the life time of the first energy-drained sensor. The proposed method of this paper can be approximately reduced to overcome that form of the problem, considering a threshold for the number of procedures resided on a single sensor. Although this approach increases the total consumed energy it can enhance the time to first death for the system. The analysis of the stated threshold in the next section clarifies the effect ofthis value.
EXPERIMENTAL RESULTS For experimental results, 200 sensors are deployed in

AM(u, ) = N(u) * r(u) > a *


N(v) r(v)

(10)

V.

where a is evaluated by experiments. If AM is less than the mentioned threshold, a, the migration will not take place. On the contrary condition, the code will be migrated with a probability proportional to AM. Another concern of Local Move is avoiding fluctuation of a single procedure among different nodes. Here two techniques are applied to resolve the problem. The first technique is the use of history. Using it, a procedure can return to a node immediately after leaving it only with a very small probability. The other trick is to constraint the total moves of a single method when it enters the area of Local Move. In this algorithm, the value p is attached to each routine for its movement probability in LM region. After each epoch this value degrades exponentially. In other words, p, p2, p, ... is the moving probability sequence of a single procedure in the epochs 1, 2, ... respectively. The expected value of total number of movements, EM, in LM with respect to p may be calculated by the following formula: EM
p
=

i=,

l-p

(11)

lOmxlOm area with uniform probabilistic distribution, where each sensor's sensing area is a circle with radius one. Consequently, two sensors assume connected if their Euclidian distance is less than one meter. The required energy to deliver a procedure across one link is supposed ten times of the energy needed for passing RPC message through the same link. As indicated in introduction, the active code migration is only done when the containing sensor of the procedure is to die. On the other hand, passive migration is determined by the proposed algorithms. The main goal of the proposed algorithms of this paper is energy conservation. Therefore, total consumed energy can be a meaningful meter for comparison. Nevertheless, it should be noted that ifthe load is not fairly distributed in the network the number of drained sensors can increase faster than the total utilized energy. The utilized energy for communication is rooted in either RPC or Code Migration. Although using no code migration eliminates the second source of power utilization, GAAM reduces the RPC required energy with a considerable factor after convergence. Figure 2 illustrates the effectiveness of GAAM, in comparison with the case where no migration is used. At initial epochs, GAAM consumes more energy. However, after convergence the growing rate of the curve

484

140 2

120 X 1 00 0

80

E
0 o

60

40

20 -/,
0 10

,a/ a
20 ~~~~

-e---~~~~GAAM A
40
50

- -+ No Mgration

In the two phase algorithm, GAAM, R plays an important role in deciding when to apply each technique. Practically, selecting a large value for R causes continuous applying of Local Move, which in turn results in truly lazy procedures an slow movement. On the other hand a small value for R, results in fluctuation of procedures and consumes even more energy. Thus, we face a trade-off here, which is illustrated in Figure 4 This diagrams shows that the best applicable value for R is about 2.5 meter, when the sensing area is one meter. In this experiments the value of a is considered 0.5.
100

20

30

60

70

e0

90

Epochs

Figure 2. Consumed Energy vs. Epochs.


80 70-

0)
C

60

s0 -30-

0 40

E
C)

co 0

20

10 /
0

.--- thoutCR
20

-- WithCR

40

60

80

100

120

140

Epoches

VI. CONCLUSION AND FUTURE WORK GAAM is proposed for energy conservation in ad hoc sensor networks, in this paper. The main idea of GAAM is placing more related codes near each other in the field. Effectiveness of the proposed code migrating scheme is proved, with an extra premise. Then, some extended issues are suggested to improve the result of the algorithm. Experimental results present more analysis of the methods. It is shown there, that GAAM can reduce the total consumed energy to half Refining the algorithm for more hostile environments is considered as the future work of this paper. Specifically, applying this technique for mobile sensors sounds more challenging. Path life time prediction and future request forecasting can be extremely effective in that context. Furthermore, fault tolerance becomes more vital. Code replication can provide error resilience; nevertheless, it is still far from the desired point for such environments.
REFERENCES [1] E. Jul, H. Levy, N. Hutchinson, A. Black, 'Fine-Grained Mibility in the Emerald System", ACM Trans. Comput. Syst. 6(1): 109-133 (1988). [2] S. Osman, D. Subhraveti, G. Su, J. Nieh, The Design and Implementation of Zap: A System for Migrating Computing Environments", Proceedings of the 5th Symposium on Operating Systems Design and Implementation, 2002. [3] J Heidemann, W. Ye, 'Energy Conservation in Sensor Networks at the Link and Network Layers", Technical Report [4] Y. Aridor, M. Factor, A. Teperman, "cJVM: a Single System Image of a JVM on a Cluster", Proceedings of the 1999 International Conference on Parallel Processing, p.4, Sep 21-24, 1999. [5] H. Liu, T. Roeder, K. Walsh, R. Barr, E. Sirer, "Design and Implementation of a Single System Image Operating System for Ad hoc Networks", In Proceedings of The International Conference on Mobile Systems, Applications, and Services (Mobisys), Seattle, Washington, June 2005. [61 R. Barr, J. Bicket, D. Dantas, B. Du, T. Kim, B.Zhou, E. Sirer, "On the Need for System-Level Support for Ad hoc and sensor Networks", In Operating Systems Review, 36(2):1-5, April 2002. [7] C. Intanagonwiwat, R. Govindan and D. Estrin, "Directed Diffusion: A Scalable and Robust Communication," MobiCOM '00, August 2000. [8] W. R. Heinzelman, J. Kulik and H. Balakrishnan, "Adaptive Protocols for Information Dissemination in Wireless Sensor Network,"' Mobicom'99, August 1999. [9] G. J. Pottie and W. J. Kaiser, "Wireless Integrated Network Sensors," communications of the ACM, May 2000. [10] John H. Mathews (1987). Numerical Methods for Computer Science, Engineenng, and Mathematics, Prentice-Hall International, Inc. [11] Dahlquist, Germund, and AkeBjork (1 974). Numerical Methods, Prentice-Hall, Inc., Englewood Clifs, N.J. [12] Aitkinson, Kendall (1978). An Introduction to Numerical Analysis, John Wiley & Sons, Inc., New York.

Figure 3. Analysis of the Code Replication effect, Consumed Energy vs. Epochs.
160

140)

120

u> 1 00 c
CF
80 o'

~\"
_~111~

U E
0

40{
20
v

R (meter)

Figure 4. Consumed Energy after 100 Epochs vs. R

degrades so severely that the energy consumption using no code migration becomes larger than twice of GAAM's, in the epoch 90. This value will be magnified significantly, in later epochs. Another technique in the extended issues was code replication. In this method, a state-less code replicates itself if it receives calls from far points of the network, after it reaches near its final destination point. Figure 3 demonstrates the effectiveness of CR by providing a comparison of it with the simple GAAM. As may be seen in the diagram, first replications are started at about epoch 20. After this point, CR uses more energy to migrate replicated codes to proper positions, initially. However, after convergence the rate of energy consuming decreases significantly. Finally, at epoch 100 the CR associated method outperforms the other one.

485

[13] R Ramanathan, R Rosales-Hain, "Topology control of multihop wireless networks using transmit power adjustment," In Proceedings of the IEEE Infocom, Tel Aviv, Israel, Mar. 2000, IEEE. [141 J. Monks, V. Bharghavan, W. Hwu, "A power controlled multiple access protocol for wireless packet networks,' In Proceedings of the IEEE Infocom, Anchorage, Alaska, USA, Apr. 2001, IEEE. [151 LAN MAN Standards Committee of the IEEE Computer Society, Wireless LAN medium access control (MAC) and physical layer (PHY) specification, IEEE, New York, NY, USA, IEEE Std 802.11-1999 edition, 1999. [16] K. Sohrabi, G. Pottie, "Performance of a novel self-organization protocol for wireless ad hoc sensor networks," In Proceedings of the IEEE 50th Vehicular Technology Conference, 1999, pp. 1222.1226. [17] S. Singh, M. Woo, C. Raghavendra, "Power-aware routing in mobile ad hoc networks," in Proceedings of the ACM International Conference on Mobile Computing and Networking, Dallas, Texas, USA, ACM. [18] J. Chang, L. Tassiulas, "Energy conserving routing in wireless ad-hoc networks," in Proceedings of the IEEE Infocom, Tel-Aviv, Israel, Mar. 2000, IEEE. [19] H. Liu, T. Roeder, K. Walsh, R Barr, E. G. Sirer, "Design and Implementation of a Single System Image Operating System for Ad Hoc Networks," in Proceedings of The Intemational Conference on Mobile Systems, Applications, and Services (Mobisys), Seattle, Washington, June 2005. [201 R. Barr, J. C. Bicket, D. S. Dantas, B. Du, T.W. Kim, B. Zhou, E. G. Sirer, "On the Need for System-Level Support for Ad hoc and Sensor Networks," In Operating Systems Review, 36(2):1-5, April 2002. [211 L. Iftode, C. Borcea, P. Kang, "Cooperative Computing in Sensor Networks," To appear in the Handbook of Sensor Networks: Compact Wireless and Wired Sensing Systems, M. Ilyas (ed), CRC Press, 2004. [22) L. S. Brakmo, D. A. Wallach, and M. A. Viredaz. uSleep, 'A Technique for Reducing Energy Consumption in Handheld Devices," In Proc. of MobiSys, Boston, MA, June 2004. [23] P. Pillai, K. G. Shin, "Real-Time Dynamic Voltage Scaling for LowPower Embedded Operating Systems," In Proc. of SOSP, Chateau Lake Louise, Banff, Canada, October 2001. [24] M. J. M. Ma, C.-L.Wang, F. C. M. Lau, and Z. Xu. JESSICA: JavaEnabled Single System Image Computing Architecture. In Proc. of PDPTA, Las Vegas, NV, June 1999. [251 D. Cheriton. The V Distributed System. Communications of the ACM, 31(3):314-333, March 1988. [26] J. Ousterhout, A. Cherenson, F. Douglis, M. Nelson, and B. Welch The Sprite Network Operating Systemn IEEE Computer, 21(2):23-36, February 1988. [271 G. Popek and B. Walker. The LOCUS Distributed System Architecture. MIT Press, Cambridge, MA, 1985. [281 R. F. Rashid and G. G. Robertson. Accent: A Conununication Oriented Network Operating System Kernel. In Proc. of SOSP, Pacific Grove, CA, December 1981. [29] Y. Ko and N. Vaidya, "Location-Aided Routing(LAR) in Mobile Ad Hoc Networks," in Proceedings of the Fourth Annual ACM/IEEE International Conference on Mobile Computing and Networking (Mobicom '98), 1998, pp. 66-75. [30] Yan Yu, Ramesh Govindan and Deborah Estrin, Geographical and Energy Aware Routing: A Recursive Data Dissemination Protocol for

Wireless Sensor Networks UCLA Computer Science Department Technical Report UCLA/CSD-TR-01 -0023, May 2001. [31] J.I. Brown, X Li, "The Strongly Connected Reliability of Complete Digraphs,' Networks, 2005.

APPENDIX

Here an overview of the Jacobi and Gauss-Seidel methods is presented from [101. Suppose that the given linear system, AX = B, is:
+ aj11x1 + al,2x2 + ...+ a1 iX al,+NXN = b1 a2,1x1 + a2 2X2 +... + a2 jXj + a2,NXN = 2

ajxj + aj 2X2 + ..+a j,jx

aj+,NXN =b-

aNjXI + aU,2X2 + ... + aN1 j

+ ... + aN,NXN = bN

Let the kth point be Pk = (x xA, ... x x then the next point is Pk+,= (xi + X, . .X ...,xN(k )). The superscript (k) on the coordinates of Pk enables us to identify the coordinates that belong to this point. The iteration formulas use row j to solve for x(ktJ in terms of a linear combination of () 3 the previous values xP,(k)(k) . x (k), xj+1 k ..., XNp.) xP2 Jacobi Iteration:
Ix (k+t) b1 - ajk -

aj1j_xj-l aj,j+l
-

- ...

aLl

-aj,NXN

Jacobi iteration uses all old coordinates to generate all new coordinates, whereas Gauss-Seidel iteration uses the new coordinates as they become available: Gauss-Seidel Iteration:

> for j-1, 2, ....N.

(12)

(k+1)

b -a,

k, ~a11x~k+I) ~..

.-.._-a x, -ajj+,+, (k+J) x(k) ,

k
-.
r-

ajNXN
(13)

fior j =1, 2, N.

aj,j

486

You might also like