DYNAMIC Distributed Federated Databases (DDFD) Experimental Evaluation of the Performance and Scalability of a Dynamic Distributed Federated Database



Similar documents
Scaling Objectivity Database Performance with Panasas Scale-Out NAS Storage

Benchmarking Cassandra on Violin

An Oracle White Paper July Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide

Oracle Database Scalability in VMware ESX VMware ESX 3.5

System Interconnect Architectures. Goals and Analysis. Network Properties and Routing. Terminology - 2. Terminology - 1

5 Performance Management for Web Services. Rolf Stadler School of Electrical Engineering KTH Royal Institute of Technology.

Performance Modeling and Analysis of a Database Server with Write-Heavy Workload

Graph Database Proof of Concept Report

USING SPECTRAL RADIUS RATIO FOR NODE DEGREE TO ANALYZE THE EVOLUTION OF SCALE- FREE NETWORKS AND SMALL-WORLD NETWORKS

Performance And Scalability In Oracle9i And SQL Server 2000

Improve Business Productivity and User Experience with a SanDisk Powered SQL Server 2014 In-Memory OLTP Database

VirtualCenter Database Performance for Microsoft SQL Server 2005 VirtualCenter 2.5

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

Cisco UCS and Fusion- io take Big Data workloads to extreme performance in a small footprint: A case study with Oracle NoSQL database

Hyper Node Torus: A New Interconnection Network for High Speed Packet Processors

Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging

Quantifying the Performance Degradation of IPv6 for TCP in Windows and Linux Networking

Boost Database Performance with the Cisco UCS Storage Accelerator

EMC Unified Storage for Microsoft SQL Server 2008

Load balancing in a heterogeneous computer system by self-organizing Kohonen network

A Study of Network Security Systems

On the effect of forwarding table size on SDN network utilization

Virtuoso and Database Scalability

Network Architecture and Topology

How To Store Data On An Ocora Nosql Database On A Flash Memory Device On A Microsoft Flash Memory 2 (Iomemory)

Benchmarking Hadoop & HBase on Violin

The Evolution of Microsoft SQL Server: The right time for Violin flash Memory Arrays

STUDY AND SIMULATION OF A DISTRIBUTED REAL-TIME FAULT-TOLERANCE WEB MONITORING SYSTEM

InfiniteGraph: The Distributed Graph Database

WITH A FUSION POWERED SQL SERVER 2014 IN-MEMORY OLTP DATABASE

High Frequency Trading and NoSQL. Peter Lawrey CEO, Principal Consultant Higher Frequency Trading

Load Distribution on a Linux Cluster using Load Balancing

White Paper. Optimizing the Performance Of MySQL Cluster

White Paper. Recording Server Virtualization

BENCHMARKING CLOUD DATABASES CASE STUDY on HBASE, HADOOP and CASSANDRA USING YCSB

Oracle Spatial and Graph. Jayant Sharma Director, Product Management

How Router Technology Shapes Inter-Cloud Computing Service Architecture for The Future Internet

Load Balancing and Switch Scheduling

Achieving Real-Time Business Solutions Using Graph Database Technology and High Performance Networks

PORTrockIT. Spectrum Protect : faster WAN replication and backups with PORTrockIT

Analysis of QoS Routing Approach and the starvation`s evaluation in LAN

Exploiting Remote Memory Operations to Design Efficient Reconfiguration for Shared Data-Centers over InfiniBand

JBoss Data Grid Performance Study Comparing Java HotSpot to Azul Zing

Towards Modelling The Internet Topology The Interactive Growth Model

Cray: Enabling Real-Time Discovery in Big Data

Agility Database Scalability Testing

Accelerating Business Intelligence with Large-Scale System Memory

Achieving Mainframe-Class Performance on Intel Servers Using InfiniBand Building Blocks. An Oracle White Paper April 2003

Contents Introduction... 5 Deployment Considerations... 9 Deployment Architectures... 11

Direct NFS - Design considerations for next-gen NAS appliances optimized for database workloads Akshay Shah Gurmeet Goindi Oracle

Where IT perceptions are reality. Test Report. OCe14000 Performance. Featuring Emulex OCe14102 Network Adapters Emulex XE100 Offload Engine

SUN ORACLE EXADATA STORAGE SERVER

The MAX5 Advantage: Clients Benefit running Microsoft SQL Server Data Warehouse (Workloads) on IBM BladeCenter HX5 with IBM MAX5.

Design and Implementation of a Storage Repository Using Commonality Factoring. IEEE/NASA MSST2003 April 7-10, 2003 Eric W. Olsen

Scaling 10Gb/s Clustering at Wire-Speed

JVM Performance Study Comparing Oracle HotSpot and Azul Zing Using Apache Cassandra

Mizan: A System for Dynamic Load Balancing in Large-scale Graph Processing

Abstract. 1. Introduction

VMWARE WHITE PAPER 1

Performance Evaluation of Linux Bridge

Capacity Planning Process Estimating the load Initial configuration

Figure 1. The cloud scales: Amazon EC2 growth [2].

HP ProLiant BL660c Gen9 and Microsoft SQL Server 2014 technical brief

Minimum Hardware Configurations for EMC Documentum Archive Services for SAP Practical Sizing Guide

Quantum StorNext. Product Brief: Distributed LAN Client

Liferay Portal Performance. Benchmark Study of Liferay Portal Enterprise Edition

Accelerating Business Intelligence with Large-Scale System Memory


APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM

OpenFlow Based Load Balancing

Unprecedented Performance and Scalability Demonstrated For Meter Data Management:

Rohde & Schwarz R&S SITLine ETH VLAN Encryption Device Functionality & Performance Tests

White Paper February IBM InfoSphere DataStage Performance and Scalability Benchmark Whitepaper Data Warehousing Scenario

Testing Network Virtualization For Data Center and Cloud VERYX TECHNOLOGIES

LCMON Network Traffic Analysis

THE EXPAND PARALLEL FILE SYSTEM A FILE SYSTEM FOR CLUSTER AND GRID COMPUTING. José Daniel García Sánchez ARCOS Group University Carlos III of Madrid

Experimental Evaluation of Horizontal and Vertical Scalability of Cluster-Based Application Servers for Transactional Workloads

Understanding the Benefits of IBM SPSS Statistics Server

Resource Allocation Schemes for Gang Scheduling

Chapter 1 - Web Server Management and Cluster Topology

A High-Performance Storage and Ultra-High-Speed File Transfer Solution

An Oracle White Paper August Oracle VM 3: Server Pool Deployment Planning Considerations for Scalability and Availability

Accelerating High-Speed Networking with Intel I/O Acceleration Technology

Best Practices for Optimizing SQL Server Database Performance with the LSI WarpDrive Acceleration Card

Report Paper: MatLab/Database Connectivity

Understanding Neo4j Scalability

AN EFFICIENT LOAD BALANCING APPROACH IN CLOUD SERVER USING ANT COLONY OPTIMIZATION

Load Balancing Mechanisms in Data Center Networks

Scalable Run-Time Correlation Engine for Monitoring in a Cloud Computing Environment

DNA. White Paper. DNA White paper Version: 1.08 Release Date: 1 st July, 2015 Expiry Date: 31 st December, Ian Silvester DNA Manager.

KEYWORD SEARCH OVER PROBABILISTIC RDF GRAPHS

TIBCO Live Datamart: Push-Based Real-Time Analytics

SOLUTION BRIEF: SLCM R12.8 PERFORMANCE TEST RESULTS JANUARY, Submit and Approval Phase Results

Distance Degree Sequences for Network Analysis

Performance Baseline of Oracle Exadata X2-2 HR HC. Part II: Server Performance. Benchware Performance Suite Release 8.4 (Build ) September 2013

Transcription:

Experimental Evaluation of the Performance and Scalability of a Dynamic Distributed Federated Database Graham Bent, Patrick Dantressangle, Paul Stone, David Vyvyan, Abbe Mowshowitz Abstract This paper presents the results of an experimental evaluation of the performance of a dynamic distributed federated database (DDFD). Databases of varying sizes up to 125 nodes, have been evaluated in a test environment consisting of a 22 IBM Blade Servers plus 3 Logical Partitions of an IBM System P Server. The results confirm that by growing databases, using biologically inspired principles of preferential attachment, that the resulting query execute time is a function of the number of nodes (N) and the network latency (T L ) between nodes and scales as O(T L logn). Distributing data across all the nodes of the database and performing queries from any single node also confirms that, where network bandwidth is not a constraint, the data fetch time is linear with number of records returned. Index Terms computer network performance, computer networks, database systems, dynamic distributed databases, Gaian database, dynamic graph construction, mobile ad hoc networks I. INTRODUCTION DYNAMIC Distributed Federated Databases (DDFD) combine the principles of large distributed databases [1], Manuscript received May 8, 29. Research was sponsored by the U.S. Army Research Laboratory and the U.K. Ministry of Defence and was accomplished under Agreement Number W911NF-6-3-1. The views and conclusions contained in this document are those of the author(s) and should not be interpreted as representing the official policies, either expressed or implied, of the U.S. Army Research Laboratory, the U.S. Government, the U.K. Ministry of Defence or the U.K. Government. The U.S. and U.K. Governments are authorized to reproduce and distribute reprints for Government purposes notwithstanding any copyright notation hereon. Graham Bent is with IBM, Emerging Technology Services, Hursley Park, MP137, Winchester, Hants. SO21 2JN, UK (e-mail: GrahamBent@uk.ibm.com). Patrick Dantressangle is with IBM, Emerging Technology Services, Hursley Park, MP137, Winchester, Hants. SO21 2JN, UK (e-mail: DANTRESS@uk.ibm.com). Paul Stone is with IBM, Emerging Technology Services, Hursley Park, MP137, Winchester, Hants. SO21 2JN, UK (e-mail: STONEPD@uk.ibm.com). David Vyvyan is with IBM, Emerging Technology Services, Hursley Park, MP137, Winchester, Hants. SO21 2JN, UK (e-mail: DRVYVYAN@uk.ibm.com). Abbe Mowshowitz is with the Department of Computer Science, The City College of New York (CUNY), New York, NY 131, USA (212-65-6161; fax: 212-65-6248; e-mail: abbe@ cs.ccny.cuny.edu). database federation [2], network topology [3] and the semantics of data [4]. The resulting information management architecture is ideally suited to a range of applications that are required in support of the type of ad-hoc networked operations being considered by the ITA. One challenge in supporting such ad-hoc networked operations is that of providing efficient access to distributed sources of data, where the applications requiring the data do not have knowledge of the location of the data within the network. To address this challenge the DDFD adopts a Store Locally Query Anywhere mechanism (SLQA), which provides for global access to data from any node in the database network. The DDFD also permits data from heterogeneous data sources to be accessed as a single federated database, enabling applications to perform database queries that can combine data from across these sources. Data access can be controlled using policy based mechanisms such as those being studied in Technical Area 2 of the ITA and this leads to new models of the management of policy based access control that are discussed in [5]. Our Previous work on DDFD has been focused on the theoretical characteristics of this type of database and has shown how biologically inspired principles of network growth, combined with graph theoretic methods, can be used to predict the expected query performance characteristics [6,7,8]. In [7] we also described an implementation of a DDFD which we termed the GaianDB. The GaianDB uses a principle of preferential attachment [9,1] to control how new database nodes are added to the network of existing database nodes. This attachment mechanism should result in a connected graph structure that has predictable properties that directly impact on database query performance. The purpose of this paper is to demonstrate that this is indeed the case. In the GaianDB, queries for data are performed from any node in the database network and are propagated using a controlled flood mechanism. Nodes that can return results in response to receiving a query return results to the querying node over the set of shortest path(s). The query performance can therefore be measured in terms of the time to perform the flood query (execute time) plus the time to fetch the actual results (fetch time) along these shortest paths. In this paper we investigate the actual performance characteristics of the GaianDB implementation of a DDFD, for database networks of various

sizes up to 125 nodes and compare this with the theoretical predictions. II. THEORETICAL PREDICTIONS The predicted efficiency of this network database in terms of execution and fetch time is in part determined by how the nodes of the database are connected together. We consider the database network as a connected graph G with each database node as a graph vertex. The eccentricity ε(ν i ) of a graph vertex ν i is the maximum graph distance between ν i and any other vertex ν j of G i.e. the "longest shortest path" between any two graph vertices (ν i, ν j ) of the graph. The maximum eccentricity is the graph diameter G d. The minimum graph eccentricity is the graph radius G r. We define the size of G as the number of vertices N and the number of connections at each vertex as the vertex degree δ i (1 < i N). Since we propagate the query to every node in the database network, our approach to minimise query execution time is to minimise ε(ν i ) of G whilst retaining some control over the distribution of δ. Clearly a trivial approach to minimising ε(ν i ) is to have all database nodes connect to all other nodes directly. However this approach would not scale for large N, since it would require N connections per node. Our initial approach to the problem was to consider a network topology that is formed as a scale free random graph [9]. Scale free graphs exhibit a number of desirable properties such as a predictable bound on the graph diameter and on the distribution of vertices and edges. We have also investigated ways of constructing the network through a process of graph combining operations [8], which seek to minimise the resulting network diameter and minimise the vulnerability of the network to attack from the removal of vertices and edges. The dynamic construction of such networks requires that when a new vertex v n is added to the graph m new edges are added one at a time to the existing graph. One approach to the creation of scale-free random graphs is to add edges e ni from vertex v n to an existing vertex v i with a probability proportional to the degree of v i. This is termed preferential attachment. In a previous paper we reported that according to Bollobas & Riordan (24) [11], if m = 1 the resulting network has a graph diameter that scales as O{log N}, where N is the number of vertices in the network. Whilst for m >1 (typically m =2 or 3) the upper bound on the graph diameter scales as O{log(N) / log log(n)}. Whilst a preferential attachment strategy of this type does result in a small graph diameter, it does so with a vertex distribution P(δ) that exhibits a power law distribution of the form: P(δ) = C δ -τ (1) Where C and τ are constants. This type of distribution results in a relatively few vertices with high degree and many vertices with low degree. Using unconstrained preferential attachment would therefore still require some database nodes to support large numbers of connections which is not desirable both in terms of supporting connections to other nodes and in having to process high volumes of queries and routing data through these nodes. It has also been shown by Albert, Jeong and Barabasi [12] that by the removal of the high degree nodes the network rapidly fragments leaving it susceptible to attack. We therefore investigate a dynamic construction strategy that uses preferential attachment but where the maximum number of connections at any vertex is limited to some value MAX[δ]. In this case we find that for the database networks that we investigate in this study (typically N<2) that the dynamic construction of networks in this way results in graphs in which the maximum graph diameter scales as A + B ln(n), where A and B are constants. III. SIMULATION RESULTS To determine the effect of our dynamic graph construction strategy diameter we performed a Monte Carlo simulation to determine the maximum graph diameter and minimum graph radius for graphs of varying sizes between 1 and 125 nodes for different values of the cut off parameter MAX[δ] and the number of edges added for each new vertex m. In this paper we present the results for MAX[δ] = 1 and m = 2, i.e. each new vertex connects to 2 existing vertices with the proviso that no vertex may exceed 1 connections. Figure 1 illustrates the results of the simulation. Graph Dimension (edges) 1 9 8 7 6 5 4 3 2 1 Radius Diameter (1+e)ln(N) (1-e)ln(N) 2 4 6 8 1 Number of Nodes (N) Figure 1. Measured and predicted bounded graph diameter and radius using preferential attachment with m=2, MAX[δ] = 1 and e=.24. The results show that the bounds on graph diameter and radius scale logarithmically. Interestingly, they obey the following relationships: G d = nint [ (1+e) * ln(n) ] (2) G r = nint [ (1-e) * ln(n) ] (3) Where e is a constant (=.24 in Figure 2), nint is the nearest

BladeCenter 1 2 3 4 5 6 7 8 9 1 11 12 13 14 BladeCenter 1 2 3 4 5 6 7 8 9 1 11 12 13 14 integer. This scaling is similar to that predicted in [11] for m = 1 and large N but the reason for this scaling for graphs of smaller size requires further investigation. IV. EXPERIMENTAL TEST ENVIRONMENT The Test environment is shown in Figure 2. The environment comprises 22 IBM Blade Servers distributed over two Blade Centres, plus 3 Logical Partitions of an IBM System P Server. These were used to host the database nodes. An additional Blade Server was used to configure the network of GaianDB Nodes, to inject queries, and to measure the performance of the resulting distributed database network. These machines were connected by a Gigabit Ethernet LAN as shown in Figure 2. IBM Blade Center 1 9 Servers IBM Blade Center 3 13 Servers up to 41 GaianDB nodes giving a maximum of 125 nodes in the whole environment. Each node runs in its own Java Virtual Machine (JVM) with 64 Mb of memory allocated to each JVM and each configured on a separate TCP/IP port. GaianDB s of various sizes were grown using the connection method described in [7]. In this method, each time a node is added to the network it generates an IP multicast which existing nodes respond to by offering connections to the joining node. The nodes that have the highest fitness respond preferentially faster and the joining node accepts the first two connections to be offered. The fitness measure used in the series of experiments presented is based on the number of connections that a node already has, up to a limit of 1 nodes when the fitness function drops to zero. V. EXPERIMENTAL RESULTS We investigated the query performance of a GaianDB for networks of varying size, up to 125 nodes using the test harness. Figure 3 shows an example network configuration of 125 nodes, created using preferential attachment with MAX[δ] = 1 and m = 2. Gigabit Ethernet 57 IBM p57 System P Server 3 Logical Partitions IBM Blade Server (Load Injection) Figure 2. Experimental Test Harness comprising 22 blades and an IBM P- Series server Blade Center 1 comprised 9 Blade Servers each having 2 hyper-threaded 32 GHz processors and 5 Gigabytes of RAM. Blade Center 3 comprised 13 Blade Servers, each of which has 2 hyper-threaded 38 GHz processors and 5 Gigabytes of RAM. The Operating System installed on all blades is Red Hat Enterprise Linux AS release 4. In addition 3 Logical Partitions (LPAR) were configured on the IBM System P Server. Each LPAR has 4 power 5 processors (19 Ghz speed) and over 2 Gb of RAM. The Operating System installed is AIX 5.3. Our GaianDB implementation is based on the Java open source Derby database [13]. The flood query propagation from any node to its connected neighbours is done in parallel. Data fetch operations use a records buffer which is shared between all connections (execution threads) to prevent blocking on database i/o batch-fetch operations. This optimises the throughput of each database node. Each Server in the Test Environment was configured to run Figure 3. Illustration of a 125 Node DDFD the size of vertex indicates the vertex degree and the numbers are the unique node identifiers. In these investigations query performance was measured in terms three parameters: A) the time to propagate a query to all of the nodes in the database, as a function of the number of database nodes (N); B) the time to fetch data from across the nodes of the database to a single node, as a function of the volume of data; C) the time to fetch data from across the database to multiple nodes concurrently querying, as a function of the number of nodes concurrently querying.

A. Query Propagation Time When a query is performed at any node in the database network the query is propagated to the immediately connected nodes, which in turn propagate the query to their respective neighbours. If the same query arrives at a node via multiple paths then only the first instance of the query is propagated. This means that the query propagates one extra hop beyond the graph eccentricity of the node from where the query was injected. Figure 4 illustrates this effect for a node with a vertex degree of 9 and an eccentricity ε(ν) =1 where each node returns 125 rows of data. We refer to the extra hops that result as cross-talk. Various strategies for reducing the cross-talk are currently being investigated. Figure 5 for networks of varying size up to 125 nodes. Also shown in Figure 5 are the measured average execution times, obtained by querying records from the same node in each database configuration, and the predicted execution time, calculated by measuring the eccentricity of the query node in each database configuration. The result shows that this selected node is a central node for some configurations but is never a peripheral node. Most importantly the results shows that query execution time does follow expected logarithmic scaling i.e. O(logN) and that: T ν = nint[1 + B * ln(n) * (T L + T p ) ] (7) where the constant B depends on ε(ν). Individual Query Time Scalability 592.9 539. 485.1 431.2 Query Time (ms) 377.3 323.4 269.5 215.6 161.7 17.8 53.9 Average Query Time Predicted Max (Diameter+1) Predicted Min (Radius+1) Queried node eccentricity+1 Figure 4. Query propagation for a single layer showing effect of cross-talk on path length. Analysis of the network structure was performed each time nodes were added and for each configuration the eccentricity from every node was measured and the graph radius and diameter determined. To investigate the effect of the controlled flood query in each configuration, a fixed delay of 5ms was introduced prior to each node executing a query. This time can be considered to be the equivalent of a network latency time T L between the database nodes. In addition there is a measured process delay (T p ) of 3.9ms for each GaianDB node to process the query. Thus the predicted maximum (T max) and minimum times (T min) to execute the flood query are: T max = (G d + 1)(T L + T p ) (4). 2 4 6 8 1 12 Number of Nodes Figure 5. Average Query Execute Time with T L=5ms process delay T p= 3.9ms for database size up to 125 nodes. Figure 6 shows the individual measured execution times, for databases up to 1 nodes. This shows variability in the process time T p with the majority of times clustered around the predicted value based on the query node eccentricity and then a number of outliers with higher processing time. Analysis of the higher values show that these are highly correlated with garbage collection events in the Java Virtual Machines that run the individual Gaian Database nodes. The results confirm that, under conditions where network bandwidth is not a constraining factor, the GaianDB is highly scalable, with a predictable query execution time. T min = (G r + 1)(T L + T p ) (5) with the predicted execute query time from any node (T ν ) being: T ν = (ε(ν) + 1)(T L + T p ) (6) These predicted maximum and minimum times are shown in (3

Query Time (ms) 323.4 269.5 215.6 161.7 17.8 53.9 Individual Query Time Scalability Individual Query Times Average Query Time Queried node eccentricity+1 The result obtained from querying a single node, with no index, also show a linear fetch time with an average of 1.7µS per row. Above 18 records being fetched, querying from a single node is faster than the distributed database but below this value the distributed query is faster due to the smaller amounts of data being fetched from each individual node because smaller table scans are required on each node. With indexing, the fetch time from a single node drops dramatically below 2 thousand records and is always faster than the distributed database with no indexing. An interesting result, based on this observation, is that when fetching relatively few records, the distributed database acts as an index itself, cancelling the requirement to index the smaller tables on each node. 5 1 Number of Nodes Figure 6 Individual Query Execute Time with T L=5ms process delay T p= 3.9ms for database size up to 2 nodes. B. Data Fetch Time To determine the time to fetch data from across the distributed database network each node of a 125 node database was configured to store 125 rows of data with no index on the database tables. SQL queries were then launched from a single node to select the same number of rows from all nodes varying from 1 row per node to 125 rows per node (i.e. 125 to 1.5M rows). Further measurements were performed to determine the time taken to fetch the same number of rows from a database with just one node containing all 1.5M rows both with and without an index. The results are presented in Figure 7 which shows that, following the initial execution time (in this case 485ms), the fetch time for the 125 node database is linear with the number of rows selected with an average fetch time of 4.2µS per row. Time (milliseconds) 6 5 4 3 2 1 Total Query Time 125 nodes Total Query Time 1 node Total Qury Time 1 node indexed Linear (Total Query Time 125 Query time to fetch 1 million rows y = 1.7383x + 678.141 y = 4.217x + 349.251 C. Concurrent Query Time To demonstrate the effect of concurrent queries in the experimental test bed we investigate both the effect on query execution time and data fetch time. To obtain these measurements it was found to be necessary to restrict the size of the database network to 5 nodes each storing 124 records. Larger networks were affected by processor contention, as an increasing number of Java objects are created per server when performing concurrent queries and this results in increased levels of garbage collection. This is an issue with the sharing of database nodes on the same processor and would not be an issue where nodes are running on individual processors. To determine query execution time (i.e. querying records), queries were injected into the database at randomly chosen nodes and the query was then repeated 3 times concurrently on all chosen nodes. Figure 8 shows the average execution time for up to 4 concurrent querying nodes being injected at randomly selected nodes in the database. Time per query (milliseconds) 7 6 5 4 3 2 1 Concurrent query execute times Average Exec Time Poly. (Average Exec Time) 5 1 15 2 25 3 35 4 Number of querying nodes 2 4 6 8 1 12 Total Rows fetched Figure 7 Query Fetch Time and Execute time as a function of the number of rows fetched per node from a 125 node database. Figure 8 Query execution times as a function of the number of concurrent querying nodes for a database of 5 nodes. The predicted execution times from equations (4) and (5) where for the 5 node Graph G r = 6 and G d = 8 and Tp =

4mS, Tl = 5 ms, giving a range from 378 486ms. Below 8 concurrent queries the average execution time falls within this range. Detailed analysis of the results shows that above this level concurrent queries increasing amounts of Java garbage collection occur increasing the average value and hence the measured execution timing increase above that predicted from network propagation time alone. querying node. On average this will be a linear increase as the number of rows fetched increases but it will always be less than fetching the extra number of records from a single node (red line in figure 1). Further work is required to quantify this effect in detail. Query Fetch times To determine query fetch time the same randomly selected nodes were used with concurrent queries selecting either all 125 rows or 1 rows from all 5 nodes in the network. The results are shown in Figure 9 for the two cases and confirm that the average query time is a linear function of the number of concurrent queries, which is proportional to amount of data being fetched across the network. 2 Concurrent Fetch times query time (microseconds) Millions 16 14 12 1 8 6 y = 4.1141x + 349251 4 y =.5893x + 3E+6 Concurrent Querys 125 Rows per node, 5 nodes, up to 4 querys Concurrent Querys 1 Results per node, 5 nodes, up to 4 querys 18 Average Query Time 125 Results each node 2 y =.6454x + 61669 Single Query - up to 125 row s from 125 nodes 16 Average Query Time 1 Results each node 14 2 4 6 8 1 12 14 16 18 2 Rows Retrieved Millions query time (microseconds) 12 1 8 y = 322x + 3E+6 Figure 1 Query fetch time as a function of the number of concurrent rows of data being retrieved from across a 5 node database. Also shown for comparison are the results of fetching up to 1 million rows querying from a single database node reproduced from Figure 7. 6 4 2 y = 32341x + 61419 5 1 15 2 25 3 35 4 concurrent querys Figure 9 Query fetch time as a function of the number of concurrent queries for a 5 node database. Results are shown for concurrently fetching 125 rows from each node and 1 rows from each node. This result can be better understood by considering the average query fetch time as a function of the total number of rows being fetched across the network as a whole. This is presented in Figure 1 for a single node case and for the two concurrent query cases and then for the concurrent query cases respectively. When selecting 5 thousand records from the single node all of the data flows back to the node along the shortest paths. On average each of the nearest neighbours processes this number of rows divided by the average vertex degree. Similarly the second neighbours (on the next step out) have a further reduction in the number of rows to be processed and so on, out to the furthest neighbours. If the amount of data being brought back to the same querying node is increased, then all the workload of all nodes increase in proportion to the increase in data being fetched. However, each time a new concurrent query is added, the workload on each node increases in proportion to the relative position of the node to the new The results show that when querying from a single node, retrieving more data takes longer than it does to retrieve it from a collection of nodes in the network. This demonstrates and quantifies the benefit of parallel data fetching VI. CONCLUSION AND FUTURE WORK This paper has presented the results from an experimental evaluation of the performance and scalability of a Dynamic Distributed Federated Database. The results have shown that by considering the database as a connected graph that the database performance in terms of query execution and query fetch times can be predicted. Dynamic construction of a graph using preferential attachment with a limit on the vertex degree has shown both by simulation and experiment that the query execution time scales as O(T L logn) and that query fetch time for data distributed across the database network is linear with the number of records returned. Concurrent query fetch time has been shown to be proportional to the total number of rows retrieved from across the distributed database. The results confirm that this type of distributed database is highly scalable and that databases comprising very large numbers of nodes could be constructed with little impact on query performance. Further work is required to assess the impact of bandwidth constraints, consider different network construction algorithms and to provide a more robust mathematical analysis of concurrent query performance.

REFERENCES [1] J. Becla, K. T Lim. Report from 1st Workshop on Extremely Large Databases, Held at Stanford Linear Accelerator Centre, Menlo Park, CA, USA, October 25, 27. [2] L. M. Haas, E. T. Lin and M. A. Roth, Data integration through database federation, IBM Systems Journal, Volume 41, Number 4, 22. [3] M. Newman, The structure and function of complex networks, SIAM Review, 45, 167 256, 23. [4] N. Shadbolt, W Hall,T Berners-Lee "The Semantic Web Revisited" IEEE Intelligent Systems 1541-1672/6 26 [5] S.Carlo, D. Wood, P.Zerfos, D.Vyvyan, P.Dantressangle, G.Bent. Technologies for Federation and Interoperation of Coalition Networks, The 12th International Conference on Information Fusion, Seattle, July 29. [6] A. Mowshowitz and Graham Bent. Formal properties of distributed databse networks, ACITA, September 27. [7] G. Bent, P. Dantressangle, D. Vyvyan, A. Mowshowitz and V. Mitsou. A dynamic distributed federated database. Second Annual Conference of ITA, Imperial College, London, September 28. [8] A. Mowshowitz, V. Mitsou and Graham Bent, Models of Network Growth by Combination, Second Annual Conference of ITA, Imperial College, London, September 28. [9] M. Newman, S Strogratz, D Watts Random graphs with arbitrary degree distributions and their applications Physical Review E, Volume 64, 21. [1] L. Adamic, R Lukose, A Puniyani, B. Huberman. Search in power-law networks Physical Review E, Volume 64, 21. [11] B. Bollobas, and O. Riordan. The diameter of a scale free random graph, Combinatorika 24 (1), pp. 5-34, 24. [12] R. Albert, H, Jeong, A.-L Barabasi. Error and attack tolerance of complex networks Nature, Vol 46, July 2. [13] Derby Database http://db.apache.org/derby/ (last accessed 8rd May 29).