widespread cloud computing platforms include
Microsoft Windows Azure (Microsoft, 2012),
Amazon AWS (Amazon, 2012) and Google App
Engine (Google, 2012). Although the cloud
computing architecture is a great aid in realizing our
vision on partitioned modeling environment, it does
not solve all the difficulties at once: The efficiency
of using partitioned models is heavily affected by
the communication overhead between the computers
storing the partitions. Therefore, our goal is to
minimize the communication between the computers.
In our approach, models are represented by
graphs. Partitioning the model means partitioning
this graph. We would like to search and transform
the models, thus we need to find graph patterns and
replace them. In order to minimize communication
between computer instances, we have to minimize
the number of navigation steps between the
partitions. Therefore, we need to minimize the
weight of edges that connect nodes in different
partitions. More precisely, we have a mid-term and a
short-term goal. The mid-term goal is to support
minimize inter-partition edges (their weight) for all
kinds of models, while the short-term goal is to be
optimal in case of social network models. First we
have created a general algorithm and then started to
optimize it to social networks. This paper presents
both the original algorithm and its optimization. The
algorithm does not depend on a concrete cloud
computing environment; it can fit each of them.
Note that although the motivation behind the
enhancements is based on the field of social
networks, they improve efficiency in general as well.
The rest of the paper is organized as follows: in
Section 2 the background work is introduced. In
Section 3 the algorithm is presented in detail.
Section 4 evaluates the results of the algorithm and
reveals the advantages of the improved algorithm.
Finally, some conclusions are drawn together with a
brief account of the future directions in Section 5.
2 BACKGROUND
The problem of graph partitioning has been present
for over 40 year. Although the problem is NP-
complete, several fast and heuristic algorithms exist.
B.W. Kernighan and S.Lin have worked out an
efficient heuristic procedure (the KL algorithm) for
partitioning graphs. In their paper (Kernighan and
Lin, 1970) the KL algorithm is discussed in detail.
The basic idea of the work is to count the difference
between the external and internal sum of edge
weight for each ∈ nodes, where is a subset of
nodes. Their work grounds the base for many graph
partitioning algorithms from the automotive industry
to medicine.
To improve the efficiency of the KL algorithm
C.M. Fidducia and R.M. Mattheyses introduce a new
data structure in (Fiduccia, 1982). They used the KL
algorithm to improve Computer Network Partitions.
Bucket list structure has been used to store and
maintain the gain
for each node.
These algorithms are not applicable directly in
our scenario, since the number of partitions is
predefined, and do not map on streaming input
model.
Konrad Voigt has provided a brief conclusion for
each available algorithm for a really similar problem
to the one introduced in this paper. His dissertation
(Voigt, 2011) provides an algorithm for partitioning
planar graphs. In his work, he states that he could
not use the spectral bisection because it does not
support explicitly the variable number of clusters.
George Karypis and Vipin Kumar introduced the
Metis framework (Karypis, 1998). Their paper
divides graph partitioning into three phases:
coarsening, partitioning and uncoarsening. The
phases are explained later in this paper as well. For
each phase, they describe different type of
algorithms that can be used. The Random, HEM,
LEM and HCM algorithms for coarsening; bisection,
KL, GGP, GGGP for partitioning; and KL
refinement, Boundary KL refinement for
uncoarsening. Their work also concludes the
efficiency of these methods.
Burkhard Monien (Monien, 1999) and his team
elaborate the latest type of coarsening algorithms
and their efficiency on different kind of sample
graphs.
Finally, in 2011 Xin Sui, Donald Nguyen, Martin
Burtscher, and Keshav Pingali presented parallel
graph partitioning methods for shared memory –
multicore systems (Sui et al., 2011).
To run model transformation on the model of
social networks we have done basic research in
Social Network Sites (SNS). Several papers
conclude different aspects of Social Networks, from
the definition to methods and applications. The
paper (Boyd, 2006) of Danah M. Boyd and Nicole B.
Ellison conducted a short history, features and future
of social networks. The work of Nathan Eagle, Alex
Pentland and David Lazer (Nathan Eagle, 2009)
introduces the different ways to collect data for
social networks. They use the traditional,
predominant self-reporting and new automatized
mobile phone based data collection. Their article
compares the results and does initial steps to merge
GraphPartitioningAlgorithmforSocialNetworkModelTransformationFrameworks
481