Difference between revisions of "Modeling and Caching of P2P Traffic"
Line 27: | Line 27: | ||
* O. Saleh and M. Hefeeda, [http://www.cs.sfu.ca/~mhefeeda/Papers/icnp06.pdf Modeling and Caching of Peer-to-Peer Traffic] , In Proc. of IEEE International Conference on Network Protocols (ICNP'06), pp. 249--258, Santa Barbara, CA, November 2006. (Acceptance: 14%) | * O. Saleh and M. Hefeeda, [http://www.cs.sfu.ca/~mhefeeda/Papers/icnp06.pdf Modeling and Caching of Peer-to-Peer Traffic] , In Proc. of IEEE International Conference on Network Protocols (ICNP'06), pp. 249--258, Santa Barbara, CA, November 2006. (Acceptance: 14%) | ||
− | == Software == | + | == pCache Software == |
+ | === Overview === | ||
We have designed and implemented a proxy cache for P2P traffic, which we call | We have designed and implemented a proxy cache for P2P traffic, which we call | ||
pCache. pCache is to be deployed by autonomous systems (ASes) or ISPs that | pCache. pCache is to be deployed by autonomous systems (ASes) or ISPs that | ||
Line 55: | Line 56: | ||
This is important for the whole P2P network, because reduced connectivity could | This is important for the whole P2P network, because reduced connectivity could | ||
lead to decreased availability of peers and the content stored on them. | lead to decreased availability of peers and the content stored on them. | ||
+ | |||
+ | |||
+ | === Detailed Design === | ||
We are continuously improve our pCache implementation. The latest | We are continuously improve our pCache implementation. The latest | ||
Line 60: | Line 64: | ||
https://cs-svn.cs.surrey.sfu.ca/nsl/browser/p2pcache . | https://cs-svn.cs.surrey.sfu.ca/nsl/browser/p2pcache . | ||
− | + | ||
+ | === Browse and Download Code === | ||
+ | |||
+ | * [https://cs-svn.cs.surrey.sfu.ca/nsl/browser/p2pcache Browse our pCache Source Code] | ||
+ | |||
+ | * Download pCache Code here. Installation Streps. | ||
+ | |||
+ | === Related Caching Systems and Commercial Products === | ||
+ | |||
+ | * | ||
+ | |||
+ | * | ||
+ | |||
+ | |||
== P2P Traffic Traces == | == P2P Traffic Traces == | ||
* If you are interested in the traces, please send us an email along with a brief description of your research and the university/organization you are affiliated with. Brief description of our traces can be found in this [http://nsl.cs.surrey.sfu.ca/projects/p2p/traces_readme.txt readme.txt] file. | * If you are interested in the traces, please send us an email along with a brief description of your research and the university/organization you are affiliated with. Brief description of our traces can be found in this [http://nsl.cs.surrey.sfu.ca/projects/p2p/traces_readme.txt readme.txt] file. |
Revision as of 14:45, 4 July 2008
Peer-to-peer (P2P) file sharing systems generate a major portion of the Internet traffic, and this portion is expected to increase in the future. The sheer volume and expected high growth of P2P traffic have negative consequences, including: (i) significantly increased load on the Internet backbone, hence, higher chances of congestion; and (ii) increased cost on Internet Service Providers (ISPs), hence, higher service charges for all Internet users.
A potential solution for alleviating those negative impacts is to cache a fraction of the P2P traffic such that future requests for the same objects could be served from a cache in the requester’s autonomous system (AS). Caching in the Internet has mainly been considered for web and video streaming traffic, with little attention to the P2P traffic. Many caching algorithms for web traffic and for video streaming systems have been proposed and analyzed. Directly applying such algorithms to cache P2P traffic may not yield the best cache performance, because of the different traffic characteristics and caching objectives. For instance, reducing user-perceived access latency is a key objective for web caches. Consequently, web caching algorithms often incorporate information about the cost (latency) of a cache miss when deciding which object to cache/evict. Although latency is important to P2P users, the goal of a P2P cache is often focused on the ISP’s primary concern; namely, the amount of bandwidth consumed by large P2P transfers. Consequently, the byte hit rate, i.e., the number of bytes served from the cache to the total number of transfered bytes, is more important than latency.
We are developing caching algorithms that capitalize on the P2P traffic characteristics. We are also exploring the potential of cooperative caching of P2P traffic, where multiple caches deployed in different ASes (which could have a peering relatioship) or within a large AS (e.g., a Tier-1 ISP) cooperate to serve traffic from each other`s clients. Cooperation reduces the load on expensive inter-ISP links. Furthermore, we are implementing all of our algorithms and ideas in a prototype caching system.
People
- Cheng-Hsin Hsu (PhD Student)
- Behrooz Noorizadeh (MSc Student, Graduated Fall 2007)
- Osama Saleh (MSc Student, Graduated Fall 2006)
Publications
- M. Hefeeda and O. Saleh, Traffic Modeling and Proportional Partial Caching for Peer-to-Peer Systems, IEEE/ACM Transactions on Networking, Accepted October 2007.
- M. Hefeeda and B. Noorizadeh, On the Benefits of Cooperative Caching for Peer-to-Peer Traffic, Submitted for publications, 2008.
- O. Saleh and M. Hefeeda, Modeling and Caching of Peer-to-Peer Traffic , In Proc. of IEEE International Conference on Network Protocols (ICNP'06), pp. 249--258, Santa Barbara, CA, November 2006. (Acceptance: 14%)
pCache Software
Overview
We have designed and implemented a proxy cache for P2P traffic, which we call pCache. pCache is to be deployed by autonomous systems (ASes) or ISPs that are interested in reducing the burden of P2P traffic. pCache would be deployed at or near the gateway router of an AS. At a high-level, a client participating in a particular P2P network issues a request to download an object. This request is intercepted by pCache. If the requested object or parts of it are stored in the cache, they are served to the requesting client. This saves bandwidth on the external (expensive) links to the Internet. If a part of the requested object is not found in the cache, the request is forwarded to the P2P network. When the response comes back, pCache may store a copy of the object for future requests from other clients in its AS. Clients inside the AS as well as external clients are not aware of pCache, i.e., pCache is fully-transparent in both directions.
Our C++ implementation of pCache has more than 11,000 lines of code. We have rigorously validated and evaluated the performance of pCache as well as its impacts on ISPs and clients. Our experimental results show that pCache benefits both the clients and the ISP in which the cache is deployed, without hurting the performance of the P2P networks. Specifically, clients behind the cache achieve much higher download speeds than other clients running in the same conditions without the cache. In addition, a significant portion of the traffic is served from the cache, which reduces the load on the expensive WAN links for the ISP. Our results also show that the cache does not reduce the connectivity of clients behind it, nor does it reduce their upload speeds. This is important for the whole P2P network, because reduced connectivity could lead to decreased availability of peers and the content stored on them.
Detailed Design
We are continuously improve our pCache implementation. The latest development branch can be browsed on our subversion page at https://cs-svn.cs.surrey.sfu.ca/nsl/browser/p2pcache .
Browse and Download Code
- Download pCache Code here. Installation Streps.
Related Caching Systems and Commercial Products
P2P Traffic Traces
- If you are interested in the traces, please send us an email along with a brief description of your research and the university/organization you are affiliated with. Brief description of our traces can be found in this readme.txt file.