• No results found

As stated in Chapter 1, distributed systems are travelled by several flows during their operation. When these flows are linked together, the disturbance of a flow induces the disturbance of other streams, which in turn, has other impacts on the system. Eventually, stream fluctuations may increase or decrease with time because of numerous factors that are more or less easy to understand. In general, such stream fluctuations decrease the efficiency of the distributed system, when it achieves the task for which

Distributed system Stream Nodes Instability 1. Supply chain Orders and

products

Companies and

end-customers Bullwhip effect

2. Computer network Information Computers Congestion

3. Road network Vehicles on roads Cities Traffic jam

4. Electronic circuit Intensity Electronic

components Roasting

5. Human organiz- ations and multi-

agent systems

Tasks Human, physical

and agent resources

Resource bottleneck. . . 6. Economic system Money, tasks

and information

People, companies, states. . .

Crises, inflation. . . Table 3.1: Distributed systems affected by stream fluctuations.

it was designed. This shows that dynamics in distributed systems are, in general, very complex. In this section, we illustrate the problem of stream fluctuations in distributed systems by giving some examples drawn from very different fields. These examples are summarized in Table 3.1, and described below:

1. The bullwhip effect, which is studied in this dissertation and described in Sec-

tion 3.2, is an instance of stream fluctuations, when the considered distributed

system is a supply chain. Indeed, what we call a supply chain is almost always a network of companies, that is, there may be cycles in its structure, but most sup- ply chains in the literature have none, like in Figure2.1. Therefore, such “supply network” may be affected by fluctuations on its ordering and product stream, i.e., by the bullwhip effect, as presented in this chapter. As was previously pointed out, streams in a distributed system may be linked together. In the case of supply chains, this link works as follows: the product stream is pulled by the ordering stream, and conversely, disturbances on product stream, e.g., delays, also impact on the ordering stream.

Besides supply networks, graphs (i.e., the generalization of networks, because networks are particular graphs having a cycle) also provide other examples of distributed systems, in which stream fluctuations may appear, e.g., computer and road networks:

2. Nodes in computer networks, such as the Internet, are computers, and streams are information travelling between these computers. Here, fluctuations of information

stream may generate congestions, because such fluctuations may saturate some computers in the network, in which case no information can transit by these computers.

3. Cities are nodes in highway networks, or buildings in street networks, and edges represent roads. In this context, congestions may appear due to the high density of vehicles. Such fluctuations alternate between full and empty roads, instead of constantly maintaining an average traffic density. Empty roads are not a problem, but full roads result in traffic jams.

4. Electronic circuits are another type of network, where electricity circulates through electronic components. In this case, electricity fluctuations alternate between low and high intensity in the circuit. The problem occurs when the intensity becomes too great, creating roasting.

From a more general point of view, electronic circuits are also related to grids. The term grid is also used in other fields, such as electricity transportation (power grid) or distributed computing. In computer science, grids refer to information grids that allow sharing computing power. More precisely, when a machine does not use its whole available computing power, this machine could compute something for another user. For example, some projects, such asUnited Devices Grid[2004] or Seti@Home [Search for Extra-Terrestrial Intelligence,2004], propose short pro- grams downloading data from a central server on your computer. This data is used by this short program to compute a piece of a much larger calculation. The idea is to build a virtual supercomputer with the aggregation of many computers using this short program. But information grids are not distributed systems for the moment, because the server providing information acts as a center in this sys- tem. Nevertheless, they could become so in the future, when every computer will delegate some of its tasks to underloaded computers, which will make the center disappear. In this case, stream fluctuations may also appear in such decentralized computation grids.

The two last examples in Table3.1, human organizations and economic systems, are not always seen as graphs or networks. In fact, interactions between the nodes in these two types of distributed systems are often ill-structured, and thus, cannot be represented by a graph.

5. Human organizations, such as companies, and multi-agent systems may be orga- nized as a hierarchy, i.e., as a particular type of graph called a tree, in which, nodes are resources (people, machines. . .), and edges are streams of tasks. In fact, streams of tasks appear between nodes, e.g., Alice asks Bob to program an

agent on the Computer to do a sequence of actions, and this agent asks Alice to do another action as a consequence of this sequence of actions. If fluctuations appear on such task streams, a person may be overloaded, while another person has no task to accomplish.

When there are a few nodes, graphs can be used to model this organization, in order to study such stream fluctuations. On the contrary, it is much harder to use graphs when there are a huge number of nodes.

6. Economic systems may also be represented by a graph in which nodes are peo- ple, companies, banks, manufacturers, states. . ., and edges are streams of money, tasks, information. . . But in general, because of the complexity of this system, such regularity cannot be easily modelled as a graph in economic systems. Such systems are distributed however, because their global behaviour is the consequence of the individual behaviour of their nodes.

Evidently, such systems may also suffer from stream fluctuations. For example, the world economy was known to work with 25 year growths, followed by 25 year crisis. Here, economic growth is an acceleration of (money, products, tasks. . .) streams in the system, and crisis a deceleration. Therefore, there are stream fluctuations, that are roughly cyclic with a period of 50 years. Nowadays, we can note that such cycles are shorter and shorter, and crisis are less and less important. This shows that some nodes in this system have learnt how to act on (a part of) the rest of the system. For example, states can change taxes, grants and interest rates, and launch major projects to stop a crisis. This shows that stream fluctuations can be controlled even in very complex systems.

As we can see, these examples are drawn from very different fields. Although, all of them can be modelled as distributed systems travelled by streams that may fluctuate. In every example, such stream fluctuations reduce the efficiency of the considered system.