DHTCache 1
A Distributed Cache Service Carlos E. Gómez carloseg@uniquindio.edu.co University of Quindio – Colombia
María del Pilar Villamil mavillam@uniandes.edu.co University of Los Andes - Colombia
Harold E. Castro hcastro@uniandes.edu.co University of Los Andes – Colombia
Laurent d’Orazio laurent.dorazio@isima.fr University Blaise Pascal – France
Content 2
DHT P2P systems and performance Related work The DHTCache Evaluation Conclusions and future work
Content 3
DHT P2P systems and performance Related work The DHTCache Evaluation Conclusions and future work
DHT P2P systems and performance 4
DHT systems
New generation of P2P systems. Based on Distributed Hash Tables. Object storage and location with scalability and efficiency. Nodes form a overlay network.
DHT applications
Highly sophisticated. More semantics on objects that handle. High volume of data. Highly distributed. Need good performance
DHT Systems - Functional layers 5
DHT Systems - Functional layers 6
DHT Systems - Functional layers 7
DHT Systems - Functional layers 8
DHT Systems - Functional layers 9
Cache 10
Enhancing the performance. Shorter path for retrieval a object. If the system is layered, the cache is present across all layers. Different information can be cached depending on the layer. Emerges the idea of cooperative cache vertical and horizontal.
Motivation and objective 11
It is very difficult to configure a cache since there are
many parameters:
Size. Replacement Policy. Topology of the distributed cache. Resolution protocol.
Is very complex to fine tune, specially when it is dynamic
and distributed.
Content 12
DHT P2P systems and performance
Related work The DHTCache Evaluation Conclusions and future work
Related work 13
Diverse proposals about
distributed caches:
Cache in P2P systems
DHTSystems used as caches of other P2P systems P2P systems that they are implemented inside a cache
Benefits
Adaptable cache services
Reduce the network use Improve the response time Ameliorate popular queries Reduce processing cost
But
Cache configuration? How to provide cooperation between heterogeneous caches?
This information in not clear and it is difficult to reuse these solutions
Content 14
DHT P2P systems and performance Related work
The DHTCache Evaluation Conclusions and future work
The DHTCache (1) 15
Is a distributed cache service placed on top of DHT Systems. It has different types of caches according to the layers of
DHTSystems. It takes into account advanced caching techniques, particularly
cooperative caching. It allows to experiment cache configurations in order to tune
caches according to a specific context.
The DHTCache (2) 16
It supports make decisions about of cache suitable for
developing in a particular DHTApplication. It is transparent for the DHTApplications. It intercepts get and put messages. When a cache miss occurs, it forwards the get message.
Operation of DHTCache 17
Typical Node 18
Functions of the DHTCache 19
Internal functions
Internal functions
The put operation
Record the events
The get operation
Analyzer component
The put operation 20
The put operation 21
The put operation 22
The put operation 23
The get Operation 24
The get Operation 25
The get Operation 26
The get Operation 27
The get Operation 28
The get Operation 29
The get Operation 30
The get Operation 31
Content 32
DHT P2P systems and performance Related work The DHTCache
Evaluation Conclusions and future work
Evaluation 33
Evaluation of the DHTCache is a twofold issue: Non-functional features: Flexibility (plain files). Usage is the same that FreePastry. Portability and scalability.
Capability of a developer to make decisions based on the information provided.
Scenario of the Evaluation 34
A third-party DHTApplication was used Several experiments were performed with different
number of nodes and different cache configurations.
Nodes: 400, 600 and 800. Objects: 1000. Cache size: 200, 400 and 600 objects. Replacement Policy: FIFO and LRU. Cache size was a fixed fraction of the objects within the system.
Results obtained in terms of hit rate.
Results 35
DHTSystem of 600 nodes
DHTSystem of 600 nodes
It is important to note: Developers are responsible for analyzing metrics The results are highly dependent of the DHTApplication
Content 36
DHT P2P systems and performance Related work The DHTCache Evaluation
Conclusions and future work
Conclusions 37
DHTCache is a making decisions tool. DHTCache provides metrics to the developer to facilitate the
identification of one appropriate cache configuration. DHTCache takes into account techniques as cooperative caching. A first prototype of the DHTCache is functional and allows
validating the ideas of this proposal. A first performance evaluation using several cache parameters and
different number of nodes.
Future work 38
The development of cache within the DLS layer and its
interaction with caching within the DSS layer. One easier way to specify the distributed cache topology. One mechanism for automatically defining new metrics
and gathering the log files. New scenarios with more peers and more nodes to probe
the scalability of DHTCache.
DHTCache
Thank you very much! Questions!
Carlos E. G贸mez carloseg@uniquindio.edu.co