SDI/ISTC

Time-series data is now everywhere—IoT, user event streams, system monitoring, finance, adtech, industrial control, transportation, and logistics—and increasingly used to power core applications. It also creates a number of technical challenges: to ingest high volumes of structured data; to ask complex, performant queries for both recent and historical time intervals; to perform specialized time-centric analysis and data management. And this data doesn’t exist in isolation, entries must often be joined against other relational data to ask key business questions (e.g., tracking a shipping container is much more powerful once combined with information about its goods).

Many developers working with time-series data today turn to polyglot solutions: a NoSQL database to store their time-series data (for scale), and a relational database for associated metadata and key business data. This leads to engineering complexity, operational challenges, and even referential integrity concerns.

In this talk, I describe why these operational headaches are unnecessary and how we re-engineered PostgreSQL as a time-series database in order to simplify time-series application development. In particular, the nature of time-series workloads—appending data about recent events—presents different demands than transactional (OLTP) workloads. By taking advantage of these differences, we can improve insert rates by 20x over vanilla Postgres and achieve much faster queries, even while offering full SQL (including JOINs).

TimescaleDB achieves this by storing data on an individual server in a manner more common to distributed systems: heavily partitioning (sharding) data into chunks to ensure that hot chunks corresponding to recent time records are maintained in memory. This right-sized chunking is performed automatically, and the database can even adapt its chunk sizes based on observed resource demands. Yet it hides this behind a “hypertable” that can be inserted into or queried like a single table: even at 100B+ rows over 10K+ chunks. While this adds a few additional milliseconds for query planning, it enables TimescaleDB to avoid the performance cliff that Postgres experiences at larger table sizes (10s of millions of rows).

TimescaleDB is packaged as a Postgres extension, released under the Apache 2 license.

Michael J. Freedman is a Professor in the Computer Science Department at Princeton University, as well as the co-founder and CTO of Timescale, building an open-source database that scales out SQL for time-series data. His work broadly focuses on distributed systems, networking, and security, and has led to commercial products and deployed systems reaching millions of users daily. Honors include a Presidential Early Career Award (PECASE), SIGCOMM Test of Time Award, Sloan Fellowship, DARPA CSSG membership, and multiple award publications.

Faculty Host: Andy Pavlo

Sponsored in part by Yahoo Labs

The success of cloud computing stems from the ability to take extremely large pools of physical servers, connect them by a massive shared network, and then carve up those resources into separate virtual networks assigned to different tenants. For years, the ability to give each tenant an isolated virtual environment, configured exactly the way they want it, has depended on Software Defined Networking (SDN). In turn, Software Defined Networking has depended on software-based virtual switches running on the servers to modify each tenants’ packets in ways that create the isolation. This worked fine when servers had 10 Gbps network interfaces, but as network speeds have increased to 40G and above, the Software in SDN has become a bottleneck to stable performance.

In this talk, I will explain how computing clouds like Azure use SDN to virtualize network resources and the limits of that approach. I will then explain how and why Microsoft deployed FPGAs into nearly all our servers, so that programmable hardware offloads can be used to create blazingly fast and predictable networks while still providing the flexibility of software-based solutions. I will end by sketching some of the other things that become possible once FPGAs are present on every server, such as machine-learning and deep neural networks of unprecedented scale. This talk will be of interest to those that want to learn how cloud hosting platforms work, the state of the art in cloud networking, or how FPGAs provide a way to overcome the performance bottlenecks of software-only solutions.

Dr. David A. Maltz leads Azure's Physical Network team, which is responsible for developing, deploying, and operating the software and network devices that connect the servers of all Microsoft's online services, including the Azure Public Cloud, Office365, and Bing. We write the code for the software defined network v-switches on the servers and the SONiC firmware that runs many of our physical switches. We build the distributed systems that continuously monitor the network and ensure it remains healthy by automatically remediating problems. We design the cloud-scale networks and data centers that provide petabits of connectivity at low cost and high reliability.

My past projects include a broad array of hardware and software that strive to improve the usability, performance, and cost of cloud computing. Prior to joining Azure, I worked on the Microsoft Autopilot team, which won Microsoft's 2013 Technology Achievement Award for advances in cloud-scale data centers (http://www.microsoft.com/about/technicalrecognition/Autopilot.aspx). Prior to joining Autopilot, I worked in industry research and academia, including 5 years in Microsoft Research. I founded two startup companies in network traffic management and wireless networking. I was part of the 4D team that won the SIGCOMM 2015 Test of Time Award for the 2005 paper that spurred the field of Software Defined Networking, and I was part of the GroupLens team that won the 2010 ACM Systems SoftwareAward.

Faculty Host: Justine Sherry

Several enterprises have been producing data not only at high volume but also at high velocity. Many daily business operations depend on real-time insights, therefore real-time processing of the data is gaining significance. Hence there is a need for a scalable infrastructure that can continuously process billions of events per day the instant the data is acquired. To achieve real time performance at scale, Twitter developed and deployed Heron, a next-generation cloud streaming engine that provides unparalleled performance at large-scale. Heron has been successfully meeting the strict performance requirements for various streaming applications and is now an open source project with contributors from various institutions.

Heron has fault tolerance built-in, it will continue with stream processing even in the presence of hardware and software failures. However, we faced some crucial challenges from developers and operators point of view: the manual, time-consuming and error-prone tasks of tuning various configuration knobs to achieve service level objectives (SLO) as well as the maintenance of SLOs in the face of sudden, unpredictable load variation and hardware or software performance degradation.

In order to address these issues, we conceived and implemented Dhalion that aims to bring self-regulating capabilities to streaming systems. Dhalion monitors the streaming application, identifies problems that prohibit the application from meeting its targeted performance and automatically takes actions to recover such as restarting slow processes and scaling up and down resources in case of load variations. Dhalion has been built as an extension to Heron and contributed back open source. In this talk, I will give a brief introduction to Heron and enumerate the challenges that we faced while running in production and describe how Dhalion solves some of the challenges. This is a joint work with Avrilia Floratou and Ashvin Agrawal at Microsoft and Bill Graham at Twitter.

Karthik Ramasamy is the co-founder of Streamlio that focuses on building next generation real time infrastructure. Before Streamlio, he was the engineering manager and technical lead for real-time infrastructure at Twitter where he co-created Twitter Heron. He has two decades of experience working in parallel databases, big data infrastructure, and networking. He co-founded Locomatix, a company that specializes in real-time streaming processing on Hadoop and Cassandra using SQL, that was acquired by Twitter. Before Locomatix, he had a brief stint with Greenplum, where he worked on parallel query scheduling. Greenplum was eventually acquired by EMC for more than $300M. Prior to Greenplum, Karthik was at Juniper Networks, where he designed and delivered platforms, protocols, databases, and high availability solutions for network routers that are widely deployed on the internet. Before joining Juniper, at the University of Wisconsin he worked extensively in parallel database systems, query processing, scale out technologies, storage engines, and online analytical systems. Several of these research projects were later spun off as a company acquired by Teradata. Karthik is the author of several publications, patents, and Network Routing: Algorithms, Protocols and Architectures. He has a Ph.D. in computer science from the University of Wisconsin, Madison with a focus on big data and databases.

Faculty Host: Andy Pavlo

Monitoring high performance computing systems becomes increasingly difficult as researchers and system analysts face the challenge of synthesizing a wide range of monitoring information in order to detect system problems on exascale machines. In particular, the system logging utility (syslog) are one of the most important data streams for determining system health. Syslog messages pose a difficult ;question for analysis beca correlated with numerous other monitoring data. We would like to detect anomalies within syslog messages and alert operators along with some human interpretable explanation of why an alert was raised. In this talk, I will explore our efforts on interpretable anomaly detection within syslog, including previous results on relational learning for context-aware anomaly detection, and our current work(s) in progress on this challenging problem.

Lissa Baseman is a machine learning researcher and data scientist at Los AlamosNational Laboratory in the High Performance Computing Design group and the Ultrascale Systems Research Center. She leads efforts in machine learning for high performance computing problems, including memory fault characterization, environmental sensor monitoring, and anomaly detection across the data center. Lissa’s work prior to joining the HPC Design group at LANL included time at MIT Lincoln Laboratory doing relational learning and social network analysis in the Human Language Technology group, as well as time at LANL’s Center for Nonlinear Studies investigating quantum computing algorithms for machine learning. Her graduate work focused on statistical relational learning for computational social science. Lissa holds an M.S. in omputer science from the University of Massachusetts Amherst and a B.A. in computer science from Amherst College.

Faculty Host: Garth Gibson

In this talk, we first introduce Alluxio, a memory-speed distributed storage system. Next, we enumerate the different types of I/O operations supported by Alluxio, contrasting their advantages and disadvantages with respect to performance and fault tolerance. We then zero in on asynchronous writes, which allow applications to write data to Alluxio at memory-speed (or network-speed for fault tolerance) while Alluxio asynchronously writes the data to remote storage. We highlight interesting design and implementation details and present experimental evaluation of performance and fault tolerance.

Jiří Šimša is a software engineer at Alluxio, Inc. and one of the top committers and a project management committee member of the Alluxio open source project. Prior to working on Alluxio, he was a software engineer at Google, where he worked on a framework for the Internet of Things. Jiri is a CSD PhD program graduate and PDL alumnus. Go Pens!

Faculty Host: Garth Gibson

As more data and computation move from local to cloud environments, datacenter distributed systems have become a dominant backbone for many modern applications. However, the complexity of cloud-scale hardware and software ecosystems has outpaced existing testing, debugging, and verification tools.

I will describe three new classes of bugs that often appear in large-scale datacenter distributed systems: (1) distributed concurrency bugs, caused by non-deterministic timings of distributed events such as message arrivals as well as multiple crashes and reboots; (2) limpware-induced performance bugs, design bugs that surface in the presence of "limping" hardware and cause cascades of performance failures; and (3) scalability bugs, latent bugs that are scale dependent, typically only surface in large-scale deployments (100+ nodes) but not necessarily in small/medium-scale deployments.

The findings above are based on our long, large-scale cloud bug study (3000+ bugs) and cloud outage study (500+ outages). I will present some of our work in understanding and combating the three classes of bugs above, including semantic-aware model checking (SAMC), taxonomy of distributed concurrency bugs (TaxDC), impacts of limpware ("Limplock"), path-based speculative execution (PBSE), and scalability checks (SCk).

Haryadi Gunawi is a Neubauer Family Assistant Professor in the Department of Computer Science at the University of Chicago where he leads the UCARE research group (UChicago systems research on Availability, Reliability, and Efficiency). He received his Ph.D. in Computer Science from the University of Wisconsin, Madison in 2009. He was a postdoctoral fellow at the University of California, Berkeley from 2010 to 2012. His current research focuses on cloud computing reliability and new storage technology. He has won numerous awards including NSF CAREER award, NSF Computing Innovation Fellowship, Google Faculty Research Award, NetApp Faculty Fellowships, and Honorable Mention for the 2009 ACM Doctoral Dissertation Award.

Faculty Host: Garth Gibson

His research focus is in improving dependability of storage and cloud computing systems in the context of (1) performance stability, wherein he is interested in building storage and distributed systems that are robust to "limping" hardware, (2) reliability, wherein he is interested in combating non-deterministic concurrency bugs in cloud-scale distributed systems, and (3) scalability, wherein he is interested in developing approaches to find latent scalability bugs that only appear in large-scale deployments.

CNTK is Microsoft's open-source deep learning framework designed from the ground up for scalability and flexibility. The latest v2.0 release contains both C++ and Python APIs, with a built-in Layer Library for high-level model description. The toolkit has been extensively used internally at Microsoft for video, image, text and speech data. CNTK is well-regarded as the fastest toolkit for recurrent neural networks, which can easily be 5-10x faster than other toolkits such as TensorFlow and Torch. It was the key to Microsoft Research's recent breakthrough in speech recognition by reaching human parity in conversational speech recognition. In this talk, I will explain how CNTK achieves significant speed up through symbolic loops, sequence batching, and new schemes of data-parallel training.

For more details about CNTK.

Cha Zhang, Principal Researcher, Microsoft Research Dr. Cha Zhang is a Principal Researcher at Microsoft Research, and he currently manages the CNTK team. He received the B.S. and M.S. degrees from Tsinghua University, Beijing, China in 1998 and 2000, respectively, both in Electronic Engineering, and the Ph.D. degree in Electrical and Computer Engineering from Carnegie Mellon University, in 2004. Before joining the CNTK team, he spent over 10 years developing audio/image/video processing and machine learning techniques, and has published over 80 technical papers and held 20+ US patents. He won the best paper award at ICME 2007 and the best student paper award at ICME 2010. He was the Program Co-Chair for VCIP 2012, and the General Co-Chair for ICME 2016. He currently serves as an Associate Editor for IEEE Trans. on Circuits and Systems for Video Technology, and IEEE Trans. on Multimedia.

Faculty Host: Garth Gibson

TensorFlow is an open-source machine learning system, originally developed by the Google Brain team, which operates at large scale and in heterogeneous environments. TensorFlow trains and executes a variety of machine learning models at Google, including deep neural networks for image recognition and machine translation. The system uses dataflow graphs to represent stateful computations, and achieves high performance by mapping these graphs across clusters of machines containing multi-core CPUs, general-purpose GPUs, and custom-designed ASICs known as Tensor Processing Units (TPUs). In this talk, I will give a brief overview of how TensorFlow was designed, and how it differs from contemporary systems. I will also highlight the opportunities for future systems research on top of TensorFlow.

For more details about TensorFlow.

Derek Murray is a Software Engineer in the Google Brain team, working on TensorFlow. Previously, he was a researcher at Microsoft Research Silicon Valley where he worked on the Naiad project, and he received his PhD in Computer Science from the University of Cambridge.

Faculty Host: Garth Gibson

Discrete GPUs provide massive parallelism to support today’s most interesting high throughput workloads such as deep learning, computational finance, and visual analytics. Intel is making strides in increasing the capability of the GPU on the SoC to support these workloads and there are cases where an integrated GPU can be a compelling solution with a lower total cost of ownership for GPGPU computing.  In this talk we will go into the architectural details of the GPGPU Architecture of Intel Processor Graphics and address the question: How do I program the full teraflop GPU integrated with my CPU?

Adam Lake is a member of Intel’s GPGPU architecture team with a current focus on Compute/GPGPU Architecture. He represented Intel for OpenCL 1.2 and 2.0 and was instrumental in the design of features including shared virtual memory, device side enqueue, improving the execution and memory models, and driving support for an intermediate representation. He was a Sr. Software Architect on Larrabee, now known as Xeon Phi, and has over 40 patents or patents pending. Adam worked previously in non-photorealistic rendering and the design of stream programming systems which included the implementation of simulators, assemblers, and compilers. He did his undergraduate work at the University of Evansville, his graduate studies at UNC Chapel Hill, and spent time at Los Alamos National Laboratory. He has been a co-author on 2 SIGGRAPH papers, numerous book chapters and other peer reviewed papers in the field of computer graphics, and was the editor of Game Programming Gems 8.

Girish Ravunnikutty is a member of  GPGPU architecture team at Intel. During his career at Intel, Girish’s major focus has been GPU compute performance analysis and path finding features for future GPU architectures. His analysis and optimizations efforts led to multiple software design wins for Intel Graphics. Girish architected the first OpenCL performance analysis tool from Intel. Before joining Intel, Girish worked with Magma Design Automation and IBM labs. He did his Master’s specializing in GPU Compute at University of Florida, Gainesville, and he worked with Oakridge National Laboratories accelerating Particle in cell algorithm on GPU’s.

Visitor Host: Mike Kozuch

In AWS, we are running large scale cloud services that are the core platform for Amazon.com and millions of AWS customers. Building and operating these systems at scale has taught us several lessons and best practices: 1, how does one determine what they are building is right for their customer 2, how does one architect for scale and ensure correctness, 3, how does one test these large scale systems and 4, how do you deploy systems globally, etc.? Throughout this presentation, I will talk through these learnings as they apply to various systems I have built (such as DynamoDB, Paxos based systems, AI services like Rekognition). We will finish the talk with discussion on how AWS is exposing AI technologies to our customers to drive the development of cutting edge technology solutions.

Swami is VP in AWS in charge of all Amazon AI and Machine learning initiatives. More  details on Amazon AI.  (blog)

Previously, Swami was the General Manager of NoSQL and some big data services in AWS. He managed the engineering, product management and operations for core AWS database services that are the foundational building blocks for AWS: DynamoDB, Amazon ElastiCache (in-memory engines), Amazon QuickSight, SimpleDB and a few other big data services in the works. Swami has been awarded more than 200 patents, authored around 40 referred scientific papers and journals, and participate in several academic circles and conferences.

In addition to these, he also built more than 15 AWS Cloud Services like CloudFront, Amazon RDS, Amazon S3, Amazon's Paxos based lock service, original Amazon Dynamo etc. He was also one of the main authors for Amazon Dynamo paper along with Werner Vogels. Amazon Dynamo now is the foundation for many other NoSQL systems like Riak, Cassandra and Voldemort.

Faculty Host: Majd Sakr

Pages

Subscribe to SDI/ISTC