31 research outputs found

    Cache policies for cloud-based systems: To keep or not to keep

    Full text link
    In this paper, we study cache policies for cloud-based caching. Cloud-based caching uses cloud storage services such as Amazon S3 as a cache for data items that would have been recomputed otherwise. Cloud-based caching departs from classical caching: cloud resources are potentially infinite and only paid when used, while classical caching relies on a fixed storage capacity and its main monetary cost comes from the initial investment. To deal with this new context, we design and evaluate a new caching policy that minimizes the overall cost of a cloud-based system. The policy takes into account the frequency of consumption of an item and the cloud cost model. We show that this policy is easier to operate, that it scales with the demand and that it outperforms classical policies managing a fixed capacity.Comment: Proceedings of IEEE International Conference on Cloud Computing 2014 (CLOUD 14

    Phosphite : Incitation à la collaboration pour la vidéo à la demande en P2P

    Get PDF
    International audienceNous proposons Phosphite, un mĂ©canisme d'incitation qui vise Ă  assurer que les pairs d'un systĂšme de vidĂ©o Ă  la demande dĂ©dient une partie de leur bande passante Ă  du tĂ©lĂ©chargement dans le dĂ©sordre. Sans incitation, les pairs Ă©goĂŻstes vont tenter de maximiser leur bĂ©nĂ©fice en tĂ©lĂ©chargeant le contenu dans l'ordre, ce qui va Ă  l'encontre de l'intĂ©rĂȘt gĂ©nĂ©ral. Les derniers blocs tĂ©lĂ©chargeables ayant alors tendance Ă  disparaĂźtre du systĂšme, le serveur devra souvent rĂ©introduire ces derniers blocs. Phosphite permet de s'assurer que les pairs dĂ©dient une partie de leur bande passante Ă  du tĂ©lĂ©chargement dans le dĂ©sordre au bĂ©nĂ©fice de la communautĂ©. Ainsi, tous les blocs restent disponibles avec une probabilitĂ© supĂ©rieure Ă  98% alors que sans incitation les derniers blocs sont disponibles avec une probabilitĂ© infĂ©rieure Ă  50%

    Repairing Multiple Failures with Coordinated and Adaptive Regenerating Codes

    Get PDF
    Accepted as a Regular Paper (6 pages) at NetCod 2011 : The 2011 International Symposium on Network Coding, Honk-Kong, July 2011. Also available on arXiv: http://arxiv.org/abs/1102.0204Erasure correcting codes are widely used to ensure data persistence in distributed storage systems. This paper addresses the repair of such codes in the presence of simultaneous failures. It is crucial to maintain the required redundancy over time to prevent permanent data losses. We go beyond existing work (i.e., regenerating codes by Dimakis et al.) and propose coordinated regenerating codes allowing devices to coordinate during simultaneous repairs thus reducing the costs further. We provide closed form expressions of the communication costs of our new codes depending on the number of live devices and the number of devices being repaired. We prove that deliberately delaying repairs does not bring additional gains in itself. This means that regenerating codes are optimal as long as each failure can be repaired before a second one occurs. Yet, when multiple failures are detected simultaneously, we prove that our coordinated regenerating codes are optimal and outperform uncoordinated repairs (with respect to communication and storage costs). Finally, we define adaptive regenerating codes that self-adapt to the system state and prove they are optimal.Les codes correcteurs d'effacements sont largement utilisĂ©s pour assurer la persistance des donnĂ©es dans les systĂšmes de stockage distribuĂ©s. Ce rapport s'intĂ©resse Ă  la rĂ©paration de tels codes dans le cas de dĂ©faillances simultanĂ©es. Cette maintenance est cruciale afin de prĂ©venir les pertes de donnĂ©es permanentes. Nous Ă©tendons les travaux existants (codes rĂ©gĂ©nĂ©rants par Dimakis et al.) et proposons des codes rĂ©gĂ©nĂ©rants coordonnĂ©s qui permettent aux Ă©lĂ©ments du systĂšmes de se coordonner durant les rĂ©parations de dĂ©faillances simultanĂ©es afin de rĂ©duire les coĂ»ts de rĂ©paration. Nous fournissons une forme close des coĂ»ts de communications de nos codes en fonction du nombre d'Ă©quipements vivants et du nombre d'Ă©quipements en cours de rĂ©paration. Nous prouvons, par ailleurs, que retarder les rĂ©parations de façon dĂ©libĂ©rĂ©e n'apporte pas de gains additionnels. Cela signifie que les codes rĂ©gĂ©nĂ©rants sont optimaux tant qu'une premiĂšre dĂ©faillance peut ĂȘtre rĂ©parĂ©e avant une seconde. Cependant, quand de multiples dĂ©faillances sont dĂ©tectĂ©s simultanĂ©ment, nous prouvons que nos codes rĂ©gĂ©nĂ©rants coordonnĂ©s sont optimaux et dĂ©passe les rĂ©parations non coordonnĂ©es (vis Ă  vis des coĂ»ts de stockage et de rĂ©paration). Enfin, nous dĂ©finissons des codes rĂ©gĂ©nĂ©rants adaptatifs qui s'auto-adapte Ă  l'Ă©tat du systĂšme et prouvons qu'ils sont optimaux

    Codage pour l'optimisation de ressources dans les systÚmes distribués

    No full text
    In this thesis, we consider the use of codes in both distributed dissemination systems and self-healing distributed storage systems. Codes have been widely used to build reliable systems out of unreliable and randomly behaving components. Consequently, codes are very useful in distributed systems and outperform non code-based approaches. Yet, in practice, codes are often left aside for various reasons, including because of increased side costs such as the decoding complexity in dissemination systems, and the repair cost in self-healing distributed storage. Overall, we consider the reduction of side costs as a way to make codes more appealing. We propose to adapt a push-based epidemic dissemination protocol to best leverage low complexity fountain codes. Second, we build new low complexity network codes by extending low complexity fountain codes. Finally, we consider the use of network codes as a way to achieve optimal tradeoffs between storage and repair costs.Au sein de cette thÚse, nous étudions l'utilisation de codes dans les systÚmes de diffusion distribués et dans les systÚmes de stockage auto-réparant. Les codes ont été largement utilisés afin de construire des systÚmes fiables à partir d'éléments non fiables. A ce titre, les codes sont trÚs utiles dans les systÚmes distribués et surpassent les approches sans codes. Cependant, dans la pratique, les codes sont souvent délaissés notamment à cause de leurs coûts de décodage élevés et de leurs coûts de réparation plus élevés. Nous étudions la possibilité de réduire les coûts annexes afin de rendre les codes plus attrayants. Ainsi, nous proposons d'adapter un protocole de diffusion épidémique afin de profiter au plus des codes fontaines et nous construisons de nouveaux codes réseau basse complexité. Puis nous étudions l'utilisation de codes réseaux dans les systÚmes de stockage afin d'offrir des compromis optimaux entre coûts de stockage et de réparation

    Codage pour l'optimisation de ressources dans les systÚmes distribués

    No full text
    Au sein de cette thÚse, nous étudions l'utilisation de codes dans les systÚmes de diffusion distribués et dans les systÚmes de stockage auto-réparant. Les codes ont été largement utilisés afin de construire des systÚmes fiables à partir d éléments non fiables. A ce titre, les codes sont trÚs utiles dans les systÚmes distribués et surpassent les approches sans codes. Cependant, dans la pratique, les codes sont souvent délaissés notamment à cause de leurs coûts de décodage élevés et de leurs coûts de réparation plus élevés. Nous étudions la possibilité de réduire les coûts annexes afin de rendre les codes plus attrayants. Ainsi, nous proposons d adapter un protocole de diffusion épidémique afin de profiter au plus des codes fontaines et nous construisons de nouveaux codes réseau basse complexité. Puis nous étudions l utilisation de codes réseaux dans les systÚmes de stockage afin d'offrir des compromis optimaux entre coûts de stockage et de réparation.In this thesis, we consider the use of codes in both distributed dissemination systems and self-healing distributed storage systems. Codes have been widely used to build reliable systems out of unreliable and randomly behaving components. Consequently, codes are very useful in distributed systems and outperform non code-based approaches. Yet, in practice, codes are often left aside for various reasons, including because of increased side costs such as the decoding complexity in dissemination systems, and the repair cost in self-healing distributed storage. Overall, we consider the reduction of side costs as a way to make codes more appealing. We propose to adapt a push-based epidemic dissemination protocol to best leverage low complexity fountain codes. Second, we build new low complexity network codes by extending low complexity fountain codes. Finally, we consider the use of network codes as a way to achieve optimal tradeoffs between storage and repair costs.RENNES-INSA (352382210) / SudocSudocFranceF

    Cache locality is not enough: High-Performance Nearest Neighbor Search with Product Quantization Fast Scan

    Get PDF
    International audienceNearest Neighbor (NN) search in high dimension is an important feature in many applications (e.g., image retrieval, multimedia databases). Product Quantization (PQ) is a widely used solution which offers high performance, i.e., low response time while preserving a high accuracy. PQ represents high-dimensional vectors (e.g., image descriptors) by compact codes. Hence, very large databases can be stored in memory, allowing NN queries without resorting to slow I/O operations. PQ computes distances to neighbors using cache-resident lookup tables, thus its performance remains limited by (i) the many cache accesses that the algorithm requires, and (ii) its inability to leverage SIMD instructions available on modern CPUs. In this paper, we advocate that cache locality is not sufficient for efficiency. To address these limitations, we design a novel algorithm, PQ Fast Scan, that transforms the cache-resident lookup tables into small tables, sized to fit SIMD registers. This transformation allows (i) in-register lookups in place of cache accesses and (ii) an efficient SIMD implementation. PQ Fast Scan has the exact same accuracy as PQ, while having 4 to 6 times lower response time (e.g., for 25 million vectors, scan time is reduced from 74ms to 13ms)

    Efficient and Transparent Wi-Fi Offloading for HTTP(S) POSTs

    No full text
    International audienceWith the emergence of online platforms for (social) sharing, collaboration and backing up, mobile users generate ever-increasing amounts of digital data, such as documents, photos and videos, which they upload while on the go. Cellular Internet connectivity (e.g., 3G/4G) enables mobile users to upload their data but drains the battery of their devices and overloads mobile service providers. Wi-Fi data offloading overcomes the aforementioned issues for delay-tolerant data. However, it comes at the cost of constrained mobility for users, as they are required to stay within a given area while the data is uploaded. The up-link of the broadband connection of the access point often constitutes a bottleneck and incurs waiting times of up to tens of minutes.In this paper, we advocate the exploitation of the storage capabilities of common devices located on the Wi-Fi access point's LAN, typically residential gateways, NAS units or set-top boxes, to decrease the waiting time. We propose Hoop, a system for offloading upload tasks onto such devices. Hoop operates seamlessly on HTTP(S) POSTs, which makes it highly generic and widely applicable; it also requires limited changes on the gateways and on the web servers and none to existing protocols or browsers. Hoop is secure and, in a typical setting, reduces the waiting time by up to a factor of 46.We analyze the security of Hoop and evaluate its performance by correlating mobility traces of users with the position of the Wi-Fi access points of a leading community network (i.e., FON) that relies on major national ISPs. We show that, in practice, Hoop drastically decreases the delay between the time the photo is taken and the time it is uploaded, compared to regular Wi-Fi data offloading. We also demonstrate the practicality of Hoop by implementing it on a wireless router
    corecore