This document discusses approaches for monitoring resource utilization in massively parallel processing (MPP) databases running on Kubernetes clusters. It first provides background on MPP databases and container orchestration using Kubernetes. It then describes Teradata's Aster Engine deployed on Kubernetes and compares various options for monitoring cluster-level and query-level resource usage in Aster Engine. The document recommends using Heapster for cluster-level monitoring due to its ease of deployment and integration with Kubernetes, and developing a custom solution for query-level resource monitoring in Aster Engine.
1. Big Data Analytics
- Big Data
- Spark: Big Data Analytics
- Resilient Distributed Datasets (RDD)
- Spark libraries (SQL, DataFrames, MLlib for machine learning, GraphX, and Streaming)
- PFP: Parallel FP-Growth
2. Ubiquitous Computing
- Edge Computing
- Cloudlet
- Fog computing
- Internet of Things (IoT)
- Virtualization
- Virtual Conferencing
- Virtual Events (2D, 3D, and Hybrid)
CYBER INFRASTRUCTURE AS A SERVICE TO EMPOWER MULTIDISCIPLINARY, DATA-DRIVEN S...ijcsit
In supporting its large scale, multidisciplinary scientific research efforts across all the university campuses and by the research personnel spread over literally every corner of the state, the state of Nevada needs to build and leverage its own Cyber infrastructure. Following the well-established as-a-service model, this state-wide Cyber infrastructure that consists of data acquisition, data storage, advanced instruments, visualization, computing and information processing systems, and people, all seamlessly linked together through a high-speed network, is designed and operated to deliver the benefits of Cyber infrastructure-as-aService (CaaS).There are three major service groups in this CaaS, namely (i) supporting infrastructural
services that comprise sensors, computing/storage/networking hardware, operating system, management tools, virtualization and message passing interface (MPI); (ii) data transmission and storage services that provide connectivity to various big data sources, as well as cached and stored datasets in a distributed
storage backend; and (iii) processing and visualization services that provide user access to rich processing and visualization tools and packages essential to various scientific research workflows. Built on commodity hardware and open source software packages, the Southern Nevada Research Cloud(SNRC)and a data repository in a separate location constitute a low cost solution to deliver all these services around CaaS. The service-oriented architecture and implementation of the SNRC are geared to encapsulate as much detail of big data processing and cloud computing as possible away from end users; rather scientists only need to learn and access an interactive web-based interface to conduct their collaborative, multidisciplinary, dataintensive research. The capability and easy-to-use features of the SNRC are demonstrated through a use case that attempts to derive a solar radiation model from a large data set by regression analysis.
International Refereed Journal of Engineering and Science (IRJES) is a peer reviewed online journal for professionals and researchers in the field of computer science. The main aim is to resolve emerging and outstanding problems revealed by recent social and technological change. IJRES provides the platform for the researchers to present and evaluate their work from both theoretical and technical aspects and to share their views.
1. Representational State Transfer (REST)
2. IaaS and Hybrid Cloud
- Orchestration & Virtualization: Eucalyptus & Amazon
- Content Delivery Network (CDN): Facebook and Akamai
3. PaaS and Container as a Service (CaaS)
- PaaS: Google App Engine (GAE) and Ruby on Rails
- CaaS: DockerHub
4. SaaS and Distributed Version Control (DVC)
- SaaS: Facebook Testing (Infer and Sapienz)
- DVC: GitHub and Git-LFS
5. Cloud Security and Privacy policies
- NIST Guidelines, GDPR, and CDN Security
Neuro-Fuzzy System Based Dynamic Resource Allocation in Collaborative Cloud C...neirew J
Cloud collaboration is an emerging technology which enables sharing of computer files using cloud
computing. Here the cloud resources are assembled and cloud services are provided using these resources.
Cloud collaboration technologies are allowing users to share documents. Resource allocation in the cloud
is challenging because resources offer different Quality of Service (QoS) and services running on these
resources are risky for user demands. We propose a solution for resource allocation based on multi
attribute QoS Scoring considering parameters such as distance to the resource from user site, reputation of
the resource, task completion time, task completion ratio, and load at the resource. The proposed algorithm
referred to as Multi Attribute QoS scoring (MAQS) uses Neuro Fuzzy system. We have also included a
speculative manager to handle fault tolerance. In this paper it is shown that the proposed algorithm
perform better than others including power trust reputation based algorithms and harmony method which
use single attribute to compute the reputation score of each resource allocated.
1. Big Data Analytics
- Big Data
- Spark: Big Data Analytics
- Resilient Distributed Datasets (RDD)
- Spark libraries (SQL, DataFrames, MLlib for machine learning, GraphX, and Streaming)
- PFP: Parallel FP-Growth
2. Ubiquitous Computing
- Edge Computing
- Cloudlet
- Fog computing
- Internet of Things (IoT)
- Virtualization
- Virtual Conferencing
- Virtual Events (2D, 3D, and Hybrid)
CYBER INFRASTRUCTURE AS A SERVICE TO EMPOWER MULTIDISCIPLINARY, DATA-DRIVEN S...ijcsit
In supporting its large scale, multidisciplinary scientific research efforts across all the university campuses and by the research personnel spread over literally every corner of the state, the state of Nevada needs to build and leverage its own Cyber infrastructure. Following the well-established as-a-service model, this state-wide Cyber infrastructure that consists of data acquisition, data storage, advanced instruments, visualization, computing and information processing systems, and people, all seamlessly linked together through a high-speed network, is designed and operated to deliver the benefits of Cyber infrastructure-as-aService (CaaS).There are three major service groups in this CaaS, namely (i) supporting infrastructural
services that comprise sensors, computing/storage/networking hardware, operating system, management tools, virtualization and message passing interface (MPI); (ii) data transmission and storage services that provide connectivity to various big data sources, as well as cached and stored datasets in a distributed
storage backend; and (iii) processing and visualization services that provide user access to rich processing and visualization tools and packages essential to various scientific research workflows. Built on commodity hardware and open source software packages, the Southern Nevada Research Cloud(SNRC)and a data repository in a separate location constitute a low cost solution to deliver all these services around CaaS. The service-oriented architecture and implementation of the SNRC are geared to encapsulate as much detail of big data processing and cloud computing as possible away from end users; rather scientists only need to learn and access an interactive web-based interface to conduct their collaborative, multidisciplinary, dataintensive research. The capability and easy-to-use features of the SNRC are demonstrated through a use case that attempts to derive a solar radiation model from a large data set by regression analysis.
International Refereed Journal of Engineering and Science (IRJES) is a peer reviewed online journal for professionals and researchers in the field of computer science. The main aim is to resolve emerging and outstanding problems revealed by recent social and technological change. IJRES provides the platform for the researchers to present and evaluate their work from both theoretical and technical aspects and to share their views.
1. Representational State Transfer (REST)
2. IaaS and Hybrid Cloud
- Orchestration & Virtualization: Eucalyptus & Amazon
- Content Delivery Network (CDN): Facebook and Akamai
3. PaaS and Container as a Service (CaaS)
- PaaS: Google App Engine (GAE) and Ruby on Rails
- CaaS: DockerHub
4. SaaS and Distributed Version Control (DVC)
- SaaS: Facebook Testing (Infer and Sapienz)
- DVC: GitHub and Git-LFS
5. Cloud Security and Privacy policies
- NIST Guidelines, GDPR, and CDN Security
Neuro-Fuzzy System Based Dynamic Resource Allocation in Collaborative Cloud C...neirew J
Cloud collaboration is an emerging technology which enables sharing of computer files using cloud
computing. Here the cloud resources are assembled and cloud services are provided using these resources.
Cloud collaboration technologies are allowing users to share documents. Resource allocation in the cloud
is challenging because resources offer different Quality of Service (QoS) and services running on these
resources are risky for user demands. We propose a solution for resource allocation based on multi
attribute QoS Scoring considering parameters such as distance to the resource from user site, reputation of
the resource, task completion time, task completion ratio, and load at the resource. The proposed algorithm
referred to as Multi Attribute QoS scoring (MAQS) uses Neuro Fuzzy system. We have also included a
speculative manager to handle fault tolerance. In this paper it is shown that the proposed algorithm
perform better than others including power trust reputation based algorithms and harmony method which
use single attribute to compute the reputation score of each resource allocated.
NEURO-FUZZY SYSTEM BASED DYNAMIC RESOURCE ALLOCATION IN COLLABORATIVE CLOUD C...ijccsa
Cloud collaboration is an emerging technology which enables sharing of computer files using cloud
computing. Here the cloud resources are assembled and cloud services are provided using these resources.
Cloud collaboration technologies are allowing users to share documents. Resource allocation in the cloud
is challenging because resources offer different Quality of Service (QoS) and services running on these
resources are risky for user demands. We propose a solution for resource allocation based on multi
attribute QoS Scoring considering parameters such as distance to the resource from user site, reputation of
the resource, task completion time, task completion ratio, and load at the resource. The proposed algorithm
referred to as Multi Attribute QoS scoring (MAQS) uses Neuro Fuzzy system. We have also included a
speculative manager to handle fault tolerance. In this paper it is shown that the proposed algorithm
perform better than others including power trust reputation based algorithms and harmony method which
use single attribute to compute the reputation score of each resource allocated.
Data Partitioning in Mongo DB with CloudIJAAS Team
Cloud computing offers various and useful services like IAAS, PAAS SAAS for deploying the applications at low cost. Making it available anytime anywhere with the expectation to be it scalable and consistent. One of the technique to improve the scalability is Data partitioning. The alive techniques which are used are not that capable to track the data access pattern. This paper implements the scalable workload-driven technique for polishing the scalability of web applications. The experiments are carried out over cloud using NoSQL data store MongoDB to scale out. This approach offers low response time, high throughput and less number of distributed transaction. The result of partitioning technique is conducted and evaluated using TPC-C benchmark.
Open source grid middleware packages – Globus Toolkit (GT4) Architecture , Configuration – Usage of Globus – Main components and Programming model - Introduction to Hadoop Framework - Mapreduce, Input splitting, map and reduce functions, specifying input and output parameters, configuring and running a job – Design of Hadoop file system, HDFS concepts, command line and java interface, dataflow of File read & File write.
Evolution of Distributed computing: Scalable computing over the Internet – Technologies for network based systems – clusters of cooperative computers - Grid computing Infrastructures – cloud computing - service oriented architecture – Introduction to Grid Architecture and standards – Elements of Grid – Overview of Grid Architecture.
CASSANDRA A DISTRIBUTED NOSQL DATABASE FOR HOTEL MANAGEMENT SYSTEMIJCI JOURNAL
Apache Cassandra is a distributed storage system for managing very large amounts of structured data.
Cassandra provides highly available service with no single point of failure. Cassandra aims to run on top
of an infrastructure of hundreds of nodes possibly spread across different data centers with small and large
components fail continuously. Cassandra manages the persistent state in the face of the failures which
drives the reliability and scalability of the software systems. Cassandra does not support a full relational
data model because it resembles a database and shares many design and implementation strategies. In this
paper, discuss an implementation of Cassandra as Hotel Management System application. Cassandra
system was designed to run on cheap commodity hardware. Cassandra provides high write throughput and
read efficiency.
35 content distribution with dynamic migration of services for minimum cost u...INFOGAIN PUBLICATION
Content Delivery Networks are the key for today’s internet content delivery. Users are knowingly or unknowingly accessing the CDN via internet. No matter how much the data retrieved by the user it may contain the CDN hand behind every character of text and every pixel of image. CDN came into existence to solve the delay problem. The moment when a user requests for a web page and the response delivered to the corresponding users web browser facing a huge delay. The main goal of this paper is content distribution of web services to multiple data centers placed in different geographical locations and providing security. A content distribution service is a major part of popular Internet applications. In proposed system hybrid clouds are used i.e., both private cloud as well as public cloud. One data center is allocated to each region. Providing security to the data is always an important issue because of the critical nature of the cloud and very large amount of complicated data it carries. To provide security cipher text policy algorithm is used. Authentication technique is used to verify the user authentication. If the user is authorized to access services then and only he receives configuration key to use.
Scabi is a simple, light-weight Cluster Computing and Storage framework for BigData processing written purely in Java. Scabi provides high performance computing and storage with ease of use. Users can get started on using Scabi within a few minutes. Scabi is free of cost to use. https://www.github.com/dilshadmustafa/scabi
Quantitative Performance Evaluation of Cloud-Based MySQL (Relational) Vs. Mon...Darshan Gorasiya
To compare the performance of MySQL (Consistency & Availability - CA) with MongoDB (consistency & partition - CP). Yahoo! Cloud Serving Benchmark (YCSB) automated workloads used for quantitative comparison with large and small data volume.
International Journal of Engineering and Science Invention (IJESI) is an international journal intended for professionals and researchers in all fields of computer science and electronics. IJESI publishes research articles and reviews within the whole field Engineering Science and Technology, new teaching methods, assessment, validation and the impact of new technologies and it will continue to provide information on the latest trends and developments in this ever-expanding subject. The publications of papers are selected through double peer reviewed to ensure originality, relevance, and readability. The articles published in our journal can be accessed online.
PUBLIC INTEGRITY AUDITING FOR SHARED DYNAMIC CLOUD DATA WITH GROUP USER REVO...Nexgen Technology
bulk ieee projects in pondicherry,ieee projects in pondicherry,final year ieee projects in pondicherry
Nexgen Technology Address:
Nexgen Technology
No :66,4th cross,Venkata nagar,
Near SBI ATM,
Puducherry.
Email Id: praveen@nexgenproject.com.
www.nexgenproject.com
Mobile: 9751442511,9791938249
Telephone: 0413-2211159.
NEXGEN TECHNOLOGY as an efficient Software Training Center located at Pondicherry with IT Training on IEEE Projects in Android,IEEE IT B.Tech Student Projects, Android Projects Training with Placements Pondicherry, IEEE projects in pondicherry, final IEEE Projects in Pondicherry , MCA, BTech, BCA Projects in Pondicherry, Bulk IEEE PROJECTS IN Pondicherry.So far we have reached almost all engineering colleges located in Pondicherry and around 90km
Challenges Management and Opportunities of Cloud DBAinventy
Research Inventy provides an outlet for research findings and reviews in areas of Engineering, Computer Science found to be relevant for national and international development, Research Inventy is an open access, peer reviewed international journal with a primary objective to provide research and applications related to Engineering. In its publications, to stimulate new research ideas and foster practical application from the research findings. The journal publishes original research of such high quality as to attract contributions from the relevant local and international communities.
Many loosely linked, containerized factors create modern applications nowadays. Discover how automating and simplifying the provision of virtual environments allows container orchestration to arrange the activities of different components and application layers.
NEURO-FUZZY SYSTEM BASED DYNAMIC RESOURCE ALLOCATION IN COLLABORATIVE CLOUD C...ijccsa
Cloud collaboration is an emerging technology which enables sharing of computer files using cloud
computing. Here the cloud resources are assembled and cloud services are provided using these resources.
Cloud collaboration technologies are allowing users to share documents. Resource allocation in the cloud
is challenging because resources offer different Quality of Service (QoS) and services running on these
resources are risky for user demands. We propose a solution for resource allocation based on multi
attribute QoS Scoring considering parameters such as distance to the resource from user site, reputation of
the resource, task completion time, task completion ratio, and load at the resource. The proposed algorithm
referred to as Multi Attribute QoS scoring (MAQS) uses Neuro Fuzzy system. We have also included a
speculative manager to handle fault tolerance. In this paper it is shown that the proposed algorithm
perform better than others including power trust reputation based algorithms and harmony method which
use single attribute to compute the reputation score of each resource allocated.
Data Partitioning in Mongo DB with CloudIJAAS Team
Cloud computing offers various and useful services like IAAS, PAAS SAAS for deploying the applications at low cost. Making it available anytime anywhere with the expectation to be it scalable and consistent. One of the technique to improve the scalability is Data partitioning. The alive techniques which are used are not that capable to track the data access pattern. This paper implements the scalable workload-driven technique for polishing the scalability of web applications. The experiments are carried out over cloud using NoSQL data store MongoDB to scale out. This approach offers low response time, high throughput and less number of distributed transaction. The result of partitioning technique is conducted and evaluated using TPC-C benchmark.
Open source grid middleware packages – Globus Toolkit (GT4) Architecture , Configuration – Usage of Globus – Main components and Programming model - Introduction to Hadoop Framework - Mapreduce, Input splitting, map and reduce functions, specifying input and output parameters, configuring and running a job – Design of Hadoop file system, HDFS concepts, command line and java interface, dataflow of File read & File write.
Evolution of Distributed computing: Scalable computing over the Internet – Technologies for network based systems – clusters of cooperative computers - Grid computing Infrastructures – cloud computing - service oriented architecture – Introduction to Grid Architecture and standards – Elements of Grid – Overview of Grid Architecture.
CASSANDRA A DISTRIBUTED NOSQL DATABASE FOR HOTEL MANAGEMENT SYSTEMIJCI JOURNAL
Apache Cassandra is a distributed storage system for managing very large amounts of structured data.
Cassandra provides highly available service with no single point of failure. Cassandra aims to run on top
of an infrastructure of hundreds of nodes possibly spread across different data centers with small and large
components fail continuously. Cassandra manages the persistent state in the face of the failures which
drives the reliability and scalability of the software systems. Cassandra does not support a full relational
data model because it resembles a database and shares many design and implementation strategies. In this
paper, discuss an implementation of Cassandra as Hotel Management System application. Cassandra
system was designed to run on cheap commodity hardware. Cassandra provides high write throughput and
read efficiency.
35 content distribution with dynamic migration of services for minimum cost u...INFOGAIN PUBLICATION
Content Delivery Networks are the key for today’s internet content delivery. Users are knowingly or unknowingly accessing the CDN via internet. No matter how much the data retrieved by the user it may contain the CDN hand behind every character of text and every pixel of image. CDN came into existence to solve the delay problem. The moment when a user requests for a web page and the response delivered to the corresponding users web browser facing a huge delay. The main goal of this paper is content distribution of web services to multiple data centers placed in different geographical locations and providing security. A content distribution service is a major part of popular Internet applications. In proposed system hybrid clouds are used i.e., both private cloud as well as public cloud. One data center is allocated to each region. Providing security to the data is always an important issue because of the critical nature of the cloud and very large amount of complicated data it carries. To provide security cipher text policy algorithm is used. Authentication technique is used to verify the user authentication. If the user is authorized to access services then and only he receives configuration key to use.
Scabi is a simple, light-weight Cluster Computing and Storage framework for BigData processing written purely in Java. Scabi provides high performance computing and storage with ease of use. Users can get started on using Scabi within a few minutes. Scabi is free of cost to use. https://www.github.com/dilshadmustafa/scabi
Quantitative Performance Evaluation of Cloud-Based MySQL (Relational) Vs. Mon...Darshan Gorasiya
To compare the performance of MySQL (Consistency & Availability - CA) with MongoDB (consistency & partition - CP). Yahoo! Cloud Serving Benchmark (YCSB) automated workloads used for quantitative comparison with large and small data volume.
International Journal of Engineering and Science Invention (IJESI) is an international journal intended for professionals and researchers in all fields of computer science and electronics. IJESI publishes research articles and reviews within the whole field Engineering Science and Technology, new teaching methods, assessment, validation and the impact of new technologies and it will continue to provide information on the latest trends and developments in this ever-expanding subject. The publications of papers are selected through double peer reviewed to ensure originality, relevance, and readability. The articles published in our journal can be accessed online.
PUBLIC INTEGRITY AUDITING FOR SHARED DYNAMIC CLOUD DATA WITH GROUP USER REVO...Nexgen Technology
bulk ieee projects in pondicherry,ieee projects in pondicherry,final year ieee projects in pondicherry
Nexgen Technology Address:
Nexgen Technology
No :66,4th cross,Venkata nagar,
Near SBI ATM,
Puducherry.
Email Id: praveen@nexgenproject.com.
www.nexgenproject.com
Mobile: 9751442511,9791938249
Telephone: 0413-2211159.
NEXGEN TECHNOLOGY as an efficient Software Training Center located at Pondicherry with IT Training on IEEE Projects in Android,IEEE IT B.Tech Student Projects, Android Projects Training with Placements Pondicherry, IEEE projects in pondicherry, final IEEE Projects in Pondicherry , MCA, BTech, BCA Projects in Pondicherry, Bulk IEEE PROJECTS IN Pondicherry.So far we have reached almost all engineering colleges located in Pondicherry and around 90km
Challenges Management and Opportunities of Cloud DBAinventy
Research Inventy provides an outlet for research findings and reviews in areas of Engineering, Computer Science found to be relevant for national and international development, Research Inventy is an open access, peer reviewed international journal with a primary objective to provide research and applications related to Engineering. In its publications, to stimulate new research ideas and foster practical application from the research findings. The journal publishes original research of such high quality as to attract contributions from the relevant local and international communities.
Many loosely linked, containerized factors create modern applications nowadays. Discover how automating and simplifying the provision of virtual environments allows container orchestration to arrange the activities of different components and application layers.
There have been many changes in the use of container technology over the last year. Data from a recent survey demonstrates how those changes are manifesting themselves in terms of the tools and vendors being used to manage containers. In addition, details are provided about the products being used for storage, networking and containers as a service.
Les mégadonnées représentent un vrai enjeu à la fois technique, business et de société
: l'exploitation des données massives ouvre des possibilités de transformation radicales au
niveau des entreprises et des usages. Tout du moins : à condition que l'on en soit
techniquement capable... Car l'acquisition, le stockage et l'exploitation de quantités
massives de données représentent des vrais défis techniques.
Une architecture big data permet la création et de l'administration de tous les
systèmes techniques qui vont permettre la bonne exploitation des données.
Il existe énormément d'outils différents pour manipuler des quantités massives de
données : pour le stockage, l'analyse ou la diffusion, par exemple. Mais comment assembler
ces différents outils pour réaliser une architecture capable de passer à l'échelle, d'être
tolérante aux pannes et aisément extensible, tout cela sans exploser les coûts ?
Le succès du fonctionnement de la Big data dépend de son architecture, son
infrastructure correcte et de son l’utilité que l’on fait ‘’ Data into Information into Value ‘’.
L’architecture de la Big data est composé de 4 grandes parties : Intégration, Data Processing
& Stockage, Sécurité et Opération.
Introduction to containers, k8s, Microservices & Cloud NativeTerry Wang
Slides built to upskill and enable internal team and/or partners on foundational infra skills to work in a containerized world.
Topics covered
- Container / Containerization
- Docker
- k8s / container orchestration
- Microservices
- Service Mesh / Serverless
- Cloud Native (apps & infra)
- Relationship between Kubernetes and Runtime Fabric
Audiences: MuleSoft internal technical team, partners, Runtime Fabric users.
Embracing Containers and Microservices for Future Proof Application Moderniza...Marlabs
The need for application modernization: Legacy applications are typically based on a monolithic design, which is organized in a three-tier architecture that covers a front, middle, and end layer. These monolithic designs reduce flexibility and agility due to the way it is compressed and leads to challenges in scaling as per business requirement. This challenge has resulted in modernizing these legacy applications using Containers and Microservices. Credit: Marlabs
International Journal of Engineering Research and Applications (IJERA) is an open access online peer reviewed international journal that publishes research and review articles in the fields of Computer Science, Neural Networks, Electrical Engineering, Software Engineering, Information Technology, Mechanical Engineering, Chemical Engineering, Plastic Engineering, Food Technology, Textile Engineering, Nano Technology & science, Power Electronics, Electronics & Communication Engineering, Computational mathematics, Image processing, Civil Engineering, Structural Engineering, Environmental Engineering, VLSI Testing & Low Power VLSI Design etc.
Build cloud native solution using open source Nitesh Jadhav
Build cloud native solution using open source. I have tried to give a high level overview on How to build Cloud Native using CNCF graduated software's which are tested, proven and having many reference case studies and partner support for deployment
Supporting Hadoop in containers takes much more than the very primitive support Docker provides using the Storage Plugin. A production scale Hadoop deployment inside containers needs to honor anti/affinity, fault-domain and data-locality policies. Kubernetes alone, with primitives such as StatefulSets and PersitentVolumeClaims, is not sufficient to support a complex data-heavy application such as Hadoop. One needs to think about this problem more holistically across containers, networking and storage stacks. Also, constructs around deployment, scaling, upgrade etc in traditional orchestration platforms is designed for applications that have adopted a microservices philosophy, which doesn't fit most Big Data applications across the ingest, store, process, serve and visualization stages of the pipeline. Come to this technical session to learn how to run and manage lifecycle of containerized Hadoop and other applications in the data analytics pipeline efficiently and effectively, far and beyond simple container orchestration. #BigData, #NoSQL, #Hortonworks, #Cloudera, #Kafka, #Tensorflow, #Cassandra, #MongoDB, #Kudu, #Hive, #HBase, PARTHA SEETALA, CTO, Robin Systems.
Adoption of Cloud Computing in Healthcare to Improves Patient Care CoordinationMindfire LLC
The cloud has revolutionized the way we live and work. It has brought about a new era of flexibility and convenience, allowing us to access information and collaborate with others from anywhere in the world.
According to a Gartner survey, global spending on cloud services is projected to reach over $482 billion this year (2022). The numbers are much higher than those recorded last year, i.e., $313 billion.
Dynamic Resource Provisioning with Authentication in Distributed DatabaseEditor IJCATR
Data center have the largest consumption amounts of energy in sharing the power. The public cloud workloads of different
priorities and performance requirements of various applications [4]. Cloud data center have capable of sensing an opportunity to present
different programs. In my proposed construction and the name of the security level of imperturbable privacy leakage rarely distributed
cloud system to deal with the persistent characteristics there is a substantial increases and information that can be used to augment the
profit, retrenchment overhead or both. Data Mining Analysis of data from different perspectives and summarizing it into useful
information is a process. Three empirical algorithms have been proposed assignments estimate the ratios are dissected theoretically and
compared using real Internet latency data recital of testing methods
Similar to Measuring Resources & Workload Skew In Micro-Service MPP Analytic Query Engine (20)
StarCompliance is a leading firm specializing in the recovery of stolen cryptocurrency. Our comprehensive services are designed to assist individuals and organizations in navigating the complex process of fraud reporting, investigation, and fund recovery. We combine cutting-edge technology with expert legal support to provide a robust solution for victims of crypto theft.
Our Services Include:
Reporting to Tracking Authorities:
We immediately notify all relevant centralized exchanges (CEX), decentralized exchanges (DEX), and wallet providers about the stolen cryptocurrency. This ensures that the stolen assets are flagged as scam transactions, making it impossible for the thief to use them.
Assistance with Filing Police Reports:
We guide you through the process of filing a valid police report. Our support team provides detailed instructions on which police department to contact and helps you complete the necessary paperwork within the critical 72-hour window.
Launching the Refund Process:
Our team of experienced lawyers can initiate lawsuits on your behalf and represent you in various jurisdictions around the world. They work diligently to recover your stolen funds and ensure that justice is served.
At StarCompliance, we understand the urgency and stress involved in dealing with cryptocurrency theft. Our dedicated team works quickly and efficiently to provide you with the support and expertise needed to recover your assets. Trust us to be your partner in navigating the complexities of the crypto world and safeguarding your investments.
Show drafts
volume_up
Empowering the Data Analytics Ecosystem: A Laser Focus on Value
The data analytics ecosystem thrives when every component functions at its peak, unlocking the true potential of data. Here's a laser focus on key areas for an empowered ecosystem:
1. Democratize Access, Not Data:
Granular Access Controls: Provide users with self-service tools tailored to their specific needs, preventing data overload and misuse.
Data Catalogs: Implement robust data catalogs for easy discovery and understanding of available data sources.
2. Foster Collaboration with Clear Roles:
Data Mesh Architecture: Break down data silos by creating a distributed data ownership model with clear ownership and responsibilities.
Collaborative Workspaces: Utilize interactive platforms where data scientists, analysts, and domain experts can work seamlessly together.
3. Leverage Advanced Analytics Strategically:
AI-powered Automation: Automate repetitive tasks like data cleaning and feature engineering, freeing up data talent for higher-level analysis.
Right-Tool Selection: Strategically choose the most effective advanced analytics techniques (e.g., AI, ML) based on specific business problems.
4. Prioritize Data Quality with Automation:
Automated Data Validation: Implement automated data quality checks to identify and rectify errors at the source, minimizing downstream issues.
Data Lineage Tracking: Track the flow of data throughout the ecosystem, ensuring transparency and facilitating root cause analysis for errors.
5. Cultivate a Data-Driven Mindset:
Metrics-Driven Performance Management: Align KPIs and performance metrics with data-driven insights to ensure actionable decision making.
Data Storytelling Workshops: Equip stakeholders with the skills to translate complex data findings into compelling narratives that drive action.
Benefits of a Precise Ecosystem:
Sharpened Focus: Precise access and clear roles ensure everyone works with the most relevant data, maximizing efficiency.
Actionable Insights: Strategic analytics and automated quality checks lead to more reliable and actionable data insights.
Continuous Improvement: Data-driven performance management fosters a culture of learning and continuous improvement.
Sustainable Growth: Empowered by data, organizations can make informed decisions to drive sustainable growth and innovation.
By focusing on these precise actions, organizations can create an empowered data analytics ecosystem that delivers real value by driving data-driven decisions and maximizing the return on their data investment.
Techniques to optimize the pagerank algorithm usually fall in two categories. One is to try reducing the work per iteration, and the other is to try reducing the number of iterations. These goals are often at odds with one another. Skipping computation on vertices which have already converged has the potential to save iteration time. Skipping in-identical vertices, with the same in-links, helps reduce duplicate computations and thus could help reduce iteration time. Road networks often have chains which can be short-circuited before pagerank computation to improve performance. Final ranks of chain nodes can be easily calculated. This could reduce both the iteration time, and the number of iterations. If a graph has no dangling nodes, pagerank of each strongly connected component can be computed in topological order. This could help reduce the iteration time, no. of iterations, and also enable multi-iteration concurrency in pagerank computation. The combination of all of the above methods is the STICD algorithm. [sticd] For dynamic graphs, unchanged components whose ranks are unaffected can be skipped altogether.
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...John Andrews
SlideShare Description for "Chatty Kathy - UNC Bootcamp Final Project Presentation"
Title: Chatty Kathy: Enhancing Physical Activity Among Older Adults
Description:
Discover how Chatty Kathy, an innovative project developed at the UNC Bootcamp, aims to tackle the challenge of low physical activity among older adults. Our AI-driven solution uses peer interaction to boost and sustain exercise levels, significantly improving health outcomes. This presentation covers our problem statement, the rationale behind Chatty Kathy, synthetic data and persona creation, model performance metrics, a visual demonstration of the project, and potential future developments. Join us for an insightful Q&A session to explore the potential of this groundbreaking project.
Project Team: Jay Requarth, Jana Avery, John Andrews, Dr. Dick Davis II, Nee Buntoum, Nam Yeongjin & Mat Nicholas
1. 1
Measuring Resources & Workload Skew
In Micro-Service MPP Analytic Query Engine
Nikunj Parekh
Aster Engine
Teradata, Inc., Santa Clara, CA, USA
Nikunj.Parekh@Teradata.com
Alan Beck
Aster Engine
Teradata, Inc., Santa Clara, CA, USA
Alan.Beck@Teradata.com
Abstract
Big Data analytics is common in many business domains, for
example in financial sector for savings portfolio analysis, in
government agencies, scientific research and insurance
providers, to name a few. The uses of Big Data range from
generating simple reports to executing complex analytical
workloads. The increases in the amount of data being stored
and processed in these domains expose many challenges with
respect to scalable processing of analytical queries.
Massively Parallel Processing (MPP) databases address these
challenges by distributing storage and query processing
across multiple compute nodes and distributed processes in
parallel, usually in a shared-nothing architecture. Today, new
technologies are shaping up the way platforms for the
Internet of services are designed and managed. This
technology is the containers, like Docker[1,2]
and LXC[3,4,5]
.
The use of container as base technology for large-scale
distributed systems opens many challenges in the area of
resource management at run-time, for example: auto-scaling,
optimal deployment and monitoring.
Monitoring orchestrated distributed systems is at the heart of
many cloud resource management solutions. Measuring
performance and analyzing that data to take guesswork out of
resource utilization is key to engineering budget
management.
Measuring Workload Skew and resource utilization of MPP
databases and analytic engines is the focus of our work. This
paper explores the tools available to measure the
performance of MPP Docker and Kubernetes environments
from the perspective of a Database Administrator using such
systems in a virtualized environment. Our approach provides
a detailed characterization of CPU, memory and network IO,
while complex long duration analytic SQL queries are
loading compute resources in containerized systems.
Keywords: Docker, LXC, Massively Parallel Processing
(MPP), MapReduce, Kubernetes, Pods and Workload Skew
1. Introduction
The enabling force for large-scale distributed systems
moving from dedicated servers to cloud computing is the
containerization technologies. The drivers for
containerization are the following:
• Portability – agnostic of the environment
• Quick Installation and Deployment – should be able to
install and redeploy quickly on a given environment and
also deploy host-agnostically
• Elasticity – In the cloud environment, compute resources
are available on demand. We are able to start clusters on
the fly and expand/shrink them based on demand in
many applications
• Accurate Resource Management – a pay as you go
model wherein software products are no longer licensed
but metered requires a detailed resource monitoring and
management
• Multi-tenancy – should be able to start multiple instances
of same distributed system on the same physical
hardware, and containerization is one of the key
mechanisms to host multitenant apps in cloud
• Isolation – without introducing unworkable interface
conflicts such as for network, namespaces and other
sharable resources
• Quicker releases – CI / CD friendly product releases
• Quicker development and testing – because
containerization facilitates micro-services architecture, it
promotes parallelizable product development and
quicker feature testing
The interest of cloud providers and Internet Service Providers
(ISP)[6]
has gradually grown in Docker as the preferred
product offering model. A container is a software program
that performs OS level virtualization by using resource
isolation features of the Linux kernel[7]
. This allows
applications or application components (the so called micro-
services) to be installed with all the library dependencies, the
binaries, and all their configurations needed to run as if they
are running on independent Virtual Machines, except there’s
low overhead in starting and running them.
There are many management tools for Linux containers:
LXC, systemd-nspawn, lmctfy, Warden, Docker and rkt for
CoreOS[8,9]
. The latter is a minimal operating system that
supports popular container systems out of the box. The
operating system is designed to be operated in clusters and
can run directly on bare metal or on virtual machines.
CoreOS supports hybrid architectures (for example, virtual
machines plus bare metal). This approach enables the
Container-as-a-Service solutions that are becoming widely
available.
2. 2
Momentum keeps building around Kubernetes. Our recent
survey on server-less dynamic cloud computing and DevOps
revealed that by mid-2018, more than 60% of respondents
will be evaluating, prototyping, or deploying to production
solutions involving container orchestration[10,11].
We see
Kubernetes emerging as the de-facto standard for container
orchestration as well as for large-scale distributed systems
deployments.
Having a rapidly increasing number of large-scale systems
deployed in Kubernetes environment, we wanted to explore
strategies for instrumenting resource utilization
measurements for applications running inside these
orchestrated clusters. This paper lays out two different
resource measurement solutions with a focus on monitoring
resource usage in MPP analytic systems, such as Teradata’s
Aster Engine.
The first part of the paper discusses resource monitoring at a
broad orchestrated application level, and enumerates
solutions to collect application monitoring data for exploring
performance issues, troubleshooting application errors and
analyzing performance trends to root cause performance
bottlenecks in the application. The question that always needs
to be answered is: Is the problem the input or the underlying
infrastructure?
While analyzing the broader cluster level resource utilization
profile, it is often necessary in an MPP analytic engine, to
understand utilization at more granular level. For example, to
be able to answer above question fully, or to be able to
estimate compute resource needs for future it is very valuable
to profile resource utilization specific to each query. It is
therefore necessary to know in detail the resource usage of
long running SQL queries or even of specific phases thereof.
The second part of the paper details Query Resource
Monitoring solution implemented in Aster Engine at
Teradata.
The rest of this paper is organized as follows. Section 1
continues with more introduction of Massively Parallel
Processing, and container orchestration. Section 2 briefly
introduces the Aster Engine in Kubernetes environment.
Section 3 details our Cluster Resource Monitoring
approaches and solution we picked, and section 4 details our
Query Resource Monitoring approach. It also highlights the
commonly applicable sub-problems, such as retrieval, storage
solutions and the policies for eviction of the time-series
resource utilization data.
1.1 Massively Parallel Processing
Modern scale-out database engines are usually based on one
of two design principles: sharded and massively parallel
processing (MPP) databases. Both are shared-nothing
architectures, where each node manages its own storage and
memory, and they are typically based on horizontal
partitioning[12,13]
. Sharded systems optimize for executing
queries on small subsets of the shards, and communication
between shards is relatively limited[14]
.
MPP databases optimize for parallel execution of each
query[15]
. The nodes are usually collocated within the same
data center, and each query can access data across all the
nodes. A query optimizer generates an execution plan that
includes explicit data movement directives, and the cost of
moving data is taken into account during optimization. A
query executing in an MPP database can include several
pipelined execution stages, with explicit communication
between nodes at each stage. For example, a multi-stage
aggregation can be used to compute an aggregate over the
entire dataset using all the nodes. MPP databases can use a
unique mechanism to solve sub-problems using independent
queries for each of them. This mechanism of issuing “child
queries” reuses the same JDBC connection from a client to
connect to MPP system. While measuring resource
utilization, the resource usages of these child sessions need to
be accounted for toward the main query that invokes these
child queries to solve sub problems.
Many robust, highly scalable, high performance distributed
systems and products, such as Teradata’s Aster Engine
analytic system are built on top of Docker and Kubernetes
technology, and these large-scale systems require monitoring
solutions similar to the ones outlined below.
2. Teradata Aster Engine On Kubernetes
Kubernetes is an open-source system for automating
deployment, scaling and management of containerized
applications that was originally designed by Google and now
maintained by the Cloud Native Computing Foundation
(CNCF). It aims to provide a "platform for automating
deployment, scaling, and operations of application containers
across clusters of hosts". The idea with Kubernetes is to
manage containers as a group called pods[40]
. Pods can be
collocated and can share network, volumes and namespace.
Kubernetes thus provides a good abstraction for distributed
applications that are not completely decoupled, such as, Aster
Engine. The networking and sharing of resources between
containers is taken care of and the end user does not need to
set it up. Kubernetes also manages failure of pods and restarts
a container if the container fails.
Teradata’s new Analytic Platform uses Aster Engine for
large-scale SQL and User Defined Analytic Functions (UDF)
query processing on massive data. Aster Engine is MPP
analytics databases with the typical deployments including
tens or hundreds of nodes. Storage and processing of large
amounts of data are handled by distributing the load across
several servers or hosts to create an array of individual
databases, working together to present a single database
image. The Master node is the entry point, where clients
connect and submit SQL statements. The Master coordinates
work with other database instances, called workers. Aster
3. 3
Engine Master is a pod that runs several Linux Docker
containers, each responsible for specific tasks to coordinate
the execution of Aster query across workers. Database clients
connect to the Master though a JDBC connection to issue
queries. The Master is responsible for global optimization of
query, for parsing, serialization, query planning, query
optimization and execution of phases. Each Aster worker is a
separate pod and runs several Docker containers of its own in
each pod. Each worker container is responsible for specific
task during query execution under Master’s command as per
the query plan. One of the containers on each worker pod
encapsulates the Postgres database (the pgdb container). The
pgdb container is a standalone Postgres DB itself and
receives subset of the table that the query is executing on.
This subset is called a partition. Union of partitions across all
workers is the main table and the intersection is null.
During execution of a query, large amounts of data can be
distributed and redistributed in multiple ways across the
workers, due to repartitioning, complex JOINs etc. An entire
distributed table with its partitions stored on different
workers can also be gathered from those worker pods,
operated upon with various analytic SQLMR UDFs run as
queries by client and the resulting table can optionally be
stored or returned back to the client as output. SQLMR
stands for SQL-MapReduce, new UDF framework that is
inherently parallel, designed to facilitate parallel computation
of procedural functions across hundreds of servers working
together as a single relational database.
The pgdb container executes the Plain-SQL part of queries,
and a “runner” container deployed in each worker pod
executes the SQLMR UDF part of the queries. As such,
during a query, these are the two main containers that do the
most compute resource intensive tasks. The participation of
these and the other containers is discussed in more detail in
Section 4.
3. Cluster Resource Monitoring In MPP Engine
We present a novel approach to measure resource usage of a
cluster of Kubernetes pods. Our approach is implemented in
Teradata’s Aster Engine. The monitoring mechanisms
discussed, enable system administrators and analytics users
to visualize, plot, generates alerts and perform live and
historical-analytics on the cluster usage statistics. The
solution is usable for many third-party visualizers and data-
miners.
There is a plethora of solutions and ideas, available to
analyze Kubernetes pod performance, both at cost and for
free. Some are open source while others are commercial.
Some are easy to deploy while others require manual
configuration. Some are general purpose while others are
aimed specifically at certain container environments. Some
are hosted in the cloud while others require installations on
own cluster or hosts.
3.1 Comparison of Solutions
Following are the alternatives evaluated and found
noteworthy. Quick comparisons of over a dozen third party
solutions generated ideas. We looked through following
metrics for the offerings: Affinity to Data Collection
Framework / Data-stores, Built-in Aggregation Engines, Pre-
packaged Filtering, Visualization Integration, Alerting &
Logging, and most importantly, Ease to integrate with Aster
Engine and Teradata’s Viewpoint API. Readers should note
that the comparison table below is for brevity and assessment
does not even attempt to do full justice to the technological
complexity neither the technical evaluations done by us, let
alone the effort that has gone into innovating for them.
However, we wanted to incorporate something with relative
ease and extensibility. Following is a list of third-party
solutions that we looked at to incorporate into Aster Engine
to measure cluster level resource utilizations.
1. Docker Stats API[16,17,18]
: Docker Stats API was well
applicable for us. The approach is quite basic in terms of
utilizations that it can fetch for us via the API at this
time. We can get only per-container utilization. The
benefit of using Stats API is that the output from this
API is JSON friendly – something we need to simplify
integration with Teradata ViewPoint. We’d need to
implement the plumbing and aggregation ourselves.
2. cAdvisor[19,20,21]
: cAdvisor (Container Advisor) provides
a running daemon on each Kubernetes node that collects
aggregates, processes and exports a detailed resource
usage information for running containers on each node.
But, it does not have complete orchestration purview
beyond a single node, which translates to more complex
aggregation implementations and testing for us.
3. SysDig[22,23,24,25]
: The API provides deep visibility into
containers and it has robust alerting. But, this was of no
immediate value, because our goal was to interface with
Teradata’s ViewPoint User interface that manages alerts
within its framework. It’s also a paid solution.
4. SupervisorD[26]
: SupervisorD offers a client/server
system to monitor and control a number of processes on
UNIX-like operating systems. But this is not the most
suitable solution in a Kubernetes environment.
5. Scout[27]
: It is a hosted App and a Comprehensive
solution for monitoring Docker containers. We did not
analyze it deeply because of some of the similar
applicability caveats mentioned before.
6. New Relic[28]
: This is a neat application performance
monitoring (APM) solution as a purely SaaS offering.
Also, currently it is mainly usable for Docker, which
warrants a newly implemented resource utilization
aggregation solution. In addition to being somewhat hard
to incorporate, being an at-cost solution also factored
into our decision.
7. Librato[29,30]
: Is a generic cloud monitoring, alerting and
provides analytics solution for the resource utilization
4. 4
type of time-series data. It is well suited for collecting
resource utilization or other metrics from AWS or
Heroku and post-processing them, for example to find
correlations and generating alerts. It is usable also as
Heapster Sink, at which point it looked to us more like a
consumer of resource utilization data than a resource.
8. Heapster[31,32,33]
: This is a robust go-to solution for basic
resource utilization metrics and events (read and exposed
by Eventer) on any Kubernetes clusters. Heapster is a
cluster-wide aggregator of monitoring and event data. It
supports Kubernetes natively and works on all
Kubernetes setups. We decided to use Heapster because
of its ease of availability, deployment, auto
configurability and convenience of building our solution
on top of its Restful API.
9. Other solutions[34,35]
: A ubiquitous solution we noticed
is of setting up the Prometheus - cAdvisor - InfluxDB &
Grafana stack. This solution is geared toward
administrators, end-users, cloud-hosted systems, or to
the data scientists. It did not seem to us like a solution
that we could adopt for Aster Engine and get resource
utilization easily converted for ViewPoint[36]
.
3.2 cAdvisor Introduction
cAdvisor is an open source container resource usage and
performance analysis agent. It is built for containers and
supports Docker containers natively. In Kubernetes, cAdvisor
is integrated into the Kubelet binary. cAdvisor auto-discovers
all containers in the machine and collects CPU, memory,
filesystem, and network usage statistics. cAdvisor also
provides the overall machine usage by analyzing the ‘root’
container on the machine.
The Kubelet acts as a bridge between the Kubernetes master
and the nodes. It manages the pods and containers running on
a machine. Kubelet translates each pod into its constituent
containers and fetches individual container usage statistics
from cAdvisor. It then exposes the aggregated pod resource
usage statistics via a REST API. More on how Heapster
Works can be found in the reference section.
Alternative Benefits Concerns
Docker Stats API Direct JSON o/put Hard to integrate
cAdvisor Node level option Hard to integrate
sysDig Detailed; Alerts Paid solution
SupervisorD Detailed, Unix-like Not pod aware
Scout Comprehensive Hosted App
New Relic Elegant solution Paid; Not pod aware
Librato Analytics; Alerts Hard to integrate
cAdvisor, InfluxDb,
Grafana
Well-adopted,
generic
Prometheus-or-
plotting friendly
Heapster Robust; Pod-aware;
Free; Pluggable API,
Json output
Needs trivial client
code to transcode,
aggregate
3.3 Heapster Introduction
Heapster is a cluster-wide aggregator of monitoring and
event data. Currently it natively supports Kubernetes[37,38]
only and works on all Kubernetes setups.
Heapster runs as a pod in the cluster, similar to how any
Kubernetes application would run. The Heapster pod
discovers all nodes in the cluster and queries usage
information from the nodes’ Kubelets, the on-machine
Kubernetes agent. The Kubelet itself fetches the data from
cAdvisor.
Heapster groups the information by pod along with the
relevant labels. This data is then pushed to a configurable
backend for storage and visualization.
Currently supported backends include InfluxDB (with
Grafana for visualization), Google Cloud Monitoring and
many others described in more details here. The overall
architecture of the service can be seen below. A Grafana
setup with InfluxDB is a very popular combination for
monitoring in the open source world. InfluxDB exposes an
easy to use API to write and fetch time series data.
Heapster is setup to use this storage backend by default on
most Kubernetes clusters.
3.4 Using Heapster To Measure MPP Database
Performance
3.4.1 Heapster Metric Model
The Heapster Model is a structured representation of metrics
for Kubernetes clusters, which is exposed through a set of
REST API endpoints. It allows the extraction of historical
data for any Container, Pod, Node or Namespace in the
cluster, as well as the cluster itself (depending on the metric).
The model API does not conform to the standards of a
Kubernetes API. It cannot be easily aggregated, does not
have auto generated serialization and clients for its types, and
does has a number of corner cases in its design that cause it
to fail to display metrics in certain case.
Within Kubernetes, its use been replaced by the resource
metrics API and custom metrics API, found in the
k8s.io/metrics repository. New applications that need metrics
are encouraged to use these APIs instead. Metrics-server and
custom metrics adapters provide these respectively.
3.4.2 Kubernetes Resource Metrics Api[39]
The goal with this for the Kubernetes community effort is to
provide resource usage metrics for pods and nodes through
5. 5
the API server itself. This is a stable, versioned API, which
core Kubernetes components, can rely on. Because of
scalability limitations, Kubernetes apiserver persists all
Kubernetes resources in its key-value store etcd. It’s not able
to handle such load. On the other hand metrics tend to change
frequently, are temporary and in case of loss of them we can
collect them during the next housekeeping operation. As
such, Kubernetes stores them in memory and can’t reuse the
main apiserver and instead introduced a new one - metrics
server. This is the API that was used to collect resource usage
at entire cluster level.
3.5 Cluster Resource Measurement System
Figure 1 below is a simplified diagram that shows our CRM
subsystem implemented in Aster Engine.
Figure 1: Cluster Resource Monitoring In Aster Engine
At a high level Aster is deployed in its own namespace and
interacts with Teradata ViewPoint (on left) over HTTP or
HTTPS. A new container called “webservices” implements
the logic that queries pod level resource utilization statistics
(CPU %, Memory Used, Network IO, Disk IO etc.) from
Heapster pod. Heapster interacts with all containers of Aster
and fetches utilization statistics using cAdvisor via Kubelets
on the pods as detailed earlier The CRM Client module
implements a data format transcoder as well as aggregation
logic that caters the data through Apache webserver running
in within same container. ViewPoint is the client that
requests this data using a Restful HTTP API interface.
ViewPoint plots and displays the data in a user-friendly
manner.
3.6 Measurement Results
We implemented a Python client that pulls this information
from Heapster Metrics Server’s Restful API and store them
by pods. A pod in our cluster represented one Master pod and
many distributed Worker pods that together create an MPP
Analytic system.
The stored data contained % CPU utilization, Memory used
in Bytes, and Network Sent and Received in Bytes. Heapster
may also be able to return Disk Reads and Disk Writes per
pod, per node or per container if, needed. Heapster returns
time-series data related to the resource usage. Sample data
for one time-point is shown below, but entire series can be
retrieved for up to last 15 minutes, and recorded, plotted and
analyzed. A sample result data is shown in the table below.
The table shows real-time resource usage queried from
Heapster, aggregated at pods level. The data shows CPU,
memory and network IO on the Aster Engine’s Master pod
and 2 worker pods.
The client we implemented program from Heapster, queries
data using Heapster’s Restful API endpoints at pod level and
presents to the ViewPoint user interface. The program also
evicts the data from Heapster based on our eviction scheme.
Name Metric Value Epoch
Master CPU 33.5 % 1515494040
Master Memory 64180615 Bytes 1515494040
Master Nw Sent 40671 Bytes 1515494040
Master Nw Recv 53732 Bytes 1515494040
Worker1 CPU 45 % 1515494040
Worker1 Memory 81601882 Bytes 1515494040
Worker1 Nw Sent 81621 Bytes 1515494040
Worker1 Nw Recv 397232 Bytes 1515494040
Worker2 CPU 40 % 1515494040
Worker2 Memory 81604771 Bytes 1515494040
Worker2 Nw Sent 81621 Bytes 1515494040
Worker2 Nw Recv 207232 Bytes 1515494040
4. Query Resource Monitoring In MPP Engine
Resource utilization is modeled in Query Resource
Monitoring (QRM) on a per analytic query basis. When a
query takes a long time, QRM provides insights. This is
useful to identify expensive phases of a query that tax certain
resources more, or skew the work distribution.
4.1 Data Transfers Load During Query Execution
In Teradata’s Aster Engine, complex analytic computations
can result in large data movements and compute intensive
“hot spots” on specific containers, the bulk of which is
explained in Section 2. Data movement is done using Aster’s
proprietary data format known as “ICE”, which stands for
“Intra Cluster Express”. ICE moves large “tuples” of data
across workers pods and Master pods, during query
execution, partitioning, repartitioning or complex JOINs. In
addition to the pgdb and the runner containers, the ice
container can also exhibit sporadic spikes in CPU, Network
IO and Memory utilizations, because of intermittently large-
scale movements of partitions.
4.2 Highlights of Query Execution In Aster Engine
6. 6
Broadly, there are two types of queries –
1. The plain-SQL query execution: For this we deploy a
dedicated container that runs an instance of a tailored
version of proven Postgres database in the pgdb
container. The deployed pgdb container on each of the
workers in parallel provides an MPP infrastructure for
running plain SQL parts of the user’s queries in a
distributed manner.
2. The SQLMR query execution: The runner container
facilitates an isolated environment to run SQLMR UDFs.
The deployed runner container on each of the workers in
parallel provides an MPP infrastructure for running
SQLMR UDFs parts of the user’s queries in a distributed
manner.
An Analytic user such as a database administrator (DBA) or
a data scientist will simply write a query or a UDF[43]
like
they traditionally do, and Aster Engine will distribute it on
the MPP system. The system can run arbitrarily complex
UDFs in this distributed environment.
Each runner runs a single JVM, which is used to solve a part
of the sub-problem to run the UDF. At the end of the
execution, the outcomes of all of the runners are combined to
form the final output, which is the result of running this
SQLMR UDF function in database on the given table.
We’d like to measure resource utilization within the pgdb and
the runner containers on each worker pod, and then aggregate
these values across workers to report compute resource
utilization caused by a specific user query on Aster Engine
cluster for a query.
At the time of this publication, the CPU % utilization and
Memory utilization are measured and reported by the
solution. We are working to incorporate Disk IO and
Network IO in our solution. The solution for these additional
metrics should fall in place since a robust framework has
been built first.
Note that the uniqueness of Aster Engine as a distributed
system is in the fact that we are slicing the SQLMR analytic
problems across worker containers within the MPP systems.
The pgdb and runner containers are solving the sub-problems
on disjoint partitions of the database tables, in parallel, in
order to achieve performance. As such, since the system does
not merely slice the work by containers or pods, the
measuring of resource utilization is non-trivial and need to be
done in a bottom-up manner.
Note also that we cannot afford to spin up and shutdown
containers on demand for Aster Engine to remain a high
performance MPP execution engine. T overhead of on-
demand spin up of containers will easily reduces
performance of Aster Engine on complex analytic queries
due to the latency issues.
In addition to accurately measuring plain-SQL and SQLMR
computations across the cluster, the impact of driver
functions is also measured. Driver functions use JDBC to
connect back to Aster Engine and issue additional queries. A
resource usage of the children sessions and all the queries
there are executed as part of it also gets accounted toward the
main query that invoked driver function.
4.3 Query Resource Measurement System
The Figure 2 below shows a simplified view of QRM system.
The light blue boxes represent the existing pods that are part
of the Aster Engine MPP system. The MPP Execution
Master creates and executes query plan and controls
execution of the query across Aster cluster. The pgdb and
runner are the Docker containers one or more of which may
exist on each worker pod, as shown below. The diagram also
shows a trivial sample table of the result from the QRM
system as stored in the DATABASE. Other actors in
QRM are following –
• QM Emitter helps retrieve memory and CPU usage
information by reading the info from the Linux procfs
filesystem[42]
for specific processes pertaining to the
Aster Engine, inside the Docker containers
• QM Collector container in each pod
• QM Master - lightweight container in Master pod is has
main role in QRM. It polls or subscribes to worker pod
QM Collector for utilization data
• Utilization in pgdb render Plain SQL resource usage by
reusing QM Emitter
• Utilization in runner render SQLMR resource usage by
reusing QM Emitter
4.3.1 Query Resource Measurement Steps
1. When QRM sub-system is on, it looks for the start of a
new session. Utilization starts to collect when a new
Session starts.
2. QM Emitter sends utilization data from pgdb and runner
to QM Collector local to each worker pod for entire
duration while Aster Engine session is active.
3. Data collection stops when the end of query session is
detected.
4. Data from QM Collectors on all workers is requested by
QM Master on Master pod and relayed to a generic
destination DATABASE where measurements are
stored. This is done on a periodic basis (minutes or
hours) and at ends of sessions.
5. Data is stored in new table in DATABASE, and is
indexed by session id.
Data can be pulled into other reporting, post-processing,
historical analysis systems and plotting tools from the
generic destination DATABASE.
QRM design is a best-effort architecture due to the nature
of its purpose.
7. 7
If parts of sub-system don’t perform, reporting may be
incomplete, i.e., yield underestimated (but not inapplicable)
utilization. In specific –
Single Point Failure: If QM Master goes down either due
to load, container failure or system degenerate state, and the
measurements may lag or utilizations be under-estimated.
- In this case, Kubernetes may restart the QM Master
container.
Figure 2: Simplified Query Resource Monitoring Subsystem
In Aster Engine, keyed by Session id
Service Protection (Do no harm principle): Local pod
level query utilization storage are designed in a FIFO / LRU /
Ring Buffer / Round Robin way.
• QRM is designed to save accumulated data in a round-
robin fashion. If data is not collected either from QM
Collector on workers or from DATABASE after a period
of time, it may be overwritten if needed.
• This is to protect active analytic engine and the QM
Emitter from going out of memory.
• QM Collector can cap resource utilization in memory
data on a per session level memory limit.
• QM Collector in-memory data can also have an overall
limit across sessions.
• QM Collector can also have a Data Retiring Manager to
retire data in DATABASE on a per table basis (time
based or size based; long term expiry of data).
4.4 Measuring SQL Resource Utilization
Compute resource usage by plain SQL queries is measured
by measuring system load inside the pgdb containers running
in each of the worker pods, and aggregating the results that is
collected in the Master. This involves measuring resource
usage by each of the Postgres processes within the pgdb
containers on worker pods.
4.5 Measuring SQLMR Resource Utilization
Compute resource usage by SQLMR queries is measured by
measuring system load inside the runner containers running
in each of the worker pods, and aggregating the results that is
collected in the Master. This involves measuring resource
usage by each of the JVMs running inside the runner
containers.
4.6 Solution Scalability
A system, whose performance improves by adding hardware,
proportionally to the capacity added, is said to be scalable
system or horizontally scalable system. Scalability of QRM
ties to measurement load imposed on it. So, scalability of
QRM is somewhat inversely proportional to scalability of the
MPP system being measured! Adding workers load QM
Master in linear manner. So, in an MPP analytic engine
with N worker pods and m pgdb or runner instances per pod,
there will be (m+1)*N total resource utilization
measurements to be taken.
• Every measurement collection collects data at sampling
frequency, say f, or sampling period T. T = 1/f, for every
resource-type.
• Let R be the total number of resources measured
o Where resource-type € {Cpu %, Memory, Network
Recv, Network Sent, Disk Reads, Disk Writes}
o Currently, R = 2; Cpu % and Memory.
• Every sample is a time-series item, which is a pair or
tuple of doubles: <time> and <utilization value>.
• So, over an arbitrary sampling frequency f, the QRM
subsystem collects
(((m + 1) * N) * R * 2 * 8) / f bytes of data.
• Periodically, this data will be fetched or pushed into long
term storage, such as DATABASE or a third-party
reporting system.
• For convenience, we’d estimate scale on a “per fetch by
third-party reporting system”
basis, or else the sampling period to such a reporting
system can also be modeled here. If we model it, it will
proportionately affect scale. Measurement collection is
done for each query. So, for Q queries running
simultaneously,
(m + 1) * N * R * Q * 16 / f bytes of data per query per
fetch
Following are a few sample scenarios:
1. So, for a 2000 pod Aster Engine MPP system with 2
pgdb and/or runner containers per pod, sampling the
resource utilizations at period P = 10 sec, or f = 1/6
8. 8
minute, the proposed solution will collect data
at 1,152,000 bytes / min or 19.2 KBPS per query.
• Each additional query monitored in parallel will
multiply the size of data, modulo the fetch period of
the third-party reporting system.
• If for this scenario, the QRM data is offloaded fully
into a third-party reporting system every 5 minutes,
it would be about 5.8 MB if one query was running
and 17.4 MB of memory requirement for 3 queries
running in parallel, and every 5 minutes they run.
2. Or for a small system with 2 pods, with one pgdb per
pod, P = 30 sec = 0.5 minute, we will collect 256 bytes
of data per running Promethium query per minute.
QRM is most applicable for long running queries. Be
informed that in absence of eviction, the queries will
have linear penalty on resources needed by QRM, as the
derivation shows.
Above calculations highlight the need of LRU based
local eviction and destructive read-out heuristics. Be
informed that QRM is off by default.
4.7 Measuring Workload Skew
Skew is one of the key characteristics of an MPP execution
engine that helps determine throughput for a specific
database session. In an MPP system with high cardinality,
skew is a condition in which compute work to execute a long
running database query is unevenly balanced among
partitions or workers in the cluster. In any practical scenario
of execution on any system, a small amount of skew is
inevitable and harmless.
There are mainly four skew parameters to judge throughput
and performance of orchestrated MPP execution engine of a
given cluster size:
1. Pod IO skew: comparison of the highest IO usage
watermark on the busiest node to the average use on
other pods. This can include network IO, disk IO or
both.
2. Pod CPU skew: comparison of highest CPU usage
watermark use on the busiest node to the average use on
other pods.
3. Pod Memory skew: comparison of highest memory
watermark for a query on the busiest node to the average
use on other pods.
Let,
podCount be total number of pods,
sum be the sum of the metrics on all pods,
max be the value of metrics on the busiest pod.
For IO metrics, the two metrics such as read and written
bytes are added together for Disk IO; similarly, the sent and
received bytes are added together for Network IO, and the
max and sum are computed for these totals. The Workload
Skew for a specific utilization metric across all Aster Engine
worker pods is computed as,
where, subscript m stands for specific resource the skew is to
be computed for, such as memory, CPU % etc.
This formula for podSkew helps a DBA judge the workload
spread across workers. The expectation is that overall
throughput of the MPP system on a long running query is
maximum if the workload is perfectly balanced, that is, all n
pods have a identical workload and thus the podSkew is 0.
4.8 QRM Data Aggregation
The data aggregation in QRM for resource
utilization requires a distributed system design for itself that
must be able to scale linearly or preferably super-
linearly with respect to the size of the MPP system. This is
because bigger systems do not reduce but grow challenge for
QRM performance.
The data being aggregated to QM Collector processes in
memory, per worker pod, store primarily resource utilization
time-series data.
Aggregation heuristics depends on the resource-type of the
metrics being aggregated. At a high level -
• The CPU utilization % should be stored uniquely per
pod and not added up to be able to compute podSkew for
CPU % in the system.
• The Memory utilization in bytes per pod, with each pod
can be returning (m + 1) time-series-es, where m is the
number of pgdb and/or runner Docker instances per pod.
Storing these values separate can allow computing
podSkew for Memory.
• This storage is local to QM Collector in each pod.
• It is possible to measure skew for SQL and SQLMR
queries separately by storing resource utilization metrics
for pgdb and runner separately, instead of aggregating
them in QM Collector.
• Newer metrics such as Network Sent bytes, Network
Received bytes, Disk Read bytes and Disk Written bytes
can also be reported in the same manner.
There are two ways to collect this data centrally in
DATABASE that is attached to the Master pod –
• QM Master can serially fetch or pull the data from QM
Collector of all workers
• QM Collectors on all workers can asynchronously
message or push the data to QM Master
The push mechanism can employ Asynchronous-Messaging
Queues wherein QM Master is subscribed to all QM
Collectors in the pods (across pod recreations). Following are
more detail on these two approaches.
PodSkewm = (1 - ((summ / PodCount) / maxm))) * 100
9. 9
4.8.1 Serial Solution Formulation
In this method to fetch QRM resource utilization, QM Master
pulls the collected resource utilizations from QM Collectors
on worker pods on its own schedule.
1. QM Emitter retrieves resource utilization for Linux
processes in the container (pgdb or runner) from the
procfs.
2. This utilization info (either one point or a time-series
chunk) is sent to local QM Collector container on the
same pod. This data transfer reused
preexisting RPC mechanism, but can also use a Restful
API or a speedy Asynchronous-Message Queue such as
ZeroMQ[41]
. The data rests in the process memory for the
collector process inside the QM Collector until it is
either evicted (expired with time or by size limit) or
collected by QM Master.
3. QM Master periodically polls QM Collectors on all
worker pods via a similar data transfer mechanism and
fetches and erases all of the time-series data from each
pod, one at a time.
4. QM Master saves data into DATABASE after data is
fetched from each pod.
This is shown in the flow diagram in Figure 3 below.
4.8.2 Parallel Solution Formulation
Another design choice was to use a Proactor Design to
retrieve QRM data from QM Collectors on the worker pods.
Proactor is a software design pattern for event handling in
which long running data sources in the design subscribe to a
central part of the system, either for commands and control or
to offload the data.
A completion handler is called based on meeting any
arbitrary condition, asynchronously, at the data source – the
QM Collector in our case. Such designs follow Hollywood
Design Principle (“Don’t call us, we’ll call you.”). Here's the
flow –
1. As the worker pods come up, every QM Collector
container subscribes to the central QM Master container.
2. On each worker pod in QM Collector container the
Proactor subscriber waits for certain condition to be met.
This condition can be a periodic timer interrupt or a
more complex condition that need to be checked, such
as, an event that is triggered by size of time-series
accumulated so far on that pod, etc.
3. Proactor subscriber in QM Collector reads the time-
series.
4. Proactor subscriber in QM Collector dispatches an event
to the handler in QM Master.
5. Either the QM Collector can now send time-series as
payload with the event itself or the QM Master can
handshake subsequently to request the time-series data.
6. QM Master can process or aggregate or filter the data
and then write to QRM tables in DATABASE.
Benefit of a pull solution is that data transfer rates can be
Figure 3: QRM Data Collection To QM Master: Serial Solution
Benefit of a pull solution is that data transfer rates can be
throttled by constraining resources, like thread-pool, that
implement the pull in QM Master. A parallel or push
approach may flood the network or QRM subsystem in case
queries are resource consuming – which is a bad time to
further load the network.
4.9 Measurement Results
The measurement results specific to the queries in our MPP
execution engine are not available at the time of this writing.
These measurements will be taken in March of 2018, which
is well ahead of conference presentation deadline and will be
conveyed as soon as they are available and shared during
presentation.
5. Security
5.1 Network Access
1. CRM feature, in our case, did expose one port to retrieve
data from Heapster, and another port to send the
aggregated per-pod resource utilization data to
Teradata’s ViewPoint UI.
2. QRM feature exposes no new ports. QM Master does not
need network access other than internal connectivity via
reused RPC to QM Collector on worker pods to receive
and send data for aggregation and storage.
3. If more clients or sinks of data are connected the ports
need to be secured and not exposed to the outside world,
at the same time all resource utilization data needs to be
encrypted to avoid malicious access to it for CRM and
QRM.
5.2 User Access Control To Data
1. Consider running any newly added QRM and CRM
containers as non-privileged Docker containers and as
non-privileged users by default.
2. Protect access to the newly added tables and views in
external databases and systems to which the resource
utilization data gets saved.
10. 10
6. Summary
In this paper we have presented two comprehensive
mechanisms and experiences to design and incorporate
resource usage monitoring in a large-scale Kubernetes
orchestrated MPP analytic engine. Our work details the
methods and addresses multiple challenges pertinent to
measuring resource utilization in MPP systems on a system
level and with precision during one or multiple distributed
SQL and SQLMR analytic query processing.
Our benchmarking results for Cluster Resource Monitoring
have shown that the solution built by implementing a
Heapster client and channeling the time-series data to other
subsystems and User interfaces does not load much the actual
system being measured.
7. References
[1] www.docker.com/what-container
[2] Vivek Ratan (February 8, 2017). "Docker: A Favourite in the
DevOps World". Open Source Forum, June 14, 2017.
[3] en.wikipedia.org/wiki/LXC
[4] www.linuxcontainers.org
[5] www.upguard.com/articles/docker-vs-lxc
[6] www.goto.docker.com/rs/929-FJL-178/images/Docker-Survey-
2016.pdf
[7] O'Gara, Maureen (26 July 2013). "Ben Golub, Who Sold Gluster
to Red Hat, Now Running dotCloud". SYS-CON Media, 2013-08-
09
[8]
www.domino.research.ibm.com/library/cyberdig.nsf/papers/092905
2195DD819C85257D2300681E7B/$File/rc25482.pdf
[9] www.arxiv.org/pdf/1709.10140.pdf
[10] www.blog.newrelic.com/2017/11/27/monitoring-application-
performance-in-kubernetes
[11] www.newrelic.com/serverless-dynamic-cloud-survey
[12] www.vldb.org/pvldb/vol9/p660-trummer.pdf
[13] www.dcs.bbk.ac.uk/~ap/teaching/ADM2018/notes5.pdf
[14]
static.googleusercontent.com/media/research.google.com/en//pubs/a
rchive/41344.pdf
[15]
citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.478.9491&rep=
rep1&type=pdf
[16] docs.docker.com/engine/reference/commandline/stats
[17] docs.docker.com/engine
[18] docs.docker.com/config/containers/runmetrics
[19] www.github.com/google/cadvisor
[20] hub.docker.com/r/google/cadvisor
[21] blog.codeship.com/monitoring-docker-containers
[22] www.sysdig.com/product/monitor
[23] www.tecmint.com/sysdig-system-monitoring-and-
troubleshooting-tool-for-linux
[24] www.sysdig.com/blog/ monitoring-kubernetes-with-sysdig-
cloud
[25] www.sysdig.com/blog/alerting-kubernetes
[26] www.supervisord.org/introduction.html
[27] www.monitorscout.com
[28] en.wikipedia.org/wiki/New_Relic
[29] www.librato.com
[30] www.github.com/librato/librato-metrics
[31]
www.github.com/kubernetes/heapster/blob/master/docs/overview.
md
[32]
www.github.com/kubernetes/heapster/blob/master/docs/storage-
schema.md
[33] www.github.com/DataDog/the-
monitor/blob/master/kubernetes/how-to-collect-and-graph-
kubernetes-metrics.md
[34] www.stackoverflow.com/questions/33749911/a-combination-
for-monitoring-system-for-container-grafanaheapsterinfluxdbcad
[35] blog.couchbase.com/wp-content/original-assets/december-
2016/kubernetes-monitoring-with-heapster-influxdb-and-
grafana/kubernetes-logging-1024x407.png
[36]
info.teradata.com/HTMLPubs/DB_TTU_16_00/index.html#page/G
eneral_Reference/B035-1091-160K/muq1472241426243.html
[37] www.kubernetes.io
[38] www.kubernetes.io/docs/concepts/overview/what-is-kubernetes
[39]
www.github.com/kubernetes/community/blob/master/contributors/d
esign-proposals/instrumentation/resource-metrics-api.md
[40] Large Scale Cluster Management At Google With Borg:
static.googleusercontent.com/media/research.google.com/en//pubs/a
rchive/43438.pdf
[41] www.zguide.zeromq.org/page:all
[42] ProcFs: en.wikipedia.org/wiki/Procfs
[43] dl.acm.org/citation.cfm?id=1687567