How Alluxio (formerly Tachyon) brings a 300x performance improvement to Qunar’s streaming processing Xueyan Li (Qunar) & Chunming Li (Garena)

Slides:



Advertisements
Similar presentations
Higher Computing Computer Systems S. McCrossan Higher Grade Computing Studies 7. Systems Software 1 System Software This software is used to provide the.
Advertisements

MapReduce Online Created by: Rajesh Gadipuuri Modified by: Ying Lu.
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Jim Donahue | Principal Scientist Adobe Systems Technology Lab Flint: Making.
EHarmony in Cloud Subtitle Brian Ko. eHarmony Online subscription-based matchmaking service Available in United States, Canada, Australia and United Kingdom.
Spark: Cluster Computing with Working Sets
Distributed Processing, Client/Server, and Clusters
Mesos A Platform for Fine-Grained Resource Sharing in Data Centers Benjamin Hindman, Andy Konwinski, Matei Zaharia, Ali Ghodsi, Anthony D. Joseph, Randy.
Database System Architectures  Client-server Database System  Parallel Database System  Distributed Database System Wei Jiang.
Lecture 2 – MapReduce CPE 458 – Parallel Programming, Spring 2009 Except as otherwise noted, the content of this presentation is licensed under the Creative.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 7 Configuring File Services in Windows Server 2008.
Take An Internal Look at Hadoop Hairong Kuang Grid Team, Yahoo! Inc
Introduction to Hadoop and HDFS
Presented by Daniel Ortiz Esquivel R&D Software Engineer YAPC::Europe September 2015 Site:
Frontiers in Massive Data Analysis Chapter 3.  Difficult to include data from multiple sources  Each organization develops a unique way of representing.
Resilient Distributed Datasets: A Fault- Tolerant Abstraction for In-Memory Cluster Computing Matei Zaharia, Mosharaf Chowdhury, Tathagata Das, Ankur Dave,
File Systems cs550 Operating Systems David Monismith.
Big traffic data processing framework for intelligent monitoring and recording systems 學生 : 賴弘偉 教授 : 許毅然 作者 : Yingjie Xia a, JinlongChen a,b,n, XindaiLu.
Em Spatiotemporal Database Laboratory Pusan National University File Processing : Database Management System Architecture 2004, Spring Pusan National University.
Meeting with University of Malta| CERN, May 18, 2015 | Predrag Buncic ALICE Computing in Run 2+ P. Buncic 1.
Centre de Calcul de l’Institut National de Physique Nucléaire et de Physique des Particules Apache Spark Osman AIDEL.
BIG DATA/ Hadoop Interview Questions.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
Lesson 9: SOFTWARE ICT Fundamentals 2nd Semester SY
Energy Management Solution
Connected Infrastructure
TensorFlow– A system for large-scale machine learning
  Choice Hotels’ journey to better understand its customers through self-service analytics Narasimhan Sampath & Avinash Ramineni Strata Hadoop World |
Big Data is a Big Deal!.
BD-Cache: Big Data Caching for Datacenters
About Hadoop Hadoop was one of the first popular open source big data technologies. It is a scalable fault-tolerant system for processing large datasets.
Smart Building Solution
Introduction to Distributed Platforms
ITCS-3190.
INTRODUCTION TO PIG, HIVE, HBASE and ZOOKEEPER
Chapter 10 Data Analytics for IoT
Hadoop Tutorials Spark
Applying Control Theory to Stream Processing Systems
Spark Presentation.
Chapter 2: System Structures
Smart Building Solution
Chapter 9 – Real Memory Organization and Management
Connected Infrastructure
Building Analytics At Scale With USQL and C#
Enabling Scalable and HA Ingestion and Real-Time Big Data Insights for the Enterprise OCJUG, 2014.
MapReduce Simplified Data Processing on Large Cluster
Data Platform and Analytics Foundational Training
Energy Management Solution
INDIGO – DataCloud PaaS
Apache Spark Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing Aditya Waghaye October 3, 2016 CS848 – University.
Lab #2 - Create a movies dataset
Interactive Data Analytics with Spark on Tachyon in Baidu
Real IBM C exam questions and answers
Introduction to Spark.
湖南大学-信息科学与工程学院-计算机与科学系
Chapter 2: System Structures
Hadoop Technopoints.
Introduction to Apache
Overview of big data tools
Productionalizing Spark Streaming Applications
Chapter 2: Operating-System Structures
Introduction to Operating Systems
Database System Architectures
5/7/2019 Map Reduce Map reduce.
Apache Hadoop and Spark
Chapter 2: Operating-System Structures
Server & Tools Business
MapReduce: Simplified Data Processing on Large Clusters
Lecture 29: Distributed Systems
Introduction to Azure Data Lake
Pig Hive HBase Zookeeper
Presentation transcript:

How Alluxio (formerly Tachyon) brings a 300x performance improvement to Qunar’s streaming processing Xueyan Li (Qunar) & Chunming Li (Garena)

Contents Introduction to Qunar Hotel Data Services and Data processing platform Part 01 Part 02 Qunar Hotel Data Acceleration with Alluxio Qunar Hotel Data Use Alluxio to enable data sharing between Batch / Streaming Part 03

Part 01 Introduction to Qunar Hotel Data Services and data processing platform

Hotel price data Price Data 4000QPS 500G 4T Sensitive data After compression Raw message Daily data volume

Use Storm to extract data and convert to protobuf 点此添加标题 Price Center Data Landing ORC compression Use Storm to extract data and convert to protobuf Use Spark Streaming run the batch

Application of data 1 01 2 02 03 3 04 4 Analyst/PM/Operations Downstream application Direct queries 03 3 04 Price center Monitor 4 Real-time / off-line model training

System architecture Uniform use Marathon + Docker mode

Upgrade to Spark 2.0.x After

Part 02 Qunar Hotel Data Acceleration with Alluxio

Receiver balance problem Conclusion: Each Executor runs only one Receiver for the highest performance.

Basic tuning spark Increase streaming duration The longer the time, the more data each batch receives, the greater the storage requirements. Kafka Partition = Spark Receiver Using Spark high-level API,in order to make full use of resources, the number of partitions must be equal to the number of Receivers. Increase block size Increased block interval will generate larger blocks, and it will make the file orc less, but the higher the memory requirements. But the processing performance will be improved. Modify Mesos resource scheduling Spark has a node local problem, there must be a reasonable scheduling program to make sure the resource is not wasted.

There are problems Large amount of data Day data is too large, hive SQL and Spark batch job can not run well Large amount of data Can not be real-time data analysis, hot data set, will only use the day or the day before for the results. Real-time If you do not use checkpoint, data will be lost when the task fails or restarts. Checkpoint

Why use Alluxio? Save the data cache Garbage Collection 02 01 When a Spark executor fails to exit, the calculated data will not be lost due to the "drifting" of the executor. Spark data on rdd can reduce GC overhead and save time. Data sharing 03 04 Tiered storage Zeppelin, Flink, Spark, MapReduce, can share data at memory-speed. Management of the local storage media, including memory, SSD and disk, constitute a hierarchical storage layer.

Tiered storage separates cold and hot data Most of the data in a hotspot will only be used for the day's results. We deployed Alluxio Worker on each compute node and managed the local storage media, including memory, SSDs and disks, to form a hierarchical storage tier. Each node upstream computing related data will be stored in the local as much as possible, to avoid consumption of network resources. At the same time, Alluxio itself provides LRU, LFU and other efficient replacement strategy to ensure that the hot data is located in the faster memory layer to improve the data access rate; even the cold data is stored in the local disk, avoiding having to access remote HDFS storage cluster. MEM SSD HDD

System data flow

Average processing time

Average processing message

Other benefits of Alluxio Web UI Web UI and CLI Simple and easy to use API Alluxio's command-line tools and web UI facilitate validation and debugging during the development process, shortening the overall system development cycle. Alluxio provides a set of easy-to-use API, its native API is a set of similar java.io file input and output interface, the use of its development does not require complex user learning curve. For example, we use Chronos early in the morning through the Alluxio loadufs command to load the day before the MapReduce calculated by the good data to Alluxio, so that subsequent operations can directly read these files.

Part 03 Qunar Hotel Data Use Alluxio to enable data sharing between Batch / Streaming

Spark/Zeppelin on Alluxio Tool chain HMM We use Zeppelin as a tool for development, debugging, and analysis. LR 1 2 Computational framework interconnection Reduce development costs Directly write code to run on the results, the results can be directly attached to the Spark code. In addition to Spark, Flink, or other computational frameworks can also use the computed data. SVM CRT 3 4 Cross-machine room synchronization data Memory speed increase The downstream application takes the same calculated data directly from the memory for machine learning. EM Asynchronous synchronization data acceleration can be used when writing as a bottleneck.

Unified Namespace For the upper application and computing framework transparent unified namespace HDFS and Alluxio own storage space for unified management To avoid the complex input and output logic Alluxio mount function to manage the remote HDFS storage cluster In Qunar we use the account name as the data directory HDFS, we use swift to store Spark, Storm, Flink program jar package, for the checkpoint we use checkpoint/appcode as the path.

Calculation framework Unified Namespace Calculation framework Storage framework

The benefits of data sharing Spark MLLib Part of the intermediate results can be shared between different Spark MLLib pipelines, greatly improving computational efficiency. Spark SQL Spark SQL can provide partial query results directly to downstream applications, improving efficiency.

Summary Pricing system Alluxio Data sharing Spark checkpoint Alluxio Data synchronization Spark block

Q&A