4,134 research outputs found

    Double P-Tree: A Distributed Architecture for Large-Scale Video-on-Demand

    Get PDF
    In order to ensure a more widespread implementation of video-ondemand (VoD) services, it is essential that the design of cost-effective largescale VoD (LVoD) architectures be able to support hundreds of thousands of concurrent users. The main keys for the designing of such architectures are high streaming capacity, low costs, scalability, fault tolerance, load balance, low complexity and resource sharing among user requests. To achieve these objectives, we propose a distributed architecture, called double P-Tree, which is based on a tree topology of independent local networks with proxies. The proxy functionality has been modified in such a way that it works at the same time as cache for the most-watched videos, and as a distributed mirror for the remaining videos. In this way, we manage to distribute main server functionality (as a repository of all system videos, server of proxy-misses and system manager) among all local proxies. The evaluation of this new architecture, through an analytical model, shows that double P-Tree architecture is a good approach for the building of scalable and fault-tolerant LVoD systems. Experimental results show that this architecture achieves a good tradeoff between effective bandwidth and storage requirements.This work was supported by the MCyT-Spain under contract TIC 2001-2592 and partially supported by the Generalitat de Catalunya- Grup de Recerca Consolidat 2001SGR-00218

    Eliminating Boundaries in Cloud Storage with Anna

    Full text link
    In this paper, we describe how we extended a distributed key-value store called Anna into an elastic, multi-tier service for the cloud. In its extended form, Anna is designed to overcome the narrow cost-performance limitations typical of current cloud storage systems. We describe three key aspects of Anna's new design: multi-master selective replication of hot keys, a vertical tiering of storage layers with different cost-performance tradeoffs, and horizontal elasticity of each tier to add and remove nodes in response to load dynamics. Anna's policy engine uses these mechanisms to balance service-level objectives around cost, latency and fault tolerance. Experimental results explore the behavior of Anna's mechanisms and policy, exhibiting orders of magnitude efficiency improvements over both commodity cloud KVS services and research systems

    A Scalable and Extensible Checkpointing Scheme for Massively Parallel Simulations

    Full text link
    Realistic simulations in engineering or in the materials sciences can consume enormous computing resources and thus require the use of massively parallel supercomputers. The probability of a failure increases both with the runtime and with the number of system components. For future exascale systems it is therefore considered critical that strategies are developed to make software resilient against failures. In this article, we present a scalable, distributed, diskless, and resilient checkpointing scheme that can create and recover snapshots of a partitioned simulation domain. We demonstrate the efficiency and scalability of the checkpoint strategy for simulations with up to 4040 billion computational cells executing on more than 400400 billion floating point values. A checkpoint creation is shown to require only a few seconds and the new checkpointing scheme scales almost perfectly up to more than 260 000260\,000 (2182^{18}) processes. To recover from a diskless checkpoint during runtime, we realize the recovery algorithms using ULFM MPI. The checkpointing mechanism is fully integrated in a state-of-the-art high-performance multi-physics simulation framework. We demonstrate the efficiency and robustness of the method with a realistic phase-field simulation originating in the material sciences and with a lattice Boltzmann method implementation

    A Survey of Controller Placement Problem in Software Defined Networks

    Full text link
    Software Defined Network (SDN) is an emerging network paradigm which provides a centralized view of the network by decoupling the network control plane from the data plane. This strategy of maintaining a global view of the network optimizes resource management. However, the implementation of SDN using a single physical controller lead to issues of scalability and robustness. A physically distributed but logically centralized SDN controller architecture promises to resolve both these issues. Distributed SDN along with its benefits brings along the problem of the number of controllers required and their placement in the network. This problem is referred to as the controller placement problem (CPP) and this paper is mainly concerned with the CPP solution techniques. The paper formally defines CPP, gives a comprehensive review of the various performance metrics and characteristics of the available CPP solutions. Finally, we point out the existing literature gap and discuss the future research direction in this domain

    DimmWitted: A Study of Main-Memory Statistical Analytics

    Full text link
    We perform the first study of the tradeoff space of access methods and replication to support statistical analytics using first-order methods executed in the main memory of a Non-Uniform Memory Access (NUMA) machine. Statistical analytics systems differ from conventional SQL-analytics in the amount and types of memory incoherence they can tolerate. Our goal is to understand tradeoffs in accessing the data in row- or column-order and at what granularity one should share the model and data for a statistical task. We study this new tradeoff space, and discover there are tradeoffs between hardware and statistical efficiency. We argue that our tradeoff study may provide valuable information for designers of analytics engines: for each system we consider, our prototype engine can run at least one popular task at least 100x faster. We conduct our study across five architectures using popular models including SVMs, logistic regression, Gibbs sampling, and neural networks

    Security and Privacy Aspects in MapReduce on Clouds: A Survey

    Full text link
    MapReduce is a programming system for distributed processing large-scale data in an efficient and fault tolerant manner on a private, public, or hybrid cloud. MapReduce is extensively used daily around the world as an efficient distributed computation tool for a large class of problems, e.g., search, clustering, log analysis, different types of join operations, matrix multiplication, pattern matching, and analysis of social networks. Security and privacy of data and MapReduce computations are essential concerns when a MapReduce computation is executed in public or hybrid clouds. In order to execute a MapReduce job in public and hybrid clouds, authentication of mappers-reducers, confidentiality of data-computations, integrity of data-computations, and correctness-freshness of the outputs are required. Satisfying these requirements shield the operation from several types of attacks on data and MapReduce computations. In this paper, we investigate and discuss security and privacy challenges and requirements, considering a variety of adversarial capabilities, and characteristics in the scope of MapReduce. We also provide a review of existing security and privacy protocols for MapReduce and discuss their overhead issues.Comment: Accepted in Elsevier Computer Science Revie

    A Fundamental Tradeoff between Computation and Communication in Distributed Computing

    Full text link
    How can we optimally trade extra computing power to reduce the communication load in distributed computing? We answer this question by characterizing a fundamental tradeoff between computation and communication in distributed computing, i.e., the two are inversely proportional to each other. More specifically, a general distributed computing framework, motivated by commonly used structures like MapReduce, is considered, where the overall computation is decomposed into computing a set of "Map" and "Reduce" functions distributedly across multiple computing nodes. A coded scheme, named "Coded Distributed Computing" (CDC), is proposed to demonstrate that increasing the computation load of the Map functions by a factor of rr (i.e., evaluating each function at rr carefully chosen nodes) can create novel coding opportunities that reduce the communication load by the same factor. An information-theoretic lower bound on the communication load is also provided, which matches the communication load achieved by the CDC scheme. As a result, the optimal computation-communication tradeoff in distributed computing is exactly characterized. Finally, the coding techniques of CDC is applied to the Hadoop TeraSort benchmark to develop a novel CodedTeraSort algorithm, which is empirically demonstrated to speed up the overall job execution by 1.97×1.97\times - 3.39×3.39\times, for typical settings of interest.Comment: To appear in IEEE Transactions on Information Theor

    Weaver: A High-Performance, Transactional Graph Database Based on Refinable Timestamps

    Full text link
    Graph databases have become an increasingly common infrastructure component. Yet existing systems either operate on offline snapshots, provide weak consistency guarantees, or use expensive concurrency control techniques that limit performance. In this paper, we introduce a new distributed graph database, called Weaver, which enables efficient, transactional graph analyses as well as strictly serializable ACID transactions on dynamic graphs. The key insight that allows Weaver to combine strict serializability with horizontal scalability and high performance is a novel request ordering mechanism called refinable timestamps. This technique couples coarse-grained vector timestamps with a fine-grained timeline oracle to pay the overhead of strong consistency only when needed. Experiments show that Weaver enables a Bitcoin blockchain explorer that is 8x faster than Blockchain.info, and achieves 12x higher throughput than the Titan graph database on social network workloads and 4x lower latency than GraphLab on offline graph traversal workloads

    Deterministic Data Distribution for Efficient Recovery in Erasure-Coded Storage Systems

    Full text link
    Due to individual unreliable commodity components, failures are common in large-scale distributed storage systems. Erasure codes are widely deployed in practical storage systems to provide fault tolerance with low storage overhead. However, random data distribution (RDD), commonly used in erasure-coded storage systems, induces heavy cross-rack traffic, load imbalance, and random access, which adversely affects failure recovery. In this paper, with orthogonal arrays, we define a Deterministic Data Distribution (D3D^3) to uniformly distribute data/parity blocks among nodes, and propose an efficient failure recovery approach based on D3D^3, which minimizes the cross-rack repair traffic against a single node failure. Thanks to the uniformity of D3D^3, the proposed recovery approach balances the repair traffic not only among nodes within a rack but also among racks. We implement D3D^3 over Reed-Solomon codes and Locally Repairable Codes in Hadoop Distributed File System (HDFS) with a cluster of 28 machines. Compared with RDD, our experiments show that D3D^3 significantly speeds up the failure recovery up to 2.49 times for RS codes and 1.38 times for LRCs. Moreover, D3D^3 supports front-end applications better than RDD in both of normal and recovery states.Comment: Technical Report. Journal version accepted to IEEE Transactions on Parallel and Distributed Systems(TPDS

    A Survey on Geographically Distributed Big-Data Processing using MapReduce

    Full text link
    Hadoop and Spark are widely used distributed processing frameworks for large-scale data processing in an efficient and fault-tolerant manner on private or public clouds. These big-data processing systems are extensively used by many industries, e.g., Google, Facebook, and Amazon, for solving a large class of problems, e.g., search, clustering, log analysis, different types of join operations, matrix multiplication, pattern matching, and social network analysis. However, all these popular systems have a major drawback in terms of locally distributed computations, which prevent them in implementing geographically distributed data processing. The increasing amount of geographically distributed massive data is pushing industries and academia to rethink the current big-data processing systems. The novel frameworks, which will be beyond state-of-the-art architectures and technologies involved in the current system, are expected to process geographically distributed data at their locations without moving entire raw datasets to a single location. In this paper, we investigate and discuss challenges and requirements in designing geographically distributed data processing frameworks and protocols. We classify and study batch processing (MapReduce-based systems), stream processing (Spark-based systems), and SQL-style processing geo-distributed frameworks, models, and algorithms with their overhead issues.Comment: IEEE Transactions on Big Data; Accepted June 2017. 20 page
    • …
    corecore