network flows for functions · network flows for functions d. manjunath [joint work with virag shah...

49
Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Upload: others

Post on 03-Oct-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Network Flows for Functions

D. Manjunath[Joint work with Virag Shah and Bikash Kumar Dey]

IIT Bombay

NCC 2011; 29 Jan 2011

Page 2: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Outline

• The problem setup

• The LP formulations and algorithms

• Extensions and open problems

• Other works

• Summary

Page 3: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

The setting

• Terminal (aka sink) nodes want to recover functions of datafrom distributed sources. Example of functions:max,min, average, etc.

• Application example: Average temperature sensed bymany sensors, average/maximum traffic at different partsof a network.

S

S

S

SS

S

R

RT

S

Page 4: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

The setting

S1 S2 S3

1T 2T

X1

X3X21 X31 X1

X2

X1 X2

X1

1

X22 2 2

,, X2f( ) X1g( ), ,f( ) g( )

Page 5: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Computing function: a simple example

X

Z

Y

f(X,Y,Z)= max(X,Y,Z)

Page 6: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Computing function: a simple example

X

Z

Y

f(X,Y,Z)= max(X,Y,Z)

max(X,Y)

max(X,Y,Z)

• Computing at internal nodes is a naturalchoice—distributed computation of distributed data.

• We assume: no mixing of data across different realizations.

Page 7: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Computation tree: G

X1 X2X3

Θ

*

+

X1X2

Computation tree of Θ(X1,X2,X3) = X1X2 + X3

Page 8: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Computation tree: G

• A single computation tree may servedifferent functions.

• Our techniques depend only on thecomputation tree and not on thefunction.

• A single function may allow multiplecomputationt trees; we start byassuming a single computation treeand generalise to multiple trees.

X1 X2X3

Θ

*

+

Θ(X1,X2,X3) =X1X2 + X3

OR

(X1 + X2)X3

OR...

Page 9: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Our setup

• A single terminal wants to compute a single function of thedistributed using a given computation tree. Manygeneralizations will follow.

Page 10: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Our setup

• A single terminal wants to compute a single function of thedistributed using a given computation tree. Manygeneralizations will follow.

• The network has undirected half-duplex links with a totalcapacity constraint. Easily applicable to directed networks.

u vtotal flow ≤ c(uv)

Page 11: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Our setup

• A single terminal wants to compute a single function of thedistributed using a given computation tree. Manygeneralizations will follow.

• The network has undirected half-duplex links with a totalcapacity constraint. Easily applicable to directed networks.

u vtotal flow ≤ c(uv)

• Objective: to find the maximum computation rate per useof the network and to find an optimum computation andcommunication scheme.

Page 12: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Embedding: Illustration for Θ = X1X2 + X3

N and G and two possible embeddings.

t

s1 s2 s3

X1 X2X3

Θ

*

+

X1X2

X2

s1 s2 s3

t

X1

X3

X3

Θ

X2

X1

X1*X2

s1 s2 s3

t

X1 X2

X1*X2

X3

X3

Page 13: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Definition

A path in N is a sequence of nodes v1, v2, · · · , vl ; l ≥ 1 s.t.vivi+1 ∈ E for i = 1, 2, . . . , l − 1.

Let P denote the set of paths in N .

Page 14: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Definition

A path in N is a sequence of nodes v1, v2, · · · , vl ; l ≥ 1 s.t.vivi+1 ∈ E for i = 1, 2, . . . , l − 1.

Let P denote the set of paths in N .

Define Φ↑(θ)= ηßΓ|head(η) = tail(θ) and

Φ↓(θ)= η ∈ Γ|tail(η) = head(θ).

θ

θ

Page 15: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Definition

A path in N is a sequence of nodes v1, v2, · · · , vl ; l ≥ 1 s.t.vivi+1 ∈ E for i = 1, 2, . . . , l − 1.

Let P denote the set of paths in N .

Define Φ↑(θ)= ηßΓ|head(η) = tail(θ) and

Φ↓(θ)= η ∈ Γ|tail(η) = head(θ).

θ

θThe edges of G are ordered in a topological order.

Definition: An embedding of G into N is a

map B : Γ → P such that

1. start(B(θl)) = sl for l = 1, 2, . . . , κ

2. end(B(η)) = start(B(θ)) if η ∈ Φ↑(θ)

3. end(B(θ|Γ|)) = t .

θ1 θ2 θκ

θ|Γ|

Page 16: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Embedding-Edge LP

• What is the best time-sharing between the differentembeddings?

Embedding-Edge LP: Maximize λ =∑

B∈B x(B) subject to1. Capacity constraints

B∈B

rB(e)x(B) ≤ c(e), ∀e ∈ E (1)

2. Non-negativity constraints

x(B) ≥ 0, ∀B (2)

rB(e) = # of times that network edge e of N is used inembedding B.

Page 17: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Embedding-Edge LP

• A protocol can be designed from any feasible solution ofthe Embedding-Edge LP to achieve a computation rate ofλ.

Page 18: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Embedding-Edge LP

• A protocol can be designed from any feasible solution ofthe Embedding-Edge LP to achieve a computation rate ofλ.

• |B| is exponential in |V |. So this LP has exponentialcomplexity.

Page 19: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Embedding-Edge LP

• A protocol can be designed from any feasible solution ofthe Embedding-Edge LP to achieve a computation rate ofλ.

• |B| is exponential in |V |. So this LP has exponentialcomplexity.

• We need to seek simpler solutions• We can identify each edge of G to be a flow.

Page 20: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Embedding-Edge LP

• A protocol can be designed from any feasible solution ofthe Embedding-Edge LP to achieve a computation rate ofλ.

• |B| is exponential in |V |. So this LP has exponentialcomplexity.

• We need to seek simpler solutions• We can identify each edge of G to be a flow.

• We can thus explore an efficient Node-Arc LP based on“flow conservation.”

Page 21: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Flow-conservation

• A complication: Flow can be destroyed or generated atinternal nodes.

Page 22: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Flow-conservation

• A complication: Flow can be destroyed or generated atinternal nodes.

• A destroyed flow of type θ1 or θ2

generates a flow of type η of the samevolume.

Page 23: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Flow-conservation

• A complication: Flow can be destroyed or generated atinternal nodes.

• A destroyed flow of type θ1 or θ2

generates a flow of type η of the samevolume.

• A flow generated at a node is assumedto flow on a virtual self-loop at thatnode.

• The flow in the self-loop contributes tothe incoming flow, but not to theoutgoing flow.

θ1 θ2

η

Page 24: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Flow-conservation

X2

s1 s2 s3

t

X1

X3

X3

Θ

X2

X1

s1 s2 s3

t

X2

X3

X3

X1

X1*X2

Page 25: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Flow-conservation

X2

s1 s2 s3

t

X1

X3

X3

Θ

X2

X1

s1 s2 s3

t

X2

X3

X3

X1

X1*X2f X2f X1=1.5

f X1=1.5

f X1=1.5

f X3=1.5

f X3=1f X1X2+X3

f X1X2=0.5

f X3=1

f X3=1.5

X1X2+X3f =0.5

f X1X2

=1f X1X2+X3=1.5

=1.5f X2

=1.5f X2

s2 s3

t

s1

=1.5

=0.5

0.51.0

Page 26: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Node-Arc LP

Node-Arc LP: Maximize λ subject to followingconstraints. For any node v ∈ V

1. Functional conservation of flows:

f ηvv +∑

u∈N(v)

f θvu −∑

u∈N′(v)

f θuv = 0,

∀θ ∈ Γ \ θ|Γ| and ∀η ∈ Φ↓(θ).

θ1 θ2

η

θ1 θ2

θ1θ2η

~ 2~ 2~ 1

η

~ 3

~ 1~ 3

2. Conservation and termination of θ|Γ|:

u∈N(v)

fθ|Γ|vu −

u∈N′(v)

fθ|Γ|uv =

−λ v = t

0. otherwise

Page 27: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Node-Arc LP3. Generation of θl ∀l ∈ 1, 2, . . . , κ:

f θlvv =

λ v = sl

0. otherwise

4. Capacity constraints

θ∈Γ

(

f θuv + f θvu

)

≤ c(uv), ∀uv ∈ E .

5. Non-negativity constraints

f θuv ≥ 0, ∀uv ∈ E and ∀θ ∈ Γ

f θuu ≥ 0, ∀u ∈ V and ∀θ ∈ Γ

λ ≥ 0.

Page 28: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Node-Arc LP → Embedding-Edge LP

• This is a similar to LP formulations in multi-commodity flow.

Page 29: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Node-Arc LP → Embedding-Edge LP

• This is a similar to LP formulations in multi-commodity flow.

• An algorithm Extract-Embedding converts a solution ofNode-Arc LP to a solution of Embedding-Edge LP.

Page 30: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Node-Arc LP → Embedding-Edge LP

• This is a similar to LP formulations in multi-commodity flow.

• An algorithm Extract-Embedding converts a solution ofNode-Arc LP to a solution of Embedding-Edge LP.

• In each iteration, Extract-Embedding extracts’ a non-zeroflow on an embedding or a nonzero redundant flow on acycle.

Page 31: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Node-Arc LP → Embedding-Edge LP

• This is a similar to LP formulations in multi-commodity flow.

• An algorithm Extract-Embedding converts a solution ofNode-Arc LP to a solution of Embedding-Edge LP.

• In each iteration, Extract-Embedding extracts’ a non-zeroflow on an embedding or a nonzero redundant flow on acycle.

• Atleast one flow f θuv is completely removed in each iterationof Extract-Embedding.

Page 32: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Node-Arc LP → Embedding-Edge LP

• This is a similar to LP formulations in multi-commodity flow.

• An algorithm Extract-Embedding converts a solution ofNode-Arc LP to a solution of Embedding-Edge LP.

• In each iteration, Extract-Embedding extracts’ a non-zeroflow on an embedding or a nonzero redundant flow on acycle.

• Atleast one flow f θuv is completely removed in each iterationof Extract-Embedding.

• The algorithm has the overall complexity O(κ2|E |2).

• The LP has O(κ|E |) number of variables, O(κ|E |) numberof non-negativity constraints, and O(κ|V |+ |E |) number ofother constraints.

Page 33: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Toward an efficient ǫ-approximate solution

• For multi-commodity flow, and more general packing LPs,Garg and Konemann [1998] gave a primal-dual algorithmto compute a solution which achieves at least (1 − ǫ)fraction of the optimal rate.

• Our Embedding-Edge LP is also such a ‘packing LP’.

• So, Garg-Konemann algorithm can be used for ourproblem.

• The algorithm uses an oracle subroutine that solves a‘dual’ problem.

Page 34: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Toward an efficient ǫ-approximate solution

Let l(e) be the weight of edge e. Define the weight of anembedding B as

wL(B) =∑

e∈B

rB(e)l(e).

• The oracle subroutine OptimalEmbedding(L) finds anembedding with minimum weight for a given set L of edgeweights.

Page 35: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Toward an efficient ǫ-approximate solution

Let l(e) be the weight of edge e. Define the weight of anembedding B as

wL(B) =∑

e∈B

rB(e)l(e).

• The oracle subroutine OptimalEmbedding(L) finds anembedding with minimum weight for a given set L of edgeweights.

• We later give an efficient algorithm for doing this.

Page 36: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

An efficient ǫ-approximate solution

Algorithm: Algorithm for finding approximately optimal x and λ

Input: Network graph N = (V ,E), capacities c(e), set ofsource nodes S, terminal node t , computation tree G = (Ω, Γ),the desired accuracy ǫOutput: Primal solution x(B),B ∈ BInitialize l(e) := δ/c(e), ∀e ∈ E , x(B) := 0, ∀B ∈ B ;while D(l) < 1 do % D(l) =

c(e)l(e)B∗ := OptimalEmbedding(L);e∗ := edge in B∗ with smallest c(e)/rB∗(e) ;x(B∗) := x(B∗) + c(e∗)/rB∗(e∗);l(e) := l(e)(1 + ǫ c(e∗)/rB∗ (e∗)

c(e)/rB∗ (e) ), ∀e ∈ B∗ ;endx(B) := x(B)/ log1+ǫ

1+ǫδ , ∀B;

Page 37: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

OptimalEmbedding(L): overview

• For each edge θi , starting from θ1, it finds a way to computeθi at each network node at the minimum cost possible.

• It keeps track of that minimum cost and also the‘predecessor’ node from where it receives θi .

• If θi is computed at that node itself then the predecessornode is itself.

Page 38: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

OptimalEmbedding(L)

• Computing θi for i ∈ 1, 2, . . . , κ at the minimum cost at anode u is equivalent to finding the shortest path to u fromsi . We do this by using Dijkstra’s algorithm.

• For any other i , the node u can either compute θi fromΦ↑(θi) or receive it from one of its neighbors.

• To take this into account, unlike Dijkstra’salgorithm, we initialize the cost of computingθi with the cost of computing Φ↑(θi) at thesame node. The rest is similar to Dijkstra’salgorithm.

• Finally the predecessors are backtrackedfrom t to find the optimal embedding.

t

Page 39: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Complexity

• Overall complexity of OptimalEmbedding(L):O(κ(|E |+ |V | log |V |))

• The number of iterations in the primal-dual algorithm is ofthe order O(ǫ−1|E | log1+ǫ |E |).

• Thus the overall complexity of the primal-dual algorithm isO(

ǫ−1κ|E |(|E |+ |V | log |V |) log1+ǫ |E |)

.

Page 40: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Extensions and Open Problems

Extensions• Multiple trees for the same function.

• Multiple terminals and functions of distinct sources.

• Computing with a specified precision.

• Consider energy limited sensors.

Open problems• An immediate open problem: The computation graph G is a

DAG and not a tree.

Page 41: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

In perspective: Other setups for function networks

• Wired/wireless networks: Graph or hypergraph v1

v2

v3

v4

u v u

• Directed or undirected links

u v u v

flow ≤ c(uv) total flow ≤ c(uv)

• block computation/coding vs. bit-wise computation

• zero-error recovery vs. small-error recovery

• correlated vs. independent sources

• single terminal vs. multiple terminals

• same vs. different functions at different terminals

• fixed vs. random networks

Page 42: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Typical objectives

• For any given link capacities, what is the maximum rate (orrate-region for multiple terminals) that is achievable? Moregenerally, rate-distortion trade-off?

• Assymptotic scaling laws for required communicationcomplexity per node

• Efficient encoding/decoding

Page 43: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

Summary of other views

• In information theory: Small networks, correlated sourceswith the objective of finding achievable rate-region andrate-distortion.

• Scaling laws for randomly deployed networks: Does notconsider a fixed network.

• Network coding: internal nodes are allowed to mix receiveddata to construct outgoing data even for communication.

Page 44: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

The big picture

ComputerScience

Info

rmat

ion

The

ory

Networkcoding

Networking

functioncomputation

Distributed

Page 45: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

The big picture

ComputerScience

Info

rmat

ion

The

ory

Networkcodingflow

multi−commodity

Networking

functioncomputation

Distributed

Page 46: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

The big picture

ComputerScience

Info

rmat

ion

The

ory

functionsFlow for

Networkcodingflow

multi−commodity

Networking

functioncomputation

Distributed

Page 47: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

The End

Page 48: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

The End

Thank you

Page 49: Network Flows for Functions · Network Flows for Functions D. Manjunath [Joint work with Virag Shah and Bikash Kumar Dey] IIT Bombay NCC 2011; 29 Jan 2011

The End

Thank you

Questions?