27,461 research outputs found
Hadoop on HPC: Integrating Hadoop and Pilot-based Dynamic Resource Management
High-performance computing platforms such as supercomputers have
traditionally been designed to meet the compute demands of scientific
applications. Consequently, they have been architected as producers and not
consumers of data. The Apache Hadoop ecosystem has evolved to meet the
requirements of data processing applications and has addressed many of the
limitations of HPC platforms. There exist a class of scientific applications
however, that need the collective capabilities of traditional high-performance
computing environments and the Apache Hadoop ecosystem. For example, the
scientific domains of bio-molecular dynamics, genomics and network science need
to couple traditional computing with Hadoop/Spark based analysis. We
investigate the critical question of how to present the capabilities of both
computing environments to such scientific applications. Whereas this questions
needs answers at multiple levels, we focus on the design of resource management
middleware that might support the needs of both. We propose extensions to the
Pilot-Abstraction to provide a unifying resource management layer. This is an
important step that allows applications to integrate HPC stages (e.g.
simulations) to data analytics. Many supercomputing centers have started to
officially support Hadoop environments, either in a dedicated environment or in
hybrid deployments using tools such as myHadoop. This typically involves many
intrinsic, environment-specific details that need to be mastered, and often
swamp conceptual issues like: How best to couple HPC and Hadoop application
stages? How to explore runtime trade-offs (data localities vs. data movement)?
This paper provides both conceptual understanding and practical solutions to
the integrated use of HPC and Hadoop environments
Pilot-Abstraction: A Valid Abstraction for Data-Intensive Applications on HPC, Hadoop and Cloud Infrastructures?
HPC environments have traditionally been designed to meet the compute demand
of scientific applications and data has only been a second order concern. With
science moving toward data-driven discoveries relying more on correlations in
data to form scientific hypotheses, the limitations of HPC approaches become
apparent: Architectural paradigms such as the separation of storage and compute
are not optimal for I/O intensive workloads (e.g. for data preparation,
transformation and SQL). While there are many powerful computational and
analytical libraries available on HPC (e.g. for scalable linear algebra), they
generally lack the usability and variety of analytical libraries found in other
environments (e.g. the Apache Hadoop ecosystem). Further, there is a lack of
abstractions that unify access to increasingly heterogeneous infrastructure
(HPC, Hadoop, clouds) and allow reasoning about performance trade-offs in this
complex environment. At the same time, the Hadoop ecosystem is evolving rapidly
and has established itself as de-facto standard for data-intensive workloads in
industry and is increasingly used to tackle scientific problems. In this paper,
we explore paths to interoperability between Hadoop and HPC, examine the
differences and challenges, such as the different architectural paradigms and
abstractions, and investigate ways to address them. We propose the extension of
the Pilot-Abstraction to Hadoop to serve as interoperability layer for
allocating and managing resources across different infrastructures. Further,
in-memory capabilities have been deployed to enhance the performance of
large-scale data analytics (e.g. iterative algorithms) for which the ability to
re-use data across iterations is critical. As memory naturally fits in with the
Pilot concept of retaining resources for a set of tasks, we propose the
extension of the Pilot-Abstraction to in-memory resources.Comment: Submitted to HPDC 2015, 12 pages, 9 figure
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
Real-time predictive maintenance for wind turbines using Big Data frameworks
This work presents the evolution of a solution for predictive maintenance to
a Big Data environment. The proposed adaptation aims for predicting failures on
wind turbines using a data-driven solution deployed in the cloud and which is
composed by three main modules. (i) A predictive model generator which
generates predictive models for each monitored wind turbine by means of Random
Forest algorithm. (ii) A monitoring agent that makes predictions every 10
minutes about failures in wind turbines during the next hour. Finally, (iii) a
dashboard where given predictions can be visualized. To implement the solution
Apache Spark, Apache Kafka, Apache Mesos and HDFS have been used. Therefore, we
have improved the previous work in terms of data process speed, scalability and
automation. In addition, we have provided fault-tolerant functionality with a
centralized access point from where the status of all the wind turbines of a
company localized all over the world can be monitored, reducing O&M costs
Learning, transferring, and recommending performance knowledge with Monte Carlo tree search and neural networks
Making changes to a program to optimize its performance is an unscalable task
that relies entirely upon human intuition and experience. In addition,
companies operating at large scale are at a stage where no single individual
understands the code controlling its systems, and for this reason, making
changes to improve performance can become intractably difficult. In this paper,
a learning system is introduced that provides AI assistance for finding
recommended changes to a program. Specifically, it is shown how the evaluative
feedback, delayed-reward performance programming domain can be effectively
formulated via the Monte Carlo tree search (MCTS) framework. It is then shown
that established methods from computational games for using learning to
expedite tree-search computation can be adapted to speed up computing
recommended program alterations. Estimates of expected utility from MCTS trees
built for previous problems are used to learn a sampling policy that remains
effective across new problems, thus demonstrating transferability of
optimization knowledge. This formulation is applied to the Apache Spark
distributed computing environment, and a preliminary result is observed that
the time required to build a search tree for finding recommendations is reduced
by up to a factor of 10x.Comment: 8 pages, 2 figure
Scylla: A Mesos Framework for Container Based MPI Jobs
Open source cloud technologies provide a wide range of support for creating
customized compute node clusters to schedule tasks and managing resources. In
cloud infrastructures such as Jetstream and Chameleon, which are used for
scientific research, users receive complete control of the Virtual Machines
(VM) that are allocated to them. Importantly, users get root access to the VMs.
This provides an opportunity for HPC users to experiment with new resource
management technologies such as Apache Mesos that have proven scalability,
flexibility, and fault tolerance. To ease the development and deployment of HPC
tools on the cloud, the containerization technology has matured and is gaining
interest in the scientific community. In particular, several well known
scientific code bases now have publicly available Docker containers. While
Mesos provides support for Docker containers to execute individually, it does
not provide support for container inter-communication or orchestration of the
containers for a parallel or distributed application. In this paper, we present
the design, implementation, and performance analysis of a Mesos framework,
Scylla, which integrates Mesos with Docker Swarm to enable orchestration of MPI
jobs on a cluster of VMs acquired from the Chameleon cloud [1]. Scylla uses
Docker Swarm for communication between containerized tasks (MPI processes) and
Apache Mesos for resource pooling and allocation. Scylla allows a policy-driven
approach to determine how the containers should be distributed across the nodes
depending on the CPU, memory, and network throughput requirement for each
application
Distributed Deep Q-Learning
We propose a distributed deep learning model to successfully learn control
policies directly from high-dimensional sensory input using reinforcement
learning. The model is based on the deep Q-network, a convolutional neural
network trained with a variant of Q-learning. Its input is raw pixels and its
output is a value function estimating future rewards from taking an action
given a system state. To distribute the deep Q-network training, we adapt the
DistBelief software framework to the context of efficiently training
reinforcement learning agents. As a result, the method is completely
asynchronous and scales well with the number of machines. We demonstrate that
the deep Q-network agent, receiving only the pixels and the game score as
inputs, was able to achieve reasonable success on a simple game with minimal
parameter tuning.Comment: Updated figure of distributed deep learning architecture, updated
content throughout paper including dealing with minor grammatical issues and
highlighting differences of our paper with respect to prior work. arXiv admin
note: text overlap with arXiv:1312.5602 by other author
The archive solution for distributed workflow management agents of the CMS experiment at LHC
The CMS experiment at the CERN LHC developed the Workflow Management Archive
system to persistently store unstructured framework job report documents
produced by distributed workflow management agents. In this paper we present
its architecture, implementation, deployment, and integration with the CMS and
CERN computing infrastructures, such as central HDFS and Hadoop Spark cluster.
The system leverages modern technologies such as a document oriented database
and the Hadoop eco-system to provide the necessary flexibility to reliably
process, store, and aggregate (1M) documents on a daily basis. We
describe the data transformation, the short and long term storage layers, the
query language, along with the aggregation pipeline developed to visualize
various performance metrics to assist CMS data operators in assessing the
performance of the CMS computing system.Comment: This is a pre-print of an article published in Computing and Software
for Big Science. The final authenticated version is available online at:
https://doi.org/10.1007/s41781-018-0005-
CAPODAZ: A Containerised Authorisation and Policy-driven Architecture using Microservices
The microservices architectural approach has important benefits regarding the
agile applications' development and the delivery of complex solutions. However,
to convey the information and share the data amongst services in a verifiable
and stateless way, there is a need to enable appropriate access control methods
and authorisations. In this paper, we study the use of policy-driven
authorisations with independent fine-grained microservices in the case of a
real-world machine-to-machine (M2M) scenario using a hybrid cloud-based
infrastructure and Internet of Things (IoT) services. We also model the
authentication flows which facilitate the message exchanges between the
involved entities, and we propose a containerised authorisation and
policy-driven architecture (CAPODAZ) using the microservices paradigm. The
proposed architecture implements a policy-based management framework and
integrates in an on-going work regarding a Cloud-IoT intelligent transportation
service. For the in-depth quantitative evaluation, we treat multiple
distributions of users' populations and assess the proposed architecture
against other similar microservices. The numerical results based on the
experimental data show that there exists significant performance preponderance
in terms of latency, throughput and successful requests
GRE: A Graph Runtime Engine for Large-Scale Distributed Graph-Parallel Applications
Large-scale distributed graph-parallel computing is challenging. On one hand,
due to the irregular computation pattern and lack of locality, it is hard to
express parallelism efficiently. On the other hand, due to the scale-free
nature, real-world graphs are hard to partition in balance with low cut. To
address these challenges, several graph-parallel frameworks including Pregel
and GraphLab (PowerGraph) have been developed recently. In this paper, we
present an alternative framework, Graph Runtime Engine (GRE). While retaining
the vertex-centric programming model, GRE proposes two new abstractions: 1) a
Scatter-Combine computation model based on active message to exploit massive
fined-grained edge-level parallelism, and 2) a Agent-Graph data model based on
vertex factorization to partition and represent directed graphs. GRE is
implemented on commercial off-the-shelf multi-core cluster. We experimentally
evaluate GRE with three benchmark programs (PageRank, Single Source Shortest
Path and Connected Components) on real-world and synthetic graphs of millions
billion of vertices. Compared to PowerGraph, GRE shows 2.5~17 times better
performance on 8~16 machines (192 cores). Specifically, the PageRank in GRE is
the fastest when comparing to counterparts of other frameworks (PowerGraph,
Spark,Twister) reported in public literatures. Besides, GRE significantly
optimizes memory usage so that it can process a large graph of 1 billion
vertices and 17 billion edges on our cluster with totally 768GB memory, while
PowerGraph can only process less than half of this graph scale.Comment: 12 pages, also submitted to PVLD
- …