10 Software Networks
More generally, we carry out what is known as urbanization: we
migrate the virtual machines to different physical machines until we
obtain optimal performance. Urbanization is greatly used for
optimization in terms of energy consumption or workload distribution,
but also to optimize the cost of the software networks or to make the
network highly reliable or resilient. For example, in order to optimize
energy consumption, we need to bring together the virtual machines
on shared nodes and switch off all the nodes which are no longer
active. In actual fact, these machines would not be shut down but
rather placed on standby, which does still consume a small amount of
energy, but only a very small amount. The major difficulty with
urbanization arises when it is necessary to optimize all operational
criteria, because they are often incompatible – e.g. optimizing
consumption and performance at the same time.
A very important characteristic is isolation: the software networks
must be isolated from one another, so that an attack on one network
does not affect the other networks. Isolation is complex, because
simultaneously, we need to share the common resources and be sure
that, at all times, each network has access to its own resources,
negotiated at the time of establishment of the software network. In
general, a token-based algorithm is used. Every virtual device on
every software network receives tokens according to the resources
attributed to it. For example, for a physical node, ten tokens might be
distributed to network 1, five tokens to network 2 and one token to
network 3. The networks spend their tokens on the basis of certain
tasks performed, such as the transmission of n bytes. At all times, each
device can have its own tokens and thus have a minimum data rate,
determined when the resources were allocated. However, a problem
arises if a network does not have packets to send, because then it does
not spend its tokens. A network may have all of its tokens when the
other networks have already spent all of theirs. In this case, so as not
to immobilize the system, we allocate negative tokens to the other two
networks, which can then surpass the usage rate defined when their
resources were allocated. When the sum of the remaining tokens less
the negative tokens is equal to zero, then the machine’s basic tokens
are redistributed. This enables us to maintain isolation whilst still
sharing the hardware resources. In addition, we can attach a certain
www.it-ebooks.info
More generally, we carry out what is known as urbanization: we
migrate the virtual machines to different physical machines until we
obtain optimal performance. Urbanization is greatly used for
optimization in terms of energy consumption or workload distribution,
but also to optimize the cost of the software networks or to make the
network highly reliable or resilient. For example, in order to optimize
energy consumption, we need to bring together the virtual machines
on shared nodes and switch off all the nodes which are no longer
active. In actual fact, these machines would not be shut down but
rather placed on standby, which does still consume a small amount of
energy, but only a very small amount. The major difficulty with
urbanization arises when it is necessary to optimize all operational
criteria, because they are often incompatible – e.g. optimizing
consumption and performance at the same time.
A very important characteristic is isolation: the software networks
must be isolated from one another, so that an attack on one network
does not affect the other networks. Isolation is complex, because
simultaneously, we need to share the common resources and be sure
that, at all times, each network has access to its own resources,
negotiated at the time of establishment of the software network. In
general, a token-based algorithm is used. Every virtual device on
every software network receives tokens according to the resources
attributed to it. For example, for a physical node, ten tokens might be
distributed to network 1, five tokens to network 2 and one token to
network 3. The networks spend their tokens on the basis of certain
tasks performed, such as the transmission of n bytes. At all times, each
device can have its own tokens and thus have a minimum data rate,
determined when the resources were allocated. However, a problem
arises if a network does not have packets to send, because then it does
not spend its tokens. A network may have all of its tokens when the
other networks have already spent all of theirs. In this case, so as not
to immobilize the system, we allocate negative tokens to the other two
networks, which can then surpass the usage rate defined when their
resources were allocated. When the sum of the remaining tokens less
the negative tokens is equal to zero, then the machine’s basic tokens
are redistributed. This enables us to maintain isolation whilst still
sharing the hardware resources. In addition, we can attach a certain
www.it-ebooks.info
