
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