Designing Fast, Resilient and Heterogeneity-Aware Key-Value Storage on Modern HPC Clusters

Total Page:16

File Type:pdf, Size:1020Kb

Designing Fast, Resilient and Heterogeneity-Aware Key-Value Storage on Modern HPC Clusters Designing Fast, Resilient and Heterogeneity-Aware Key-Value Storage on Modern HPC Clusters Dissertation Presented in Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy in the Graduate School of The Ohio State University By Dipti Shankar, B.E. Graduate Program in Department of Computer Science and Engineering The Ohio State University 2019 Dissertation Committee: Dhabaleswar K. Panda, Advisor Xiaoyi Lu, Co-Advisor Feng Qin Gagan Agrawal c Copyright by Dipti Shankar 2019 Abstract With the recent emergence of in-memory computing for Big Data analytics, memory- centric and distributed key-value storage has become vital to accelerating data processing workloads, in high-performance computing (HPC) and data center environments. This has led to several research works focusing on advanced key-value store designs with Remote- Direct-Memory-Access (RDMA) and hybrid ‘DRAM+NVM’ storage designs. However, these existing designs are constrained by the blocking store/retrieve semantics; incurring additional complexity with the introduction of high data availability and durability require- ments. To cater to the performance, scalability, durability and resilience needs of the diverse key-value store-based workloads (e.g., online transaction processing, offline data analytics, etc.), it is therefore vital to fully exploit resources on modern HPC systems. Moreover, to maximize server scalability and end-to-end performance, it is necessary to focus on designing an RDMA-aware communication engine that goes beyond optimizing the key-value store middleware for better client-side latencies. Towards addressing this, in this dissertation, we present a ‘holistic approach’ to design- ing high-performance, resilient and heterogeneity-aware key-value storage for HPC clus- ters, that encompasses: (1) RDMA-enabled networking, (2) high-speed NVMs, (3) emerg- ing byte-addressable persistent memory devices, and, (4) SIMD-enabled multi-core CPU compute capabilities. We first introduce non-blocking API extensions to the RDMA- Memcached client, that allows an application to separate the request issue and completion ii phases. This facilitates overlapping opportunities by truly leveraging the one-sided char- acteristics of the underlying RDMA communication engine, while conforming to the basic Set/Get semantics. Secondly, we analyze the overhead of employing memory-efficient resilience via Erasure Coding (EC), in an online fashion. Based on this, we extend our pro- posed RDMA-aware key-value store, that supports non-blocking API semantics, to enable overlapping the EC encoding/decoding compute phases with the scatter/gather communi- cation protocol involved in resiliently storing the distributed key-value data objects. This work also examines durable key-value store designs for emerging persistent memory technologies. While RDMA-based protocols employed in existing volatile DRAM-based key-value stores can be directly leveraged, we find that there is a need for a more inte- grated approach to fully exploit the fine-grained durability of these new byte-addressable storage devices. We propose ‘RDMP-KV’, that employs a hybrid ‘server-reply/server- bypass’ approach to ‘durably’ store individual key-value pair objects on the remote per- sistent memory-equipped servers via RDMA. RDMP-KV’s runtime can easily adapt to existing (server-assisted durability) and emerging (appliance durability) RDMA-capable interconnects, while ensuring server scalability and remote data consistency. Finally, the thesis explores SIMD-accelerated CPU-centric hash table designs, that can enable higher server throughput. We propose an end-to-end SIMD-aware key-value store design, ‘SCOR- KV’, which introduces optimistic ‘RDMA+SIMD’-aware client-centric request/response offloading protocols. SCOR-KV can minimize the server-side data processing overheads to achieve better scalability, without compromising on the client-side latencies. With this as the basis, we demonstrate the potential performance gains of the proposed designs with online (e.g, YCSB) and offline (e.g, in-memory and distributed burst-buffer over Lustre for Hadoop I/O) workloads on small-scale and production-scale HPC clusters. iii To my Advisors, Family and Friends iv Acknowledgments This work was made possible through the love and support of several people who stood by me, through the many years of my doctoral program and all through my life leading to it. I would like to take this opportunity to thank them all. My advisor, Dr. Dhabaleswar K. Panda for his guidance and support throughout my doc- toral program. I have been able to grow, both personally and professionally, through my association with him. His dedication and hard work is a guide-book to live by. I admire his drive, commitment and the energy he puts into each of his pursuits. My co-advisor, Dr. Xiaoyi Lu for believing in me and helping get this far. This work would not have been possible without his direction and support. He helped me transform my doubts and insecurities into a driving force for bettering myself, towards pursuing a career in research. His optimistic outlook on life and enthusiasm will always be an inspiration. My husband, Manju G. Siddappa for his love, support, and understanding. I admire his determination and courage to keep moving despite facing hard challenges. Thank you for being there for me every day for the past ten years. My family - my parents, Dr. R. Shivashankar and G. S. Usharani, for giving me uncondi- tional love, freedom, and support. They have always believed in me and encouraged me to pursue my goals, no matter how hard. I would like to thank my sister, Divya Shankar, and my brother-in-law, Debmalya Das Sharma, for always standing by me. I would also like v to show my utmost gratitude to my parents-in-law, Siddappa R. and Radha K. R., for their support and acceptance. My friends - I am very happy to have met and become friends with Dr. Hari Subramoni, Sourav Chakraborty, Jahanzeb Hashmi, Mohammadreza Bayatpour, Ammar Ahmed Awan, Shashank Gugnani, Haiyang Shi, Rajarshi Biswas, Haseeb Javed, Ching-Hsiang Chu, Jeff Smith, Jie Zhang, and Mark Arnold. They have given me memories that I will cherish for the rest of my life. I am also thankful for the support and constant encouragement from my friends, Philip Carpenter, Dr. Karthik Rao, Aditi Raveesh, Arshiya Parveez, Kavya Naik, Pavana Basavaraj, Kshama Mahesh, and Ganesh S. Gowda. I would finally like to thank all my colleagues at the Network-Based Computing Lab, who have helped me through my graduate studies. vi Vita 2013-Present . Ph.D., Computer Science and Engineer- ing, The Ohio State University, U.S.A 2013-Present . Graduate Research Associate, The Ohio State University, U.S.A 2017 . Graduate Summer Research Intern, Oak Ridge National Lab, U.S.A. 2013-2019 . .M.S., Computer Science and Engineer- ing, The Ohio State University, U.S.A 2011-2013 . .Software Engineer, Oracle India Pvt. Ltd., Bangalore, India 2007-2011 . .B. E., Computer Science and Engineer- ing, Rashtreeya Vidyalaya College of En- gineering, Bangalore, India Publications D. Shankar, X. Lu and D. K. Panda, SCOR-KV: SIMD-Aware Client-Centric and Opti- mistic RDMA-based Key-Value Store for Emerging CPU Architectures, (Under Review) D. Shankar, X. Lu and D. K. Panda, RDMP-KV: Designing Remote Direct Memory Per- sistence based Key-Value Stores with NVRAM, (Under Review) D. Shankar, X. Lu, and D. K. Panda, Accelerating NVRAM-aware In-Memory Datastore with Remote Direct Memory Persistence, 10th Annual Non-Volatile Memories Workshop 2019 (NVMW 2019) [Poster] D. Shankar, X. Lu, and D. K. Panda, High-Performance and Resilient Key-Value Store with Online Erasure Coding for Big Data Workloads, in Proceedings of the 37th IEEE International Conference on Distributed Computing Systems (ICDCS 2017) vii D. Shankar, X. Lu, and D. K. Panda, Boldio: A Hybrid and Resilient Burst-Buffer Over Lustre for Accelerating Big Data I/O [Short Paper], in Proceedings of the 2016 IEEE In- ternational Conference on Big Data (IEEE BigData 2016) D. Shankar, X. Lu, M. W. Rahman, N. Islam, and D. K. Panda, High-Performance Hybrid Key-Value Store on Modern Clusters with RDMA Interconnects and SSDs: Non-blocking Extensions, Designs, and Benefits, in Proceedings of the 30th IEEE International Parallel and Distributed Processing Symposium (IPDPS 2016) D. Shankar, X. Lu, M. W. Rahman, N. Islam, and D. K. Panda, Benchmarking Key-Value Stores on High-Performance Storage and Interconnects for Web-Scale Workloads [Short Paper], in Proceedings of the 2015 IEEE International Conference on Big Data (IEEE Big- Data 2015) D. Shankar, X. Lu, J. Jose, W. Rahman, N. Islam, and D. K. Panda, Can RDMA Benefit On- Line Data Processing Workloads with Memcached and MySQL?, 2015 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS 2015) [Poster] D. Shankar, X. Lu, M. W. Rahman, N. Islam, and D. K. Panda, Characterizing and bench- marking stand-alone Hadoop MapReduce on modern HPC clusters, The Journal of Super- computing (SUPE), Springer, 2016 D. Shankar, X. Lu, M. W. Rahman, N. Islam, and D. K. Panda, A Micro-benchmark Suite for Evaluating Hadoop MapReduce on High-Performance Networks, in Proceedings of the 5th Workshop on Big Data Benchmarks, Performance Optimization, and Emerging Hardware (BPOE 2014) H. Shi, X. Lu, D. Shankar, and D. K. Panda, UMR-EC: A Unified and Multi-Rail Era- sure Coding Library for High-Performance Distributed Storage Systems, in Proceedings of the 28th ACM International Symposium on High-Performance Parallel and Distributed Computing (HPDC 2019) X. Lu, D. Shankar, H. Shi, and D. K. Panda, Spark-uDAPL: Cost-Saving Big Data Ana- lytics on Microsoft Azure Cloud with RDMA Networks, in Proceedings of the 2018 IEEE International Conference on Big Data (IEEE BigData 2018) X. Lu, H. Shi, D. Shankar, and D. K. Panda, Performance Characterization and Accel- eration of Big Data Workloads on OpenPOWER System, in Proceedings of the 2017 IEEE International Conference on Big Data (IEEE BigData 2017) viii X.
Recommended publications
  • Redis and Memcached
    Redis and Memcached Speaker: Vladimir Zivkovic, Manager, IT June, 2019 Problem Scenario • Web Site users wanting to access data extremely quickly (< 200ms) • Data being shared between different layers of the stack • Cache a web page sessions • Research and test feasibility of using Redis as a solution for storing and retrieving data quickly • Load data into Redis to test ETL feasibility and Performance • Goal - get sub-second response for API calls for retrieving data !2 Why Redis • In-memory key-value store, with persistence • Open source • Written in C • It can handle up to 2^32 keys, and was tested in practice to handle at least 250 million of keys per instance.” - http://redis.io/topics/faq • Most popular key-value store - http://db-engines.com/en/ranking !3 History • REmote DIctionary Server • Released in 2009 • Built in order to scale a website: http://lloogg.com/ • The web application of lloogg was an ajax app to show the site traffic in real time. Needed a DB handling fast writes, and fast ”get latest N items” operation. !4 Redis Data types • Strings • Bitmaps • Lists • Hyperlogs • Sets • Geospatial Indexes • Sorted Sets • Hashes !5 Redis protocol • redis[“key”] = “value” • Values can be strings, lists or sets • Push and pop elements (atomic) • Fetch arbitrary set and array elements • Sorting • Data is written to disk asynchronously !6 Memory Footprint • An empty instance uses ~ 3MB of memory. • For 1 Million small Keys => String Value pairs use ~ 85MB of memory. • 1 Million Keys => Hash value, representing an object with 5 fields,
    [Show full text]
  • Modeling and Analyzing Latency in the Memcached System
    Modeling and Analyzing Latency in the Memcached system Wenxue Cheng1, Fengyuan Ren1, Wanchun Jiang2, Tong Zhang1 1Tsinghua National Laboratory for Information Science and Technology, Beijing, China 1Department of Computer Science and Technology, Tsinghua University, Beijing, China 2School of Information Science and Engineering, Central South University, Changsha, China March 27, 2017 abstract Memcached is a widely used in-memory caching solution in large-scale searching scenarios. The most pivotal performance metric in Memcached is latency, which is affected by various factors including the workload pattern, the service rate, the unbalanced load distribution and the cache miss ratio. To quantitate the impact of each factor on latency, we establish a theoretical model for the Memcached system. Specially, we formulate the unbalanced load distribution among Memcached servers by a set of probabilities, capture the burst and concurrent key arrivals at Memcached servers in form of batching blocks, and add a cache miss processing stage. Based on this model, algebraic derivations are conducted to estimate latency in Memcached. The latency estimation is validated by intensive experiments. Moreover, we obtain a quantitative understanding of how much improvement of latency performance can be achieved by optimizing each factor and provide several useful recommendations to optimal latency in Memcached. Keywords Memcached, Latency, Modeling, Quantitative Analysis 1 Introduction Memcached [1] has been adopted in many large-scale websites, including Facebook, LiveJournal, Wikipedia, Flickr, Twitter and Youtube. In Memcached, a web request will generate hundreds of Memcached keys that will be further processed in the memory of parallel Memcached servers. With this parallel in-memory processing method, Memcached can extensively speed up and scale up searching applications [2].
    [Show full text]
  • Release 2.5.5 Ask Solem Contributors
    Celery Documentation Release 2.5.5 Ask Solem Contributors February 04, 2014 Contents i ii Celery Documentation, Release 2.5.5 Contents: Contents 1 Celery Documentation, Release 2.5.5 2 Contents CHAPTER 1 Getting Started Release 2.5 Date February 04, 2014 1.1 Introduction Version 2.5.5 Web http://celeryproject.org/ Download http://pypi.python.org/pypi/celery/ Source http://github.com/celery/celery/ Keywords task queue, job queue, asynchronous, rabbitmq, amqp, redis, python, webhooks, queue, dis- tributed – • Synopsis • Overview • Example • Features • Documentation • Installation – Bundles – Downloading and installing from source – Using the development version 1.1.1 Synopsis Celery is an open source asynchronous task queue/job queue based on distributed message passing. Focused on real- time operation, but supports scheduling as well. The execution units, called tasks, are executed concurrently on one or more worker nodes using multiprocessing, Eventlet or gevent. Tasks can execute asynchronously (in the background) or synchronously (wait until ready). Celery is used in production systems to process millions of tasks every hour. 3 Celery Documentation, Release 2.5.5 Celery is written in Python, but the protocol can be implemented in any language. It can also operate with other languages using webhooks. There’s also RCelery for the Ruby programming language, and a PHP client. The recommended message broker is RabbitMQ, but support for Redis, MongoDB, Beanstalk, Amazon SQS, CouchDB and databases (using SQLAlchemy or the Django ORM) is also available. Celery is easy to integrate with web frameworks, some of which even have integration packages: Django django-celery Pyramid pyramid_celery Pylons celery-pylons Flask flask-celery web2py web2py-celery 1.1.2 Overview This is a high level overview of the architecture.
    [Show full text]
  • An End-To-End Application Performance Monitoring Tool
    Applications Manager - an end-to-end application performance monitoring tool For enterprises to stay ahead of the technology curve in today's competitive IT environment, it is important for their business critical applications to perform smoothly. Applications Manager - ManageEngine's on-premise application performance monitoring solution offers real-time application monitoring capabilities that offer deep visibility into not only the performance of various server and infrastructure components but also other technologies used in the IT ecosystem such as databases, cloud services, virtual systems, application servers, web server/services, ERP systems, big data, middleware and messaging components, etc. Highlights of Applications Manager Wide range of supported apps Monitor 150+ application types and get deep visibility into all the components of your application environment. Ensure optimal performance of all your applications by visualizing real-time data via comprehensive dashboards and reports. Easy installation and setup Get Applications Manager running in under two minutes. Applications Manager is an agentless monitoring tool and it requires no complex installation procedures. Automatic discovery and dependency mapping Automatically discover all applications and servers in your network and easily categorize them based on their type (apps, servers, databases, VMs, etc.). Get comprehensive insight into your business infrastructure, drill down to IT application relationships, map them effortlessly and understand how applications interact with each other with the help of these dependency maps. Deep dive performance metrics Track key performance metrics of your applications like response times, requests per minute, lock details, session details, CPU and disk utilization, error states, etc. Measure the efficiency of your applications by visualizing the data at regular periodic intervals.
    [Show full text]
  • WEB2PY Enterprise Web Framework (2Nd Edition)
    WEB2PY Enterprise Web Framework / 2nd Ed. Massimo Di Pierro Copyright ©2009 by Massimo Di Pierro. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning, or otherwise, except as permitted under Section 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600, or on the web at www.copyright.com. Requests to the Copyright owner for permission should be addressed to: Massimo Di Pierro School of Computing DePaul University 243 S Wabash Ave Chicago, IL 60604 (USA) Email: [email protected] Limit of Liability/Disclaimer of Warranty: While the publisher and author have used their best efforts in preparing this book, they make no representations or warranties with respect to the accuracy or completeness of the contents of this book and specifically disclaim any implied warranties of merchantability or fitness for a particular purpose. No warranty may be created ore extended by sales representatives or written sales materials. The advice and strategies contained herein may not be suitable for your situation. You should consult with a professional where appropriate. Neither the publisher nor author shall be liable for any loss of profit or any other commercial damages, including but not limited to special, incidental, consequential, or other damages. Library of Congress Cataloging-in-Publication Data: WEB2PY: Enterprise Web Framework Printed in the United States of America.
    [Show full text]
  • Performance at Scale with Amazon Elasticache
    Performance at Scale with Amazon ElastiCache July 2019 Notices Customers are responsible for making their own independent assessment of the information in this document. This document: (a) is for informational purposes only, (b) represents current AWS product offerings and practices, which are subject to change without notice, and (c) does not create any commitments or assurances from AWS and its affiliates, suppliers or licensors. AWS products or services are provided “as is” without warranties, representations, or conditions of any kind, whether express or implied. The responsibilities and liabilities of AWS to its customers are controlled by AWS agreements, and this document is not part of, nor does it modify, any agreement between AWS and its customers. © 2019 Amazon Web Services, Inc. or its affiliates. All rights reserved. Contents Introduction .......................................................................................................................... 1 ElastiCache Overview ......................................................................................................... 2 Alternatives to ElastiCache ................................................................................................. 2 Memcached vs. Redis ......................................................................................................... 3 ElastiCache for Memcached ............................................................................................... 5 Architecture with ElastiCache for Memcached ...............................................................
    [Show full text]
  • High Performance with Distributed Caching
    High Performance with Distributed Caching Key Requirements For Choosing The Right Solution High Performance with Distributed Caching: Key Requirements for Choosing the Right Solution Table of Contents Executive summary 3 Companies are choosing Couchbase for their caching layer, and much more 3 Memory-first 4 Persistence 4 Elastic scalability 4 Replication 5 More than caching 5 About this guide 5 Memcached and Oracle Coherence – two popular caching solutions 6 Oracle Coherence 6 Memcached 6 Why cache? Better performance, lower costs 6 Common caching use cases 7 Key requirements for an effective distributed caching solution 8 Problems with Oracle Coherence: cost, complexity, capabilities 8 Memcached: A simple, powerful open source cache 10 Lack of enterprise support, built-in management, and advanced features 10 Couchbase Server as a high-performance distributed cache 10 General-purpose NoSQL database with Memcached roots 10 Meets key requirements for distributed caching 11 Develop with agility 11 Perform at any scale 11 Manage with ease 12 Benchmarks: Couchbase performance under caching workloads 12 Simple migration from Oracle Coherence or Memcached to Couchbase 13 Drop-in replacement for Memcached: No code changes required 14 Migrating from Oracle Coherence to Couchbase Server 14 Beyond caching: Simplify IT infrastructure, reduce costs with Couchbase 14 About Couchbase 14 Caching has become Executive Summary a de facto technology to boost application For many web, mobile, and Internet of Things (IoT) applications that run in clustered performance as well or cloud environments, distributed caching is a key requirement, for reasons of both as reduce costs. performance and cost. By caching frequently accessed data in memory – rather than making round trips to the backend database – applications can deliver highly responsive experiences that today’s users expect.
    [Show full text]
  • Opinnäytetyön Malli Vanhoille Word-Versioille
    Bachelor’s Thesis Information Technology 2011 Kenneth Emeka Odoh DESIGN AND IMPLEMENTATION OF A WEB- BASED AUCTION SYSTEM ii BACHELOR’S THESIS (UAS) │ABSTRACT TURKU UNIVERSITY OF APPLIED SCIENCES Information Technology | Networking Date of completion of the thesis | 12th January 2012 Instructor: Ferm Tiina Kenneth Emeka Odoh DESIGN AND IMPLEMENTATION OF A WEB- BASED AUCTION SYSTEM Electronic auction has been a popular means of goods distribution. The number of items sold through the internet auction sites have grown in the past few years. Evidently, this has become the medium of choice for customers. This project entails the design and implementation of a web-based auction system for users to trade in goods. The system was implemented in the Django framework. On account that the trade over the Internet lacks any means of ascertaining the quality of goods, there is a need to implement a feedback system to rate the seller’s credibility in order to increase customer confidence in a given business. The feedback system is based on the history of the customer’s rating of the previous seller’s transactions. As a result, the auction system has a built-in feedback system to enhance the credibility of the auction system. The project was designed by using a modular approach to ensure maintainability. There is a number of engines that were implemented in order to enhance the functionality of the auction system. They include the following: commenting engine, search engine, business intelligence (user analytic and statistics), graph engine, advertisement engine and recommendation engine. As a result of this thesis undertaking, a full-fledged system robust enough to handle small or medium-sized traffic has been developed to specification.
    [Show full text]
  • Current Issues in Qualitative Data Analysis Software (QDAS): a User and Developer Perspective
    The Qualitative Report Volume 23 Number 13 Article 5 3-6-2018 Current Issues in Qualitative Data Analysis Software (QDAS): A User and Developer Perspective Jeanine C. Evers Erasmus University of Rotterdam, [email protected] Follow this and additional works at: https://nsuworks.nova.edu/tqr Part of the Law Commons, Quantitative, Qualitative, Comparative, and Historical Methodologies Commons, and the Social Statistics Commons Recommended APA Citation Evers, J. C. (2018). Current Issues in Qualitative Data Analysis Software (QDAS): A User and Developer Perspective. The Qualitative Report, 23(13), 61-73. https://doi.org/10.46743/2160-3715/2018.3205 This Article is brought to you for free and open access by the The Qualitative Report at NSUWorks. It has been accepted for inclusion in The Qualitative Report by an authorized administrator of NSUWorks. For more information, please contact [email protected]. Current Issues in Qualitative Data Analysis Software (QDAS): A User and Developer Perspective Abstract This paper describes recent issues and developments in Qualitative Data Analysis Software (QDAS) as presented in the opening plenary at the KWALON 2016 conference. From a user perspective, it reflects current features and functionality, including the use of artificial intelligence and machine learning; implications of the cloud; user friendliness; the role of digital archives; and the development of a common exchange format. This user perspective is complemented with the views of software developers who took part in the “Rotterdam Exchange Format Initiative,” an outcome of the conference. Keywords Qualitative Data Analysis Software, QDAS, Artificial Intelligence, Machine Learning, TLA AS.ti, Cassandre, Dedoose, f4analyse, MAXQDA, NVivo, QDA Miner, Quirkos, Transana, Exchange format, Interoperability, Qualitative Data Analysis, Learning Curve QDAS, Textual Data Mining, Cloud services.
    [Show full text]
  • VSI's Open Source Strategy
    VSI's Open Source Strategy Plans and schemes for Open Source so9ware on OpenVMS Bre% Cameron / Camiel Vanderhoeven April 2016 AGENDA • Programming languages • Cloud • Integraon technologies • UNIX compability • Databases • Analy;cs • Web • Add-ons • Libraries/u;li;es • Other consideraons • SoDware development • Summary/conclusions tools • Quesons Programming languages • Scrip;ng languages – Lua – Perl (probably in reasonable shape) – Tcl – Python – Ruby – PHP – JavaScript (Node.js and friends) – Also need to consider tools and packages commonly used with these languages • Interpreted languages – Scala (JVM) – Clojure (JVM) – Erlang (poten;ally a good fit with OpenVMS; can get good support from ESL) – All the above are seeing increased adop;on 3 Programming languages • Compiled languages – Go (seeing rapid adop;on) – Rust (relavely new) – Apple Swi • Prerequisites (not all are required in all cases) – LLVM backend – Tweaks to OpenVMS C and C++ compilers – Support for latest language standards (C++) – Support for some GNU C/C++ extensions – Updates to OpenVMS C RTL and threads library 4 Programming languages 1. JavaScript 2. Java 3. PHP 4. Python 5. C# 6. C++ 7. Ruby 8. CSS 9. C 10. Objective-C 11. Perl 12. Shell 13. R 14. Scala 15. Go 16. Haskell 17. Matlab 18. Swift 19. Clojure 20. Groovy 21. Visual Basic 5 See h%p://redmonk.com/sogrady/2015/07/01/language-rankings-6-15/ Programming languages Growing programming languages, June 2015 Steve O’Grady published another edi;on of his great popularity study on programming languages: RedMonk Programming Language Rankings: June 2015. As usual, it is a very valuable piece. There are many take-away from this research.
    [Show full text]
  • Amazon Elasticache Deep Dive Powering Modern Applications with Low Latency and High Throughput
    Amazon ElastiCache Deep Dive Powering modern applications with low latency and high throughput Michael Labib Sr. Manager, Non-Relational Databases © 2020, Amazon Web Services, Inc. or its Affiliates. Agenda • Introduction to Amazon ElastiCache • Redis Topologies & Features • ElastiCache Use Cases • Monitoring, Sizing & Best Practices © 2020, Amazon Web Services, Inc. or its Affiliates. Introduction to Amazon ElastiCache © 2020, Amazon Web Services, Inc. or its Affiliates. Purpose-built databases © 2020, Amazon Web Services, Inc. or its Affiliates. Purpose-built databases © 2020, Amazon Web Services, Inc. or its Affiliates. Modern real-time applications require Performance, Scale & Availability Users 1M+ Data volume Terabytes—petabytes Locality Global Performance Microsecond latency Request rate Millions per second Access Mobile, IoT, devices Scale Up-out-in E-Commerce Media Social Online Shared economy Economics Pay-as-you-go streaming media gaming Developer access Open API © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon ElastiCache – Fully Managed Service Redis & Extreme Secure Easily scales to Memcached compatible performance and reliable massive workloads Fully compatible with In-memory data store Network isolation, encryption Scale writes and open source Redis and cache for microsecond at rest/transit, HIPAA, PCI, reads with sharding and Memcached response times FedRAMP, multi AZ, and and replicas automatic failover © 2020, Amazon Web Services, Inc. or its Affiliates. What is Redis? Initially released in 2009, Redis provides: • Complex data structures: Strings, Lists, Sets, Sorted Sets, Hash Maps, HyperLogLog, Geospatial, and Streams • High-availability through replication • Scalability through online sharding • Persistence via snapshot / restore • Multi-key atomic operations A high-speed, in-memory, non-Relational data store. • LUA scripting Customers love that Redis is easy to use.
    [Show full text]
  • Designing AI-Based Systems for Qualitative Data Collection and Analysis
    Designing AI-Based Systems for Qualitative Data Collection and Analysis Zur Erlangung des akademischen Grades eines Doktors der Wirtschaftswissenschaften ( Dr. rer. pol. ) von der KIT-Fakultät für Wirtschaftswissenschaften des Karlsruher Instituts für Technologie (KIT) genehmigte DISSERTATION von Tim Rietz, M.Sc. ______________________________________________________________ Tag der mündlichen Prüfung: 01.07.2021 Referent: Prof. Dr. Alexander Mädche Korreferent: Prof. Dr. Paola Spoletini Karlsruhe Mai 2021 Acknowledgments Having started my PhD studies in December 2017, I remember the past three and a half years as a series of ups and downs, which probably goes for everything in life. Looking back at this exciting, inspiring, and challenging time, I distinctly remember many ups, while the downs seem almost forgotten. To a large extent, I attribute this to the wonderful people that I got to meet along the way, who never failed to make my time as a PhD student and as an IT consultant fun. Certainly, I want to thank my mentor and PhD supervisor Prof. Dr. Alexander M¨adche, for his guidance, inspiration, and feedback throughout my studies. While I did not know what to expect when I started my position at the institute, I quickly learned how lucky I was with my choice of a supervisor. Alexander always had an open door for my questions, ideas, and concerns. He also actively seeked updates on my process and encourage me to submit my research to prestigious outlets. I am incredibly grateful for your support. On that note, I also want to thank Prof. Dr. Paola Spoletini, Prof. Dr. Hagen Lindst¨adt, and Prof. Dr.
    [Show full text]