This work demonstrates how we designed, implemented and tested a distributed information sharing system called MCIS in a novel, autonomic network architecture. We modify a legacy framework for multiple attribute, range based DHTs and extend it with autonomic features to comply with the requirements and principles of the Autonomic Network Architecture project and our goals for the MCIS. Our main research focus is on self-optimization through what we call resource adaptation. Resource adaptation is a dynamic calibration scheme where adjustments are made internally in the MCIS in order to cope with varying resource consumption in the system it is running on. We have designed the necessary components for both the MCIS and the resource adaptation extension and made them work together in order to provide a fully autonomous, self-optimizing information sharing system. Measurements in a real system setup are used to evaluate our selfoptimization scheme with respect to throughput and response times. Several machines are configured in a distributed environment where two MCIS nodes cooperate to administer one client inserting data and performing queries. Synthetic load is introduced to consume system resources and consequently invoke the resource adaptation mechanisms within MCIS. The differences between MCIS with and without self-optimization are clearly noticeable in the query responses. MCIS is able to handle a significantly higher number of simultaneous queries in almost all our experiments, and this increased throughput does not affect the response times negatively. Our results show that the resource adaptation is most effective when the number of stored data elements in MCIS is large or when many queries are made simultaneously. We have been able to improve the query success rate from 39% to 96% when 2000 data elements are stored and 100 concurrent queries are made per minute, and from 19% to approximately 90% when 1000 data elements are stored and 250 concurrent queries are made per minute. It is evident that selfoptimization through resource adaptation is a valuable extension to MCIS.
[1]
Srinivasan Seshan,et al.
Mercury: supporting scalable multi-attribute range queries
,
2004,
SIGCOMM '04.
[2]
Andrew S. Tanenbaum,et al.
Distributed systems: Principles and Paradigms
,
2001
.
[3]
Guy Leduc,et al.
Basic Abstractions for an Autonomic Network Architecture
,
2007,
2007 IEEE International Symposium on a World of Wireless, Mobile and Multimedia Networks.
[4]
David R. Karger,et al.
Chord: A scalable peer-to-peer lookup service for internet applications
,
2001,
SIGCOMM '01.
[5]
Srinivasan Seshan,et al.
Colyseus: A Distributed Architecture for Online Multiplayer Games
,
2006,
NSDI.
[6]
Domenico Ferrari,et al.
An Empirical Investigation of Load Indices for Load Balancing Applications
,
1987,
Performance.
[7]
S. Jørgensen.
The art of computer systems performance analysis: Techniques for Experimental Design, Measurement, Simulation and Modeling. Raj Jain. John Wiley, New York. Hardcover, 720 p. U.S. $52.95.
,
1992
.