4,134 research outputs found
Double P-Tree: A Distributed Architecture for Large-Scale Video-on-Demand
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
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
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 billion computational cells executing on more than 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 () 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
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
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
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
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 (i.e., evaluating each
function at 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 -
, 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
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
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 () to uniformly
distribute data/parity blocks among nodes, and propose an efficient failure
recovery approach based on , which minimizes the cross-rack repair traffic
against a single node failure. Thanks to the uniformity of , the proposed
recovery approach balances the repair traffic not only among nodes within a
rack but also among racks. We implement 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
significantly speeds up the failure recovery up to 2.49 times for RS codes and
1.38 times for LRCs. Moreover, 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
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
- …