Normalized to: Gadepally, V.
[1]
oai:arXiv.org:1708.00544 [pdf] - 1644119
Performance Measurements of Supercomputing and Cloud Storage Solutions
Jones, Michael;
Kepner, Jeremy;
Arcand, William;
Bestor, David;
Bergeron, Bill;
Gadepally, Vijay;
Houle, Michael;
Hubbell, Matthew;
Michaleas, Peter;
Prout, Andrew;
Reuther, Albert;
Samsi, Siddharth;
Monticiollo, Paul
Submitted: 2017-08-01
Increasing amounts of data from varied sources, particularly in the fields of
machine learning and graph analytics, are causing storage requirements to grow
rapidly. A variety of technologies exist for storing and sharing these data,
ranging from parallel file systems used by supercomputers to distributed block
storage systems found in clouds. Relatively few comparative measurements exist
to inform decisions about which storage systems are best suited for particular
tasks. This work provides these measurements for two of the most popular
storage technologies: Lustre and Amazon S3. Lustre is an open-source, high
performance, parallel file system used by many of the largest supercomputers in
the world. Amazon's Simple Storage Service, or S3, is part of the Amazon Web
Services offering, and offers a scalable, distributed option to store and
retrieve data from anywhere on the Internet. Parallel processing is essential
for achieving high performance on modern storage systems. The performance tests
used span the gamut of parallel I/O scenarios, ranging from single-client,
single-node Amazon S3 and Lustre performance to a large-scale, multi-client
test designed to demonstrate the capabilities of a modern storage appliance
under heavy load. These results show that, when parallel I/O is used correctly
(i.e., many simultaneous read or write processes), full network bandwidth
performance is achievable and ranged from 10 gigabits/s over a 10 GigE S3
connection to 0.35 terabits/s using Lustre on a 1200 port 10 GigE switch. These
results demonstrate that S3 is well-suited to sharing vast quantities of data
over the Internet, while Lustre is well-suited to processing large quantities
of data locally.
[2]
oai:arXiv.org:1707.03515 [pdf] - 1644114
Benchmarking Data Analysis and Machine Learning Applications on the
Intel KNL Many-Core Processor
Byun, Chansup;
Kepner, Jeremy;
Arcand, William;
Bestor, David;
Bergeron, Bill;
Gadepally, Vijay;
Houle, Michael;
Hubbell, Matthew;
Jones, Michael;
Klein, Anna;
Michaleas, Peter;
Milechin, Lauren;
Mullen, Julie;
Prout, Andrew;
Rosa, Antonio;
Samsi, Siddharth;
Yee, Charles;
Reuther, Albert
Submitted: 2017-07-11
Knights Landing (KNL) is the code name for the second-generation Intel Xeon
Phi product family. KNL has generated significant interest in the data analysis
and machine learning communities because its new many-core architecture targets
both of these workloads. The KNL many-core vector processor design enables it
to exploit much higher levels of parallelism. At the Lincoln Laboratory
Supercomputing Center (LLSC), the majority of users are running data analysis
applications such as MATLAB and Octave. More recently, machine learning
applications, such as the UC Berkeley Caffe deep learning framework, have
become increasingly important to LLSC users. Thus, the performance of these
applications on KNL systems is of high interest to LLSC users and the broader
data analysis and machine learning communities. Our data analysis benchmarks of
these application on the Intel KNL processor indicate that single-core
double-precision generalized matrix multiply (DGEMM) performance on KNL systems
has improved by ~3.5x compared to prior Intel Xeon technologies. Our data
analysis applications also achieved ~60% of the theoretical peak performance.
Also a performance comparison of a machine learning application, Caffe, between
the two different Intel CPUs, Xeon E5 v3 and Xeon Phi 7210, demonstrated a 2.7x
improvement on a KNL node.
[3]
oai:arXiv.org:1603.01876 [pdf] - 1530516
PageRank Pipeline Benchmark: Proposal for a Holistic System Benchmark
for Big-Data Platforms
Submitted: 2016-03-06, last modified: 2016-06-03
The rise of big data systems has created a need for benchmarks to measure and
compare the capabilities of these systems. Big data benchmarks present unique
scalability challenges. The supercomputing community has wrestled with these
challenges for decades and developed methodologies for creating rigorous
scalable benchmarks (e.g., HPC Challenge). The proposed PageRank pipeline
benchmark employs supercomputing benchmarking methodologies to create a
scalable benchmark that is reflective of many real-world big data processing
systems. The PageRank pipeline benchmark builds on existing prior scalable
benchmarks (Graph500, Sort, and PageRank) to create a holistic benchmark with
multiple integrated kernels that can be run together or independently. Each
kernel is well defined mathematically and can be implemented in any programming
environment. The linear algebraic nature of PageRank makes it well suited to
being implemented using the GraphBLAS standard. The computations are simple
enough that performance predictions can be made based on simple computing
hardware models. The surrounding kernels provide the context for each kernel
that allows rigorous definition of both the input and the output for each
kernel. Furthermore, since the proposed PageRank pipeline benchmark is scalable
in both problem size and hardware, it can be used to measure and quantitatively
compare a wide range of present day and future systems. Serial implementations
in C++, Python, Python with Pandas, Matlab, Octave, and Julia have been
implemented and their single threaded performance has been measured.
[4]
oai:arXiv.org:1406.5751 [pdf] - 1047920
Computing on Masked Data: a High Performance Method for Improving Big
Data Veracity
Submitted: 2014-06-22
The growing gap between data and users calls for innovative tools that
address the challenges faced by big data volume, velocity and variety. Along
with these standard three V's of big data, an emerging fourth "V" is veracity,
which addresses the confidentiality, integrity, and availability of the data.
Traditional cryptographic techniques that ensure the veracity of data can have
overheads that are too large to apply to big data. This work introduces a new
technique called Computing on Masked Data (CMD), which improves data veracity
by allowing computations to be performed directly on masked data and ensuring
that only authorized recipients can unmask the data. Using the sparse linear
algebra of associative arrays, CMD can be performed with significantly less
overhead than other approaches while still supporting a wide range of linear
algebraic operations on the masked data. Databases with strong support of
sparse operations, such as SciDB or Apache Accumulo, are ideally suited to this
technique. Examples are shown for the application of CMD to a complex DNA
matching algorithm and to database operations over social media data.
[5]
oai:arXiv.org:1406.4923 [pdf] - 1047917
Achieving 100,000,000 database inserts per second using Accumulo and D4M
Kepner, Jeremy;
Arcand, William;
Bestor, David;
Bergeron, Bill;
Byun, Chansup;
Gadepally, Vijay;
Hubbell, Matthew;
Michaleas, Peter;
Mullen, Julie;
Prout, Andrew;
Reuther, Albert;
Rosa, Antonio;
Yee, Charles
Submitted: 2014-06-18
The Apache Accumulo database is an open source relaxed consistency database
that is widely used for government applications. Accumulo is designed to
deliver high performance on unstructured data such as graphs of network data.
This paper tests the performance of Accumulo using data from the Graph500
benchmark. The Dynamic Distributed Dimensional Data Model (D4M) software is
used to implement the benchmark on a 216-node cluster running the MIT
SuperCloud software stack. A peak performance of over 100,000,000 database
inserts per second was achieved which is 100x larger than the highest
previously published value for any other database. The performance scales
linearly with the number of ingest clients, number of database servers, and
data size. The performance was achieved by adapting several supercomputing
techniques to this application: distributed arrays, domain decomposition,
adaptive load balancing, and single-program-multiple-data programming.