Emergent algorithms for replica location and selection in data grid

Emergent algorithms for replica location and selection in data grid

Future Generation Computer Systems 26 (2010) 934–946 Contents lists available at ScienceDirect Future Generation Computer Systems journal homepage: ...

1MB Sizes 1 Downloads 78 Views

Future Generation Computer Systems 26 (2010) 934–946

Contents lists available at ScienceDirect

Future Generation Computer Systems journal homepage: www.elsevier.com/locate/fgcs

Emergent algorithms for replica location and selection in data grid Víctor Méndez Muñoz a,∗ , Gabriel Amorós Vicente a , Félix García Carballeira b , José Salt Cairols a a

Grid and e-Science Group. Instituto de Física Corpuscular (IFIC) - mixed institute of Consejo Superior de Investigaciones Científicas (CSIC) and Universitat de València (UV) - Apt. Correus 22085, E-46071, València, Spain b

Computer Science Department. ARCOS Group. Escuela Politécnica Superior. Universidad Carlos III de Madrid. Av. Universidad 30 - 28911 Leganes, Spain

article

info

Article history: Received 23 November 2009 Received in revised form 10 March 2010 Accepted 27 March 2010 Available online 8 April 2010 Keywords: Grid computing Algorithms Optimization methods Artificial intelligence

abstract Grid infrastructures for e-Science projects are growing in magnitude terms. Improvements in data Grid replication algorithms may be critical in many of these infrastructures. This paper shows a decentralized replica optimization service, providing a general Emergent Artificial Intelligence (EAI) algorithm for the problem definition. Our aim is to set up a theoretical framework for emergent heuristics in Grid environments. Further, we describe two EAI approaches, the Particle Swarm Optimization PSO-Grid Multiswarm Federation and the Ant Colony Optimization ACO-Grid Asynchronous Colonies Optimization replica optimization algorithms, with some examples. We also present extended results with best performance and scalability features for PSO-Grid Multiswarm Federation. © 2010 Elsevier B.V. All rights reserved.

1. Introduction Grid computing is a high performance computing (HPC) branch, where traditional supercomputing centers, clusters and other heterogeneous and distributed resources are integrated in a hardware and software infrastructure. Grid architectures are middleware services for different purposes: resource allocation management, job scheduling, security and authorization, data management or others. The Replica Optimization Service (ROS) is part of data management, and is not included in Open Grid Services Architecture (OGSA) standard / GlobusToolkit 4 middleware [1]. The ROS and other data services should be supplied by the middleware or the specific application level. For example, the Enabling Grid for E-sciencE project (EGEE) [2] uses middleware that extends the de facto standard Grid architecture (OGSA), with additional services in order to provide replica management. Such middleware may be referred as EDG/LCG/gLite stack. The software packages from European DataGrid (EDG), through LHC Computing Grid (LCG), to the present gLite middleware, evolved including new e-science paradigms with a high reengineering of components and services. Nowadays, the gLite 3 on EGEE has a semi-decentralized catalog service, the LHC File Catalog (LFC), that is used in conjunction with the Berkeley DB Information Index (BDII) to provide replica location. The matchmaker of the Workload Management Systems (WMS) requires a uniform



Corresponding author. E-mail address: [email protected] (V. Méndez Muñoz).

0167-739X/$ – see front matter © 2010 Elsevier B.V. All rights reserved. doi:10.1016/j.future.2010.03.007

query interface to locate replicas, such an interface is implemented in the Data Location Interface (DLI). Instead of LFC, gLite may use the FiReMan catalogue, with similar functionality to LFC, FiReMan is implemented as a stateless web-service which clients contact using the SOAP protocol [3]. Past efforts in replica allocation were implemented following the Giggle standard [4]. Thus, the previous gLite 2 had the Replica Location Service (RLS), a hierarchical replica indexation, as the base for determining where replicas are located. Studies have shown that the RLS do not scale well for the EGEE data management requirements [5]. In previous work [6] we proposed a simplified Giggle framework for replica location service, based on decentralized Local Catalogs (LC). This flat Giggle, needs a location schema with an heuristic able to deal only with LCs, without a global catalog. In this paper we argue that EAI, used in conjunction with flat Giggle, are fully consistent and scalable architectures for optimized replica location and selection. Another data management framework is found in [7], that describes a decentralized model. Further to the replica catalog, this paper is focused in replica optimization. The replica optimization philosophy has evolved with the Grid infrastructures requirements, in terms of scalability and web services features. Before the EGEE, on the European Data Grid, the LCG had the ROS, economy-based model that will be explained in the related work section. Since in LCG-2 the ROS was no longer used [8], the replica selection is done by user demand. At that moment, gLite was assumed as the EGEE middleware. The EGEE middleware has the top-level service Data Scheduler (DS) [2], that changes the ROS philosophy. DS keeps track of

V. Méndez Muñoz et al. / Future Generation Computer Systems 26 (2010) 934–946

the data movement request of the users from User Interfaces (UI) or explicit user data request embedded in the WMS request. Therefore, the user has the responsibility for specific replica selection. The DS optimizer is done in the data task queue of each Virtual Organization (VO), and after on the global policies for all VOs. No individual replica selection optimization is done in DS, while this selection is user given. The gLite also allows datasets and sub-datasets support, that may improve performance taking advantage of the replica’s affinities of a dataset to predict future replies. Anyway, the user must indicate the dataset site source. Apart from datasets, an automated selection based on performance optimization requires contributions. In this paper we propose a replica optimization service, based on EAI, to avoid the end user needing to specify the replica site source, requiring only the Logical File Name (LFN). The procedure for the replica optimization has to be adapted to several features of the Grid domain: the heterogeneous Grid topology; the large scale system, with increasing workloads and storage requirements; the dynamic solution space, where the replica locations change; and the multi-objective problem, where a replica request has a set of candidate solutions. The replica optimization depends primarily on the replica selection algorithm, and secondarily on the replica deletion algorithm used for replica victim selection, where free disk space is required. The deletion algorithm problem is not the goal of this paper, we are interested in algorithms for optimized replica selection. The most extended deletion algorithm is Least Recent Used (LRU), which selects for deletion the file replica with the older time stamp. This is the deletion method we use for comparison of the proposed optimization algorithms with the state of the art and with the canonical or reference algorithms. The rest of the paper is organized as follow. Section 2 introduces related work on replica optimization state of the art algorithms, and considers emergent heuristics for replica optimization. Section 3 details the EAI replica optimization general replica heuristic or meta-heuristic, and the two proposed specific emergent algorithms. Section 4 contains the experimental results, and Section 5 concludes this paper. 2. Related work Many Grid replica optimization approaches are economy-based paradigms. Such techniques are based on the Grid modelling as a market. For example, replicas are goods purchased by Computing Elements (CE) for jobs processing and by Storage Elements (SE) in order to make investments that will improve revenue. The replicas are sold by SE to provide them to CE and to other SE. CE try to minimize the replica purchase cost, and SE have the goal of maximizing profits. The specific economy-based approaches uses different evaluations of the purchase cost, usually associated with network distance from possible replica sources, and disk throughput. The CE select the replica with less cost. The SE get the replicas for CE processing and also try to keep a replicas set that may be more required in the future. The evaluation of possible future revenues is based on replica requests prediction, originally formulated in [9] defining E (f , n, r ), which returns the predicted number of times a file f will be request in the next n, based on the past r request history. This function is used for the primary deletion decision, the replica with the least value is erased. In the case of same values, the secondary deletion decision is the LRU. For evaluation comparison of our approaches, we use an implementation of a specific economy-based algorithm, proposed by OptorSim group [10], and we also use a canonical reference algorithm that always gets the replica from the producer. The emergent algorithms are the usual approaches in similar problem domains to Grid location and selection. Nowadays, biological inspired algorithms are common optimization methods

935

in complex software systems [11]. In particular, emergent techniques are used for Grid job scheduling [12,13]. The possible use of emergent heuristics for replica location and selection is due to two reasons. First, they fit with the proposed flat Giggle architecture [6], which enhances the theoretical framework for algorithms without explicit knowledge of the replica name space. The emergent heuristics may provide an algorithmical implicit name space. This is common on the state of the art replica location research lines, attempting to simplify the use of Giggle, for more efficient replica management systems. Second, emergent techniques have been proved as well-known approaches in similar problems to the Grid replica optimization, as we show in the following. The Original Particle Swarm Optimization (PSO) algorithm was enunciated by Eberhart and Kennedy [14] as a general optimization method with a solution in a real space, of continuous and static problem domains. Maurice Clerc included some modifications for the travelling salesman problem (TSP) [15], adapting the original PSO for the discrete domain with a possible solution in a set of states. The TSP is very similar to the Grid replication problem. Both are graph path search optimization with some differences. TSP has a global solution path and Grid has one solution for each replication request, so Grid is a multi-objective domain. Different specific PSO flavors for multiple objectives have been proved competitive [16]. We have to consider another difference: TSP is an static problem where the search space is not modified, while Grid has a dynamic solution space, hence the possible paths for replicas are changing along the time. Some research groups have proved the efficiency of PSO in many dynamic environments [17,18]. Blackwall and Branke [19] identify the specific features faced by PSO when adapted to the dynamic domain. The first is outdated memory: when the problem changes the information stored in memory may no longer be true and misguide the search. The second specific feature is diversity loss and linear collapse. If the optimum solution shift is significantly far from the swarm, the low velocities of the particles (diversity loss) will inhibit tracking, and the swarm can even oscillate about a false attractor and along a line perpendicular to the true optimum (linear collapse). The authors propose a multiswarm PSO algorithm to avoid both cases. Finally, our PSO-Grid Multiswarm Federation includes cross features of these PSO approaches, for success in adapting to the problem domain, as we show in next section. Ant Colonies Optimization (ACO) is based on the stigmetry communication theory [20]. Dorigo et al. [21] proposed systems based on ant social behaviours. This approach has been successfully applied in many optimization discrete problems such as vehicle routing or graphic coloring. Dorigo presents ant systems for general optimization problems in two papers illustrated with the TSP, the first [22] for the Ant Systems (AS) paradigm and a second paper [23] defining the ACO theoretical framework. Later, he enunciated that the heuristic may be used both in static problems (TSP) and dynamic problems [24]. The other specific Grid replica feature is the multi-objective; the issue has also been faced by ACO system, for example for the routing problem in the AntNet system [25]. The ACO flavor in Grid is a possible technique for replica optimization, attempting to combine the different features of the problem definition and previous applications of ACO. 3. EAI replica optimization EAI are approaches inspired by nature, where an individual’s simple behaviour within its community produces emergent intelligence from highly structured information and decision systems. For computational optimization purposes, regardless of specific techniques such as particles (birds flock, bees swarm), ants or others, the natural being concept is expressed as a software agent, with assigned attributes covering functionalities inspired on the natural individual behaviour. The software agent cluster

936

V. Méndez Muñoz et al. / Future Generation Computer Systems 26 (2010) 934–946

(swarm, ant colony) provides EAI that may be use for replica optimization, as we define in this section.

may cover the following conditions:

• Some initial restrictions to avoid infinite search cycles, deter-

3.1. Replica optimization problem definition Let G(VG , EG ) be the Grid topology graph. VG is the set of vertices (Grid sites) with |VG | = N and the associated replica set Fi for each i ∈ VG , where Fi ⊆ C with C as the hold Grid files catalog. EG is the set of weighted edges (remote network connections), defined by the triplet (i, j, ci,j ), where each edge connects the Grid sites i and j, with i ∈ [1, N ], j ∈ [1, N ], i 6= j, with an associated transfer cost ci,j ∈ R. For a given objective (r , f ) where r is a site requiring the file replica f 6∈ Fr , the set of possible solutions S are sequences of connected sites or vertices s = (v1 , v2 , . . . , vk ), where v1 = r, vk = s, f ∈ Fs and f is not in the rest of the sites of the sequence. The solution sequence has |s| = k with k ≤ N. The problem is NP-Complete.

• • • •

• • •

3.2. EAI-Grid meta-heuristic

• A basic emergent parameter for replica optimization is the estimated replica transfer cost. Hence, the EAI-Grid meta-heuristic is also an economy-based model. The EAI-Grid uses the transfer cost covered in a natural being organization. The Grid transfer cost between two sites is a function of disk and/or network consumption. Anyway, this cost is an estimation, so the optimum replica selection is not ensured with the best total transfer cost path. Other features of the specific heuristic will also help for a good balance and workload distribution, for the multi-objective replica request interaction, and global results. The relevant variables of a Grid transfer between two sites are network latency, network bandwidth and disk throughput. Moreover, it may be possible to consider the file size, but it is not necessary for our same size replica evaluations. The latency between two sites could be considered a constant, but it does not mean neutral on transfers [26]. The bandwidth is dynamically assigned to each segment of the transfer connection. It is a function of the available bandwidth in the specific network segment and moment, that secondarily depends on the total network bandwidth and the occupation ratio. For replica evaluation purposes the bandwidth between two sites is a constant, assigned to the minimal theoretical bandwidth of the networks involved in the transfer. The two specific replica approaches proposed below, the PSO-Grid Multiswarm Federation and the ACO-Grid Asynchronous Colonies Optimization, use a common emergent parameter (1). - Replica transfer evaluation cost: C(r ,s) = c1 ∗

k−1 X i=1

 lti,i+1 + c2 ∗

k−1

MAXBW − min bwi,i+1 i=1



.

(1)

Each evaluated replica request (r , f ) has a set of possible solutions S, that are sequences of connected vertices (s = (v1 , v2 , . . . , vk )), with |s| = k sequenced elements. Here, v1 = r and vk = s. The network latency and bandwidth nomenclature is (lt ) and (bw). Disk throughput is not included, because we assume disk performances have the same magnitude, neutral for comparison. In (1), c1 and c2 are coefficients that balance the relative balance between latency and bandwidth. They also should be suitable with the bandwidth and latency values of the specific Grid infrastructure, and also fit with their measure relationship (ms. and Mb/s). MAXBW is the highest bandwidth within the Grid infrastructure. Attempting the problem definition, and also supported by the flat Giggle framework, an emergent algorithm for replica selection

minded by the visited site path, execution time or other constrictions. A finite site set VG = (v1 , v2 , . . . , vN ). A finite replica set associated with each vertex, ∃Fi ⊆ C . The problem states are defined in terms of site sequences x = (vi , vj , . . . vh , . . .). The set of possible states is designated by X . For any replica request (r , f ) there is a set of building states b = (r = nur , nuj , . . . , nuh , . . .) and for all vi ∈ b f is not in Fi . The building states may also verify the initial restrictions. The set of possible building states is designated with B, B ⊆ X . For any replica request (r , f ) there is a set of candidate solutions S ⊆ X , and S ⊃ B with additional state s to the sequence where f ∈ Fs . ∃ a non void set of optimum solutions S ∗ , with S ∗ ⊆ S. An evaluation function associated with each candidate solution, Er ,s = f (C(r ,s) , Hs ), where C(r ,s) was defined before in (1), and Hs are other emergent heuristic parameters associated with the candidate site s. ∃ an heuristic processing for false positives.

At the beginning of this section we presented the software agent as the computational conceptualization of the natural being. For algorithmical purposes, an EAI software agent is a replica request of file f from the source site r. Like in all evolutionary computing, the community biotic potential is an important parameter in emergent techniques. Too small a size does not give enough heuristic entity to the community, but too great a population moves the system to a rapid definition of trails with poor optimization value. For our experiments we use the simplified workload schema that is common in Grid algorithm evaluation: a sequential request ratio. Therefore, every Grid client launches a replica request (emergent software agent), waits until the replica is found (software agent dead), replies with the client file and after the replica is finished it may launch another request. It is a simplified behaviour, but also fits in the model of the jobs that obtain the next replica request by processing the actual replica. Thus, the birth/death rate is one, so the living population is stable and sized to the problem. Other environments may need populations for the biotic potential operator.

REPEAT FOR EACH sw-agent received in site i IF f in i THEN s := i delete sw-agent Launch replica reply (r,s,f) ELSE Apply EAI initialization FOR EACH site j in EAI CSet Apply EAI heuristic operators END FOR EACH j s := EAI selection Launch sw-agent (r,s,f) END IF END FOR EACH sw-agent UNTIL end conditions Algorithm 1. EAI replica meta-heuristic.

The EAI heuristic obtains a candidate request destination site s. The routing schema of the Grid network topology provides the X set. When a site i receives an EAI software agent, the processing is the same for both cases s = i and s 6= i, a simple false positive mechanism as we show in Algorithm 1. The heuristic operators are processed for each EAI candidates set (CSet), that are defined by specific emergent techniques. Hence, the emergent algorithm defines a dynamic composition of B set, as the Cartesian product of all the candidates along the visited sites. The B sequences that allow a path access for a new site with the requested file f , represent

V. Méndez Muñoz et al. / Future Generation Computer Systems 26 (2010) 934–946

together the S set. The Algorithm 1, discretely and dynamically defines the optimum sequence for the S ∗ , the rest of the possible optimum sequences are ruled out by the specific heuristic of the EAI selection, dynamically, while the software agent visits the sites. Such EAI selection is supported, in each site, by the evaluation function of the specific heuristic, which in general form was enunciated before as Er ,s = f (C(r ,s) , Hs ). 3.3. PSO-grid Multiswarm Federation The G(VG , EG ) Grid topology graph is the discrete solution space. The environment has a swarm associated to each site VG of the graph G. We could talk about site federation, but the word multiswarm is more indicative of the used heuristic. We discuss the federation issue in the last part of this section, now we focus on the heuristic body. The specific PSO-Grid emergent technique has the heuristic shown in Algorithm 2. This PSO-Grid multiswarm schema is discrete and static defined. Allocating a swarm to each Grid site, the particles move from one swarm to another. The number of particles assigned to each swarm is changing with time. The particle is created when the Grid client requests a file not included in the site r, and it is deleted when the replica is found in the other site s. bmetric is the best global optimum performance evaluated. bswarm is the site associated to the bmetric. The particle p(r , s, f ) is received in a site i, that may be the destination of the particle s or any site in the route from r to s. Initially, bswarm is the producer site of the file f . The PSO candidate set is composed by all the unvisited vertices. Therefore, the particle has a memory for the tabu site list and we implement a global swarm evaluation. Our approach has a strong social component, because the strategy follows the best swarm, not the best individual particle. The main FOR loop in Algorithm 2 performs a real-time evaluation of the best candidate, with the function explained below in this section. The following IF condition checks whether the actual site i is the destination site s of the request, in this case, the destination obtained in the loop evaluation is assigned to the new destination site s. In the case that the actual site i is not the destination site s of the request, the particle is re-routed without modification of the destination site s.

REPEAT FOR EACH particle p, received in site i IF f in i THEN s := i delete particle Launch replica reply (r,s,f) ELSE bswarm = f producer site swarm bmetric = transfer cost (i,bswarm) FOR EACH site j in PSO CSet(p,i) IF PSO_eval(i,j) < bmetric THEN bswarm = j bmetric = PSO_eval(i,j) END IF END FOR EACH j IF i is s THEN s := bswarm END IF Launch particle (r,s,f) END IF END FOR EACH particle UNTIL end conditions Algorithm 2. PSO-Grid Multiswarm Federation heuristic.

The PSO-Grid Multiswarm Federation heuristic core, the evaluation function (PSO eval in Algorithm 2) is defined as (2). - PSO-grid evaluation function: E(i,j) = (hj ∗ Ci,j ) + ((1 − hj ) ∗ Ci,b ).

(2)

937

It is a performance metric for a possible file replication between two nodes i, j. We use b as the identifier as best performance metric (bswarm) associated to i in an instant of the evaluated j node. We use C for the replica transfer cost defined above in (1). We use h for the external hit ratio. h is calculated based on the M last external success request ratio in node j. The PSO-Grid evaluation function balances the probability of finding a replica in a node j, with the probability of not finding it in j, where we have to reply from another node, eventually that associated to best metric b, initially the producer. The external hit ratio is the heuristic information of PSO-Grid Multiswarm Federation. After evaluation, Algorithm 2 launches the updated particle (r , s, f ), where r is always the original replica request site, and s is the best evaluated site from actual site i. Each site has updated external hit ratio information entries of the rest of the nodes. When a hit ratio passes one of the band thresholds, the global heuristic memory is updated, sending the new value to the rest of sites. This band threshold method engages the PSO-Grid heuristic information consistency with a very light PSO-Grid control traffic. The PSO-Grid uses site federation. The global activities of the federation are assumed by all the distributed swarms and sites. The heuristic information is shared between all the federation members. The mentioned hit ratio band threshold system supports consistent heuristic information. Every federated site may launch replica request particles to other members. When a federated site has a requested replica, then it replies with a copy to the source site. If the site has not got the requested replica, then the local site swarm applies the heuristic, and relaunches the updated particle, giving a service for the source site requirement. The global heuristic of the system is a distributed intelligence schema. On the other hand, the site federation local activities manage the local replica set. The replica sets depend on the local Grid client replica requests and on the local deletion algorithm decisions, usually LRU. The replica set decision is local, but this does not involve autonomous behaviour, because the replica set of a site has interactions with the replica decisions of other sites. 3.3.1. PSO-grid Multiswarm Federation example We describe a simplified Grid environment with the aim of providing a step by step PSO-Grid Multiswarm Federation algorithm example. We make many assumptions to realize a graphic demonstration of the PSO-Grid key features and basic functionality. In Fig. 1 we show a small Grid topology with enough dimensions for our simplified graphic example. We will use this template in the PSO-Grid and ACO-Grid algorithm examples. We suppose that replica initialization has been done, and all the Grid sites have a replica subset that is displayed for each site M to P of the example. The site subset is not going to change in the example. The information of each site for file localization is the file producer identification and the LC, which only contains local replica entries. Below the site replica subset of Fig. 1, we show the external hit-ratio (h). The site hit-ratio is constant for simplification of the examples. The site M has 3 replicas in the local catalogue subset. The hold catalogue has 10 files in the producer site P. Fig. 1 shows the networks a, b, c , d with the associated latency in milliseconds and bandwidth in Mb/s. The latency and bandwidth is used in the EAI transfer cost in (1). The ROS running in each site manages the transfer cost information from the rest of the sites, as shown in Table 1. For our example we take c1 = 1 and c2 = 0.2, realistic values for a good transfer cost calculation, as we will show in 4.3. The evaluation transfer cost in (1) obtains the minimal bandwidth of remote networks connecting to sites and the latency

938

V. Méndez Muñoz et al. / Future Generation Computer Systems 26 (2010) 934–946

Fig. 1. Example 1. PSO-grid multiswarm federation. Table 1 Emergent transfer costs.

M N O P

M

N

O

P

0 110 120 140

110 0 10 110

120 10 0 30

140 110 30 0

addition of the networks. The routing scheme is not part of the ROS, the routing system may be used for file replication. The replication reply is done following the routing service, and the replica requests follow the ROS location over-routing functionalities. Fig. 1 shows the different steps of a particle during replica location and optimization using the PSO-Grid Multiswarm Federation algorithm in each ROS site server. A Grid client in site M requests the file 2. The PSO-Grid Multiswarm Federation algorithm in each site performs the following steps, initially enunciated for the site M:

1. 2. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.

FOR p(M,M,2) received in site M IF f=2 is in site M LC. This part is not executed OTHER CASE bswarm = f_producer_site bmetric = transfer cost (M,bswarm) FOR EACH site j in CSet[N,O,P] IF eval_PSO(M,j) < bmetric THEN bswarm = j bmetric = eval_PSO(M,j) END IF END FOR EACH j IF M is s THEN s := bswarm END IF Launch replica request (r,s,f) END IF NEXT particle in site M.

PSO-GRID example when ROS site M received the request p(r,s,f).

The created particle p(M , M , 2) has a source request r = M, a destination site s = M and a requested file f = 2. After the optimization algorithm the particle is p(M , O, 2), and is send to the routing system. In the following we show the details of the optimization algorithm. In line number 2 we evaluate the

conditional f = 2 6∈ FM = [1, 6, 4], so this part of the code is not executed. In line number 7 bsw arm = P, which is the site producer of our example. Next bmetric = 140 is calculated by the evaluation transfer cost, Eq. (1), using the transfer costs from Table 1. In PSOGrid Multiswarm Federation the candidate set is composed by all the nodes of the Grid that have not been visited by the particle. So the visited site mapping is information traveling with each particle. Lines 9 to 14 are first executed for j = N. The PSO-Grid Multiswarm Federation performance evaluation function, in (2), may be expressed in this case as pM ,N = (hN ∗ cM ,N ) + ((1 − hN ) ∗ cM ,P ), whose values are as follows: ev alPSOM ,N = (0.3 ∗ 110 + (1 − 0.3) ∗ 140). The result is 131, less than the actual best metric bmetric = 140, so the conditional code of lines 11 and 12 are executed (bmetric = 131 and bsw arm = N). Lines 9 to 14, executed for j = O. pM ,O = (hO ∗ cM ,O )+((1 − hO )∗ cM ,N ), calculate ev alPSOM ,O = (0.7 ∗ 120 + (1 − 0.7) ∗ 110). The result is 117, again less than the actual best PSO-Grid Multiswarm Federation performance metric bmetric = 131, so the conditional lines 11 and 12 are executed (bmetric = 117 and bsw arm = O). Lines 9 to 14 are executed for j = P. We know that the hit-ratio of a stand alone producer is 1. The value 140 is greater than the actual best metric, so the variables are still the same (bmetric = 117 and bsw arm = O). Line 15 verifies that actual site r = M is also the replica request destination, which was created locally with s = M for the particle request p(r , s, f ). So lines 16 and 17 are executed, updating the next particle replica request values, launched in 18 as p(M , O, 2). In other cases, when replica request destination s is not the actual site, line 18 just forwards the routing to destination. In the next step in Fig. 1, the particle is received by the ROS in site N. The condition f = 2 6∈ FN = [5, 4, 3] is checked. The external miss updates the external hit ratio in site N. The key code is now line 15: regardless of the bswarm selected in lines 9–14, the actual site N is not the particle request destination (s = O), so the particle is launched for routing in line 18 without modification p(M , O, 2). The third step of the particle in Fig. 1, in site O, gets f = 2 ∈ FO = [2, 4, 6, 8], so the external hit increases the external hit ratio in site O, and eventually, if a hit-ratio threshold is reached, it may launch a Grid hit-ratio update. The site O starts the replica transfer of file 2 to site M. Now we suppose in Fig. 2, that another request, of file 7, is done by a Grid client in site M. The p(M , M , 7) is the new particle. Step 1 and 2 are the same as example 1, but with request of file 7. In the step 3, the request arrives at the destination and local ROS checks that f = 7 6∈ FO = [2, 4, 6, 8], taking into account an external miss and running the algorithm. Therefore, the candidate set is composed by site P, because the rest of the sites have been visited by the particle. So the request launches p(M , P , 7) from site O. In the fourth step the particle finds the file and starts replication. 3.4. ACO-grid Asynchronous Colonies Optimization The ACO-Grid Asynchronous Colonies Optimization approach is an hybrid of AS and ACO, but it also presents some differences with the ant approaches. We discuss the asynchronous feature later in this section. The approach has a discrete, multi-objective and dynamic environment. The discrete solution space is the G(VG , EG ), defined by the Grid topology graph. Each vertex has an ant colony, and the ants can move from one vertex to another through connected edges. We implement double way edges, so it is similar to the Asymmetric-TSP, but every replica request has an objective, and the replica distributions are dynamically changing. The expression of the asymmetric feature is the pheromone

V. Méndez Muñoz et al. / Future Generation Computer Systems 26 (2010) 934–946

939

- Probabilistic state transition rule: P (i, j) =

[τ (i, j)][η(i, j)]β . u =l P β [τ (i, u)][η(i, u)]

(3)

u =1

The state transition rule gives the selection probability function for each connection from i site to node j. The connected sites that have not been visited by ant in node i are the u subset with l elements. The probability for each j visited site by the ant is P (i, j) = 0. In the other case the probability is calculated with (3). In the following we show a detailed description of (3). The parameter β determines the relevance of the pheromone trail and the heuristic value. Ant path heuristic function η(i, j) is the inverse of the distance δ 1 , the distance is calculated with Eq. (1), the (r ,s)

Fig. 2. Example 2. PSO-grid multiswarm federation.

concentration τ (r , s) 6= τ (s, r ). Thus, we try to model the following Grid fact: a replica request moving in an edge way does not have the same affinity field as a replica request moving the other way. We attempt to obtain affinities evaluations, regarding the ants geographic background. The ACO-Grid Asynchronous Colonies Optimization heuristic is shown in Algorithm 3. The emergent software agent is now the ant, which is created when the requested file is not in the site r, and deleted when some site s has the requested replica. prob is a uniform random number, for a probabilistic election of the ant destination site. The ACO candidates set (CSet) is composed by the sites directly connected to the actual site that have not been visited by the ant. So the ants have a memory of the tabu site list, the false positive mechanism. ACOGrid Asynchronous Colonies Optimization composes optimum trails, if the replica is not found in the new site, the false positive mechanism implicit in Algorithm 3 searches another site. We see that the trail composition is globally done step by step.

REPEAT FOR EACH ant a, received in site i IF f in i THEN s := i delete ant Launch replica reply (r,s,f) ELSE prob = random_number acum = 0 FOR EACH site j in ACO CSet(a,i) acum += state_transition_rule(j) IF prob < acum THEN s = j BREAK FOR END IF END FOR EACH j deposite_pheromone(i,s) local_updating_rule(i) Launch ant (r,s,f) END IF END FOR EACH ant UNTIL end conditions Algorithm 3. ACO-Grid Asynchronous Colonies Optimization heuristic.

The state transition rule of the Algorithm 3 is (3).

general EAI-GRID cost (δ(r ,s) = C(r ,s) ). Traditional ant systems use an extra α weight parameterization for pheromone concentration. In our case only the β parameterization is used for the heuristic value. We prefer a more simple tuning with one balance parameter, β , assuming α = 1. With β < 1 the pheromone concentration is more relevant than the heuristic expression. This method will lead to the emergence of a stagnation situation, where the stable probabilities correspond to strongly sub-optimal trails on ACO-Grid Asynchronous Colonies Optimization. The total probability assigned to the k connections between site i and the j graph connected sites, Pj=k is j=1 Pk (i, j) = 1. Two heuristic operators are applied to the pheromone concentration of the connections. The first operator, in (4), is the ant pheromone deposition on the selected edge connection. The second operator, in (5), is the pheromone evaporation. - Pheromone deposition:

τ(r ,s) = τ(r ,s) + ∆τk(r ,s) .

(4)

The quantity of deposited pheromone (∆τk(r ,s) ), on k connection edge between sites r and s, is the inverse of the distance or cost ( C 1 ). (r ,s)

The second operator, in (5), is the local updating rule that modifies pheromone concentration with the evaporation effect. - Local updating rule:

τ(r ,j) = (1 − α)τ(r ,j) .

(5)

The equation is applied to every site j connected to r. In the instant in which the ant chooses a site s for the next destination, all the connected trails to the same site r are updated with pheromone evaporation. This is another important difference with traditional ant algorithms, ACO-Grid Asynchronous Colonies Optimization uses a local updating rule that is launched when a decision is taken on a site. α is the pheromone evaporation factor between 0 and 1. The more populated a community the greater the evaporation factor needed and the vice versa. It is a parameter tuning for the specific Grid topology and workload. The pheromone deposition and the local updating rule affect the pheromone concentration. With a non valid parameterization, the probability values may show a polarization with poor heuristic information (linear collapse). With a valid parameterization, the state transition rule shows a significant probability distribution assigned to each site connection, usually on sub-optimal stagnation that shows a good fit with the replica selection problem. The Grid pheromone evaporation is an asynchronous process. Each selection decision on a site, triggers an update of the pheromone levels for all connections to the local site, calculated by (5). The evaporation process is not directly time driven, it is

940

V. Méndez Muñoz et al. / Future Generation Computer Systems 26 (2010) 934–946

Step 2 has a candidate set composed by the directly connected sites that have not been visited by the ant that are the sites O and P. The state transition rule in (3) gives more probability for the connection to O, based on the pheromone levels of the Table 2 and the inverse of the emergent transaction cost of Table 1. In the example we suppose that the connection b, with greater probability is chosen. The deposition function in (4) is applied on the connection b and the local pheromone evaporation function in (5) calculated for the site N connections. Step 3 shows the ant finding a replica, so the ant dies and a file replica reply starts from site O to M. 4. Experiments In this section we first explain the evaluation methodology, and experimental design. The reported experiments compare the two explained emergent algorithms, with the economy-based model, and the canonical algorithm. 4.1. Evaluation methodology Fig. 3. Example 1. ACO-grid Asynchronous Colonies Optimization. Table 2 Pheromone levels.

M N O P

M

N

O

P

0 2 0 0

1 0 7 1

0 6 0 1

0 3 3 0

driven by different events of selection decisions, that are not synchronous. The different event driven rates of the sites do not affect the pheromone values that are used for local comparisons in the selection of the trail. Thus, one site may have a higher selection decision rate than others, so the pheromone levels are not comparable to the pheromone levels of other sites, but the pheromone levels of other sites are not taken in consideration for the selection decision at each site. Therefore, the ACO-Grid Asynchronous Colonies Optimization pheromone levels are locally meaningful. The probabilistic state transition selections are taken as an asynchronous and locally meaningful event driven process. This is the reason for calling it Asynchronous Colonies Optimization for our ACO-Grid. 3.4.1. ACO-grid Asynchronous Colonies Optimization example In the following we show an example of the ACO-Grid Asynchronous Colonies Optimization algorithm. This example is a simplification of the problem, like the previous PSO-Grid example. Our aim is to describe the general behaviour of the algorithm. The state transition rule in (3), is a probabilistic function calculated on each ant connection decision. A random number gives the chosen connection. In the example we suppose constant pheromone values, which is not precise because the pheromone value is updated with the pheromone deposition function in (4) and the local pheromone evaporation rule in (5), but it is enough for our graphical demonstration. We have used the emergent transfer cost (Table 1, shown above in the PSO-Grid Multiswarm Federation section) to obtain the pheromone connections levels of Table 2. The values of the table are approximations for the use of the example. Fig. 3 shows the first example where a Grid client in site M requests the file 2, so a new ant is created. In the first step the only available connection is a, to site N. The deposition function in (4), is applied on the connection a, and the local pheromone evaporation function in (5), calculated for the site M connections.

One of the drawbacks for replica optimization Grid theory, is the challenge of the evaluation methodology. It is almost impossible to obtain significant analytical results, due to the heterogeneous, complex and dynamic parameters of the Grid infrastructures. Some performance evaluation approaches may use theoretical models such as LQML [27] or Petri networks [28], but with simplified modelling so far of real states. The easy way is to compare the efficacy of algorithms in real applications with real resources. But real applications take too long a time to get enough reliable statistical repetitions for all factors and levels. Furthermore, variations in real loads make it difficult to repeat results for experimental validation. Other Grid evaluations use emulators as hybrids of simulation and real applications [29]. HPC environments are too complex for any simulation tool. The implementations cannot address all the Grid features of the execution such as network errors, batch resource behaviour, complex network topologies, virtual organization interaction, etc. There are a few Grid simulators and all are focused on different aspects of study and the degrees of Grid components modelled. There are different job scheduling policy Grid simulators such as Bricks Grid [30], GridSim [31], or SimGrid [32], which focus on evaluations for the given job scheduling policies. The Sugato Bagchi simulator [33] is focused on the analysis of the Grid computing workload performances. It is a toolkit for IT consultants to design scheduler workloads for optimal resource capacity and to estimate the suitability of the Grid topology design. Resource scheduling has few typical policies. Other Grid simulators are prepared for replica algorithms evaluation with different aims and perspectives. There is an enhanced Bricks Grid simulator [34] for data Grid purposes, with a reliable simulation of local disks I/O overheads and a disk management mechanism, and, like the original Bricks Grid, it does not reliably simulate the network. Katitha and Foster proposed ChiSim [35], a tool for job scheduling and data replication algorithm simulations. The main contribution is the holistic point of view of both computing and the data grid. This fits well in the Grid paradigm as possessing a wide range of parameters. On the other hand, the network simulation model considers an abstract network without topology definition. OptorSim [36] has explicit accounts for both dynamic provisioning and resource scheduling policies. Dynamic provisioning is performed in the context of data Grid replication. Various economy-based replication strategies can be evaluated with the simple reference algorithm, but OptorSim does not consider IO simulation.

V. Méndez Muñoz et al. / Future Generation Computer Systems 26 (2010) 934–946

GangSim [37] is part of the Ganglia monitoring project, an implementation that mixes simulated and real Grid components. GangSim evaluates the impact of different VO-level task assignment strategies and site usage policies on achieved performance. We developed our Grid simulator SiCoGrid [38], from the Spanish Simulador Completo Grid (Complete Grid Simulator), for the EAI replica algorithm evaluation. The main reasons for the use of SiCoGrid are the following. Some of the simulators do not allow replica algorithm integration, so we can not use them for our purpose. We also want a realistic evaluation, without assuming any simulation modelling constriction. The bottleneck of the possible evaluations may be with the network or disk consumption, determined by the specific experiment situation. The simulation tool may provide an IO simulation subsystem and a complete network simulation subsystem. On a reliable network simulation, all the topology schema must be simulated, not only parts of the network or untrusted bandwidth resource abstraction. SiCoGrid is designed to evaluate the impact of different algorithms, without consideration of the VO-level effects or other applicationlevel policies.

941

Fig. 4. Simulated grid uncyclical graph stage.

4.2. Experimental design We use the SiCoGrid simulation components architecture, based on the EGEE middleware services schema. The optimization protocol for our experiments is computing in the Grid client [6], usually referred to as data Grid, where the data are taken to the site where the job is requested. It is the computing model used for data algorithm evaluation, such a technique allows one to isolate the data Grid algorithm effects from the job scheduling effects. The experiment workload is created with the SiCoGrid toolkit, and depends on the following factors and levels: - Traffic density The number N, of Grid clients in each site: 4, 5, 6. - Experiment length The number M, of jobs that a client performs in a simulation: 4, 5, 6. We call experiment size N × M, to the Cartesian products of the levels of the two traffic density and experiment length factors: 4 × 4, 4 × 5, 4 × 6, 5 × 4, 5 × 5, 5 × 6, 6 × 4, 6 × 5 and 6 × 6. - Replica requests distribution Every job has many block file requests. The client has to know the results of the execution with a block requested to obtain the next block file object to be requested. We use three distributions levels:

• Gaussian random walk file access pattern. Each block file to be requested is calculated based on the last requested file identification number, with an increment or decrement in a Gaussian distribution. This fits well with the fact that the files regarding a job are usually nearby on the file identification range. For this reason, in a Gaussian distribution a replica selection has more probability to be used again than in a Random Requests distribution, but less probability than in a File Reposition distribution. Many realistic job distributions fit well with the Gaussian distribution. • Normal Random Request over catalog range, fits well with no affinity realistic issues. A replica is used only once. • File Reposition distribution, where a job requests all file blocks It is not very common, except in some restoration operations. The replica is used many times, the relative weight of the optimization algorithm in the final results may be less important than in other distributions. Besides the experiment workload factors, we also are interested in other factors regarding the topology and the replica optimization algorithms.

Fig. 5. Simulated grid cyclical graph stage.

- Graph topology We have two levels for topology factor:

• Uncyclical Graph Stage: the network topology shown in Fig. 4. • Cyclical Graph Stage: the network topology shown in Fig. 5. The figures present some common features modelling typical Grid real topologies. There is one producer site and many replica consumer sites. The consumer’s disk space is less than the producer disk space, so every consumer site dynamically configures a catalog subset. We can see Router sites for network interconnection without replica disk space. The sites are grouped in three main classes as tiers of the Grid. A tier of the first class has more storage features and also a higher bandwidth connection. This split in site classes is a typical EGEE requirement. In Figs. 4 and 5 the nodes have a first number that is the tier class, and after the point another identification number. Below is the node storage size in GB. The networks have two assigned numbers, the first is the latency in ms and the other is the bandwidth in Mb/s. The storage capacity, file size average and network bandwidth are scaled by a magnitude of twenty compared with real infrastructures for time simulation reasons. Therefore, the obtained time results will be scaled by the same magnitude. - Replica optimization algorithms

942

V. Méndez Muñoz et al. / Future Generation Computer Systems 26 (2010) 934–946

Fig. 6. Uncycled-Gaussian.

• Canonical or unconditional replication from the producer and LRU, that always gets replication from the producer site and is used as the reference algorithm for comparisons. • An approach of the economy-based model (ECO) in OptorSim [10]. • PSO-Grid Multiswarm Federation and LRU. • ACO-Grid Asynchronous Colonies Optimization and LRU. The experimental design supposes 216 occurrences, and we perform three statistical repetitions, therefore we obtain 648 experiments. 4.3. Results Before the experiment simulations we have performed a previous emergent parameters evaluation. We check results for the Cartesian product of coefficients c1 and c2, for the values (0.2, 0.4, 0.6, 0.8, 1) with a small simulation for both topologies. In this previous evaluation we obtained the best performance with c1 = 1 and c2 = 0.2. In the previous ACO-Grid parameterization we obtained the best performance for the heuristic function weight β = 0, 5 and evaporation factor α = 0, 05 to gain significant pheromone levels. We present graphical results for any combination of topology and algorithm factors. Every figure has an ordinate axis corresponding to the job response time average in seconds. The abscissa axis is the simulation experiment size series N × M, starting with smaller simulation to greater, increasing first the number of jobs performed by each Grid client, and secondly the number of clients computing in each Grid site. Hence, we have three traffic density sub-series (4 × M , 5 × M , 6 × M), and in this sub-series are three experiment length issues (N × 4, N × 5, N × 6). Every figure shows the four algorithm results. We use the notation can for the Canonical reference algorithm, eco for the ECO algorithm, aco for the ACO-Grid Asynchronous Colonies Optimization algorithm and pso for the PSO-Grid Multiswarm Federation algorithm. 4.3.1. Uncycled-Gaussian walk request distribution The Gaussian distribution and uncycled topology in Fig. 6 shows the best results for PSO-Grid Multiswarm Federation, not only for the averages on all experiment sizes, but also on all the repetitions. The improvements are around 30% over the Canonical and 15% over ECO and ACO-Grid Asynchronous Colonies Optimization. All

the algorithms have three steps in the response time series, corresponding with the traffic density experiment levels, following the expected results; when the traffic density increases the worst job response time is obtained. In the most of the cases, the greater the experiment length the better the response time, taking as the experiment length the number of jobs of each client. For example, the ECO and PSO-Grid algorithms have a decreasing response time for all clients when the number of jobs increase. In the case of the Canonical reference algorithm there is an exception with 6 clients when the number of jobs increases from 5 to 6. Another exception is shown in ACO-Grid algorithm with 5 clients when the number of jobs increases from 5 to 6. A common feature in artificial intelligence algorithms is a performance improvement of the system, until they reach enough heuristic information. The three algorithms show bigger differences from Canonical when the number of clients increases, which means a good scalability. 4.3.2. Uncycled-random request distribution Fig. 7 shows results for Random Requests distribution and uncycled stage. It is relevant that the ECO approach has worse results than the Canonical one. PSO-Grid Multiswarm Federation improves performance by around 37% over Canonical, and 17% over ACO-Grid Asynchronous Colonies Optimization. The greater the traffic density the worse the job response time, as in the Gaussian distribution. But the Random Request distribution does not show improvement with experiment length levels. The results also show a longer response time than Gaussian distribution. The reason for this behaviour is that, statistically, Random Requests are harder than Gaussian to obtain meaningful distributed replica subsets. The comparison of the results in this stage for Gaussian and Random Request distributions fulfill the initial distributions hypothesis. Focusing on the differences with Canonical results, which increase with experiment size, we see good scalability features for emergent algorithms. The response time difference of the ECO algorithm with the Canonical, along client size, shows increasingly negative values, which means bad scalability features. 4.3.3. Uncycled-file reposition request distribution The File Reposition jobs performances in uncycled topology is shown in Fig. 8. The ECO approach again shows the worst results, except for the 6 × 5 experiment size. PSO-Grid Multiswarm Federation has the best results except in some cases. Generally PSOGrid improves performance by 2% over ACO-Grid Asynchronous

V. Méndez Muñoz et al. / Future Generation Computer Systems 26 (2010) 934–946

943

Fig. 7. Uncycled-random.

Fig. 8. Uncycled-file reposition.

Colonies Optimization and by 7% over Canonical. File Reposition distribution performs a high local site request hit ratio. One replica is used many times until the job is complete. This is the reason for very low differences in response time between approaches, and they also explain much better results than the other distributions, with a job response time range between 450 and 800 s. In the series, the ECO approach does not follow a precise response schema, but the other algorithms have similar behaviour to Random Request distribution. We see three steps corresponding to the traffic density increase. The experiment length levels do not have constant effects in the results. 4.3.4. Cycled-Gaussian walk request distribution Fig. 9 shows the results for cycled topology and Gaussian walk distribution. The ECO algorithm compared with the uncycled stage moves to worse performance than the Canonical. PSOGrid Multiswarm Federation has an improvement of 11% over Canonical and around 6% over ACO-Grid Asynchronous Colonies Optimization. Following comparison with the uncycled topology, the job response time is around half of the cycled topology with the equivalent workload. In the cycled topology the greater route options achieve better results. The more traffic density the worse the time results. On the other hand, the greater the experiment length, the better response time

for the Canonical, ACO-Grid and PSO-Grid algorithms, with the exception of 4 × 3 to 4 × 4. The ECO algorithm shows irregular behaviour as the experiment length increase. The size effects are the same as Gaussian in the uncycled stage. The differences with Canonical are small, but at these magnitudes, emergent algorithms show good scalability features.

4.3.5. Cycled-random request distribution Results for cycled topology and Random Request distribution are shown in Fig. 10. As with the Gaussian issue, the job response times are around half those of the uncycled topology. The PSOGrid Multiswarm Federation percentage improvements over the other algorithms are around 17% for Canonical and 6% for ACO-Grid Asynchronous Colonies Optimization. In some cases the ACO-Grid has the best performance. In the cycled topology with Gaussian distribution, presented above, less percentage improvements over PSO-Grid Multiswarm Federation are obtained; 11% and 6%. The traffic density effects are the same as in other topologies and distributions. The experiment length does not have constant effects in the results. The differences between the Canonical algorithm and the others are fairly constant for each algorithm, indicating adequate scalability features.

944

V. Méndez Muñoz et al. / Future Generation Computer Systems 26 (2010) 934–946

Fig. 9. Cycled-Gaussian.

Fig. 10. Cycled-random.

4.3.6. Cycled-File reposition request distribution Fig. 11 shows the results of cycled topology with the File Reposition distribution. The job response times in each experiment size are very similar for all algorithms. The results confirm around half the response time for the uncycled topology File Reposition results, between 300 to 450 s. Canonical has the best response times for most experiment sizes. Anyway, the percentage differences are negligible, so we can not determine which is the best heuristic in this stage. 5. Conclusions This paper presents a replica Grid optimization problem definition, an emergent meta-heuristic for decentralized optimizations in Grid domains, and specific heuristic operators of PSO-Grid Multiswarm Federation and ACO-Grid Asynchronous Colonies Optimization for replica optimization. This theoretical emergent approach is designed ad-hoc for the flat Giggle/OGSA framework, which defined a very light decentralized catalog service: only one LC in each site. The evaluation methodology has been done with SiCoGrid, a reliable simulation toolkit. We have results with different experiment sizes and network topologies. The emergent algo-

Table 3 Primary factors leverage effects.

uco eco aco pso

Network topology

Requests distribution

Traffic density

Experiment length

Yes Yes Yes Yes

Yes Yes Yes Yes

Yes No Yes Yes

No No No No

rithms have shown the best performance and scalability features. PSO-Grid Multiswarm Federation has the best results for nearly all the experiments and repetitions. ACO-Grid Asynchronous Colonies Optimization has in most of the experiments, the second position on performance. Over the next few years Grid infrastructures will require a growth in size and workload. The replica optimization challenges are the scalability features. The presented emergent heuristics perform with much better scalability features than traditional approaches. In the Table 3 we show the job response time primary factors effects. The Grid topology and the request distributions are critical in response times and final makespan. For this reason, it is

V. Méndez Muñoz et al. / Future Generation Computer Systems 26 (2010) 934–946

945

Fig. 11. Cycled-file reposition.

important to build simulation tools oriented to estimate the fitness of the Grid topology design, supporting the IT Grid consultant’s design decisions. It is also important to use the tools for suitable workload scheduling. The request distribution behaviour confirms the initial workload distribution hypothesis. The greater the traffic density the worse the response time. The step is very clear in most of the experiments. The experiment length it is not a relevant factor in the job response time performance. 5.1. Future work Our open research lines are focused in job scheduling with emergent approaches, and some ACO-Grid variations for huge Grid topologies. We are also working on the SiCoGrid simulation tool reliability, testing with real Grid workloads and infrastructures. Acknowledgements We are greatly indebted to the funding agency Spanish National Research Council-CSIC for their support from project Grid-CSIC. References [1] T.G.D., Project, Globus toolkit 4 documentation, Tech. Rep., University of Chicago, 2005, URL: http://www.globus.org/toolkit/docs/4.0/. [2] M. Lamanna, M.-E. Begin, Z. Sekera, S. Collings, Egee middleware architecture, Tech. Rep., CERN, 2005, (EGEE-DJRA1.1-594698-v1.0). [3] C. Munro, B. Koblitz, N. Santos, A. Khan, Performance comparison of the lcg2 and glite file catalogues, Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment 559 (1) (2006) 48–52. [4] A.L. Chervenak, E. Deelman, I. Foster, A. Iamnitchi, C. Kesselman, W. Hoschek, P. Kunszt, M. Ripeanu, B. Schwartzkopf, H. Stockinger, K. Stockinger, B. Tierney, Giggle: a framework for constructing scalable replica location services, in: Proc. of the IEEE Supercomputing Conference, SC 2002, IEEE Computer Society Press, 2002. [5] J.-P. Baud, J. Casey, S. Lemaitre, C. Nicholson, Performance analysis of a file catalog for the lhc computing grid, in: Proceedings of the High Performance Distributed Computing, 2005, HPDC-14, Proceedings 14th IEEE International Symposium, IEEE Computer Society, Washington DC, USA, 2005, pp. 91–99. [6] V. Méndez, F. García, Pso-grid data replication service, in: VECPAR 2006 Post-Conference Proceedings, in: LNCS, vol. 4395, Springer-Verlag, Berling, Heidleberg, 2007, pp. 656–669. [7] H. Lamehamedi, B.K. Szymanski, Decentralized data management framework for data grids, Future Generation Computer Systems 23 (1) (2007) 109–115. [8] H. Stockinger, F. Donno, Data location inteface for the workload management system, in: OGF25/EGEE User Forum, 2009. [9] L. Capozza, K. Stockinger, F. Zini, Preliminary evaluation of revenue prediction functions for economically-effective file replication, Tech. Rep., DataGrid-02TED-020724, Geneva, Switzerland, July 2002. [10] D.G. Cameron, R. Carvajal-Schiaffino, A.P. Millar, C. Nicholson, K. Stockinger, F. Zini, Analysis of scheduling and replica optimisation strategies for data grids using optorsim, International Journal of Grid Computing 2 (1) (2004) 57–69.

[11] D.C. Marinescu, L. Bölöni, Biological metaphors in the design of complex software systems, Future Generation Computer Systems 17 (4) (2001) 345–360. [12] R.-S. Chang, J.-S. Chang, P.-S. Lin, An ant algorithm for balanced job scheduling in grids, Future Generation Computer Systems 25 (1) (2009) 20–27. [13] G.S. Pavani, H. Waldman, Co-scheduling in lambda grid systems by means of ant colony optimization, Future Generation Computer Systems 25 (3) (2009) 257–265. [14] Eberhart, Kennedy, Particle swarm optimization: mini tutorialm, 2002, http://www.particleswarm.net/. [15] M. Clerc, Discrete particle swarm optimization, ilustrated by the traveling salesman problem, Tech. Rep., 2000, http://clerc.maurice.free.fr/pso/. [16] C.C. Coello, M.S. Lechuga, Mopso: a proposal for multiobjetive particle swarm optimization, in: Proceedings of the Primer Congreso Español de Algoritmos Evolutivos y Bioinspirados, AEB’02, Universidad de Extremadura, 2002, pp. 445–452 (ISBN 84-607-3913-9). [17] A. Carlisle, G. Dozier, Adapting particle swarm optimization to dynamic environments, in: International Conference on Artificial Intelligence, Monte Carlo Resort, Las Vegas, Nevada, USA, 2000. [18] X. Hu, R. Eberhart, Adaptive particle swarm optimization: detection and response to dynamic systems, in: Proceedings of Congress on Evolutionary Computation, 2002, pp. 1666–1670. [19] T. Blackwell, J. Branke, Multiswarms, exclusion and anti-convergence in dynamic environments, IEEE Transactions on Evolutionary Computation 10 (4) (2006) 459–472. [20] P.P. Grassé (ed.), La reconstruction du nid et les coordinations interindividuelles chez Bellicositermes natalensis et Cubitermes sp. La théorie de la stigmergie: Essai d interprétation des termites constructeurs, vol. 6. Insect Sociaux, 1959. [21] M. Dorigo, V. Maniezzo, A. Colorni, The ant system: an autocatalytic optimizing process, Technical Report no. 91-016 Revised. Tech. Rep., Politecnico di Milano, 1991. [22] M. Dorigo, V. Maniezzo, A. Colorni, The ant system: optimization by a colony of cooperating agents, IEEE Transactions on Systems, Man, and Cybernetics, part B 26 (1) (1996) 1–13. [23] M. Dorigo, L.M. Gambardella, Ant colony system: A cooperative learning approach to the traveling salesman problem, IEEE Transactions on Evolutionary Computation 1 (1) (1997). [24] M. Dorigo, L.M. Gambardella, Ant algorithms for discrete optimization, IEEE Transactions on Evolutionary Computation 1 (1) (1998). [25] G.D. Caro, M. Dorigo, Antnet: Distributed stigmergetic control for communications networks, Journal of Artifical Intelligence Research (1998). [26] S. Cheshire, It’s the latency, stupid. Tech. Rep., Stanford University, 1996. [27] G.A. Mariela Curiel, L. Flores, Evaluating tools for performance modeling of grid applications, in: Proceedings of 2006 International Workshop on Middleware and Performance WOMP, in: LNCS, 4331, Springer-Verlag, 2006. [28] E. Gómez-Martínez, J. Merseguer, Impact of soap implementations in the performance of web service-based application, in: Proceedings of 2006 International Workshop on Middleware and Performance WOMP, in: LNCS, vol. 4331, Springer-Verlag, 2006. [29] H.J. Song, X. Liu, D. Jakobsen, R. Bhagwan, X. Zhang, K. Taura, A. Chien, The microgrid a scientific tool for modeling computational grids, in: Proceedings of SuperComputing, SC’00, 2000. [30] A. Takefusa, S. Matsuoka, H. Nakada, K. Aida, U. Nagashima, Overview of a performance evaluation system for global computing scheduling algorithms, in: Proceedings of the 8th IEEE International Symposium on High Performance Distributed Computing, HPDC8, 1999, pp. 97–104. [31] R. Buyyya, M. Murshed, Gridsim: a toolkit for the modeling and simulation of distributed resource management and scheduling for grid com-

946

[32]

[33] [34]

[35] [36]

[37] [38]

V. Méndez Muñoz et al. / Future Generation Computer Systems 26 (2010) 934–946 puting, Concurrency and Computation: Practice and Experience 14 (2002) 1175–1220. A. Legrand, L. Marchal, H. Casanova, 2003. Scheduling distributed applicaitons: the simgrid simulation framework, in: Proceedings of the 3rd IEEE/ACM International Symposium on Cluster Computing and the Grid, CCGRID.03. S. Bagchi, Simulation of grid computing infrastructure: challenges and solutions, in: Proceedings of the 2005 Winter Simulation Conference, 2005. A. Takefusa, O. Tatebe, S. Matsuoka, Y. Morita, Performance analysis of scheduling and replication algorithms on grid datafarm architecture for highenergy physics applications, in: Proceedings of the 12th IEEE International Symposium on High Performance Distributed Computing, HPDC12, IEEE CS Press, 2003. K. Ranganathan, I. Foster, Simulation studies of computation and data scheduling algorithms for data grids, Journal of Grid Computing 1 (1) (2003). W.H. Bell, D.G. Cameron, L. Capozza, A.P. Millar, K. Stockinger, F. Zini, Optorsim — a grid simulator for studying dynamic data replication strategies, International Journal of High Performance Computing Applications 17 (4) (2003). C.L. Dumitrescu, I. Foster, Gangsim: a simulator for grid scheduling studies, in: Cluster Computing and Grid, 2005. V. Méndez, F. García, Sicogrid: a complete simulator for grid infrastructures, in: Proceedins of XVIII Jornadas de Paralelismo, CEDI 2007, Universidad de Zaragoza, 2007, pp. 553–562. Víctor Méndez Muñoz received the M.S. degree in Computer Science at the Universidad Pontificia de Salamanca (Madrid), in 2000, and the Ph.D. in Computer Science at the Universidad Carlos III de Madrid, in 2007. From 1998 to 2002 he worked on systems administration, systems development and project management for various IT corporations. He held assistant professor contracts from 2002 to 2004 at the Universidad Carlos III de Madrid, and at the Universidad de Zaragoza from 2004 to 2008. Since 2008 he has been a member of the Grid and e-Science group at IFIC-CSIC. He has published scientific papers on Grid and

Artificial Intelligence.

Gabriel Amorós Vicente has a Ph.D. in Theoretical Physics from Universidad de Valencia and has been a member of the Grid and e-Science Group at IFIC since 2006. He participated in projects related to Quality Controlled software development with the MDA and certification authorities; he is now involved in GRID technologies projects such as EGEE-III and its applications to Medical Physics.

Félix García Carballeira received the M.S. degree in Computer Science in 1993 at the Universidad Politecnica de Madrid, and the Ph.D. degree in Computer Science in 1996 at the same university. From 1996 to 2000 he was associate professor in the Department of Computer Architecture at the Universidad Politecnica de Madrid. He is currently a full professor in the Computer Science Department at the Universidad Carlos III de Madrid. His research interest include high performance computing and parallel and distributed file systems. He is coauthor of 13 books and he has published more than 80 articles.

José Salt Cairols received the M.S. degree in Physics at the Universitat de Valencia in 1981, and the Ph.D. in Physics in 1987. From 1988 to 1992 he worked for CERN and CSIC. His present position is Research Professor at CSIC. He has more than 300 scientific papers. He has participated in High Energy Projects: WA58, WA71, GEANT, DELPHI, ATLAS, and also GRID and e-Science projects: DATAGRID, CROSSGRID, EGEE, GRID-CSIC. He has been head of the GRID Computing Group of IFIC, since 2000, and coordinating Project Leader of the ATLAS Spanish Tier-2, since 2005.