308
A. S. Semenov
network, have local memory, and communicate by passing messages [3, 4]. The basic
models of a distributed system are the message passing and shared memory models
[5, 6]. The message is the unit of communication of a distributed system. Distributed
algorithms are designed to run on different computers of the network. Parts of an algorithm run concurrently and independently, each with a limited amount of information
[7]. There are two problems: how to describe adequately a distributed algorithm and
how to prove its properties. Designing the appropriate distribution [8] and formation
control [9] is a general problem, especially for multi-agent systems with complex
dynamics. A distributed algorithm is adequately described if it takes into account
property of the computing environment. Graphs [10] and adjusted version of Petri
nets [11, 12] are used to model the distributed system and distributed algorithms.
The design of efficient distributed algorithms is very important for analyzing
big data. Three properties of big data such as velocity, volume, and variety must
be considered. Technically, distributed algorithms to process big data are designed
for a specific application and mainly based on the MapReduce framework [13].
The framework implements two functions Map and Reduce. Map function divides
the input data into data partitions that constitute key-value pairs. Each partition is
assigned to a unique compute node. Nodes outputs are one or more intermediate
key-value pairs. The framework collects all the intermediate key-value pairs, sorts,
and groups them by key. The Reduce function aggregates the values associated with
the key according to a predefined program and stores all the output key-value pairs in
a file. Hadoop is an open-source project written in Java that implements MapReduce
framework [14]. It is possible to write some MapReduce jobs in Python and then
run them in Hadoop Streaming that operates like the pipes in Linux. Hadoop jobs
are running on Amazon Web Services that provides on-demand cloud computing
platforms. This is fundamental support to big data [15] that are unprecedented content
for Digital Earth [16].
In cloud computing systems, an on-demand network model is used to provide
access to shared pool of configurable IT resources. One of the biggest features of
cloud computing is their scalability and elasticity [17]. The elasticity of an application
is a measure of its transformation that depends on fluctuating demands [18]. The
approach presented in the article is an integral part of the analysis, design, and
fractal programming of elastic systems.
One way to characterize the elastic object is to compute the fractal dimension. In
the chapter, fractal analysis of the elastic objects based on the box-counting fractal
dimension is introduced. CCM is integrated with the box-counting fractal analysis
method. The model has a high level of abstraction, operates with container objects,
simulates different levels of the control granularity, and makes predictions about
behavior of transformation. The integration of the model makes possible to introduce
a fractal control based on a dynamic sampling of the workload. The fractal analysis
and programming aim to optimize suitable workflow structure of the elastic object
at runtime and its ability to runtime elasticity, which must be modeled and be built
into the system at design time. The example of the fractal analysis and programming
of the distributed gradient ascent algorithm using integrated CCM is considered.
Précédent

- 306/374

Suivant