The document discusses using garbage collection (GC) logs to tune Java memory management. It provides an overview of GC concepts like heap regions, collection types, and how to read GC log output. Examples of GC log lines are presented and explained in detail to show heap usage and collection times. The document encourages monitoring GC to improve performance metrics like response time, throughput and hardware usage for applications.
Apache Spark has rocked the big data landscape, quickly becoming the largest open source big data community with over 750 contributors from more than 200 organizations. Spark's core tenants of speed, ease of use, and its unified programming model fit neatly with the high performance, scalable, and manageable characteristics of modern Java runtimes. In this talk we introduce the Spark programming model, and describe some unique Java runtime capabilities in the JIT, fast networking, serialization techniques, and GPU off-loading that deliver the ultimate big data platform for solving business problems. We will show how solutions, previously infeasible with regular Java programming, become possible with a high performance Spark core runtime, enabling you to solve problems smarter and faster.
Garbage First Garbage Collector (G1 GC) - Migration to, Expectations and Adva...Monica Beckwith
Learn what you need to know to experience nirvana in the evaluation of G1 GC even if your are migrating from Parallel GC to G1, or CMS GC to G1 GC
You also get a walk through of some case study data
G1 GC
Apache Spark has rocked the big data landscape, quickly becoming the largest open source big data community with over 750 contributors from more than 200 organizations. Spark's core tenants of speed, ease of use, and its unified programming model fit neatly with the high performance, scalable, and manageable characteristics of modern Java runtimes. In this talk we introduce the Spark programming model, and describe some unique Java runtime capabilities in the JIT, fast networking, serialization techniques, and GPU off-loading that deliver the ultimate big data platform for solving business problems. We will show how solutions, previously infeasible with regular Java programming, become possible with a high performance Spark core runtime, enabling you to solve problems smarter and faster.
Garbage First Garbage Collector (G1 GC) - Migration to, Expectations and Adva...Monica Beckwith
Learn what you need to know to experience nirvana in the evaluation of G1 GC even if your are migrating from Parallel GC to G1, or CMS GC to G1 GC
You also get a walk through of some case study data
G1 GC
June 24, 2014. At Velocity 2014, Fastly engineer Vladimir Vuksan gave an intro to Ganglia concepts (grid, clusters, hosts) as well as an installation of a sample monitoring grid. He also goes through the following commonly used visualization tools and how they may aid in detecting issues, identifying causes, and taking corrective action:
- Cluster/Grid Views
- Aggregate graphs
- Compare Hosts
- Custom graph functionality
- Views
- Interactive graphs
- Trending
- Nagios/Alerting system integration
- How to add metrics to Ganglia
- Different export formats such as JSON, CSV, and XML
Slides from #PromCon2018 Munich.
https://promcon.io/2018-munich/talks/thanos-prometheus-at-scale/
Bartłomiej Płotka
Fabian Reinartz
The Prometheus Monitoring system has been thriving for several years. Along with its powerful data model, operational simplicity and reliability have been a key factor in its success. However, some questions were still largely unaddressed to this day. How can we store historical data at the order of petabytes in a reliable and cost-efficient way? Can we do so without sacrificing responsive query times? And what about a global view of all our metrics and transparent handling of HA setups?
Thanos takes Prometheus' strong foundations and extends it into a clustered, yet coordination free, globally scalable metric system. It retains Prometheus's simple operational model and even simplifies deployments further. Under the hood, Thanos uses highly cost-efficient object storage that's available in virtually all environments today. By building directly on top of the storage format introduced with Prometheus 2.0, Thanos achieves near real-time responsiveness even for cold queries against historical data. All while having virtually no cost overhead beyond that of the underlying object storage.
We will show the theoretical concepts behind Thanos and demonstrate how it seamlessly integrates into existing Prometheus setups.
At StampedeCon 2014, John Tran of NVIDIA presented "GPUs in Big Data." Modern graphics processing units (GPUs) are massively parallel general-purpose processors that are taking Big Data by storm. In terms of power efficiency, compute density, and scalability, it is clear now that commodity GPUs are the future of parallel computing. In this talk, we will cover diverse examples of how GPUs are revolutionizing Big Data in fields such as machine learning, databases, genomics, and other computational sciences.
Effective testing for spark programs Strata NY 2015Holden Karau
This session explores best practices of creating both unit and integration tests for Spark programs as well as acceptance tests for the data produced by our Spark jobs. We will explore the difficulties with testing streaming programs, options for setting up integration testing with Spark, and also examine best practices for acceptance tests.
Unit testing of Spark programs is deceptively simple. The talk will look at how unit testing of Spark itself is accomplished, as well as factor out a number of best practices into traits we can use. This includes dealing with local mode cluster creation and teardown during test suites, factoring our functions to increase testability, mock data for RDDs, and mock data for Spark SQL.
Testing Spark Streaming programs has a number of interesting problems. These include handling of starting and stopping the Streaming context, and providing mock data and collecting results. As with the unit testing of Spark programs, we will factor out the common components of the tests that are useful into a trait that people can use.
While acceptance tests are not always part of testing, they share a number of similarities. We will look at which counters Spark programs generate that we can use for creating acceptance tests, best practices for storing historic values, and some common counters we can easily use to track the success of our job.
Relevant Spark Packages & Code:
https://github.com/holdenk/spark-testing-base / http://spark-packages.org/package/holdenk/spark-testing-base
https://github.com/holdenk/spark-validator
Talk about using Ganglia and other tools for storing all kinds of web application metrics for both operations and business purposes. Presented at Cambridge Geek Night
Obtaining the Perfect Smoke By Monitoring Your BBQ with InfluxDB and TelegrafInfluxData
Did you know you can use InfluxDB to monitor your BBQ and to ensure the tastiest results? Join this meetup to learn two different approaches to using a time series database to monitor a BBQ or a smoker. Learn how Will Cooke uses Python, MQTT, Telegraf and InfluxDB 2.0 to monitor his smoker and to gain insight into temperature changes, the stall, and other important stats about his brisket. Scott Anderson will demonstrate how he uses a FireBoard wireless thermometer, Telegraf and InfluxDB 2.0 to continuously work towards the perfect smoke.
My talk about Catalyst for QCon Beijing 2015. In this talk, we walk through Catalyst, Spark SQL's query optimizer, by using a simplified version of Catalyst to build an optimizing Brainfuck compiler named Brainsuck in less than 300 lines of code.
What is in All of Those SSTable Files Not Just the Data One but All the Rest ...DataStax
Have you ever wondered what is in all of those SSTable files and how it helps Cassandra find and manage your data? If you go to the Datastax website they will give you a high level explanation of what is in each file. In this talk we will go much deeper explaining each file and walking through a dump of its contents. We will also explore the differences between Cassandra 2.1 and 3.4.
About the Speaker
John Schulz Prinicipal Consultant, The Pythian Group
John has 40 of years experience working with data. Data in files and in Databases from flat files through ISAM to relational databases and most recently NoSQL. For the last 15 he's worked on a variety of Open source technologies including MySQL, PostgreSQL, Cassandra, Riak, Hadoop and Hbase. He has been working with Cassandra since 2010. For the last eighteen months he has been working for The Pythian Group to help their customers improve their existing databases and select new ones.
June 24, 2014. At Velocity 2014, Fastly engineer Vladimir Vuksan gave an intro to Ganglia concepts (grid, clusters, hosts) as well as an installation of a sample monitoring grid. He also goes through the following commonly used visualization tools and how they may aid in detecting issues, identifying causes, and taking corrective action:
- Cluster/Grid Views
- Aggregate graphs
- Compare Hosts
- Custom graph functionality
- Views
- Interactive graphs
- Trending
- Nagios/Alerting system integration
- How to add metrics to Ganglia
- Different export formats such as JSON, CSV, and XML
Slides from #PromCon2018 Munich.
https://promcon.io/2018-munich/talks/thanos-prometheus-at-scale/
Bartłomiej Płotka
Fabian Reinartz
The Prometheus Monitoring system has been thriving for several years. Along with its powerful data model, operational simplicity and reliability have been a key factor in its success. However, some questions were still largely unaddressed to this day. How can we store historical data at the order of petabytes in a reliable and cost-efficient way? Can we do so without sacrificing responsive query times? And what about a global view of all our metrics and transparent handling of HA setups?
Thanos takes Prometheus' strong foundations and extends it into a clustered, yet coordination free, globally scalable metric system. It retains Prometheus's simple operational model and even simplifies deployments further. Under the hood, Thanos uses highly cost-efficient object storage that's available in virtually all environments today. By building directly on top of the storage format introduced with Prometheus 2.0, Thanos achieves near real-time responsiveness even for cold queries against historical data. All while having virtually no cost overhead beyond that of the underlying object storage.
We will show the theoretical concepts behind Thanos and demonstrate how it seamlessly integrates into existing Prometheus setups.
At StampedeCon 2014, John Tran of NVIDIA presented "GPUs in Big Data." Modern graphics processing units (GPUs) are massively parallel general-purpose processors that are taking Big Data by storm. In terms of power efficiency, compute density, and scalability, it is clear now that commodity GPUs are the future of parallel computing. In this talk, we will cover diverse examples of how GPUs are revolutionizing Big Data in fields such as machine learning, databases, genomics, and other computational sciences.
Effective testing for spark programs Strata NY 2015Holden Karau
This session explores best practices of creating both unit and integration tests for Spark programs as well as acceptance tests for the data produced by our Spark jobs. We will explore the difficulties with testing streaming programs, options for setting up integration testing with Spark, and also examine best practices for acceptance tests.
Unit testing of Spark programs is deceptively simple. The talk will look at how unit testing of Spark itself is accomplished, as well as factor out a number of best practices into traits we can use. This includes dealing with local mode cluster creation and teardown during test suites, factoring our functions to increase testability, mock data for RDDs, and mock data for Spark SQL.
Testing Spark Streaming programs has a number of interesting problems. These include handling of starting and stopping the Streaming context, and providing mock data and collecting results. As with the unit testing of Spark programs, we will factor out the common components of the tests that are useful into a trait that people can use.
While acceptance tests are not always part of testing, they share a number of similarities. We will look at which counters Spark programs generate that we can use for creating acceptance tests, best practices for storing historic values, and some common counters we can easily use to track the success of our job.
Relevant Spark Packages & Code:
https://github.com/holdenk/spark-testing-base / http://spark-packages.org/package/holdenk/spark-testing-base
https://github.com/holdenk/spark-validator
Talk about using Ganglia and other tools for storing all kinds of web application metrics for both operations and business purposes. Presented at Cambridge Geek Night
Obtaining the Perfect Smoke By Monitoring Your BBQ with InfluxDB and TelegrafInfluxData
Did you know you can use InfluxDB to monitor your BBQ and to ensure the tastiest results? Join this meetup to learn two different approaches to using a time series database to monitor a BBQ or a smoker. Learn how Will Cooke uses Python, MQTT, Telegraf and InfluxDB 2.0 to monitor his smoker and to gain insight into temperature changes, the stall, and other important stats about his brisket. Scott Anderson will demonstrate how he uses a FireBoard wireless thermometer, Telegraf and InfluxDB 2.0 to continuously work towards the perfect smoke.
My talk about Catalyst for QCon Beijing 2015. In this talk, we walk through Catalyst, Spark SQL's query optimizer, by using a simplified version of Catalyst to build an optimizing Brainfuck compiler named Brainsuck in less than 300 lines of code.
What is in All of Those SSTable Files Not Just the Data One but All the Rest ...DataStax
Have you ever wondered what is in all of those SSTable files and how it helps Cassandra find and manage your data? If you go to the Datastax website they will give you a high level explanation of what is in each file. In this talk we will go much deeper explaining each file and walking through a dump of its contents. We will also explore the differences between Cassandra 2.1 and 3.4.
About the Speaker
John Schulz Prinicipal Consultant, The Pythian Group
John has 40 of years experience working with data. Data in files and in Databases from flat files through ISAM to relational databases and most recently NoSQL. For the last 15 he's worked on a variety of Open source technologies including MySQL, PostgreSQL, Cassandra, Riak, Hadoop and Hbase. He has been working with Cassandra since 2010. For the last eighteen months he has been working for The Pythian Group to help their customers improve their existing databases and select new ones.
ITT 2015 - Kirk Pepperdine - The (not so) Dark Art of Performance Tuning, fro...Istanbul Tech Talks
Performance optimization has always thought to be a fine art as it could not be easily formalized, or constrained into one solid workflow. However, there are common patterns all performance engineers could follow in their investigations. Kirk Pepperdine describes some approaches and tools to analyse modern application performance problems in J2SE and hardware.
This presentation was given to the system adminstration team to give them an idea of how GC works and what to look for when there is abottleneck and troubles.
Since JDK 9, G1 GC is the default garbage collector (JEP 248). Up until 2017, Monica has shared some G1 GC details, performance tips, and optimizations that help G1's adaptiveness and provided advice on manual tuning.
Since then, G1 has come a long way in improving its adaptiveness. In this session, Monica will cover most of the important optimizations that are delivered from JDK9+ and how they can help your application's responsiveness, throughput, and help with footprint reduction. This is a saga that involves various regions and generations (all pun intended).
Are you building high throughput, low latency application? Are you trying to figure out perfect JVM heap size? Are you struggling to choose right garbage collection algorithm and settings? Are you striving to achieve pause less GC? Do you know the right tools & best practices to tame the GC? Do you know to troubleshoot memory problems using GC logs? You will get complete answers to several such questions in this presentation.
HBaseCon 2015: Taming GC Pauses for Large Java Heap in HBaseHBaseCon
In this presentation, we will introduce Hotspot's Garbage First collector (G1GC) as the most suitable collector for latency-sensitive applications running with large memory environments. We will first discuss G1GC internal operations and tuning opportunities, and also cover tuning flags that set desired GC pause targets, change adaptive GC thresholds, and adjust GC activities at runtime. We will provide several HBase case studies using Java heaps as large as 100GB that show how to best tune applications to remove unpredicted, protracted GC pauses.
“Quantum” Performance Effects: beyond the CoreC4Media
Video and slides synchronized, mp3 and slide download available at URL https://bit.ly/2Sbd5Ws.
Sergey Kuksenko talks about how (and how much) CPU microarchitecture details may have an influence on applications performance. Could it be visible by end-users? How to avoid misjudgment when estimating code performance? CPU is huge (not in size) that is why the talk is limited to those parts which located out of computational core (mostly caches and memory access). Filmed at qconsf.com.
Sergey Kuksenko works as Java Performance Engineer at Oracle. His primary goal is making Oracle JVM faster digging into JVM runtime, JIT compilers, class libraries and etc. His favorite area is an interaction of Java with modern hardware what he is doing since 2005 when he worked at Intel in Apache Harmony Performance team.
G1 has been around for quite some time now and since JDK 9 it is the default garbage collector in OpenJDK. The community working on G1 is big and the contributions over the last few years have made a significant impact on the overall performance. This talk will focus on some of these features and how they have improved G1 in various ways, including smaller memory footprint and shorter P99 pause times. We will also take a brief look at what features we have lined up for the future.
Attend this session if you want to get insight on some inner workings of the search engine within Jahia. Knowing the nuts and bolts will help you understand possibilities and limitations and help you to tune your queries. You will also learn about the improvements available with Jahia 7.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Communications Mining Series - Zero to Hero - Session 1
Gclogs j1
1. Do Your GC Logs
Speak To You
Using Measurements to Tune Java
Memory Management
Copyright 2012 Kodewerk Ltd. All rights reserved
2. Kodewerk
tm
Java Performance Services
About Me
• Consultant (www.kodewerk.com)
• performance tuning and training seminar
• Co-author www.javaperformancetuning.com
• Member of Java Champion program
• Other stuff... (google is you care to)
Copyright 2012 Kodewerk Ltd. All rights reserved
3. Kodewerk
tm
Java Performance Services
• Most recently founded a tooling company
• jClarity
• We are well on the road to delivering the
next generation of advanced performance
tooling
Copyright 2012 Kodewerk Ltd. All rights reserved
4. Kodewerk
tm
Java Performance Services
Disclaimer
The resemblance of any
opinion, recommendation or
comment made during this
presentation to performance
tuning advice is merely
coincidental.
Copyright 2012 Kodewerk Ltd. All rights reserved
5. Why should I monitor GC?
Copyright 2012 Kodewerk Ltd. All rights reserved
6. GC logs contain the
information you need to
make informed choices
about how to tune Java
Memory managemet
Copyright 2012 Kodewerk Ltd. All rights reserved
7. What is the performance impact of
logging GC in production?
Copyright 2012 Kodewerk Ltd. All rights reserved
8. How do I get a GC log?
Copyright 2012 Kodewerk Ltd. All rights reserved
12. What is this gobbledygook trying
to tell me?
Copyright 2012 Kodewerk Ltd. All rights reserved
13. Java Heap
Java heap is reserved as a contiguous
block from C heap
(-mx<size>)
Copyright 2012 Kodewerk Ltd. All rights reserved
14. young old
Sub-divide to create generational spaces
segregate data by age
Young size is defined by
-XX:NewRatio=n, default is 8
-mn=<size>
Old is what remains
Copyright 2012 Kodewerk Ltd. All rights reserved
15. reserved
reserved
eden S0 S1 tenured
n 1 1
Allocate 4 memory pools from reserved
initial sizes calculated using -ms<size>
In young we have
eden survivor 0 and survivor 1
-XX:SurvivorRatio=n
Tenured is allocated from old
Copyright 2012 Kodewerk Ltd. All rights reserved
16. reserved
reserved
eden S0 S1 tenured
Eden is consumed by application threads
otherwise known as mutator threads
Allocation failure triggers a garbage
collections to recover deferenced memory
safe pointing assures mutually exclusive
access (-XX:+PrintSafepointStatistics)
Copyright 2012 Kodewerk Ltd. All rights reserved
17. reserved
reserved
eden S0 S1 tenured
Two types of collections
scavange
allocation failure in a memory pool
reach an occupancy threshold
Full collects all memory pools in a single
event
Copyright 2012 Kodewerk Ltd. All rights reserved
18. reserved
reserved
eden S0 S1 tenured
Mark and Sweep
pick a memory pool and scan for it’s
GC roots
trace and mark all objects reachable
from those GC roots
sweep cleans out dead objects
well, sort of
Copyright 2012 Kodewerk Ltd. All rights reserved
19. reserved
reserved
eden S0 S1 tenured
Eden is evacuated to the inactive survivor
space
Active survivor space is evacuated to
inactive survivor space
tenured (-XX:MaxTenuringDistribuion=n)
inactive survivor space made active
All evacuated spaces are empty after a GC
Copyright 2012 Kodewerk Ltd. All rights reserved
20. reserved
reserved
eden S0 S1 tenured
Before GC starts, calculate if tenured
needs to be collected
in place collection (expensive)
free list management
fragmentation
compaction
Copyright 2012 Kodewerk Ltd. All rights reserved
21. reserved
reserved
eden S0 S1 tenured
uint i = 0;
if (UseSerialGC) i++;
if (UseConcMarkSweepGC || UseParNewGC) i++;
if (UseParallelGC || UseParallelOldGC) i++;
if (UseG1GC) i++;
if (i > 1) {
jio_fprintf(defaultStream::error_stream(),
"Conflicting collector combinations in option list; "
"please refer to the release notes for the
combinations "
"allowedn");
status = false;
}
Copyright 2012 Kodewerk Ltd. All rights reserved
23. 34404.738: [GC
Desired survivor size 38535168 bytes, new threshold 3 (max 15)
[PSYoungGen: 148069K->5859K (206720K)] 3917704K ->
3775494K(4156736K), 0.0088250 secs]
Copyright 2012 Kodewerk Ltd. All rights reserved
24. 34404.738: [GC
Desired survivor size 38535168 bytes, new threshold 3 (max 15)
[PSYoungGen: 148069K->5859K (206720K)] 3917704K ->
3775494K(4156736K), 0.0088250 secs]
reserved
reserved
eden S0 S1 old
Collection called for @ 34404.738 seconds
after VM startup
Pause time = 0.0088250 seconds
Scavange algorithm: PSYoungGen
UseParallelOldGC collects both tenured and young gen
Copyright 2012 Kodewerk Ltd. All rights reserved
25. 34404.738: [GC
Desired survivor size 38535168 bytes, new threshold 3 (max 15)
[PSYoungGen: 148069K->5859K (206720K)] 3917704K ->
3775494K(4156736K), 0.0088250 secs]
Configured size: 4156736K reserved
Outer block provides a global picture
Adaptive sizing calculates size based on
recent activity
grow or shrink heap in an attempt to
improve GC effecency
Copyright 2012 Kodewerk Ltd. All rights reserved
26. 34404.738: [GC
Desired survivor size 38535168 bytes, new threshold 3 (max 15)
[PSYoungGen: 148069K->5859K (206720K)] 3917704K ->
3775494K(4156736K), 0.0088250 secs]
reserved
occupancy before = 3917704K
Copyright 2012 Kodewerk Ltd. All rights reserved
27. 34404.738: [GC
Desired survivor size 38535168 bytes, new threshold 3 (max 15)
[PSYoungGen: 148069K->5859K (206720K)] 3917704K ->
3775494K(4156736K), 0.0088250 secs]
reserved
occupancy before = 3917704K
occupancy after = 3775494K
Copyright 2012 Kodewerk Ltd. All rights reserved
28. 34404.738: [GC
Desired survivor size 38535168 bytes, new threshold 3 (max 15)
[PSYoungGen: 148069K->5859K (206720K)] 3917704K ->
3775494K(4156736K), 0.0088250 secs]
reserved
occupancy before = 3917704K
occupancy after = 3775494K
heap recovered = 3917704K - 3775494K
= 14220K
Copyright 2012 Kodewerk Ltd. All rights reserved
29. 34404.738: [GC
Desired survivor size 38535168 bytes, new threshold 3 (max 15)
[PSYoungGen: 148069K->5859K (206720K)] 3917704K ->
3775494K(4156736K), 0.0088250 secs]
reserved
reserved
eden S0 S1 tenured
For PSYoungGen
configured size = 206720K
occupancy before = 148069K
survivor occupancy after = 5859K
recovered = 14220K
Copyright 2012 Kodewerk Ltd. All rights reserved
30. 34404.738: [GC
Desired survivor size 38535168 bytes, new threshold 3 (max 15)
[PSYoungGen: 148069K->5859K (206720K)] 3917704K ->
3775494K(4156736K), 0.0088250 secs]
reserved
reserved
eden S0 S1 tenured
old = total - young
occupancy before = 3917704K - 148069K = 3769635K
occupancy after = 3775494K - 5859K = 3769635K
promoted = 14220 -14220 = 0K
Copyright 2012 Kodewerk Ltd. All rights reserved
31. 34404.738: [GC
Desired survivor size 38535168 bytes, new threshold 3 (max 15)
[PSYoungGen: 148069K->5859K (206720K)] 3917704K ->
3775494K(4156736K), 0.0088250 secs]
reserved
reserved
eden S0 S1 tenured
For survivor spaces
survivor size = 38535168
-XX:MaxTenuringThreshold=n, default 4/15
new threshold (1..n), < n premature
promotion
Copyright 2012 Kodewerk Ltd. All rights reserved
32. Full GC Record
34401.996: [Full GC [PSYoungGen: 14634K->0K(160384K)]
[ParOldGen: 3971552K->3769634K(3950016K)] 3986187K-
>3769634K(4110400K) [PSPermGen: 225242K->225175K(226048K)],
2.4645280 secs] [Times: user=26.03 sys=0.01, real=2.47 secs]
Full GC collections both young and tenured spaces
Report on
Young Gen: completely empties, resize
Old Gen: occupancy and resize
Total heap: occupancy and resize
Perm Gen: occupancy and resize
Timing: Time GC called for and pause time
Copyright 2012 Kodewerk Ltd. All rights reserved
33. 163.028: [GC 163.028: [DefNew
Desired survivor size 115671040 bytes, new threshold 15 (max 15)
- age 1: 736 bytes, 736 total
- age 2: 112 bytes, 848 total
- age 4: 40 bytes, 888 total
- age 6: 232 bytes, 1120 total
- age 7: 32 bytes, 1152 total
- age 11: 96 bytes, 1248 total
: 226048K->1K(451968K), 0.0018054 secs] 669064K-
>443016K(1129856K), 0.0018580 secs]
ParNew
breakdown of survivor occupancy by age
Copyright 2012 Kodewerk Ltd. All rights reserved
35. Kodewerk
tm
Java Performance Services
Use the GC logs to improve
performance of a web app
run 5tx/sec
Goals
reduce response time
improve transactional throughput
reduce hardware consumption
eliminate stalls
Copyright 2012 Kodewerk Ltd. All rights reserved
36. Kodewerk
tm
Run 1 (defauts)
Java Performance Services
2012-09-26 21:57:58.636::WARN: Error for /j1/bench
java.lang.OutOfMemoryError: Java heap space
Most likely default heap size is too
small
Copyright 2012 Kodewerk Ltd. All rights reserved
37. Kodewerk
tm
Heap Occupancy
Java Performance Services
Copyright 2012 Kodewerk Ltd. All rights reserved
38. Kodewerk
tm
Java Performance Services
Copyright 2012 Kodewerk Ltd. All rights reserved
39. Kodewerk
tm
Run 2 (1g)
Java Performance Services
25 < CPU < 70
~60%
Copyright 2012 Kodewerk Ltd. All rights reserved
40. Kodewerk
tm
Java Performance Services
GC pause is 15.56% of run time
should be less than 5%
ParNew is working harder than it
should
GC frequency too high
promoting too many object
Copyright 2012 Kodewerk Ltd. All rights reserved
41. Kodewerk
tm
Java Performance Services
Premature promotion @ 83.3%
Copyright 2012 Kodewerk Ltd. All rights reserved
42. Kodewerk
tm
Java Performance Services
Copyright 2012 Kodewerk Ltd. All rights reserved
43. Kodewerk
tm
Java Performance Services
Increase size of tenured spaces
increase size of young gen
-XX:NewSize=512m
young = 512m, tenured = 512m
SurvivorRatio=1
all 3 spaces are ~170m
Copyright 2012 Kodewerk Ltd. All rights reserved
44. Kodewerk
Run 2
tm
Java Performance Services
Run 3
Copyright 2012 Kodewerk Ltd. All rights reserved
45. Kodewerk
tm
Run 3 CPU
Java Performance Services
20 < CPU < 50
~40%
-20%
Copyright 2012 Kodewerk Ltd. All rights reserved
46. Kodewerk
tm
Java Performance Services
Eliminated premature promotions
Copyright 2012 Kodewerk Ltd. All rights reserved
47. Kodewerk
tm
Java Performance Services
ParNew is working less frequently @ 1.42/
sec
because of the bigger space
object now die in young gen
GC pause down to 3.13%
Can we improve the memory footprint?
Copyright 2012 Kodewerk Ltd. All rights reserved
48. Kodewerk
tm
Java Performance Services
We are using much less memory
but only because we gave it more
Copyright 2012 Kodewerk Ltd. All rights reserved
49. Kodewerk
tm
Java Performance Services
Looks likeSurvivor could be about 60m
will induce some premature promotion
Copyright 2012 Kodewerk Ltd. All rights reserved
50. Kodewerk
tm
Java Performance Services
Suggest tenuring threshold should ~5
eliminate some copy costs
Copyright 2012 Kodewerk Ltd. All rights reserved
51. Kodewerk
tm
Run 4
Java Performance Services
Configure eden to 180m
maintain GC frequency
S0/S1 to 60m each
Eden + S0 + S1 <= Tenured
180+60+60=300+300=600m
survivor ratio = 3
Tenured should be 5 (maybe 4)
Copyright 2012 Kodewerk Ltd. All rights reserved
52. Kodewerk
Run 2
tm
Java Performance Services
Run 3
Run 4
Copyright 2012 Kodewerk Ltd. All rights reserved
53. Kodewerk
tm
Run 4 CPU
Java Performance Services
20 < CPU < 50
~40%
no change
Copyright 2012 Kodewerk Ltd. All rights reserved
54. Kodewerk
tm
Java Performance Services
ParNew is working about the same (was
1.42 runs/sec)
GC puase remains about the same (was
3.13%)
Much improved memory footprint
600m vs. 1024m
Copyright 2012 Kodewerk Ltd. All rights reserved
55. Kodewerk
tm
Java Performance Services
GC adapts to a
configuration we
calculated
Copyright 2012 Kodewerk Ltd. All rights reserved
56. Kodewerk
tm
Java Performance Services
Copyright 2012 Kodewerk Ltd. All rights reserved
57. Kodewerk
tm
Java Performance Services
Could the JVM have
done this on it’s own?
Copyright 2012 Kodewerk Ltd. All rights reserved
58. Kodewerk
tm
Yeabut....
Java Performance Services
Set max heap 1G, new ratio and
survivor ratio to 1
JVM will produce identical results
but only after a warmup
and only under a set of ideal
conditions
results can vary run to run
Copyright 2012 Kodewerk Ltd. All rights reserved