text:
\section{Introduction}

In many engineered networks, a payload needs to be transported between nodes without central control. These systems are often represented as weighted, directed graphs. Each edge has a fixed \emph{capacity}, which represents the maximum amount of traffic the edge can carry at any time. Traffic in these networks consist of a series of \emph{flows}, each of which contains some amount of data that originates at a source node and attempts to reach a target node via a path in the network. For example, in vehicular transportation systems (nodes are intersections, edges are roads), cars travel from one location to another, and each road has a capacity that limits the number of cars that can traverse the road at once. In network-on-a-chip circuits (nodes are components such as CPU and GPU cores equipped with extremely basic routers, and edges are circuit wiring between cores), tiny units of data called flits flow through the circuit, and each link can only transport a limited number of flits at a time~\citep{Cota2012}. On the Internet, packets navigate from one host to another, and each communication link has a capacity that constrains the rate of data flow through the link. In all these cases, the goal is to optimize performance metrics, including how long it takes for data to reach the target and how long data is queued or lost along the way due to exceeding capacities.

\todo{There are two primary services required in these networks: routing and flow control. Network routing refers to moving a payload from a source node in the network to a target node through some path~\citep{Royer1999}, often maintained using a distributed routing table~\citep{Gavoille2001}. The majority of networks always send traffic along the shortest path from source to target, where shortest refers to physical distance or transit time. In this paper, we also assume routing occurs via the shortest source-target path and focus on algorithms for flow control.}

\todo{Flow control determines when and how much data can be sent through the network.} Engineered networks are often designed based on the concept of oversubscription or blocking, where there is not enough capacity to simultaneously service every possible flow at maximum capacity due to bottlenecks in the network. Bottlenecks can cause \emph{congestion}, which results in data loss and reduction in useful throughput since when demand for a certain link exceeds capacity, the excess data must be queued or dropped. \todo{Effective flow control simultaneously maximizes the utilization of link capacity while maintaining low loss and delay. In general, flow control is an NP-hard problem~\citep{Wang2003,Fortz2000}. It is even more challenging in online systems that serve many flows concurrently, where traffic can change unpredictably, and where optimization must happen in real-time. Further, control logic must be implemented distributedly, with minimal communication between nodes.}

To address these challenges, we developed a new neuro-inspired distributed computing model where flow control occurs by modulating (increasing or decreasing) edge \emph{weights} using only 1-bit \todo{(binary)} local feedback. Edge weights represent a control variable that denotes how much data should flow along the edge at the current time. For example, if there are 10 units of data that want to travel from node $u$ to $v$, and if the weight of edge $(u,v)$ is 6, then 6 units can be successfully transmitted, and the other 4 units are either queued or dropped. \todo{There exists an optimal global weight distribution at every time step, which is dependent on the trade-off between maximizing data flow rates versus minimizing data drops and queueing.} To inform the direction of how weights should change to approach this distribution, the network relies on 1-bit local feedback between neighboring nodes, which indicates whether the data was successfully transmitted (without being queued or dropped). This feedback is used to increase or decrease edge weights to ensure that links are not under-utilized or overloaded, respectively.

How does this relate to synaptic plasticity in the brain? Building off prior work, we will argue that synaptic weight-update rules can be viewed as a distributed gradient descent process that attempts to find a weight distribution that optimizes a global objective~\citep{Bengio2015b,Bengio2015a}. While the computational models and feedback mechanisms used to trigger weight changes in engineered networks are clearly different than those used in the brain, the questions we consider here are: 1) The direction and magnitude of weight updates; i.e.\@ when and how much to increase and decrease; 2) How these local decisions affect global performance objectives in engineering (bandwidth, drops, queueing delay); and 3) Whether general principles for modulating edge weights may be found across engineered and neural systems.

Overall, this paper makes four contributions: 1) A new neuro-inspired distributed computing model to optimize traffic flow based only on edge weight updates and 1-bit feedback between adjacent nodes; 2) A casting of long-term potentiation (LTP) and long-term depression (LTD) in terms of distributed gradient descent dynamics; 3) Simulations, using simulated and real networks, and theoretical analysis of five classes of weight-update rules; and 4) Comparisons of the best performing classes with experimental data detailing the functional forms of LTP and LTD in the brain.

\subsection{Related work}

Congestion control in many distributed networks, such as the Internet, is performed on a global end-to-end basis \emph{per-flow}, meaning that the source of each flow regulates the rate at which it sends data into the network based on a binary feedback signal from the target node~\citep{Corless2016}. Our neuro-inspired \emph{per-link} model described below is stricter in its feedback constraints; each node can regulate traffic but based only on the congestion it observes on its incoming and outgoing links, independently of the source and target of the data. This model is more relevant to vehicular traffic networks (where it is impossible for a traffic control device, such as a traffic light, to know the ultimate destination of a vehicle) and network-on-a-chip circuits (where flits travel independently through the circuit, like vehicles). Traffic control algorithms have been analyzed in many forms, but largely assume the problem is centralized or offline~\citep{Gayme2011}. \todo{Other approaches attempt to emulate a centralized algorithm by passing large-sized messages~\citep{MateosNunez2013}}. Distributed gradient descent algorithms have been studied in many areas, but they also assume the ability to pass large and frequent messages, or they require significant data aggregation at individual nodes~\citep{Li2014,Zinkevich2010,Yuan2014}.

\section{A distributed network model for traffic flow control}

We are given a network $G = (V,E,W)$. The node set $V$ is partitioned into three non-overlapping subsets: sources $S \subset V$, targets $T \subset V$, and routers $R \subset V$. Data is transmitted from sources to target via the routers (Figure~1A). The edges $E$ are directed; for simplicity, we assume each source is connected to exactly one router (i.e.\@ a ``feeder road''), and each target has an incoming edge from exactly one router (i.e.\@ a ``highway exit''). The routers are connected with a uniform or scale-free degree topology.

The weight $W_{uv}(t)$ of each edge corresponds to the maximum amount of traffic \todo{the flow control algorithm allows to travel} from $u\rightarrow v$ at time $t$. Each weight $W_{uv}(t) \in [1,C]$ for all $(u,v) \in E$ and for all $t$, where $C$ is defined as a fixed maximum capacity for each edge. Edge weights from routers to targets are always set to $C$ because there are no outgoing edges from the targets, and hence no possibility of downstream congestion. Weights of all other other edges will vary over time based on traffic flow and congestion.

Each source desires to send $L \gg C$ units of data to one random target; hence, there are $|S|$ flows actively competing in the network and sending data. Data for each flow is routed from the source to the target via the shortest path in the network. In practice, this is easily accomplished using a distributed routing algorithm~\citep{Gavoille2001}\todo{\footnote{\todo{This model of routing is likely different than that occurring in the brain. Our work is not meant to derive a mapping between the two or suggest that their mechanisms are similar.}}} In each time step $t$, each source injects new data into the network, the amount of which is equal to the outgoing edge weight from the source to the router it is connected to. Thus, if this weight changes, so does the amount of new data injected into the network by the source. Data arriving at a router is forwarded to the next node along the shortest path to the target. If data arrives at router $u$ destined for node $v$, the amount of data actually sent is upper-bounded by the edge weight $W_{uv}(t)$, which can change over time. \todo{If multiple flows desire to use edge $u\rightarrow v$ in the same time step, we process each flow in a random order. This means that a random incoming flow is chosen, its data units are all sent (up to the link weight; the rest are dropped). Then another incoming flow is chosen at random, and its units are handled similarly.} A flow is complete when its source has successfully transferred $L$ data units to its target.

\todo{The only control variables of the algorithm to achieve flow control are the edge weights $W$ at each time step.} Our objective is to:
\begin{align}
  \textrm{maximize}&\quad \sum_t \mathcal{U}_\mathcal{F}(W(t)) \\%\qquad
  \textrm{subject to}&\notag\\%\qquad
  &W_{uv}(t) \leq C \qquad\text{for all $t$ and $(u,v) \in E$}\notag
\end{align}
Here, $\mathcal{U}_\mathcal{F}$ is an objective function (described later) that measures how well the current edge weights perform when routing data from the flows $\mathcal{F}$ currently in the network. To enforce the constraint, we propose two application-dependent models for penalizing excess traffic on an edge: a \emph{drop} model and a \emph{queue} model (Figure~1B). Let $D_{uv}(t)$ be the total amount of data at router $u$ that desires to be passed to node $v$ at time $t$. If $D_{uv}(t) > W_{uv(t)}$ then the excess data is either dropped (i.e.\@ discarded), or it is queued at node $u$ until at least the next time step. Loss models are consistent with many data networks and neural circuits~\citep{Branco2009}. Queue models are consistent with transport networks and can help smoothen transient or bursty traffic. In each time step, data queued at a node is processed before non-queued data (i.e.\@ a first-in first-out buffer). We assume a queue of infinite length, but we penalize solutions that produce long queues.

Thus, at every time step, there exists an optimal global weight distribution for a given objective function. \todo{This optimum will change as traffic demand varies over time. The goal is to track this distribution as closely as possible by applying gradient descent on the edge weights. We use 1-bit feedback between adjacent nodes, indicating whether data was successfully sent from one node to the other (i.e.\@ if it resulted in no dropped or queued data). If the transmission is successful, data rate is increased (to probe whether higher bandwidth can be achieved). Conversely, if congestion is experienced, the data rate is decreased. This feedback thus serves as the direction of the local gradient (at the edge) for the global objective. By modifying the edge weight in accordance with this local gradient, we attempt to minimize the global objective. The magnitude of the edge weight change is based on both the direction of change and the current weight. Therefore, the algorithm seeks the point that locally maximizes traffic flow without triggering congestion.}

Next, we describe how synaptic plasticity rules can serve as inspiration towards regulating these edge weights in an online, activity-dependent manner using simple distributed computation.

\subsection{Synaptic plasticity as distributed gradient descent on edge weights}

Recent work by Bengio et al.\@ has argued that many forms of Hebbian learning, such as spike-timing dependent plasticity, may correspond to gradient descent towards neural activities that optimize a global objective~\citep{Bengio2015b,Bengio2015a,Osogami2015}. They propose that neurons perform ``inference'' to try and better predict future activity, given current and past data. To approach optimal activity levels, feedback signals between pre-and post-synaptic neurons, such as those used to trigger long-term potentiation (LTP) and long-term depression (LTD), cause firing rates to increase or decrease based on the gradient of the objective.

\todo{Under a connectionist assumption, where} neural activity is a function of the synaptic weights coupling neurons together, the state of the network can be described by the edge weights over the population of synapses (along with other presumed constants, such as activation functions). The evolution of the system can be described by how these weights change in response to activity. In our case, activity-dependent feedback signals between adjacent nodes (described in detail below) provides a measurement of the direction of the local gradient at the edge, which similarly triggers edge weights to increase or decrease. These weight changes thus correspond to a distributed gradient descent algorithm for finding a set of edge weights that maximizes a global objective. The movement towards the global optimal is complicated by the non-independence of weight changes (network effects) and the uncertainty in future inputs (non-stationarity of traffic).

One critical question then is: How much should the weight increase (``LTP'') or decrease (``LTD'') following feedback? We next describe experimental data detailing what forms these rules might take in the brain.

\subsection{Experimentally-derived weight update rules for LTP and LTD}

To inspire our search into different possible weight update rules, we surveyed the recent literature for \todo{models based on} experimental data (electrophysiology, imaging, etc.) that provided evidence of the functional forms of LTP and LTD (Table~\ref{tbl:rw}). We categorized rules into four classes: 1) Additive: the change in edge weight is based on an additive constant; 2) Multiplicative: the change is based on a multiplicative constant; 3) Weight-dependent: the change more generally is based on a function of the existing edge weight; and 4) Time-dependent: the change also depends on the history of recent edge-weight changes. In this paper, we focus on the first three classes.

These rules will be used to derive a class of neuro-inspired distributed gradient descent algorithms for update edge weights, as described in the next section. Table~\ref{tbl:rw} is not meant to exhaustively list all forms of synaptic plasticity rules derived in the literature (see Discussion) but rather to provide some basic structure into possible, simple-to-implement rules and their parameters.

\begin{sidewaystable}[h]
\begin{center}
\begin{tiny}
\caption{\textbf{Correspondence between synaptic plasticity rules with experimental support and network control algorithms used in engineering.} The ``---'' indicates lack of support. Reviews of many of these rules are provided by: \citet{Kepecs2002,Morrison2008,Watt2010,Froemke2010}. [1]: \citep{Song2000,Kopec2006}. [2]: \citep{Chiu1989,Corless2016}. \todo{History-dependent rules may also depend on the history of recent activity, instead of only the history of recent weights.}}
\begin{tabular}{lllll} \\ \toprule
Plasticity & Rule & Equation & Brain & Engineering \\ \midrule
LTP & Additive              & $W(t+1) = W(t) + k_i$ & \citep{Song2000,Kopec2006} & \citep{Chiu1989,Corless2016} \\
    & Multiplicative  & $W(t+1) = W(t) \times k_i$ & --- & \citep{Chiu1989} \\
    & Weight-Dependent & $W(t+1) = W(t) \mathop{}^{+}_{\times} f(W(t))$ & \citep{Oja1982,Bi1998,vanRossum2000} & \citep{Bansal2001,Kelly2003,Ha2008}\\
    & History-Dependent     & $W(t+1) = f(W(t),\dots,W(t-\Delta(t)))$ & \citep{Bienenstock1982,Froemke2010,Cooper2012,Kramar2012} & \citep{Jin2001} \\ \midrule
LTD & Subtractive           & $W(t+1) = W(t) - k_d$ & \citep{Song2000} & --- \\
    & Multiplicative  & $W(t+1) = W(t) \times k_d$ & \citep{Bi1998,vanRossum2000,Zhou2004} & \citep{Chiu1989,Corless2016} \\

    & Weight-Dependent & $W(t+1) = W(t) \mathop{}^{-}_{\times} f(W(t))$ & \citep{Oja1982} & \citep{Bansal2001,Corless2012} \\
    & History-Dependent     & $W(t+1) = f(W(t),\dots,W(t-\Delta(t)))$ & \citep{Bienenstock1982,Froemke2010,Cooper2012} & \citep{Jin2001} \\
\bottomrule
\end{tabular}
\begin{flushleft}
\end{flushleft}
\label{tbl:rw}
\end{tiny}
\end{center}
\end{sidewaystable}

\subsection{Distributed algorithms for updating edge weights}
\label{sec:alg}

First, to inform the direction of the weight change (increase or decrease), in each time step, we allow 1-bit \emph{feedback} between adjacent nodes. Let $\mathrm{Jam}_{vw}(t)$ be an indicator variable equal to $1$ if data at node $v$ is lost or queued due to congestion on edge $(v,w)$ at time $t$, and $0$ otherwise. Assume data for a flow is traveling from node $u$ to $v$ to $w$. \todo{When considering how to modify the weight of edge $(u,v)$, we need to consider what happens on the adjacent downstream edge $(v,w)$ where traffic is flowing. Intuitively, if $\mathrm{Jam}_{vw}(t)==1$, then the incoming edge weight $W_{uv}(t+1)$ should LTD since it contributed data to the jam. Further, the edge weight $W_{vw}(t+1)$ should LTP to attempt to alleviate the congestion.} If neither edge $(u,v)$ nor $(v,w)$ are jammed, then both should LTP (Figure~1C). Thus, the Jam term serves as a 1-bit measurement of the direction of the local gradient at edge $(u,v)$. Overall, the logic implemented at each edge $(u,v)$ is shown in Algorithm~1 below:

\begin{algorithm}
\caption{: Logic for applying LTP or LTD, implemented at each edge $(u,v)$}
\begin{algorithmic}
  \IF{$\mathrm{Jam}_{uv}(t)==1$}
    \STATE Apply LTP to $W_{uv}(t+1)$
  \ELSE
    \IF{$\mathrm{Jam}_{vw}(t)==1$ and $(u,v)$ contributed data that jammed $(v,w)$, for any $w$}
        \STATE Apply LTD to $W_{uv}(t+1)$
    \ELSIF{$\mathrm{Jam}_{vw}(t)==0$ for all $w$ that received data from $u$}
        \STATE Apply LTP to $W_{uv}(t+1)$
    \ENDIF
  \ENDIF
\end{algorithmic}
\end{algorithm}
We assume a node (in this case, $v$) can modify the edge weight of both its incoming and outgoing edges. In synapses, this may be achieved by modulating pre-synaptic release probability or number of post-synaptic receptors \todo{(e.g.\@~\citet{Costa2015,Markram2012,Yang2013,Fitzsimonds1997}) or other gating mechanisms~\citep{Vogels2009}}; in data networks, a node can pause incoming data by transmitting a signal and can pause outgoing data by simply not transmitting. If an edge gets both LTP and LTD signals in a time step, it default to LTD. In every time step, the weight of every edge that carries data will either LTP or LTD.

Second, to determine the magnitude of the weight change, we consider the following weight-update rules for LTP and LTD:
\begin{eqnarray}
\label{eqn:ltp}
W_{uv}(t+1) & = &
  \begin{cases}
     W_{uv}(t) + k_i,\ k_i > 0 & \quad\textbf{LTP: Additive Increase (AI)}\\
     W_{uv}(t) \times k_i,\ k_i > 1 & \quad\textbf{LTP: Multiplicative Increase (MI)}\\
     W_{uv}(t) - k_d,\ k_d > 0 & \quad\textbf{LTD: Subtract Decrease (SD)}\\
     W_{uv}(t) \times k_d,\ 0 < k_d < 1 & \quad\textbf{LTD: Multiplicative Decrease (MD)}\\
  \end{cases} \nonumber
\end{eqnarray}

We consider four combinations of LTP and LTD: AIMD, AISD, MIMD, and MISD. Each of these algorithms has some theoretical or experimental basis, or both (Table~\ref{tbl:rw}). For example, AISD was proposed by~\citet{Kopec2006} and~\citet{Song2000}. AIMD was proposed by~\citet{vanRossum2000} and~\citet{Delgado2010}. Multiplicative decrease rules have been proposed by~\citet{Zhou2004}, amongst others.

\todo{}

We also compare to an algorithm based on the classic Oja learning rule~\citep{Oja1982}:
\begin{eqnarray}
\label{eqn:oja}
W_{uv}(t+1) & = &
  \begin{cases}
     W_{uv}(t) + k_i\left(1-\frac{D_{uv}(t)^2}{W_{uv}(t)C}\right),\ k_i > 0 & \quad\textbf{LTP: Oja}\\
     W_{uv}(t) - k_d\left(1+\frac{D_{uv}(t)^2}{W_{uv}(t)C}\right),\ k_d > 0 & \quad\textbf{LTD: Oja}\\
  \end{cases} \nonumber
\end{eqnarray}
Unlike the previous rules, Oja uses the activity (traffic) of the edge as a variable, where $D_{uv}(t)$ is the amount of data traversing edge $(u,v)$ at time $t$. \todo{This rule is slightly different from the typical Oja rule where the change in the weight for the $i$\textsuperscript{th} input, $\Delta W_i=\alpha(x_iy-y^2W_i)$ (learning weight $\alpha$, synaptic input $x$ and output $y$). The squared term functions as a decay on the weight. We include a similar activity-dependent squared decay term $(D_{uv}(t)^2/W_{uv}(t))$, but we normalize it by $C$ to lie within the required weight range. Our term decreases the effect of LTP and increases the effect of LTD as the link approaches capacity. This allows more aggressive $k_i$ and $k_d$ to quickly adjust traffic.}

Another algorithm we compare is called Bang-Bang control. This rule is often used in neural circuit design~\citep{Feng2003,Zanutto2007} and in engineering~\citep{Lazar1983} to control and stabilize activity:
\begin{eqnarray}
\label{eqn:other}
W_{uv}(t+1) & = &
  \begin{cases}
     C & \quad\textbf{LTP: Bang-Bang}\\
     1 & \quad\textbf{LTD: Bang-Bang}\\
  \end{cases} \nonumber
\end{eqnarray}
Finally, we compare to a baseline rule, Max Send, which keeps all edge weights fixed at $C$ in every time step. For all algorithms, if a weight equals $C$ and is triggered to LTP, it stays at $C$. Likewise, if a weight equals $1$ and is triggered to LTD, it stays at $1$.

\todo{We only consider integer units of data, thus for all update rules, $W$ is rounded to an integer. To prevent a link from getting stuck at 0 weight (e.g.\@ for MISD), it was required that every weight have a minimum of 1. The link capacity $C \gg 1$, so the integer rounding and minimum value were negligible in terms of overall performance.}

\subsection{Objective functions, simulations, and data}
\label{sec:eval}

Next, we describe network performance measures to quantify how well these rules behave towards optimizing global objectives ($\mathcal{U}_\mathcal{F}$). The objective functions we selected are typically used to evaluate performance in engineered networks\todo{~\citep{Pande2005,Ahn1995}}.

Let $\mathcal{F}$ define the set of $|S|$ competing flows, and $L$ be the load of each flow. The three objective functions are:
\begin{itemize}
\item \underline{Bandwidth}: Amount of data successfully transferred per time step, averaged over all flows: $|\mathcal{F}|^{-1} \sum_i L / \mathrm{time}(\mathcal{F}_i)$, where $\mathrm{time}(\mathcal{F}_i)$ is the number of time steps for flow $i$ to complete.
\item \underline{Drop Penalty}: Percentage of data lost, averaged over all flows: $|\mathcal{F}|^{-1} \sum_i \mathrm{lost}(\mathcal{F}_i) / L$, where $\mathrm{lost}(\mathcal{F}_i)$ is the amount of data lost by flow $i$ over all time steps until completion. The drop penalty may go above 100\% if more data sent by the source is lost than delivered.
\item \underline{Queue Penalty}: The percentage of data that is queued per hop, averaged over all flows: $|\mathcal{F}|^{-1} \sum_i \mathrm{queued}(\mathcal{F}_i) / (L \times \mathrm{Path}(\mathcal{F}_i))$, where $\mathrm{queued}(\mathcal{F}_i)$ is the total amount of data inserted into queues and $\mathrm{Path}(\mathcal{F}_i)$ is the path length of flow $i$.
\item \todo{\underline{Parameter robustness}: One critical component of these algorithms is that they must work well in general. Traffic is highly dynamic, and thus optimizing parameters for one particular traffic regime or network topology will not be sufficient for real-world use. We thus focus on the robustness or sensitivity of each algorithm by testing the variability in their performance across a broad range of parameters.}
\end{itemize}

\noindent \textbf{Simulation framework.} We created a directed network with $N$ sources, $N$ targets, and $N$ routers, where $N=100$ or $1000$. \todo{Each source is connected to exactly one random router (the same router can have an edge from multiple different sources)}, and each target has an incoming edge from one random router. The router-router network was defined using a uniform or scale-free degree topology with each router connected to six other routers~\citep{Corless2016}. We defined $N$ concurrent flows, one starting from each source, and each selecting a random target (the same target may be selected twice across flows). Each flow contained $L = 100 \times C$ data units, as $100$ is roughly the average number of round-trip times taken for a data transfer on the Internet~\citep{Corless2016}. The weight of each edge was initialized to the maximum capacity, $C$, in order to immediately experience contention. \todo{The mean path length of the artificial network was 4.7; this is large enough to provide several links of potential contention.} Each performance measure was averaged over 25 repeat simulations.\\
\ \\
\noindent \textbf{Parameter variation.} For the weight-update rules, we varied: AI ($k_i \in [1.0,9.0]$), SD ($k_d \in [1.0,9.0]$), MI $(k_i \in [1.1,1.9]$), MD $(k_d \in [0.1,0.9]$).\\
\ \\
\noindent \textbf{Real-world data.} We used the CAIDA Autonomous System (AS) relationship data \todo{to generate a graph based on the Internet routing network}~\citep{Caida}. Each AS represents the highest-level routing subnetwork on the Internet. The CAIDA data contained connectivity between 53,195 AS subnetworks. We treat each AS as a single routing node in our model. We created the same number of sources and targets (53,195 each); each source was connected to one random AS and each target had one incoming edge from a random AS. The network contained 537,582 total directed edges. To simulate flows, we selected $\sim1\%$ of the sources (500) and paired each source with a random target. Each performance measure was averaged over 10 repeat simulations. \todo{As before, we set the capacity, $C=1000$.}

\section{Results}

First, we describe the performance of each weight-update algorithm against the global objectives (bandwidth, drops, and queueing) using both simulated and real-world networks. Second, we support these results by analytically deriving the performance of each algorithm as it adapts to changing traffic demands. Third, we describe how the best performing rules compare to those commonly used in engineering.

\subsection{Observations from simulations and real-world network flows}
\label{sec:simresult}

We first compared the performance of the seven edge-weight update algorithms (Section~\ref{sec:alg}) via simulation. Each algorithm was evaluated according to the bandwidth offered and the amount of data that was dropped or queued.

The two strongest performing algorithms were AIMD and MIMD, with Oja lying in between (Figure~2). AIMD, for some parameters, achieved a bandwidth comparable to other algorithms, but its main strength was in reducing the drop penalty by at least one order of magnitude (averages: $\textrm{AIMD}=6.4\%$, $\textrm{OJA}=69.2\%$, $\textrm{MIMD}=69.3\%$, $\textrm{AISD}=124.4\%$, $\textrm{MISD}=145.2\%$; Figure~2A). The former as due to its conservative rule for increasing edge weights for LTP (additive), and the latter was due to its aggressive edge weight decrease for LTD (multiplicative). AISD and MISD showed very high drop penalty primarily because upon contention, edge weights were only decreased subtractively; this led to slow adaptation, though higher bandwidth because few links were ever under-utilized. In general, the Oja rule (a variant of AISD) improved over AISD but still achieved a much higher drop penalty compared to AIMD also due to its conservative decrease. MIMD showed great sensitivity to algorithm parameters, some of which performed well. While keeping all edge weights at maximum capacity may be intuitively appealing (Max Send), this is in general not a good solution because any downstream bottleneck will result in massive data drops. We also observed similar trends for all algorithms using the queue model (Figure~2B).

Overall, for both models, the multiplicative decrease algorithms (AIMD, MIMD) and the Oja algorithm demonstrated a better trade-off between bandwidth and drop/queue penalties than other algorithms, indicating their ability to more closely approach the optimal edge weights. We also tested these observations for larger networks with different router connectivity topologies and observed similar overall trends (Appendix, Figure~S1).

Next, we tested how well and how quickly each algorithm could adapt to new traffic, simulated on a real Internet backbone routing network. The simulation was for $3000$ time steps: During $t < 1000$ and $t > 2000$, 500 flows concurrently competed. During $1000 \leq t \leq 2000$, 500 additional flows were temporarily added (``rush hour''). All algorithms demonstrated some reduction in bandwidth when rush hour begins due to the additional number of competing flows. \todo{However, AIMD and MIMD incurred the least transient drop penalty (i.e.,\@ the drop penalty incurred immediately after rush hour starts; Figure~3B). Overall, AIMD yielding significantly lower transient drop penalty than all other algorithms ($P < 0.01$; 2-sample t-tests), and significantly lower overall drop penalty than MIMD.} AIMD and MIMD also produced only a 4--5\% difference in bandwidth compared to the other algorithms (average data per timestep: \todo{$\textrm{AIMD}=776 \pm 6.82$, $\textrm{MIMD}=786 \pm 6.94$, $\textrm{OJA}=814 \pm 19.38$, $\textrm{AISD}=819 \pm 6.11$, $\textrm{MISD}=820 \pm 5.93$ at $t=1500$, Figure~3A).} These results suggest that AIMD and MIMD adapt faster to changing traffic, yielding fewer transient drops with comparable bandwidth.

Next, to support these observations, we formally analyze the adaptive behavior of each algorithm.

\subsection{Analyzing transient response times for AIMD, MIMD, AISD, MISD, and Oja}

An important aspect of algorithm performance is its non-stationary or transient behavior; i.e.\@ how well it adapts when traffic suddenly increases and the available bandwidth per flow decreases (Figure~3). Real networks are never static; all flows experience some level of perturbation due to varying traffic. Thus, as opposed to analyzing convergence properties (as is typically done for gradient descent algorithms), we analyzed a simple but informative scenario: the performance of each algorithm when a second flow is added to a link that is initially serving only a single flow at maximum capacity.

Assume the link $(u,v)$ under consideration has fixed weight $C$, and that there are two flows starting from $s_1$ and $s_2$ that both need to use $(u,v)$ to reach their downstream target (and no other link in the network is limiting). Let $W_{s_{1}u}(t)=C$ and then when the second flow begins, assume $W_{s_{2}u}(t)=1$, where $C \gg 1$. Assume a single LTD operation on $(u,v)$ will lower the total traffic sent by both flows along $(u,v)$ to be below $C$, hence alleviating the congestion. After the initial congestion event there will be $\geq 1$ time steps of LTP before congestion re-occurs. Let $n$ be the number of time steps before congestion re-occurs. We wish to find the amount of data dropped/queued (called \emph{overshoot}) at time $n$, defined as the difference between the amount of data desired by both flows along edge $(u,v)$ and $C$ at the moment LTD is re-activated.
\begin{thm}[Overshoot of AIMD]\label{thm:AIMDos} The two-flow transient response of AIMD has an overshoot that increases linearly with $n$, but is \todo{reduced by a term proportional to the capacity, $C$.}
\end{thm}
\begin{proof}
At the first time step ($-1$ to simplify notation), the amount desired by both flows on $(u,v)$ is:
\begin{center}
\begin{tabular}{cccc}
Time $t$ & Flow 1 & Flow 2  & $\mathrm{Jam}_{uv}(t)$ \\ \midrule
$-1$ & $C$ & $1$ & True \\
\end{tabular}
\end{center}
Since the sum of the flows is greater than $C$, congestion occurs and the jam indicator variable $\mathrm{Jam}_{uv}(t)$ is true. In the next step, LTD via multiplicative decrease is applied:
\begin{center}
\begin{tabular}{cccc}
Time $t$& Flow 1 & Flow 2  & $\mathrm{Jam}_{uv}(t)$\\ \midrule
$0$ & $Ck_d$ & $k_d$ & False    \\
\end{tabular}
\end{center}
This brings the total desired traffic along $(u,v)$ under $C$. Additive increase then occurs for $n$ steps:
\begin{center}
\begin{tabular}{cllc}
Time $t$& Flow 1 & Flow 2  & $\mathrm{Jam}_{uv}(t)$ \\ \midrule
$1$ & $C k_d + k_i$ & $k_d+k_i$ & False \\
$2$ & $C k_d + 2k_i$ & $k_d+2k_i$ & False\\
\vdots & \vdots & \vdots & \vdots \\
$n$ & $C k_d + n k_i$ & $k_d+nk_i$ & True \\
\end{tabular}
\end{center}
At time step $n$, the overshoot along $(u,v)$, which is the excess traffic over $C$, is:
\begin{align}
\label{eqn:aimdexactOS}
(\mathrm{Flow\ 1} + \mathrm{Flow\ 2}) - C & = (C k_d+n k_i + k_d + n k_i) - C, \notag \\
& \approx 2 nk_i + C\left(k_d-1\right),
\end{align}
assuming the single $k_d$ term is negligibly small. Note that since $k_d\in (0,1)$, the second term is negative.
\end{proof}
\begin{table}[htb]
\begin{center}
\begin{footnotesize}
\caption{\textbf{Analysis of overshoot of weight-update algorithms.} Analytic (left) and simulated (right) overshoot values of each algorithm using $C=1000$. The Oja-based algorithm always under-shoots for the simple two-flow case; however, a closed form solution appears difficult to derive because the algorithm is dependent on edge traffic. \todo{The optimal solution (OPT) has zero overshoot.} For simulations of other algorithms, we selected 3 sets of parameters: \emph{\underline{Balanced}}: additive ($k_i=1.0, k_d=5.0$), multiplicative ($k_i=1.1,k_d=0.5$). \emph{\underline{Aggressive Increase}}: additive ($k_i=100.0, k_d=5.0$), multiplicative ($k_i=1.5,k_d=0.5$). \emph{\underline{Aggressive Decrease}}: additive ($k_i=1.0, k_d=100.0$), multiplicative ($k_i=1.1,k_d=0.1$). \todo{The variable $n$ corresponds to the number of time steps before congestion re-occurs.}}
\begin{tabular}{lc|ccc}\label{tbl:overshootsummary} \\ \toprule
Rule & Transient Overshoot & Balanced ($n$) & Aggressive Increase ($n$) & Aggressive Decrease ($n$) \\ \midrule
AIMD & \(\displaystyle 2nk_i + C \left(k_d -1 \right) \) & 0.5 (250) & 101 (3) & 0.1 (450)\\
AISD & \(\displaystyle 2\left(nk_i-k_d\right) \) & 1.0 (5) & 196 (1) & 1.0 (100)\\
MIMD & \(\displaystyle C\left(k_d k_i^n - 1\right) \) & 72.8 (8) & 126 (2) & 84.6 (25)\\
MISD & \(\displaystyle C\left(k_i^n-1 \right) \) & 95.6 (1) & 494 (1) & 90.2 (2)\\
OJA  & Undershoots & -1 ($\infty$) & -1 ($\infty$) & -1 ($\infty$)\\
\todo{OPT}  & \todo{0 ($\infty$)}           & \todo{0 ($\infty$)}             & \todo{0 ($\infty$)}             & \todo{0 ($\infty$)}\\
\bottomrule
\end{tabular}
\end{footnotesize}
\end{center}
\end{table}

We similarly derived the overshoot of MIMD, AISD, and MISD (Appendix; summary in Table~\ref{tbl:overshootsummary}). \todo{The theoretical performance of the algorithms on the two-flow case correlate well with the simulated performance using hundreds of concurrent flows in a larger network.} Both AI algorithms have an overshoot that has a $2nk_i$ term. For AIMD, this term is reduced by $C(k_d-1)$. AISD, on the other hand, is hurt by a slow subtractive decrease, and hence only reduces the $2nk_i$ term by $2k_d$. Since $|C(k_d-1)| > |2k_d|$ for large values of $C$, AIMD typically performs better (compare blue dots vs.\@ yellow dots in Figure~\ref{fig:2}).

The MIMD overshoot shows a complex dependence between $k_i$, $k_d$ and $C$, which makes performance highly  parameter-dependent, as we also observe via simulation (see variability of red dots in Figure~2). MISD has uniformly high overshoot, since $k_i^n > 1$ is multiplied by a large constant $C$, and thus performs poorly. Finally, Oja uses an AISD rule with a weight-dependent squared decay; this decay cancels out the additive increase term as the traffic of Flow 1 and 2 approaches $C$. This leads to performance that always under-shoots for this simple two-flow case, improving drop and queue penalty over AISD; however, in practice when many flows concurrently compete and overshoot does occur (as in Figures~2 and 3), it is limited by the weak decrease term, as the decay only doubles $k_d$, at best.

We also simulated the transient overshoot under the assumptions of Theorems 1--4 using different parameter settings (Table~\ref{tbl:overshootsummary}, right side). These simulations further validate the theorems, showing that AIMD overshoots the least, while MIMD varies from the second-best to second-worst, depending on $k_i$ and $k_d$. Further analysis of each algorithm is provided in the Appendix.

\subsection{Comparing distributed gradient descent algorithms in the brain and the Internet}

Simulations and theory both suggest that AIMD achieves a robust and well-balanced trade-off between bandwidth and drop/queue penalties, with MIMD and Oja also performing comparably depending on the parameters selected. This implies that these algorithms approach the optimal global edge-weight distribution more quickly and accurately than other distributed gradient descent algorithms, including MISD, AISD, Bang-Bang, and Max-Send.

In the brain, the additive increase and multiplicative decrease rule (AIMD) for LTP and LTD, respectively, has strong theoretical and experimental support (Table~\ref{tbl:rw}), particularly over MI and SD models. The AIMD algorithm is also very similar to the rule proposed by~\citet{vanRossum2000} and has been commonly referred to as the mixed-weight update rule~\citep{Delgado2010}. This rule, in neural network simulations, has been shown to produce stable Hebbian learning compared to many other rules~\citep{vanRossum2000,Billings2009}.

While Oja was one type of weight-dependent rule, other rules have also been proposed where a weak (i.e.\@ low-weight) synapse that undergoes LTP is strengthened by a greater amount than a strong synapse that undergoes LTP, and vice-versa for LTD (Table~\ref{tbl:rw}). Prior work has also suggested that individual synapses may have a ``memory'' that allows for more sophisticated update rules to be implemented, including history-dependent updates~\citep{Subhaneil2013}. \todo{One such form of update is called integral control in engineering, which utilizes the time integral of a variable from $t=0$ to the present}. We show the general forms of these rules in Table~\ref{tbl:rw} but do not explore them further here.

Interestingly, in engineering, AIMD also lies at the heart of the most popular congestion control algorithm used on the Internet today: the transmission control protocol (TCP~\citep{Corless2016}). In contrast to our \emph{per-link} model, congestion control on the Internet is performed on a global end-to-end basis \emph{per-flow}, meaning that the source of each flow regulates its transmission rate based on a binary feedback signal (called an ACK or acknowledgment) sent by the target. If there is a long delay before the ACK is received (or if the ACK is never received at all), congestion is assumed, and the source decreases its rate of sending data by a multiplicative constant (often $0.5$). Otherwise, the source increases its rate by an additive constant (often $1.0$). TCP was also designed with the goal of converging to steady-state flow rates over time in a gradient-descent like manner~\citep{Shakkottai2007,Jose2015}. Thus, despite different models and objectives, both the brain and the Internet may have discovered a similar distributed algorithm for optimizing network activity using sparse, local feedback.

\section{Discussion}

Our work connects distributed traffic flow control algorithms in engineered networks to synaptic plasticity rules used to regulate activity in neural circuits. \todo{While we do not claim that there is a one-to-one mapping between mechanisms of synaptic plasticity and flow control problems, we showed how both problems can be viewed abstractly in terms of gradient descent dynamics on global objectives, with simple local feedback.} We performed simulations and theoretical analyses of several edge-weight update rules and found that the additive-increase multiplicative-decrease (AIMD) algorithm performed the best in terms minimizing drops/queueing with comparable bandwidth as other algorithms. This algorithm also matched experimental data detailing the functional forms of LTP and LTD in the brain and on the Internet, suggesting a similar design principle used in biology and engineering. Further, these weight rules use limited (1-bit) local communication and hence may be useful for implementing energy-efficient and scalable flow control in other applications, including integrated circuits, wireless networks, or neuromorphic computing.

There are many avenues for future work. First, other plasticity rules may also be explored within our framework, such as short-term plasticity. \todo{Second, in cases where source and/or receiver rates are fixed, the payload needs to be routed over alternative paths (i.e. routes may change over time basic on traffic~\citep{Isa2015}). This requires  that heavily used edges become down-weighted and unused edges become more attractive, which effectively performs load balancing over all resources (edges) in the network. Biologically, similar behavior is observed due to homeostatic plasticity mechanisms, which may inspire algorithms for this problem.} Third, these distributed gradient descent updates rules may be useful in machine learning applications for non-stationary learning. Fourth, more sophisticated weight-and history-dependent update rules already explored in engineering may provide insight into their form and function in the brain. Overall, we hope our work inspires closer collaborations between distributed computing theorists and neuroscientists~\citep{Navlakha2015}.

\clearpage
\section*{Figures}

\begin{figure}[h]
\begin{center}
\includegraphics[width=\textwidth]{figs/Fig1.pdf}
\end{center}
\caption{\textbf{Model overview.} A) Input network, consisting of sources that transmit data to targets via a routing network. B) Illustration of a congested link $(v,w)$, where the amount of incoming data to a node exceeds outgoing link weight, leading to dropped or queued data. Flows incoming to node $v$ are processed in a random order. \todo{C) If no jam occurs (case 1), all links LTP in the next time step. If a jam does occur (case 2), then the edges contributing data to the jam undergo LTD, and the jammed link LTPs, in an attempt to alleviate the jam in the next time step.}}
\label{fig:1}
\end{figure}

\clearpage

\begin{figure}
\begin{center}
\includegraphics[width=\textwidth]{figs/Fig2.pdf}
\end{center}
\caption{\textbf{Comparison of seven activity-dependent weight update rules.} Bandwidth vs A) Drop penalty and B) Queue penalty. \todo{The lower right of the plot corresponds to an empirical upper bound, which occurs when bandwidth is that of the highest observed algorithm but with zero drop/queue penalty.} \todo{Each dot corresponds to an algorithm run using different values of the increase and decrease parameters $(k_i, k_d)$.} AIMD, MIMD, and Oja perform the best.
\label{fig:2}}
\end{figure}

\clearpage

\begin{figure}
\begin{center}
\includegraphics[width=\textwidth]{figs/Fig3.pdf}
\end{center}
\caption{\textbf{Adaptation to changing traffic demands.} Traffic simulated on a real Internet backbone routing network for $3000$ time steps. Performance measures were averaged every $100$ time steps. We selected the parameters for each algorithm that had the highest bandwidth in Figure~2 while being within 1\% of the minimum drop penalty for the algorithm. AIMD and MIMD showed the least additional penalty (B) due to rush hour, suggesting quick adaptation, while also yielding a similar bandwidth (A) as MISD, AISD, and Oja.
\label{fig:3}}
\end{figure}

\clearpage
\section*{Appendix}

\subsection*{Analyzing transient response times for AIMD, MIMD, AISD, MISD, and Oja}

Below, we derive the transient overshoot of AIMD, MIMD, AISD, and MISD.

\begin{thm}[Overshoot of AIMD] The two-flow transient response of AIMD has an overshoot that increases linearly with $n$, but is \todo{reduced by a term proportional to the capacity, $C$.}
\end{thm}
\begin{proof}
See the main text for the derivation. The overshoot is:
\begin{align}
(\mathrm{Flow\ 1} + \mathrm{Flow\ 2}) - C & = (C k_d+n k_i + k_d + n k_i) - C, \notag \\
& \approx C\left(k_d-1\right) + 2 nk_i,
\end{align}
assuming the single $k_d$ term is negligibly small.
\end{proof}

\begin{thm}[Overshoot of MIMD] The two-flow transient response of MIMD is highly parameter dependent: based on $k_d$ and $k_i$, the scaling of overshoot can either be dominated by $C$ or by a power of $n$.
\end{thm}
\begin{proof}
Following the proof of Theorem~1 in the main text, the time evolution will be:
\begin{center}
\begin{tabular}{cllc}
Time $t$ & Flow 1 & Flow 2  & $\mathrm{Jam}_{uv}(t)$ \\ \midrule
$-1$ & $C$ & $1$ & True \\
$0$ & $C k_d$ & $k_d$ & False \\
$1$ & $C k_d k_i$ & $k_d k_i$ & False \\
$2$ & $C k_d k_i^2$ & $k_d k_i^2$ & False \\
\vdots & \vdots & \vdots & \vdots \\
$n$ & $C k_d k_i^n$ & $k_d k_i^n$ & True \\
\end{tabular}
\end{center}
The overshoot for MIMD is:
\begin{align}
(\mathrm{Flow\ 1} + \mathrm{Flow\ 2}) - C & = k_d k_i^n (C+1)-C.\notag \\
& \approx C (k_d k_i^n - 1),
\end{align}
if $C \gg 1$. Thus, the overshoot shows a positive dependence on $C$ (unlike AIMD, which has a negative dependence on $C$) and a power dependence on $n$.
\end{proof}

\begin{thm}[Overshoot of AISD] The two-flow transient response of AISD increases linearly with $n$, but does not scale relative to the link capacity, $C$.
\end{thm}
\begin{proof}
The time evolution will be:
\begin{center}
\begin{tabular}{cllc}
Time $t$& Flow 1 & Flow 2  & $\mathrm{Jam}_{uv}(t)$ \\ \midrule
$-1$ & $C$ & $1$ & True \\
$0$  & $C- k_d$ & $1-k_d$ & False    \\
$1$  & $C- k_d+ k_i$ & $1-k_d+ k_i$ & False \\
$2$  & $C-k_d+2 k_i$ & $1-k_d+2 k_i$ & False \\
\vdots  &   \vdots  & \vdots & \vdots\\
$n$ & $C-k_d+n k_i$ & $1-k_d+n k_i$ & True \\
\end{tabular}
\end{center}
The overshoot for AISD is thus:
\begin{align} \label{aisdos}
(\mathrm{Flow\ 1} + \mathrm{Flow\ 2}) - C & = 2(nk_i-k_d).
\end{align}
\end{proof}

\todo{In our theorems, we ignore the constraint that $W\geq 1$. This limit in our implementation was due to integer rounding to ensure MISD links do not get stuck at $0$ weight; hence, the theorems we present here are more general. If we apply this limit, it affects the weight of flow 2 at $t=0$, which should equal $1$. In all cases except AISD, the difference is removed by the approximation at the end. For AISD, Eqn.\@~\eqref{aisdos} becomes $2nk_i-k_d$, a negligible change when $n\gg 1$.}

\begin{thm}[Overshoot of MISD] The two-flow transient response of MISD increases to the power of $n$ and as a product with $C$.
\end{thm}
\begin{proof}
The time evolution will be:
\begin{center}
\begin{tabular}{cllc}
Time $t$& Flow 1 & Flow 2  & $\mathrm{Jam}_{uv}(t)$ \\ \midrule
$-1$ & $C$ & $1$ & True \\
$0$ & $C- k_d$ & $1-k_d$ & False \\
$1$ & $(C-k_d)k_i$ & $(1-k_d) k_i$ & False \\
$2$ & $(C-k_d)k_i^2$ & $(1-k_d) k_i^2$ & False \\
\vdots  &   \vdots  & \vdots & \vdots \\
$n$ & $(C-k_d)k_i^n$ & $(1-k_d) k_i^n$ & True \\
\end{tabular}
\end{center}
The overshoot for MISD is thus:
\begin{align}
(\mathrm{Flow\ 1} + \mathrm{Flow\ 2}) - C & = k_i^n (C-2k_d+1) -C \notag \\
& \approx C\left( k_i^n -1 \right),
\end{align}
since $C$ is large relative to $2k_d+1$.
\end{proof}

General conclusions can be drawn from these relations that correlate well with the simulation results. We can bound the overshoot of both AI algorithms (AIMD and AISD) by $|\mathcal{F}| k_i$, where $|\mathcal{F}|$ is the number of flows that must share a link, because each individual flow will not overshoot more than one $k_i$. The more precise overshoot of AIMD, $C(k_d-1)+2nk_i$ (Theorem~1 main text), shows a significant capacity-dependent stabilizing factor, as $C\left(k_d-1\right)$, which is negative, counteracts the factor of $n$. When we repeated the AIMD flow simulation (Table~1 main text) with $C=50$ (as opposed to $C=1000$), the overshoot of AIMD increased, as expected.

AISD has a conservative increase similar to AIMD but suffers because subtractive decrease slowly adjusts when available bandwidth decreases. While some parameter settings may overcome this, it is difficult in practice to tune the SD constant to be effective in all scenarios. Simulation results supports this observation, showing a large drop penalty during rush hour and a slow recovery after traffic subsides (Figure~3 main text). For AISD, if multiple flows share a link, transient overshoot is approximately $|\mathcal{F}| \left( n k_i \right)$. When a large number of flows share a link, e.g.\@ millions of flows on an Internet backbone, overshoot will be very large.

The Oja-inspired algorithm is based on AISD, but subtracts a normalized traffic-dependent quadratic term. This attempts to correct for the slow LTD decrease of AISD, especially at high weights, and we do observe improvement over AISD in our network simulations. However, we also observe larger drop and queue penalties for Oja compared to AIMD due to its still rather conservative decrease following congestion.
The decay term can also completely counteract the AI contribution when $D_{uv}\rightarrow \sqrt{WC}$ (i.e.\@ when edge utilization is high), thus potentially leading to edge under-utilization. This convergence to a weight less than $C$ causes LTD never to be triggered (hence, the $\infty$ term in Table 2 in the main text, for this simple two-flow case). The lack of periodic overshooting appears to be key for the drop and queue penalty improvements over AISD.

The overshoot and performance of MIMD are highly dependent on $C$ relative to the $k_i$ and $k_d$ parameters, explaining the scattered performance of MIMD in Figure 2 (main text). With optimal parameter tuning, MIMD can be made to operate well under transient behavior, which is seen when certain MIMD points reach the AIMD region (Figure~3 main text).

MISD can easily be seen as worse than AISD in terms of drop/queue penalties in our simulations (Figures~2 and 3 main text). Intuitively, this is because MISD reduces slowly (subtractively) but increases aggressively (multiplicatively). The transient overshoot analysis for MISD shows that it increases as a product of $C$ and a constant to the power of $n$. Since the decrease term is weak, $n$ will be small, meaning that poor performance will be especially seen for high capacity links.

\subsection*{Algorithm performance with additional topologies}

We performed simulations with 10-fold larger networks $(n=1000)$, with both uniform and scale-free degree distributions. \todo{The scale-free topology was derived using the Barabasi-Albert preferential attachment model~\citep{Barabasi1999}. When generating graphs using this model, new nodes are connected to existing nodes with probability proportional to their existing degree. This mechanism has been shown to produce a power-law degree distribution.} We found no qualitative change in our conclusions here (Figure~\ref{fig:4} below) compared to the results discussed in the main text. Thus, our results are applicable to at least two classes of network topologies: uniform (inspired by grid-like road networks) and power-law (Internet). This invariance is likely due to the distributed nature of the flow control algorithms. The overshoot theorems exemplify this, having no assumptions on network size and topology.

\begin{figure}[!h]
\centerline{\includegraphics[width=\textwidth]{figs/Fig4.pdf}}
\caption{\textbf{Performance using additional topologies.} Comparison of all the algorithms using a scale-free degree distribution (A) and a uniform degree distribution (B) with 1000 nodes.
\label{fig:4}}
\end{figure}

\subsection*{\todo{Changes in edge weights (W) under dynamic traffic}}

\todo{To study how $W$ (edge weights) changed under the rush hour protocol of Figure~\ref{fig:3}, we plotted the average $W$ (computed in 10 time-step bins) for all used source-to-router links in the network. We focused on source-router links as these primarily control the amount of new data injected into the network in each time step. Error bars in this figure correspond to the standard error of the average over 10 trials. Both MIMD and AIMD reduce edge weights in response to rush-hour, showing that they handle excess traffic by reducing bandwidth instead of dropping data. The characteristic oscillatory probing nature of both algorithms is also apparent. In both cases, the range of W in each time step is narrowly bounded, indicating network stability.}

\begin{figure}[!h]
\centerline{\includegraphics[width=0.7\textwidth]{figs/Fig5.pdf}}
\caption{\todo{\textbf{Changes in the edge weight under the dynamic traffic protocol.} Error bars correspond to the standard error of the average over 10 trials.}
\label{fig:5}}
\end{figure}

\clearpage

\begin{small}
\bibliographystyle{apalike}

redpajama_set_name: RedPajamaArXiv


text:
Q: VS2008 Debugger not displaying map data I have a class that contains various datatypes using maps.  The class functions correctly, in debug and release mode.  However, when I attempt to debug my program, the debugger can not determine what is in the multiple maps inside of the class.  Normally, I would suspect memory corruption from elsewhere, but there are no memory errors while running the program and values are set and retrieved without incident.
Here is an example of the debugger error.  The number of elements in the map are reported correctly, but the values are errors.  Interestingly, when I break inside a member function for the class containing the maps, this error doesn't occur and all the values are visible.  Also, strangely, the string map shows up without a problem.
I'm using Visual Studio 2008 (SP1) on Windows 7 (64bit).  The class code is actually in a DLL loaded at startup by the client program that I'm debugging, if that makes a difference.  Any ideas are appreciated.

class DataTable {
public:
    std::string get_string(std::string);
    float get_float(std::string);
            (etc.)

    void set_string(std::string, std::string);
    void set_float(std::string, float);
            (etc.)

protected:
    std::map<std::string, std::string> m_string_map;
    std::map<std::string, float> m_float_map;
            (etc.)
}

A: When I am using std::map, I am doing a workaround just for debugging purposes:
#ifdef _DEBUG
uint32_t num_strings_in_map = (uint32_t)m_string_map.size();
uint32_t num_floats_in_map = (uint32_t)m_float_map.size();
#endif

I can then set a breakpoint, or output the numbers to the screen...

redpajama_set_name: RedPajamaStackExchange


If you looking for affordable Web Design in the Airport Oaks area for a re-design or new website we can help.
idDesign™ are leading Web Designers in Auckland and Web Developers that have helped many clients reach high search engine ranking with quality websites. idDesign uses elemental concepts with business design to create simple aesthetic web developed pages. Let us help you get ahead of your competitors. IdDesign™ are Auckland web designers and Auckland Web Developers based in East Auckland New Zealand. Our total focus is on you the client, where we find out about your business and your objectives and structure a web design solution that will suite your business at your specific stage and will advise the most effective web developed package to get your brand known and increase sales and revenue.
"idDesign developed a simple, clear, concise and well designed website that also has a high Google ranking. idDesign provided a professional personalised service to fullfil these criteria for our business. Well done and thanks" Malcolm Anderson (Xanox Design) | East Auckland Area.


text:
Family Information (497)
Adults Support Directory (15)
SEND Resources for Practitioners (47)
Bridekirk Dovenby CofE Primary School
Bridekirk Dovenby School is a Voluntary Controlled Church of England Primary School, which provides education for 150 children between the ages of 4+ and 11+ years. Children in the catchment area are automatically accepted for admission to the school on attaining the statutory school admission…
admin@bridekirkdovenby.cumbria.sch.uk
Bridge College
Bridge College is a non-residential specialist FE college. We meet the needs of students up to the age of 25 years with learning difficulties and disabilities, complex needs, communication disorders and autism. With our new state of the art campus, we have access to a…
admin@bridgecollege.ac.uk
https://www.togethertrust.org.uk/bridge-college
Brisbane Park Infant School
01229 833840 (Telephone) 01229 894631 (Fax)
admin@brisbanepark.cumbria.sch.uk
Brook Street Primary School
Brook Street School continues to develop and improve and was graded a 'good' school by Ofsted at last inspection (March 2017). The school is working hard to extend the range of educational experiences available to the children and to the community. The school has a…
office@brookst.cumbria.sch.uk
Brough Community Primary School
THE SCHOOL Brough School is a co-educational primary school for four to eleven year olds. The school was established in 1875, and serves a large area from Stainmore to Musgrave. The school has four main classrooms, library and a large hall, plus additional teaching areas…
admin@brough.cumbria.sch.uk
Brough Primary School
Broughton CofE School
The School Curriculum Our curriculum provides the children at Broughton CE School with a broad, balanced and exciting experience. We are champions of outdoor learning and all classes regularly engage in Forest Schools session, within our extensive grounds. A cross-curricular planning approach has been developed…
head@broughton-furness.cumbria.sch.uk
Our website is currently unavailable and being updated.
Broughton Moor Primary School
Broughton Moor Primary is an open, warm and friendly community of learning, offering a broad and balanced curriculum of a very high standard. All staff continually strives to provide the highest quality of educational provision for all pupils. Our curriculum is designed to engage and…
01900 812433 (Telephone & Fax)
admin@bromoor.cumbria.sch.uk
Broughton Primary School
Broughton Village is situated on the Western Fringe of the Lake District. Broughton Primary School admits children from the Parish of Broughton and the surrounding area. Broughton Primary School became an Academy on 1st October 2011. The school is now free from Local Authority control, giving it…
admin@broughton-pri.cumbria.sch.uk
Broughton Primary Academy
Broughton Primary School Academy Nursery Class
Class 1 at Broughton Primary School is part of the Early Years Unit, and incorporates the Nursery children. Mrs Wynne is the Nursery teacher and she is helped by Miss Amanda Cockton.All children follow the seven areas of learning and development as set out in…
www.broughtonprimarysch.co.uk
Brunswick School
The highly dedicated team at Brunswick School aim to provide the very best education for all our children by: Creating a welcoming, happy environment, that stimulates the mind and promotes a love of learning. Ensuring everyone is safe and feels safe. Promoting equality through the…
admin@brunswick.cumbria.sch.uk
Brunswick Infant School

redpajama_set_name: RedPajamaCommonCrawl


text:
Amusement Parks |
Niles: Theme parks' missing preshows are…
Niles: Theme parks' missing preshows are important, too
The queue areas of rides such as Star Wars: Rise of the Resistance convey key parts of the attractions' story lines. (Photo by Jeff Gritchen, Orange County Register/SCNG)
By Robert Niles | themeparkinsider@gmail.com | Orange County Register
Like many fans, I am happy to see California's theme and amusement parks reopening safely now that COVID-19 infection rates are dropping, and vaccination rates are increasing across the state. Having the parks closed for 13 months showed many of us the immense economic and emotional value of these destinations — value that we lost while the parks were closed.
But the parks' return is a phased reopening, with many popular elements unavailable for now, including parades, fireworks and big productions such as World of Color. Yet I want to talk about another important element of the theme park experience — one that too many fans overlooked even when the parks were fully operational.
Let's talk about preshows.
More from Robert Niles
Disney makes a huge 'wish' for its future
The new version of Disneyland debuts
Who's winning the theme park battle between Disney and Universal?
Did Disney actually make a 'real' lightsaber?
What would Walt Disney think of bars at Disneyland?
I visited Universal Studios Hollywood on the day it reopened its Kung Fu Panda: The Emperor's Quest show. To comply with state regulations for indoor theaters, Universal is loading visitors directly into the theater from its outdoor queue, with team members assigning visitors to seats to keep them away from other parties. That means no preshow.
The Emperor's Quest is one of my favorite theme park movie attractions for the way it plays with guests' perception of reality through deft use of projection mapping and in-theater effects. But I fear that first-time viewers won't enjoy the show as much without the set-up detailed in its preshow.
Granted, many visitors don't care. They're in for the visual spectacle. Or maybe just for a place to sit down in the air-conditioned dark for a bit. Other visitors, like me, know the set-up and are just happy to see the main event again.
But the temporary elimination of preshows at Emperor's Quest and other attractions at Universal Studios and Disneyland reminds us how storytelling has evolved within top theme parks over the past generation. Like with the parks themselves, preshows' absence can help us better appreciate their impact.
I tried the Toothsome chocolate menu at Universal CityWalk and these are my 7 favorites — See photos
Preshows started as a way to distract guests while they were being assembled for more efficient entry into a theater or loading area. It's much quicker to load a theater with a mass of people coming through multiple doors from a preshow area than a trickle coming through a queue. That keeps wait times down for everyone.
Over the years, designers have been extending attractions' storytelling into preshow areas as well as their queues. In modern attractions such as Universal's Harry Potter and the Forbidden Journey and Disney's Star Wars: Rise of the Resistance, the show starts long before you take your seat. With its new Star Wars land, Disney even has extended the storytelling experience before your visit to the park, with multiple books themed to the land's Black Spire Outpost setting.
I hope that more Californians will get vaccinated so we can move to the next phase when theme parks can bring back their parades, their fireworks… and their preshows. As much fun as it can be to "cut to the chase," taking the time for build-up often makes a story even more rewarding.
Robert Niles | Theme Park Insider reporter
Robert Niles is the founder and editor of ThemeParkInsider.com. Follow him on Twitter @ThemePark.
themeparkinsider@gmail.com
Follow Robert Niles @themepark
More in Amusement Parks
Universal Studios |


text:
You are here: Home / Uncategorized / Timeless Truth in Australia
April 27, 2014 by Ron Smith
Timeless Truth in Australia
It was a Friday morning in the SBS classroom when I had listened to yet another powerful performance of an original song one of the students wrote for their Psalms Creative assignment.I had goose bumps as I absorbed one beautiful song after another.The thought came into my mind; we need to record these songs.These lyrics, this talent, and the simple yet profo und.
So we recorded these original worship songs inspired by Psalms, and titled the album Timeless Truth – two words any SBSer would smile at, yet it summarizes the heart of each song.
Our SBS here on the Sunshine Coast of Australia has a vision of multiplying SBS's into the South Pacific Islands, as there are currently none.Therefore proceeds from the album sales go towards creating a scholarship fund for students from the Islands to come do SBS; specifically one who has a heart to then go back and pioneer an SBS on their island.
My prayer is that this album of beautiful worship songs would bless all those would listen to each song, but that it would also result in an SBS being pioneered in the South Pacific
Please join with the vision.Buy the album on iTunes, share it with friends, and enjoy the music!
Type "Timeless Truth" into iTunes or click on this link below:
https://itunes.apple.com/au/album/timeless-truth/id859450884
About Ron Smith


text:
Podcast: Aixle Aman on the road from passionate teacher to transformative policy leader
"Not a day goes by where I don't think of my students. My experiences with my students just absolutely ground me and this is why I do what I do."
— Aixle Aman
Aixle Aman, chief of staff for Los Angeles Unified School District Board Member Ref Rodriguez, joins The Leaders' Table for a session with Jason Llorenz on getting through the red tape to get things done in policy.
Wondering what it's like to work for an elected official in the second largest school district in the country? Listen for that and so much more:
How to go from teacher to chief of staff
Aixle's vision of schools as community hubs
Insight on what you'll get from a Master of Public Policy program
Aixle's tips for crossing "the big stuff" off your list
Tune in to the #LeadersTablePodcast for tips, tricks, insights and stories from education changemakers.
Luis Avila, senior vice president of 270 Strategies and former national program director of Stand for Children, on how to bring community organizing, art, and love into your career.
Need to catch up on the #LeadersTablePodcast?
Check out Episode 1 with Ryan Smith, Episode 2 with Nina Rees, and subscribe for upcoming episodes on your favorite podcast feed (iTunes, Stitcher, Soundcloud).
Work with a LEE career coach
Ready for a role like one you've heard about at The Leaders' Table? Organizations are looking to hire leaders like you. Check the job board and connect with a LEE career coach to make a plan.
Apply for a Fellowship
Jumpstart your career and expand your skillset — apply now for the LEE Policy & Advocacy Summer Fellowship.
4 Ways to Kickstart A Meaningful Career
As a LEE member, you're always looking for a way to ensure that all children get a chance at receiving an excellent education. But in order to do that, you need the right job that's going to help you make the greatest impact. Here are four ways you can kickstart your career in educational equity.
Bruce Leal: Making History in a Second Language
LEE Member Bruce Leal conducted policy research and worked to pass policy to ensure quality education for students who speak English as a second language in Hawaii.
"I see what I do as part of a movement to shift the former mode of education reform by empowering those who work on the front lines and engaging diverse stakeholders in a way that transforms hearts and minds for the betterment of students."


After months of hype and anticipation, the Samsung Galaxy S10 has finally arrived, marking a milestone in the 10th anniversary celebration of the renowned S series by the Korean tech giant.
2. It has triple-lens rear cameras. And they're intelligent too. There's a 12-MP Telephoto, a 12-MP wide-angle, and a 16-MP Ultra-wide camera - so you're always camera-ready for life's precious moments. The intelligent camera suggests image compositions and automatically adjusts your settings to the scene.
3. It features a seamless aesthetic design, combined with innovative sensors. The new Samsung S10 handsets feature prismatic color ways, and the sleeker Infinity-O Display for an uninterrupted viewing experience. Pushing the boundaries of mobile innovation, the Galaxy S10 and Galaxy S10+ screens also tout a built-in Ultrasonic Fingerprint Scanner so that only you can access your phone.
4. It remembers your mobile habits. The Intelligent Performance Enhancer takes mobile efficiency and intuition to a whole new level by optimizing the way you interact with your phone. It anticipates your needs by preloading the apps you frequently use, so no time and battery life is wasted.
5. It is available on data-packed GigaX Plans powered by PH's fastest LTE network. What better way to maximize all of Samsung Galaxy S10's advanced features than on Smart LTE, the country's fastest LTE network as certified by renowned third-party analysts including Tutela, Ookla™ and OpenSignal. With GigaX Plans and Smart LTE, you can stream your favorite videos seamlessly, upload and download files in an instant, and share your stunning photos with friends and loved ones in no time.
You can get the Galaxy S10 on a Smart GigaX Plan with two payment options: via full cash-out, or at lower amortization per month and one-time cashout. Smart offers the Galaxy S10 at Php2,299 per month (with a one-time cashout of Php11,010 for the device); the Galaxy S10+ (128GB) at Php2,499 per month (with a one-time cashout of Php11,210 for the device); and the Galaxy S10e at Php2,099 per month (with a one-time cashout of Php8,410 for the device).
Experience Samsung's latest flagship smartphone now by signing up at the nearest Smart Store, or online www.smart.com.ph/Postpaid/galaxys10.


text:
Jeannie Longo's husband given suspended prison sentence
By Cycling News published 10 March 17
Ciprelli found guilty of illegally buying and importing EPO
Patrice Ciprelli and Jeannie Longo in Grenoble (Image credit: AFP Photo)
Jeannie Longo-Ciprelli (Rhône-Alpes) celebrates her 57th national championship. (Image credit: Fabrice Lambert/sportbreizh.com)
Patrice Ciprelli has been sentenced to one year suspended prison term for importing EPO. Ciprelli is the coach and husband of French cyclist Jeannie Longo.
Ciprelli denies EPO purchase, Pitel outraged by links to the case
Suspension lifted for Longo's husband Ciprelli
Ciprelli appeal rejected
The sentence was issued by the Correctional Court of Grenoble at the request of the public prosecutor. According to the AFP news service, the latter asked for a "warning penalty" so that Ciprelli would not "benefit from having dragged" the case on so long. The investigation started five and a half years earlier, with a trial finally held in January.
Ciprelli was convicted of smuggling and importing prohibited merchandise, specifically 33 boxes of EPO, bought from 2008 to 2011. In addition to the suspended sentence, he must pay a €5800 fine, €5000 to the French cycling federation and €2000 in court costs.
Longo, now 58, won World titles from 1985 to 2001, in both the time trial and road races. She has won 59 national titles, as well as setting the hour record in 2000 and winning Olympic gold in 1996.


text:
He delivered a special briefing on Austrade's global strategy and priorities which was followed by networking at the Indian restaurant Mera Masala owned by GABC Member Om Johar.
The following day, the international meeting of Australian Business in Europe (ABIE), a network of Australian business associations and chambers across Europe, took place at the office of GABC Corporate Member Squire Patton Boggs. ABIE brings together multiple organisations representing Australian and Australian-interested organisations across Europe with the shared objective of growing and strengthening the trade, investment, business and diplomatic ties between the two regions.
Delegates from eight different organisations convened to discuss the future strategy of the network. Prior to the meeting, delegates heard three presentations from Australian government representatives. Simon Clayton, the Deputy Head of Mission at the Australian Embassy, Berlin spoke about the negotiations of the EU-Australia Free Trade Agreement. Dan Tebbutt spoke on collaboration between government agencies and business organisations, and Charlotte Stevenson, from the Department of Home Affairs, spoke on the Australian government's Global Talent Program.


text:
Battlefield Band: Live in Concert at the Brunton Theatre
2006 NR 1h 10m DVD
Rent this movie
Want to watch for free? Join for a free month
Filmed live at the Brunton Theatre in Musselburgh, Scotland, Battlefield Band offers up a rousing performance of traditional Scottish music. Together for more than three decades, the group has performed all over the globe. Songs include "Ely Parker Set," "Mary's Dream Set," "I Cried," "Alasdair's Fiddle Solo," "I'm Going to Set You Free," "The Road of Tears," "Bowmore Fair Set," "The Emigrant," "The Merry Macs Set," "To a Mouse" and more.
Battlefield Band
Music & Musicals, European Folk & Traditional Music, World Music
Full Screen 1.33:1
English: Dolby Digital 2.0 Stereo
NR - Not rated. This movie has not been rated by the MPAA.
Fast, free delivery
Free delivery to your mailbox and free returns.
No late fees
Keep your movies as long as you want with no due dates.
Pick your movies, watch when you want, return, and repeat.
The best titles
The best movies and TV shows, plus weekly new releases.
Browse from thousands of movies and shows.
We send out your disc the next business day.
Watch and repeat
Free returns, plus no due dates or late fees.


To refine an identity of righteousness through faith by grace and create a new understanding of Christian living.
Jesus anywhere at any time.
to their friends at school. More visitors have come due to this.
direction. Bible study occurs at 11:00 AM every Sunday and are split between boys and girls.
pastor followed by a sermon prepared and delivered by the youth pastorLunch is provided within the same building.
between the individual and God.


text:
Q: BeanUtils.copyProperties - how to copy the values to the custom bean reference in a collection package A;

Class A{
  String name;
  List<ClassB> myList;

  // getters and setters
}

package A;

Class B{

}

package C;

Class A{
  String name;
  List<ClassB> myList;

  // getters and setters
}

package C;

Class B{

}

c.ClassA c_ClassA = new c.ClassA();
a.ClassA a_ClassA = new a.ClassA();

BeanUtils.copyProperties(c_ClassA,a_ClassA);

a_ClassA.myList has reference to c.ClassB when the above copyProperties method is used.
Instead i'm looking for a method to copy the values from c_ClassA to a_ClassA so that a_ClassA.myList has the list of a.ClassB reference instead of c.ClassB reference.

A: Use the source, Luke.(Or the JavaDoc) It copies the properties and does not do any form of casting. But you could implement this behavior yourself.
I do not know of an actual implementation that does this for you, since this is not the intendet behavior.


text:
IQM was established in the UK in October 2004 with the objective of supporting both state and independent schools to become inclusive.
IQM aspire to be at the forefront of developments to ensure the inclusive education of young people. We believe that for future generations to be able to live in harmony, we all have a responsibility to ensure that we provide an inclusive education for every child. Every child is an individual, unique in every way, with the potential to shape the world in which they live. As educators we have to ensure that our young people develop an inclusive approach to others, however different they may seem.
The Inclusion Quality Principles
Promotes access and diversity
Raises achievement for all
Creates an environment for all to succeed
Improves inclusive nature of all schools
Joe McCann
Joe has been the Managing Director of IQM since its inception in 2004.During his teaching career Joe has worked both as a teacher and senior leader, working with high achieving schools as well as those in Special Measures. Joe has also worked as an education consultant providing bespoke courses for teachers across the UK. He has also lead a team of interim managers working in very challenging schools throughout the UK. Joe has delivered training in England, Ireland, Egypt, Kuwait, United Arab Emirates and Kuala Lumpur on the importance of an inclusive education.
Eilish McCann
Sales & Marketing Director
Eilish has been with IQM since 2009.Eilish's teaching career spanned secondary schools in Gloucestershire, Worcestershire, Herefordshire and Hemel Hempstead before moving on to a very large college of Further Education in Wiltshire where she led a large team of professionals in the Business, Law, Economics and Accounting Faculty. She has taught at GCSE level but more extensively at A Level in both academic and vocational subjects. Eilish has delivered a variety of training courses to teachers across the UK and in the Middle East on a wide range of topics but specialising in inclusive education.
IQM Ambassador Managers
Dr Wendy Daley
IQM Ambassador Manager
Dr Wendy Daley has a back-ground in education that spans 40 years (so far). In that time, she has been a head teacher of a successful junior school; a researcher in education at doctoral level and a consultant delivering a breadth of training throughout the country to a variety of audiences. Recipients of training from Dr Daley include teachers; support staff; senior managers and post-graduates.As an Early Years, Professional Status trainer and assessor, Dr Daley trained and assessed personnel within this context.
Whilst a head teacher, Dr Daley's school was a focus for innovative Inclusive Practice which has featured in articles, conferences and training DVDs. Currently, Dr Daley is a Senior Assessor for IQM involving herself in training; review of processes; quality assurance and of course, assessing schools.
In her own words, she "continues to be an enthused, creative and energetic practitioner at heart".
Tim Ireson
In a career spanning forty years I have enjoyed working in a variety of settings. As part of my initial training I worked in a French secondary school as a foreign language teaching assistant and then spent the rest of my career working in the midlands, firstly in Middle Schools and then as a deputy in a Primary setting.I have had three headships, in a small village First School(4-9 year olds) followed by a medium sized First and Middle School headship and my final role was in a very large city primary school (three form entry with a school led nursery.
In my last headship I had the pleasure of establishing a young and highly competent inclusion team. They led our setting to Inclusion Quality Mark and latterly, Centre of Excellence.
I am married, with two grown up sons, the eldest of which has Down's Syndrome. He's thirty and works in an inclusive Café and in a City library where he supports the archaeological team one day each week and helps out in the Children's library section on another day.
Interests include the arts, gardening and keeping my French up to scratch. I keep active, with swimming, gym and "rusty rackets" tennis sessions in our local club each week.
It is a real privilege to work as an assessor for IQM, where I see wonderful examples of inclusive practice and make some recommendations for schools to consider further improvement.
Dave Stott
Dave has more than 30 years teaching experience in mainstream and special schools across all key stages, at teacher, Head Teacher and County Manager levels. Dave also headed a countywide multi-professional team supporting children with social, emotional and behavioural difficulties. As part of this role Dave was seconded, over a period of three years, as an Executive Head Teacher into one special, one primary and two secondary schools, all of which were, at that time, in Ofsted categories.Dave has acted as editor and contributing author of "Teaching Expertise, Behaviour Matters" for more than six years and is currently in great demand, working nationally as a freelance consultant, Outstanding Teacher Intervention trainer and Chair/Keynote speaker on the National Education Conference circuit.
Over the past 9 years Dave has worked directly with over 25 local education authorities and 10 Academy Trusts in the UK and schools in the Cayman Islands and the Netherlands plus many individual UK schools focussing on bringing about effective changes to promote outstanding teaching and learning, developing an Emotionally Literate environment and developing, through his work as a senior assessor and ambassador manager for the Inclusion Quality Mark, an Inclusive ethos.
During a career break from education, Dave spent 6 years working on the corporate entertainment circuit throughout the UK and Europe including corporate, live, television and radio appearances.


I currently have a PI 2015 R2 SP1 machine on Windows 2008 R2 SP1.
I need to migrate this PI version to Windows 2016 Core then do an in place upgrade to PI 2017 R2.
Wondering if I *need* to create a new copy of the PI-AF database or can I run the 2 VMs concurrently both pointing to the same PI-AF database until I'm ready to take downtime and move over to the 2016 Core box?
You can use single AF server and proceed with upgrade pointing two instances to single AF server. Would like to know if you are planning to upgrade your AF Server. If yes then would suggest to migrate AF server first then migrate PI server to new host running OS. If you are not planning to migrate your AF server then you can migrate PI server to new OS and do an upgrade to PI Sever 2018. PI Server 2018 support windows server 2016 core.
You can have both AF Servers of the same version pointing to the same PIFD database. But once you upgrade, the schema of the database will change and only the updated AF Server will work with the database.


text:
Jörg Maurer (* 1953 in Garmisch-Partenkirchen) ist ein deutscher Musikkabarettist und Autor.

Werdegang
Nach dem Abitur entschied sich Jörg Maurer für das Studium der Germanistik, Anglistik und Theaterwissenschaften. Seine Magisterarbeit schrieb er über den Schriftsteller Arno Schmidt.

Fünf Jahre arbeitete er als Deutschlehrer an Münchner Gymnasien, verschiedene Tätigkeiten in der Erwachsenenbildung gehörten ebenfalls zu seinem Aufgabenfeld. Zwei Semester war er als Hochschuldozent für Theatergeschichte an der Münchner Universität.

Ab 1980 realisierte er eigene Produktionen an Münchner Kleintheatern, hauptsächlich im "Theater Drehleier", im Münchner Lustspielhaus, im "Fraunhofer Theater" und im "Hinterhoftheater" als Regisseur, Kabarettist und Musiker.

Radio- und Fernsehbeiträge folgten. Durch seine rege Tourneetätigkeit im In- und Ausland entwickelte er in dieser Zeit seine eigene Form des kultursatirischen Musikkabaretts. Insgesamt absolvierte er über 2000 Auftritte im deutschsprachigen Raum.

Ab dem Jahr 1991 moderierte Jörg Maurer einige Hörfunksendungen, unter anderem "Radio Expresso" im Bayerischen Rundfunk. Viele Beiträge für den WDR folgten. 1994 übernahm er das frühere "theater k" in Schwabing und eröffnete es neu unter dem Namen Jörg Maurer's Unterton. Seit 2002 ist er als Autor von Kurzgeschichten und Krimis tätig und hat damit zahlreiche Preise gewonnen. TV-Auftritte folgten, unter anderem in Ottis Schlachthof im BR und bei Christoph Süß' BR-Show "Süßstoff".

Im März 2009 erschien Jörg Maurers erster Kriminalroman Föhnlage mit der Figur des Kommissars Hubertus Jennerwein im Fischer Taschenbuch Verlag. In den Folgejahren erschien jeweils ein weiterer Band dieser Reihe. Im Mai 2009 übergab er die Räume des Jörg Maurer's Unterton an das theater ... und so fort.
Föhnlage wurde 2011 verfilmt; Maurer spielt darin eine Gastrolle.

2013 erhielt Maurer für seine Alpenkrimis den Radio-Bremen-Krimipreis zugesprochen.

2020 wurde er zu den Münchner Turmschreibern berufen.

Werk

Bücher und Hörbücher
 2004: Zimtsternstunden, Edition Kunzelmann, Adliswil
 2016: Bayern für die Hosentasche: Was Reiseführer verschweigen, Fischer TaschenBibliothek, Frankfurt am Main, ISBN 978-3-596-52101-2
 2022: Shorty, Roman, Fischer, Frankfurt am Main, ISBN 978-3-949-46507-9

Jennerwein-Reihe
 2009: Föhnlage, Alpenkrimi, Fischer Taschenbuch Verlag Frankfurt am Main, ISBN 978-3-596-18237-4
 2009: Föhnlage, Hörbuch, Gelesen von Jörg Maurer. Argon Verlag, Berlin, ISBN 978-3-86610-972-8
 2010: Hochsaison, Alpenkrimi, Fischer Taschenbuch Verlag, ISBN 978-3-596-18653-2
 2010: Hochsaison, Hörbuch, Gelesen von Jörg Maurer. Argon Verlag, Berlin, ISBN 978-3-8398-1013-2
 2011: Niedertracht, Alpenkrimi, Fischer Taschenbuch Verlag, ISBN 978-3-596-18894-9
 2011: Niedertracht, Hörbuch, Gelesen von Jörg Maurer, Argon Verlag, Berlin, ISBN 978-3-8398-1072-9
 2012: Oberwasser, Alpenkrimi, Fischer Taschenbuch Verlag, ISBN 978-3 -596-18895-6
 2012: Oberwasser, Hörbuch, gelesen von Jörg Maurer, Argon Verlag, Berlin, ISBN 978-3-8398-1140-5
 2013: Unterholz, Alpenkrimi, Fischer Scherz Taschenbuchverlag Frankfurt am Main, ISBN 978-3-651-00042-1
 2013: Unterholz, Hörbuch, gelesen von Jörg Maurer, Argon Verlag, Berlin, ISBN 3-8398-1220-8
 2014: Felsenfest, Alpenkrimi, Fischer Scherz Frankfurt am Main, ISBN 978-3-651-00063-6
 2014: Felsenfest, Hörbuch, gelesen von Jörg Maurer, Argon Verlag, Berlin, ISBN 978-3-8398-1296-9
 2015: Der Tod greift nicht daneben, Alpenkrimi, Fischer Scherz Frankfurt am Main, ISBN 978-3-651-02234-8
 2016: Der Tod greift nicht daneben, Hörbuch, gelesen von Jörg Maurer, Argon Verlag, Berlin, ISBN 978-3-8398-9290-9
 2016: Schwindelfrei ist nur der Tod, Alpenkrimi, Fischer Scherz Frankfurt am Main, ISBN 978-3-651-02235-5
 2016: Schwindelfrei ist nur der Tod, Hörbuch, gelesen von Jörg Maurer, Argon Verlag, Berlin, ISBN 978-3-8398-1452-9
 2017: Im Grab schaust du nach oben, Fischer Scherz Frankfurt am Main 2017, ISBN 978-3651025189
 2018: Im Grab schaust du nach oben, Hörbuch, gelesen von Jörg Maurer, Argon Verlag, Berlin, ISBN 978-3-8398-9381-4
 2018: Am Abgrund lässt man gern den Vortritt, Alpenkrimi, Fischer Scherz Frankfurt am Main, ISBN 978-3-651-02519-6
 2018: Am Abgrund lässt man gern den Vortritt, Hörbuch, gelesen von Jörg Maurer, Argon Verlag, Berlin, ISBN 978-3-8398-1607-3
 2018: Im Schnee wird nur dem Tod nicht kalt, Fischer Scherz Frankfurt am Main 2018, ISBN  978-3-651-02573-8
 Im Schnee wird nur dem Tod nicht kalt. Sprecher Jörg Maurer, Erscheinungsjahr 2018, Argon Verlag GmbH, S. Fischer Verlag GmbH
 2019: Am Tatort bleibt man ungern liegen, Alpenkrimi, Fischer Scherz Frankfurt am Main, ISBN 978-3-651-02574-5
 2019: Am Tatort bleibt man ungern liegen, Hörbuch, gelesen von Jörg Maurer, Argon Verlag, Berlin, ISBN 978-3-8398-1699-8
 2020: Den letzten Gang serviert der Tod, Alpenkrimi, Fischer Scherz Frankfurt am Main, ISBN 978-3-651-02589-9
 2020: Den letzten Gang serviert der Tod, Hörbuch, gelesen von Jörg Maurer, Argon Verlag, Berlin, ISBN 978-3-8398-1832-9
 2021: Bei Föhn brummt selbst dem Tod der Schädel, Alpenkrimi, Fischer Scherz Frankfurt am Main, ISBN 978-3651025905
 2021: Bei Föhn brummt selbst dem Tod der Schädel, Hörbuch, gelesen von Jörg Maurer, Argon Verlag, Berlin, ISBN 978-3-10-491164-9

Musikkabarettistische Soloprogramme (Auswahl)

Zahlreiche musikkabarettistische Soloprogramme im Zeitraum von 1985 bis zum aktuellen Datum, eine kleine Auswahl:

 "Unterholz" Musikkabarettistische Krimilesung
 "Oberwasser" Musikkabarettistische Krimilesung
 "Niedertracht" Musikkabarettistische Krimilesung
 "Hochsaison" Musikkabarettistische Krimilesung
 "Mörderische Anschläge", Krimikabarett
 "Beethovens kleine Patzer"
 "Der Satz im Silbensee" Literarische Comedy-Show
 "Jörg Maurer trifft Mozart"
 "Rippenklau und Apfelsnack" Das Bibelprogramm
 "Mit 80 Tasten um die Welt" Ein Kabarett rund ums Klavier
 "Zimtsternstunden" Satirisches Weihnachtsprogramm
 2013: Föhnlage, Musikkabarettistische Krimilesung
 2014: Felsenfest, Musikkabarettistische Krimilesung
 2016: Schwindelfrei ist nur der Tod, Kabarettistische Krimilesung

Theaterstücke (Auswahl)
Ab 1986 produzierte und führte Jörg Maurer zahlreiche Theaterstücke auf, unter anderem:
 "Leichenschmaus", ein bayrisches Kriminalstück u. a. mit Andreas Giebel und Gabi Lodermeier
 "Springspiel Erster Klasse", 2009 gespielt von Marianne Rappenglück und Hans Stadlbauer

Hörspiele
Hörspiele und Hörspielmusiken für den Bayerischen Rundfunk, WDR, SWR, Kinderstücke, Kurzgeschichten und Märchenparodien. Rundfunk- und Fernsehsketche. Zeitungsessays.

Tonträger

 Beethovens kleine Patzer
 Jörg Maurer trifft Mozart
 Rosinen – Live-Mitschnitt vom 27. Mai 1995
 Der Satz im Silbensee
 Zimtsternstunden
 Safran & Blutsbrüder
 Minihörspiel Schweiß

Auszeichnungen (Auswahl)
 Radio-Bremen-Krimipreis 2013
 MIMI Krimi-Publikumspreis des Deutschen Buchhandels 2012 und 2013
 Ernst-Hoferichter-Preis 2012
 Agatha-Christie-Krimipreis 2. Platz 2007 für die Kriminalkurzgeschichte Blutsbrüder
 Deutscher Kurzkrimi-Preis 3. Platz 2007
 Agatha-Christie-Krimipreis (Sonderpreis der Zeitschrift Freundin) 2006 für die Kriminalkurzgeschichte Stalking
 Kabarettpreis der Landeshauptstadt München 2005
 Hamburger Comedy Pokal 3. Platz 2004
 Schwabinger Kunstpreis 1994
 Dillinger Literaturpreis
 Villacher Literaturpreis

Weblinks

 Jörg Maurers Homepage
 Literatur-Café
 Hausbesuch bei Jörg Maurer – Reportage
 Jörg Maurer Spezial auf buchszene.de

Einzelnachweise

Kabarettist (Deutschland)
Autor
Träger des Ernst-Hoferichter-Preises
Deutscher
Geboren 1953
Mann
Literatur (Deutsch)

redpajama_set_name: RedPajamaWikipedia


Mothers' Union's aim is to be transformational.
Our worldwide fellowship of over four million members brings Christian care to families of all kinds. The grassroots nature of our locally-based membership means that the focus of Mothers' Union is on promoting marriage and building stable family life within local communities.
In Winchester our locally- based membership is focused on just three words; Faith, Fellowship, Families each of which has it's own theme.
You can discover more on these subjects throughout this website, whilst fuller details of our Vision, Aim, Mission, Values and Beliefs are shown below.


Ninth in the Agatha Award-winning series that's been hailed as "engrossing" (Publishers Weekly), Steps to the Altar finds folk art expert Benni Harper digging up clues to an unsolved murder -- and struggling with a very personal crisis of the heart.
But when a friend from the local historical society asks her to catalog the contents of some old trunks, she agrees -- only to discover that they may hold clues to a crime that's remained unsolved for nearly half a century. The trunks belonged to young Maple Bennett Sullivan, who married a local rancher in the 1940's -- and allegedly murdered him just a few short years later. Rumor has it she ran off with her lover, her husband's best friend, and was never heard from again.
Benni is all too aware of how difficult marriage can be, especially now that her husband's blonde, gorgeous ex-girlfriend is back in the picture. A disturbing reminder of his shadowy past, she poses a real threat to his future with Benni. Suddenly, Benni finds herself empathizing with Maple Sullivan's plight -- and vows to prove Maple's innocence...or guilt. But there's more to this cold case than meets the eye -- and more than a few people who would rather let sleeping dogs lie.
This is the Catholic cemetery in San Luis Obispo. Like the San Celina Catholic cemetery where Benni searches for Garvey Sullivan's grave, it was moved from its original spot next to the mission a long time ago.
There actually is an octagonal barn being restored in San Luis Obispo like the one Hud was working on. Here's a picture of how it looked in April 2000.


text:
help: {
	data: function() {
        return {
            isActive: false
        }
    },
	props: ["text"],
	template: `

					<button class="delete" @click="isActive=false"></button>
					{% verbatim %}{{ text }}{% endverbatim %}

				`,
},

redpajama_set_name: RedPajamaGithub


Raspberry ketone is the organic phenolic compound found in red raspberries (Rubus idaeus). In simple terms, this chemical material provides berries their signature aroma. Up until lately, raspberry ketones were made use of primarily by the perfume and also manufactured food industries, today the substance is being sold in supplement form.
If you're currently fully intent on buying Raspberry Ketone Pure supplements, the next point you should probably take into consideration is where and how to buy it. Should you smooth via regional health stores or go to your favored mall? Or, should you hunt for individual sellers throughout your town?
The response is no. There is no need to go through all that difficulty. Buying Raspberry Ketones can, actually, be ideal done at the convenience of your own residence-online. Raspberry Ketone Pure not sold in any type of regional chemist or shops. Our important customers from all over the world including Kyrgyzstan could buy Raspberry Ketones 1000 mg from Evolution-Slimming official website.
Raspberry Ketone Plus from Evolution-Slimming will ship worldwide, according the the Evolution-Slimming official website, so it can be purchased from the Evolution-Slimming main website to deliver to Kyrgyzstan. There is an additional address offered likewise on the Evolution-Slimming official website for returns from worldwide buyers, and specifically discusses Evolution-Slimming suggesting it ships there on a regular basis.
Where Can You Purchase Raspberry Ketone Pills in Kyrgyzstan?
Many look for a committed area to Purchase Raspberry Ketones in Kyrgyzstan link to different site sale of a Raspberry Ketones products. There does not seem to be a certain website where Raspberry Ketones offers to Kyrgyzstan, and all searches go back to the normal web site or to different other products. Raspberry Ketones can be purchased from the Evolution-Slimming official internet site from Kyrgyzstan and this feels like the only method to get it. As with any type of product, it may sometimes show up on ebay.com or Amazon.com, nevertheless this is not likely to be as trusted as from the Evolution-Slimming official internet site as well as it is typically recommended not to purchase from ebay.com or Amazon as the quality or refunds could not be guaranteed.
Is There A Website That Provide Raspberry Ketone Pills To Kyrgyzstan?
Evolution-Slimming will ship their item worldwide, consisting of to Kyrgyzstan. Customers merely have to choose their country of home when completing their specifics on the order form. They likewise show a returns address for worldwide customers and those from Kyrgyzstan on their returns web page, suggesting they need to deliver to Kyrgyzstan on a regular basis if they really feel the need to show a different address for Kyrgyzstan. They provide an explanation of just how much delivery costs related to abroad shipping, so individuals ought to not be concern of any added concealed costs. Raspberry Ketone Plus is just available online from the Evolution-Slimming official internet site as well as ships worldwide, with a 30-day money-back assurance.
Are There Any Raspberry Ketones Distributors In Kyrgyzstan?
Raspberry Ketone Plus from Evolution-Slimming has actually been a big success globally as well as appears to be popular in Kyrgyzstan especially. However on the internet searches do not bring up any sort of results regarding suppliers based in Kyrgyzstan or specialized company offered for this supply. Definitely, any kind of search results page that do show up are typically dead web links or hyperlink back to the very same page under different names.
As a result of every one of this, the researchers wrapped up that Raspberry Ketone holds terrific assurance as a fat-burning, health-improving organic supplement.
Raspberry Ketone Plus is an extraordinary, exciting brand-new fat-burning formula including not just Raspberry Ketones as the main ingredient, yet likewise a highly effective blend of superfruits and anti-oxidants to assist improve outcomes. Consuming 200mg Formula Dose/Day. Merely the durability you need to see outcomes!
When you get Raspberry Ketone Plus you could rest assured that you are buying the best item considering that:.200mg advised day-to-day dosage.Made from the highest quality substances.The brand name formally included on FOX News.Certification of evaluation (COA) readily available upon request.Non-propietary formula with plainly labeled quantities.
Raspberry Ketones seems to be preferred in Kyrgyzstan, nonetheless there does not seem to be a set website or web page available for Kyrgyzstan especially. One more item which seems properly the same item, although this is unconfirmed. The Raspberry Ketone Plus from Evolution-Slimming appears to be the most effective means to Buy this item in Kyrgyzstan as they ship worldwide, and allows a far better possibility of customer service than if purchased from a 3rd party seller.
Can I Buy Raspberry Ketones in Kyrgyzstan?