91 research outputs found

    Alpha Entanglement Codes: Practical Erasure Codes to Archive Data in Unreliable Environments

    Full text link
    Data centres that use consumer-grade disks drives and distributed peer-to-peer systems are unreliable environments to archive data without enough redundancy. Most redundancy schemes are not completely effective for providing high availability, durability and integrity in the long-term. We propose alpha entanglement codes, a mechanism that creates a virtual layer of highly interconnected storage devices to propagate redundant information across a large scale storage system. Our motivation is to design flexible and practical erasure codes with high fault-tolerance to improve data durability and availability even in catastrophic scenarios. By flexible and practical, we mean code settings that can be adapted to future requirements and practical implementations with reasonable trade-offs between security, resource usage and performance. The codes have three parameters. Alpha increases storage overhead linearly but increases the possible paths to recover data exponentially. Two other parameters increase fault-tolerance even further without the need of additional storage. As a result, an entangled storage system can provide high availability, durability and offer additional integrity: it is more difficult to modify data undetectably. We evaluate how several redundancy schemes perform in unreliable environments and show that alpha entanglement codes are flexible and practical codes. Remarkably, they excel at code locality, hence, they reduce repair costs and become less dependent on storage locations with poor availability. Our solution outperforms Reed-Solomon codes in many disaster recovery scenarios.Comment: The publication has 12 pages and 13 figures. This work was partially supported by Swiss National Science Foundation SNSF Doc.Mobility 162014, 2018 48th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN

    Durability and Availability of Erasure-Coded Storage Systems with Concurrent Maintenance

    Full text link
    This initial version of this document was written back in 2014 for the sole purpose of providing fundamentals of reliability theory as well as to identify the theoretical types of machinery for the prediction of durability/availability of erasure-coded storage systems. Since the definition of a "system" is too broad, we specifically focus on warm/cold storage systems where the data is stored in a distributed fashion across different storage units with or without continuous operation. The contents of this document are dedicated to a review of fundamentals, a few major improved stochastic models, and several contributions of my work relevant to the field. One of the contributions of this document is the introduction of the most general form of Markov models for the estimation of mean time to failure. This work was partially later published in IEEE Transactions on Reliability. Very good approximations for the closed-form solutions for this general model are also investigated. Various storage configurations under different policies are compared using such advanced models. Later in a subsequent chapter, we have also considered multi-dimensional Markov models to address detached drive-medium combinations such as those found in optical disk and tape storage systems. It is not hard to anticipate such a system structure would most likely be part of future DNA storage libraries. This work is partially published in Elsevier Reliability and System Safety. Topics that include simulation modelings for more accurate estimations are included towards the end of the document by noting the deficiencies of the simplified canonical as well as more complex Markov models, due mainly to the stationary and static nature of Markovinity. Throughout the document, we shall focus on concurrently maintained systems although the discussions will only slightly change for the systems repaired one device at a time.Comment: 58 pages, 20 figures, 9 tables. arXiv admin note: substantial text overlap with arXiv:1911.0032

    Rethinking Erasure Codes for Cloud File Systems: Minimizing I/O for Recovery and Degraded Reads,”

    Get PDF
    Abstract To reduce storage overhead, cloud file systems are transitioning from replication to erasure codes. This process has revealed new dimensions on which to evaluate the performance of different coding schemes: the amount of data used in recovery and when performing degraded reads. We present an algorithm that finds the optimal number of codeword symbols needed for recovery for any XOR-based erasure code and produces recovery schedules that use a minimum amount of data. We differentiate popular erasure codes based on this criterion and demonstrate that the differences improve I/O performance in practice for the large block sizes used in cloud file systems. Several cloud systems [Ford10,Calder11] have adopted Reed-Solomon (RS) codes, because of their generality and their ability to tolerate larger numbers of failures. We define a new class of rotated ReedSolomon codes that perform degraded reads more efficiently than all known codes, but otherwise inherit the reliability and performance properties of Reed-Solomon codes. The online home for this paper may be found at: http://web.eecs.utk.edu/~plank/plank/papers/ FAST-2012 Abstract To reduce storage overhead, cloud file systems are transitioning from replication to erasure codes. This process has revealed new dimensions on which to evaluate the performance of different coding schemes: the amount of data used in recovery and when performing degraded reads. We present an algorithm that finds the optimal number of codeword symbols needed for recovery for any XOR-based erasure code and produces recovery schedules that use a minimum amount of data. We differentiate popular erasure codes based on this criterion and demonstrate that the differences improve I/O performance in practice for the large block sizes used in cloud file systems. Several cloud system

    A DELAYED PARITY GENERATION CODE FOR ACCELERATING DATA WRITE IN ERASURE CODED STORAGE SYSTEMS

    Get PDF
    We propose delayed parity generation as a method to improve the write speed in erasure-coded storage systems. In the proposed approach, only some of the parities in the erasure codes are generated at the time of data write (data commit), and the other parities are not generated, transported, or written in the system until system load is lighter. This allows faster data write, at the expense of a small sacrifice in the reliability of the data during a short period between the time of the initial data write and when the full set of parities is produced. Although the delayed parity generation procedure is anticipated to be performed during time of light system load, it is still important to reduce data traffic and disk IO as much as possible when doing so. For this purpose, we first identify the fundamental limits of this approach through a connection to the well-known multicast network coding problem, then provide an explicit and low-complexity code construction. The problem we consider is closely related to the regenerating code problem. However, our proposed code is much simpler and has a much smaller subpacketization factor than regenerating codes. Our result shows that blindly adopting regenerating codes in this setting is unnecessary and wasteful. Experimental results confirm that to obtain the improved write speed, the proposed code does not significantly increase computation burden

    Improve the Performance and Scalability of RAID-6 Systems Using Erasure Codes

    Get PDF
    RAID-6 is widely used to tolerate concurrent failures of any two disks to provide a higher level of reliability with the support of erasure codes. Among many implementations, one class of codes called Maximum Distance Separable (MDS) codes aims to offer data protection against disk failures with optimal storage efficiency. Typical MDS codes contain horizontal and vertical codes. However, because of the limitation of horizontal parity or diagonal/anti-diagonal parities used in MDS codes, existing RAID-6 systems suffer several important problems on performance and scalability, such as low write performance, unbalanced I/O, and high migration cost in the scaling process. To address these problems, in this dissertation, we design techniques for high performance and scalable RAID-6 systems. It includes high performance and load balancing erasure codes (H-Code and HDP Code), and Stripe-based Data Migration (SDM) scheme. We also propose a flexible MDS Scaling Framework (MDS-Frame), which can integrate H-Code, HDP Code and SDM scheme together. Detailed evaluation results are also given in this dissertation

    Computer-network Solutions for Pervasive Computing

    Get PDF
    Lo scenario delle reti di comunicazione di tipo wireless sta rapidamente evolvendo verso i sistemi pervasivi in cui i dispositivi wireless, di diversi tipi e grandezze, costituiscono parte integrante dell’ambiente in cui sono immersi, ed interagiscono continuamente ed in maniera trasparente con gli utenti che vi vivono o che lo attraversano. Si parla a tal proposito anche di ambienti intelligenti. Seguendo l’evoluzione dai sistemi mobili a quelli pervasivi, questa tesi rivisita diversi tipi di ambienti wireless che si sono sviluppati e diffusi negli ultimi 20 anni: a partire dalle wireless LANs, proseguendo con le reti ad hoc, per finire con le reti opportunistiche. Sebbene molte problematiche delle reti wireless si ripropongano in quasi tutti gli scenari (ad esempio il risparmio energetico), a scenari wireless diversi corrispondono in genere utilizzi differenti e diversi fabbisogni degli utenti, come pure problemi specifici che richiedono soluzioni dedicate. Alcune soluzioni specifiche sono analizzate e proposte in questa tesi. Le reti WLANs basate su infrastruttura sono usate generalmente per fornire accesso alla rete Internet ed infatti lo scenario che le comprende è solitamente riferito come Wireless Internet. Nonostante la presenza dell’infrastruttuta fissa garantisca in generale una trasmissione di dati affidabile, l’utilizzo di questo tipo di reti per fornire esattamente gli stessi tipi di servizi delle reti fisse provoca un elevato consumo di risorse che all’interno delle WLANs sono invece limitate. Inoltre l’utilizzo dei protocolli dello stack TCP/IP sui link wireless è di solito fonte di inefficienze viste le profonde differenze esistenti fra i link wireless e quelli fissi. La progettazione di servizi in uno scenario di wireless Internet ha come primario obiettivo quello di garantire la fruizione da parte degli utenti mobili senza soluzione di continuità, mascherando così la presenza del link wireless che ha banda nominale inferiore rispetto ai link fissi ed è soggetto a maggiori perdite, e supportando la mobilità degli utenti all’interno delle zone di copertura (handoff). La gestione dei servizi di wireless Internet deve sempre essere integrata con soluzioni di risparmio energetico tese ad allungare il più possibile l’autonomia energetica dei dispositivi degli utenti (alimentati a batteria) garantendo così loro un servizio duraturo nel tempo. Abbiamo studiato una soluzione per servizi di streaming audio-video verso terminali mobili in un ambiente di wireless LAN. Oltre a garantire la continuità della riproduzione multimediale con buona qualità, questa soluzione ottimizza il consumo energetico del terminale wireless agendo sulla scheda di rete wireless. Durante lo streaming infatti, la scheda di rete viene periodicamente messa in uno stato a basso consumo energetico (sleep). I periodi di sleep della scheda vengono calcolati adattivamente in funzione dello stato di avanzamento della riproduzione multimediale e della banda disponibile istantaneamente sul canale wireless opportunamente monitorato. Il riposo della scheda di rete non incide sul processo di riproduzione e quindi sulla qualità del servizio percepita dall’utente mobile. A differenza delle WLANs, le reti MANETs sono prive di infrastruttura fissa ed i nodi che vi partecipano si autoconfigurano ed autoorganizzano tra di loro. Le MANETs si mostrano particolarmente adatte ad esigenze temporanee di gruppi di utenti che vogliano condividere dati, scambiarsi messaggi, o altro. Uno dei principali interessi di ricerca nell’ambito delle reti MANETs ha riguardato storicamente lo studio dei protocolli di routing per l’instradamento delle informazioni fra nodi sorgente e nodi destinatari. In una rete MANET infatti, vista l’assenza di infrastruttura, ogni nodo è coinvolto nella funzione di instradamento. Negli ultimi anni tuttavia, un nuovo aspetto di ricerca sta acquistando sempre maggiore attenzione e riguarda la sperimentazione su testbed reali. Le poche esperienze sperimentali eseguite su MANETs hanno dimostrato l’inadeguatezza degli studi di tipo analitico-simulativo nel giudicare l’efficacia delle soluzioni progettate per reti MANETs. Questo è principalmente dovuto al fatto che gli scenari wireless sono estremamente complessi e soggetti a fenomeni di diversa natura che influiscono sulle comunicazioni ma che sono difficilmente condensabili in un modello analitico completo. I modelli esistenti nei simulatori attualmente diffusi sono spesso causa di errori nel validare o al contrario bocciare le soluzioni ed i protocolli testati. Le attività di sperimentazione su testbed reali hanno dunque un duplice scopo: i) validare protocolli e soluzioni proposte attualmente, e ii) gettare le basi per la costruizione di nuovi modelli analitici e simulativi che siano maggiormente attendibili di quelli attuali. L’esperienza condotta su di un testbed reale per reti ad hoc comprendente portatili e palmari fino ad un totale di 12 nodi, ha dimostrato l’efficacia delle implementazioni di due protocolli di routing: AODV (Ad hoc On demand Distance Vector) ed OLSR (Optimized Link State Routing). Tuttavia, benchè entrambi siano funzionalmente corretti, mostrano comportamenti differenti quando usati per supportare servizi di livello middleware ed applicativi (vedi ad esempio file sharing o trasferimenti ftp). In particolare, i ritardi causati dalla scoperta delle rotte in AODV sono spesso causa di inefficienze o addirittura di interruzione del servizio. OLSR invece, seppure responsabile di un overhead di traffico maggiore, si mostra maggiormente adatto alle interazioni con i servizi dei livelli superiori. Infine, l’esperienza ha dimostrato la necessità di ripensare molti dei servizi disponibili su rete fissa per adeguarli alle caratteristiche delle reti wireless e particolarmente di quelle ad hoc. Una nuova tipologia di reti wireless sta emergendo attualmente e si sta rivelando di particolare interesse: quella delle reti opportunistiche. Le reti opportunistiche non si appoggiano su alcuna infrastruttura fissa, né cercano di autoconfigurarsi in una infrastruttura wireless temporanea costituita da nodi vicini. Sfruttano le opportunità di contatto che si verificano fra i nodi (dispositivi wireless di piccola taglia) trasportati dagli utenti nelle loro attività quotidiane (ad esempio a lavoro, sugli autobus, a scuola o all’università, ecc.). I messaggi sono scambiati ogni qualvolta si renda possibile, ovunque sia possibile ed il successo della loro trasmissione è strettamente legato alle dinamiche sociali in cui sono coinvolti gli utenti che trasportano i dispositivi ed alla storia degli incontri tra individui. Data la mobilità estremamente elevata che caratterizza questo nuovo scenario di reti, e la nota rumorosità delle comunicazioni wireless, l’affidabilità delle trasmissioni emerge come uno dei fattori di principale interesse. Infatti, le comunicazioni possono aver luogo soltanto durante i periodi di contatto tra i nodi e devono essere estremamente veloci ed efficaci. Questo porta a dover fare uno sforzo di progettazione per nuovi protocolli di comunicazione che si diversifichino da quelli oggi più diffusi e basati sulla ritrasmissione dei dati mancanti. Le ritrasmissioni infatti, nella maggior parte dei casi potrebbero non poter essere eseguite per mancanza di tempo. Una strategia valida per gestire l’affidabilità delle comunicazioni opportunistiche in simili scenari estremi (caratterizzati cioè da scarse risorse e scarsa connettività) prevede l’utilizzo combinato di tecniche di codifica dei dati e strategie di instradamento di tipo epidemico. Questo approccio sfrutta la ridondanza sia delle informazioni, sia dei percorsi. La ridondanza delle informazioni dà robustezza a fronte della perdita dei dati in rete poiché è necessario che soltanto un sottoinsieme dei codici generati arrivi a destinazione per consentire al ricostruzione corretta delle informazioni. La ridondanza dei percorsi invece è necessaria poichè non è possibile predirre in anticipo la sequenza dei contatti che può portare i dati a destinazione e pertanto è necessario distribuire l’informazione in più direzioni. Le reti opportunistiche caratterizzate dalla presenza di dispositivi con limitata autonomia energetica e risorse limitate, offrono attualmente lo scenario che meglio traduce il concetto di sistemi pervasivi. Di particolare interesse è il caso delle reti di sensori sparse in cui i sensori sono disposti nell’ambiente con funzione di monitoraggio ed i dati che collezionano vengono raccolti da degli agenti mobili che passano nelle vicinanze e che sono noti come data MULEs. I data MULEs possono utilizzare le informazioni acquisite dai sensori per eseguire applicazioni dipendenti dal contesto o possono semplicemente inoltrarle fino a quando raggiungono l’infrastruttura dove vengono elaborati e memorizzati. Le interazioni fra i sensori immersi nell’ambiente ed i data MULEs sono soltanto un primo passo di un sistema di comunicazione globale completamente opportunistico in cui i data MULEs scambiano l’un l’altro le informazioni che trasportano fino a quando infine, i dati pervengono alle destinazioni più lontane. In questo scenario, le comunicazioni wireless completano naturalmente le interazioni fra gli utenti e si verificano ogni qualvolta gli utenti si incontrano oppure si avvicinano casualmente l’un l’altro, dovunque questa interazione avvenga. Per supportare un simile framework, è necessario sviluppare nuovi paradigmi di comunicazione che tengano in considerazione l’assenza di link stabili tra i nodi che comunicano (connettività intermittente) e che assumano quindi la disponibilità di brevi periodi di contatto per comunicare. Inoltre i nuovi paradigmi di comunicazione devono generalmente assumere l’assenza di un percorso completo fra i nodi sorgente e destinatario e sfruttare invece forme di instradamento delle informazioni che sono simili al modo in cui avvengono le interazioni sociali fra le persone. Strategie di instradamento basate su codifica dei dati offrono una valida soluzione per supportare il framework emergente dei sistemi pervasivi
    • …
    corecore