Practical resource management for mobile devices: Pooling is magic
Методики, трюки и оптимизацию при управлении ресурсами игры. Как перестать беспокоится и начать эффективно использовать память.
The document discusses scaling databases to handle large volumes of data at high speeds and low latencies. It describes the problems that can occur at large scale, such as hardware failures, network issues, and unplanned loads. The document then discusses how Aerospike is able to tackle these problems through features like replication, automatic balancing, high throughput, and sub-millisecond latencies. It provides examples of Aerospike deployments handling billions of objects and tens of thousands of transactions per second. Aerospike also aims to reduce operational complexity through tools for monitoring, configuration, and capacity planning.
This document discusses various techniques for improving the speed of syslog logging in Linux/C++ applications. It recommends filtering messages at the source, using syslog to filter messages, dedicating a separate hard drive for logging, and putting syslog output in RAM instead of permanent storage for faster performance. It also lists several common syslog implementations like rsyslog and syslog-ng, and logging libraries that can be used in applications like syslog native API, Liblog4c, and Boost. Finally, it discusses using the logger utility from the command line for scripts and languages that lack integrated syslog APIs.
This document discusses multi-core programming and how the architecture of modern multi-core CPUs affects programming. It covers key topics like how adding more cores introduces bottlenecks due to shared resources, the differences between multi-CPU and multi-core machines, how memory is shared between cores, and how features like caches, pipelines and non-uniform memory access impact programming. The document provides guidance on how to optimize code for multi-core CPUs by avoiding delays from shared resources and improving instruction scheduling.
Este documento resume la historia de la literatura aborigen y ecuatoriana desde la época prehispánica hasta la segunda mitad del siglo XX. Destaca autores como Juan León Mera, Juan Montalvo, Miguel Riofrío y Jorge Icaza. También describe géneros literarios como el yaraví, el rucu cuscungo, y las obras que marcaron hitos como la independencia y el realismo.
Literatura Ecuatoriana (Aborigen-Romanticismo) JOSE LUIS NARVAEZJOSSELUISNARVAEZ
Este documento resume la literatura ecuatoriana desde la época aborigen hasta el romanticismo. Explica que los incas no tenían escritura pero transmitían su poesía oralmente a través de los amautas y aravicos. Luego, con la conquista española se impuso la educación hispana y se destruyeron las manifestaciones culturales indígenas. Uno de los primeros cronistas fue Jacinto Collahuazo. La elegía "Atahualpa Huañui" lamenta la muerte de Atahualpa. El romanticismo tuvo importantes representantes
This document discusses various computing concepts related to resources, data storage, and performance. It covers topics like hard disk drives, solid state drives, areal storage density, streams, filters, memory management, CPU performance, networking, and best practices for handling large amounts of data and potential failures. The key ideas are to use appropriate data structures, iterate/process data lazily, offload work to queues when possible, and design systems with failure in mind.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1KRPXlL.
Brian Holt talks about what is React and is desirable; what are some specific things to pay attention to for performance when writing React; some general web performance tips; what are some lessons learned while helping write m.reddit.com using React. Filmed at qconsf.com.
Brian Holt is Senior UI Engineer at Netflix.
This document discusses various computing concepts related to resources and performance in PHP applications. It covers topics like data storage technologies, areal storage density of hard drives and solid state drives, streams as a way to access input and output generically in PHP, using filters to perform operations on stream data, common issues like running out of memory and how to address them through better programming practices, limitations of CPU and how to distribute load through job queuing, and basics of networking like IP addresses, TCP, and using sockets. The key advice is to assume large amounts of data and potential failures, use appropriate data storage, avoid unnecessary processing in memory, optimize code through profiling, and offload work to other systems when possible.
The document discusses scaling databases to handle large volumes of data at high speeds and low latencies. It describes the problems that can occur at large scale, such as hardware failures, network issues, and unplanned loads. The document then discusses how Aerospike is able to tackle these problems through features like replication, automatic balancing, high throughput, and sub-millisecond latencies. It provides examples of Aerospike deployments handling billions of objects and tens of thousands of transactions per second. Aerospike also aims to reduce operational complexity through tools for monitoring, configuration, and capacity planning.
This document discusses various techniques for improving the speed of syslog logging in Linux/C++ applications. It recommends filtering messages at the source, using syslog to filter messages, dedicating a separate hard drive for logging, and putting syslog output in RAM instead of permanent storage for faster performance. It also lists several common syslog implementations like rsyslog and syslog-ng, and logging libraries that can be used in applications like syslog native API, Liblog4c, and Boost. Finally, it discusses using the logger utility from the command line for scripts and languages that lack integrated syslog APIs.
This document discusses multi-core programming and how the architecture of modern multi-core CPUs affects programming. It covers key topics like how adding more cores introduces bottlenecks due to shared resources, the differences between multi-CPU and multi-core machines, how memory is shared between cores, and how features like caches, pipelines and non-uniform memory access impact programming. The document provides guidance on how to optimize code for multi-core CPUs by avoiding delays from shared resources and improving instruction scheduling.
Este documento resume la historia de la literatura aborigen y ecuatoriana desde la época prehispánica hasta la segunda mitad del siglo XX. Destaca autores como Juan León Mera, Juan Montalvo, Miguel Riofrío y Jorge Icaza. También describe géneros literarios como el yaraví, el rucu cuscungo, y las obras que marcaron hitos como la independencia y el realismo.
Literatura Ecuatoriana (Aborigen-Romanticismo) JOSE LUIS NARVAEZJOSSELUISNARVAEZ
Este documento resume la literatura ecuatoriana desde la época aborigen hasta el romanticismo. Explica que los incas no tenían escritura pero transmitían su poesía oralmente a través de los amautas y aravicos. Luego, con la conquista española se impuso la educación hispana y se destruyeron las manifestaciones culturales indígenas. Uno de los primeros cronistas fue Jacinto Collahuazo. La elegía "Atahualpa Huañui" lamenta la muerte de Atahualpa. El romanticismo tuvo importantes representantes
This document discusses various computing concepts related to resources, data storage, and performance. It covers topics like hard disk drives, solid state drives, areal storage density, streams, filters, memory management, CPU performance, networking, and best practices for handling large amounts of data and potential failures. The key ideas are to use appropriate data structures, iterate/process data lazily, offload work to queues when possible, and design systems with failure in mind.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1KRPXlL.
Brian Holt talks about what is React and is desirable; what are some specific things to pay attention to for performance when writing React; some general web performance tips; what are some lessons learned while helping write m.reddit.com using React. Filmed at qconsf.com.
Brian Holt is Senior UI Engineer at Netflix.
This document discusses various computing concepts related to resources and performance in PHP applications. It covers topics like data storage technologies, areal storage density of hard drives and solid state drives, streams as a way to access input and output generically in PHP, using filters to perform operations on stream data, common issues like running out of memory and how to address them through better programming practices, limitations of CPU and how to distribute load through job queuing, and basics of networking like IP addresses, TCP, and using sockets. The key advice is to assume large amounts of data and potential failures, use appropriate data storage, avoid unnecessary processing in memory, optimize code through profiling, and offload work to other systems when possible.
LinuxCon Europe, 2014. Video: https://www.youtube.com/watch?v=SN7Z0eCn0VY . There are many performance tools nowadays for Linux, but how do they all fit together, and when do we use them? This talk summarizes the three types of performance tools: observability, benchmarking, and tuning, providing a tour of what exists and why they exist. Advanced tools including those based on tracepoints, kprobes, and uprobes are also included: perf_events, ktap, SystemTap, LTTng, and sysdig. You'll gain a good understanding of the performance tools landscape, knowing what to reach for to get the most out of your systems.
This document provides an overview of Distributed Replicated Block Device (DRBD), which is a software-based storage solution that mirrors the contents of block devices across multiple nodes in real-time. It describes DRBD's architecture including kernel modules, user space tools, resource configuration, roles, modes, features around efficient synchronization and data verification, and limitations.
This document provides an overview of performance analysis tools for Linux systems. It describes Brendan Gregg's background and work analyzing performance at Netflix. It then discusses different types of tools, including observability tools to monitor systems, benchmarking tools to test performance, and tuning tools to optimize systems. A number of command line monitoring tools are outlined, such as vmstat, iostat, mpstat, and netstat, as well as more advanced tools like strace and tcpdump.
Techniques for Writing Embedded Code: Memory Management, Types of Memory, Making the Most of Your RAM, Performance and Battery Life, Libraries, Debugging, Business Models: A Short History of Business Models, Space and Time, From Craft to Mass Production, The Long Tail of the Internet, Learning from History, The Business Model Canvas, Who Is the Business Model For? Models, Make Thing, Sell Thing, Subscriptions, Customisation, Be a Key Resource, Provide Infrastructure: Sensor Networks, Take a Percentage, Funding an Internet of Things Startup, Hobby Projects and Open Source, Venture Capital, Government Funding, Crowdfunding, Lean Startups.
Caches are used in many layers of applications that we develop today, holding data inside or outside of your runtime environment, or even distributed across multiple platforms in data fabrics. However, considerable performance gains can often be realized by configuring the deployment platform/environment and coding your application to take advantage of the properties of CPU caches.
In this talk, we will explore what CPU caches are, how they work and how to measure your JVM-based application data usage to utilize them for maximum efficiency. We will discuss the future of CPU caches in a many-core world, as well as advancements that will soon arrive such as HP's Memristor.
This document discusses security issues with microcontrollers (uCs). uCs are commonly used in devices like cars, medical implants, and infrastructure systems. The Atmel AVR8 uC architecture is examined in depth. Issues discussed include weak randomness for crypto, race conditions due to lack of concurrency controls, buffer overflows enabled by the Harvard architecture separating code and data, and attacks involving NULL pointers, uninitialized memory, and dereferencing memory beyond physical limits. Exploiting these issues could allow taking control of uC firmware to potentially manipulate connected devices and systems.
Ceph Day Amsterdam 2015: Measuring and predicting performance of Ceph clusters Ceph Community
This document discusses modeling and predicting performance in Ceph distributed storage systems. It provides an overview of Ceph, including its object storage, block storage, and file system capabilities. It then discusses various factors that impact Ceph performance, such as network configuration, storage node hardware, number of disks, caching, redundancy settings, and placement groups. The document notes there are many configuration choices and tradeoffs to consider when designing a Ceph cluster to meet performance requirements.
Slides from talk given on Java/Scala Lab 2014 in Odessa, Ukraine. Describes of how Java can be used as platform for latency-restricted applications such as High Frequency Trading and demonstrates how latencies 15-30µsec can be achieved on vanilla Oracle JDK.
Tomas Doran presented on their implementation of Logstash at TIM Group to process over 55 million messages per day. Their applications are all Java/Scala/Clojure and they developed their own library to send structured log events as JSON to Logstash using ZeroMQ for reliability. They index data in Elasticsearch and use it for metrics, alerts and dashboards but face challenges with data growth.
A presentation I gave for the students at iD Tech Camps showing how Buffer Overflows work. This presentation was for iD Tech Camps' "industry insight" where each instructor would present something from his/her industry. I believed this to be a good primer for the world of hacking.
Intro deck from Cassandra Day Atlanta. Covers the evolution of data storage and analysis, the architecture of Cassandra, the read & write path, and using Cassandra for analytics. By Jon Haddad & Luke Tillman
Modeling, estimating, and predicting Ceph (Linux Foundation - Vault 2015)Lars Marowsky-Brée
This document discusses modeling and predicting performance for Ceph storage clusters. It describes many of the hardware, software, and configuration factors that impact Ceph performance, including network setup, storage nodes, disks, redundancy, placement groups and more. The document advocates for developing standardized benchmarks to better understand Ceph performance under different workloads and cluster configurations in order to answer customers' questions.
Lessons learned from building Demand Side Platformbbogacki
This document provides lessons learned from building a demand-side platform (DSP) at Bidlab. It discusses choosing appropriate tools and technologies, designing for asynchronous and batch processing, caching, monitoring, testing, and scaling the system. Key recommendations include using production data to test concepts, profiling and optimizing performance, automating environments, logging extensively, and having rollback plans for deployments.
PostgreSQL worst practices, version FOSDEM PGDay 2017 by Ilya KosmodemianskyPostgreSQL-Consulting
This talk is prepared as a bunch of slides, where each slide describes a really bad way people can screw up their PostgreSQL database and provides a weight - how frequently I saw that kind of problem. Right before the talk I will reshuffle the deck to draw ten random slides and explain you why such practices are bad and how to avoid running into them.
Using the big guns: Advanced OS performance tools for troubleshooting databas...Nikolay Savvinov
Using OS performance tools and basic alternatives to troubleshoot production database issues
The document discusses using Linux performance tools like pidstat, ps, and tracing tools like perf, systemtap, and dtrace to troubleshoot complex database problems that may involve issues at the operating system, hardware, or network level. It provides examples of using these tools to diagnose specific issues like memory fragmentation, I/O problems, and network congestion and presents a methodology around reproducing issues, analyzing tool output, identifying root causes, and developing solutions.
PostgreSQL High Availability in a Containerized WorldJignesh Shah
This document discusses PostgreSQL high availability in a containerized environment. It begins with an overview of containers and their advantages like lower footprint and density. It then covers enterprise needs for high availability like recovery time objectives. Common approaches to PostgreSQL high availability are discussed like replication, shared storage, and using projects like Patroni and Stolon. Modern trends with containers are highlighted like separating data and binaries. Kubernetes is presented as a production-grade orchestrator that can provide horizontal scaling and self-healing capabilities. The discussion concludes with challenges of multi-region deployments and how service discovery with Consul can help address those challenges.
Decima Engine: Visibility in Horizon Zero DawnGuerrilla
Download the full presentation here: http://www.guerrilla-games.com/read/decima-engine-visibility-in-horizon-zero-dawn
Abstract: Horizon Zero Dawn presented the Decima engine with new challenges in rendering large and dense environments. In particular, we needed to be able to quickly query a very large set of potential objects to find which should be visible. This talk looks at the problems we faced moving from more constrained Killzone levels to Horizon's open world, and our approach to fast visibility queries using the PS4's asynchronous compute hardware. It also covers our recent work on efficiently collecting batches of object instances during the query to reduce load on the entire rendering pipeline. A basic familiarity with GPU compute will be helpful to get the most out of this talk.
Memory management in operating system | Paging | Virtual memoryShivam Mitra
This document discusses memory management techniques in operating systems. It begins by covering contiguous memory allocation approaches like fixed and variable partitioning. It then discusses non-contiguous techniques like paging and segmentation. Key concepts covered include logical vs physical addresses, page tables, translation lookaside buffers, demand paging, and virtual memory. The document provides examples and links to detailed video explanations of these important OS memory management topics.
Cоветs по оптимизации игр, Александр ДежуркоIT Share
особенностях процесса разработки, тестирования и оптимизации мобильных приложений в компании Heyworks.
- Общие правила оптимизации
- Особенности визуализации на мобильных устройствах
- Узкие места и способы оптимизации
- Pocket Troops: оптимизация на примерах
CitrusGame Engine – быстрая и удобная кроссплатформенная разработка для мобильных устройств на примере платформера
- Возможности, общий workspace, профилирование кода
- Анимация героя, врагов;
- Работа с физикой;
- Создание и управление уровнями;
- Эффекты Particle Systems;
- Плюсы/минусы, советы к использованию.
LinuxCon Europe, 2014. Video: https://www.youtube.com/watch?v=SN7Z0eCn0VY . There are many performance tools nowadays for Linux, but how do they all fit together, and when do we use them? This talk summarizes the three types of performance tools: observability, benchmarking, and tuning, providing a tour of what exists and why they exist. Advanced tools including those based on tracepoints, kprobes, and uprobes are also included: perf_events, ktap, SystemTap, LTTng, and sysdig. You'll gain a good understanding of the performance tools landscape, knowing what to reach for to get the most out of your systems.
This document provides an overview of Distributed Replicated Block Device (DRBD), which is a software-based storage solution that mirrors the contents of block devices across multiple nodes in real-time. It describes DRBD's architecture including kernel modules, user space tools, resource configuration, roles, modes, features around efficient synchronization and data verification, and limitations.
This document provides an overview of performance analysis tools for Linux systems. It describes Brendan Gregg's background and work analyzing performance at Netflix. It then discusses different types of tools, including observability tools to monitor systems, benchmarking tools to test performance, and tuning tools to optimize systems. A number of command line monitoring tools are outlined, such as vmstat, iostat, mpstat, and netstat, as well as more advanced tools like strace and tcpdump.
Techniques for Writing Embedded Code: Memory Management, Types of Memory, Making the Most of Your RAM, Performance and Battery Life, Libraries, Debugging, Business Models: A Short History of Business Models, Space and Time, From Craft to Mass Production, The Long Tail of the Internet, Learning from History, The Business Model Canvas, Who Is the Business Model For? Models, Make Thing, Sell Thing, Subscriptions, Customisation, Be a Key Resource, Provide Infrastructure: Sensor Networks, Take a Percentage, Funding an Internet of Things Startup, Hobby Projects and Open Source, Venture Capital, Government Funding, Crowdfunding, Lean Startups.
Caches are used in many layers of applications that we develop today, holding data inside or outside of your runtime environment, or even distributed across multiple platforms in data fabrics. However, considerable performance gains can often be realized by configuring the deployment platform/environment and coding your application to take advantage of the properties of CPU caches.
In this talk, we will explore what CPU caches are, how they work and how to measure your JVM-based application data usage to utilize them for maximum efficiency. We will discuss the future of CPU caches in a many-core world, as well as advancements that will soon arrive such as HP's Memristor.
This document discusses security issues with microcontrollers (uCs). uCs are commonly used in devices like cars, medical implants, and infrastructure systems. The Atmel AVR8 uC architecture is examined in depth. Issues discussed include weak randomness for crypto, race conditions due to lack of concurrency controls, buffer overflows enabled by the Harvard architecture separating code and data, and attacks involving NULL pointers, uninitialized memory, and dereferencing memory beyond physical limits. Exploiting these issues could allow taking control of uC firmware to potentially manipulate connected devices and systems.
Ceph Day Amsterdam 2015: Measuring and predicting performance of Ceph clusters Ceph Community
This document discusses modeling and predicting performance in Ceph distributed storage systems. It provides an overview of Ceph, including its object storage, block storage, and file system capabilities. It then discusses various factors that impact Ceph performance, such as network configuration, storage node hardware, number of disks, caching, redundancy settings, and placement groups. The document notes there are many configuration choices and tradeoffs to consider when designing a Ceph cluster to meet performance requirements.
Slides from talk given on Java/Scala Lab 2014 in Odessa, Ukraine. Describes of how Java can be used as platform for latency-restricted applications such as High Frequency Trading and demonstrates how latencies 15-30µsec can be achieved on vanilla Oracle JDK.
Tomas Doran presented on their implementation of Logstash at TIM Group to process over 55 million messages per day. Their applications are all Java/Scala/Clojure and they developed their own library to send structured log events as JSON to Logstash using ZeroMQ for reliability. They index data in Elasticsearch and use it for metrics, alerts and dashboards but face challenges with data growth.
A presentation I gave for the students at iD Tech Camps showing how Buffer Overflows work. This presentation was for iD Tech Camps' "industry insight" where each instructor would present something from his/her industry. I believed this to be a good primer for the world of hacking.
Intro deck from Cassandra Day Atlanta. Covers the evolution of data storage and analysis, the architecture of Cassandra, the read & write path, and using Cassandra for analytics. By Jon Haddad & Luke Tillman
Modeling, estimating, and predicting Ceph (Linux Foundation - Vault 2015)Lars Marowsky-Brée
This document discusses modeling and predicting performance for Ceph storage clusters. It describes many of the hardware, software, and configuration factors that impact Ceph performance, including network setup, storage nodes, disks, redundancy, placement groups and more. The document advocates for developing standardized benchmarks to better understand Ceph performance under different workloads and cluster configurations in order to answer customers' questions.
Lessons learned from building Demand Side Platformbbogacki
This document provides lessons learned from building a demand-side platform (DSP) at Bidlab. It discusses choosing appropriate tools and technologies, designing for asynchronous and batch processing, caching, monitoring, testing, and scaling the system. Key recommendations include using production data to test concepts, profiling and optimizing performance, automating environments, logging extensively, and having rollback plans for deployments.
PostgreSQL worst practices, version FOSDEM PGDay 2017 by Ilya KosmodemianskyPostgreSQL-Consulting
This talk is prepared as a bunch of slides, where each slide describes a really bad way people can screw up their PostgreSQL database and provides a weight - how frequently I saw that kind of problem. Right before the talk I will reshuffle the deck to draw ten random slides and explain you why such practices are bad and how to avoid running into them.
Using the big guns: Advanced OS performance tools for troubleshooting databas...Nikolay Savvinov
Using OS performance tools and basic alternatives to troubleshoot production database issues
The document discusses using Linux performance tools like pidstat, ps, and tracing tools like perf, systemtap, and dtrace to troubleshoot complex database problems that may involve issues at the operating system, hardware, or network level. It provides examples of using these tools to diagnose specific issues like memory fragmentation, I/O problems, and network congestion and presents a methodology around reproducing issues, analyzing tool output, identifying root causes, and developing solutions.
PostgreSQL High Availability in a Containerized WorldJignesh Shah
This document discusses PostgreSQL high availability in a containerized environment. It begins with an overview of containers and their advantages like lower footprint and density. It then covers enterprise needs for high availability like recovery time objectives. Common approaches to PostgreSQL high availability are discussed like replication, shared storage, and using projects like Patroni and Stolon. Modern trends with containers are highlighted like separating data and binaries. Kubernetes is presented as a production-grade orchestrator that can provide horizontal scaling and self-healing capabilities. The discussion concludes with challenges of multi-region deployments and how service discovery with Consul can help address those challenges.
Decima Engine: Visibility in Horizon Zero DawnGuerrilla
Download the full presentation here: http://www.guerrilla-games.com/read/decima-engine-visibility-in-horizon-zero-dawn
Abstract: Horizon Zero Dawn presented the Decima engine with new challenges in rendering large and dense environments. In particular, we needed to be able to quickly query a very large set of potential objects to find which should be visible. This talk looks at the problems we faced moving from more constrained Killzone levels to Horizon's open world, and our approach to fast visibility queries using the PS4's asynchronous compute hardware. It also covers our recent work on efficiently collecting batches of object instances during the query to reduce load on the entire rendering pipeline. A basic familiarity with GPU compute will be helpful to get the most out of this talk.
Memory management in operating system | Paging | Virtual memoryShivam Mitra
This document discusses memory management techniques in operating systems. It begins by covering contiguous memory allocation approaches like fixed and variable partitioning. It then discusses non-contiguous techniques like paging and segmentation. Key concepts covered include logical vs physical addresses, page tables, translation lookaside buffers, demand paging, and virtual memory. The document provides examples and links to detailed video explanations of these important OS memory management topics.
Cоветs по оптимизации игр, Александр ДежуркоIT Share
особенностях процесса разработки, тестирования и оптимизации мобильных приложений в компании Heyworks.
- Общие правила оптимизации
- Особенности визуализации на мобильных устройствах
- Узкие места и способы оптимизации
- Pocket Troops: оптимизация на примерах
CitrusGame Engine – быстрая и удобная кроссплатформенная разработка для мобильных устройств на примере платформера
- Возможности, общий workspace, профилирование кода
- Анимация героя, врагов;
- Работа с физикой;
- Создание и управление уровнями;
- Эффекты Particle Systems;
- Плюсы/минусы, советы к использованию.
Сергей Сверчков - Оцениваем решения NoSQL: какая база данных подходит для ваш...IT Share
The document describes a performance evaluation of Cassandra, Couchbase, HBase, and MongoDB under various workloads on an AWS infrastructure. It outlines the system configuration including instance types, storage, and database configuration parameters. It then presents results in graphs showing throughput and latency for each database as the workload intensity increases, covering workloads that involve different ratios of reads, writes, updates, inserts, and scans. Cassandra, Couchbase, HBase, and MongoDB each exhibited varying performance under the different workloads tested.
«Масштабируемый DevOps» Александр КолесеньIT Share
Типичные подходы к развертыванию приложений: как правильные, так и неправильные, но повсеместно применяемые.
Как сделать так, чтобы развертывание не стало проблемой с линейным ростом количества поддерживаемых окружений.
Методы обновления проекта с нулевым временем простоя: когда это уместно и принципиально возможно.
«От CMS к Highload: работа с backend» Алексей Сазанов, Александр КаскевичIT Share
- анализ производительности ORM;
- особенности работы с DB при нагрузке;
- Sphinx как дополнение к MySQL;
- сессия в ASP.NEТ: зачем нужен кастомный провайдер.
Building RAG with self-deployed Milvus vector database and Snowpark Container...Zilliz
This talk will give hands-on advice on building RAG applications with an open-source Milvus database deployed as a docker container. We will also introduce the integration of Milvus with Snowpark Container Services.
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.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
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
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
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
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
20 Comprehensive Checklist of Designing and Developing a WebsitePixlogix Infotech
Dive into the world of Website Designing and Developing with Pixlogix! Looking to create a stunning online presence? Look no further! Our comprehensive checklist covers everything you need to know to craft a website that stands out. From user-friendly design to seamless functionality, we've got you covered. Don't miss out on this invaluable resource! Check out our checklist now at Pixlogix and start your journey towards a captivating online presence today.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
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.
9. W H AT D O W E K N O W A B O U T G A M E S
• Consume all of the CPU
10. W H AT D O W E K N O W A B O U T G A M E S
• Consume all of the CPU
• Consume all of the GPU
11. W H AT D O W E K N O W A B O U T G A M E S
• Consume all of the CPU
• Consume all of the GPU
• Can consume a lot of storage space
12. W H AT D O W E K N O W A B O U T G A M E S
• Consume all of the CPU
• Consume all of the GPU
• Can consume a lot of storage space
• Consume all of RAM
13. W H AT D O W E K N O W A B O U T G A M E S
• Consume all of the CPU
• Consume all of the GPU
• Can consume a lot of storage space
• Consume all of RAM
• Thats what people do on mobile
14.
15. R E D U C E B AT T E R Y C O N S U M P T I O N
• Reduce your network activity
• Every time cell radio is activated for 20-30 seconds
• Batch requests
• Prefetch as much data as possible
• Maximize bandwidth usage
• Reduce storage activity
• Don’t keep threads busy for no reason
16. R E D U C E A P P L I C AT I O N S I Z E
• Different assets for different device categories
• Use a smaller runtime if available
• Use texture atlases
• Enable batch drawing
• Less memory
• Use compressed textures where possible
• Use WebP for uncompressed images
20. USE YOUR KNOWLEDGE
• Set restrictions for designers and artists
• Custom build process:
• Use available tools
• Write your own
21. M E M O R Y A L L O C AT I O N PAT T E R S
• Application scope (allocated at app start, freed on
shutdown)
• Level scope (allocated at level start, freed on level
end)
• Frame scope (allocated for one frame, sometimes for
two)
• Temporary allocations
22. M E M O R Y A L L O C AT I O N PAT T E R N S
• Grab all required memory once on app start - this is all
you will have
• Divide it between several heaps for different
subsystems (avoids fragmentation, decoupling)
• Use stack allocations where possible (alloca, structs,
static arrays)
23. G O T TA G O F A S T
• Linear allocator:
• Just increase the pointer and adjust for alignment
• As fast as it can get
• Free all memory at once (reset pointer)
24. L I N E A R A L L O C AT O R
• Can only free in reverse order (better free all at once at scope
exit)
• How do we deal with temporary allocations?
• Separate heap for temporaries?
• Nope! Double-ended linear allocator
• What about cleanup?
• Scope stack (http://dice.se/publications/scope-stack-
allocation/)
25. B U T W A I T, W H AT A B O U T
• Objects with undefined lifetime:
• Use object pools
• Objects with variable size:
• Custom allocator (several free-lists for different sizes)
26. OBJECT POOLS
• Preallocate certain number of objects of same type
• Use objects from pool whenever one needs an object of that
type
• Return objects to pool when done (resource released,
reference count is zero)
• Can process all the pool in one go
• Better cache efficiency
• Set restrictions on object count
28. RESOURCE LIFETIME
• Use registers for resources of same type (fonts,
textures, etc.)
• Use reference counters only as last resort:
• Thrash CPU cache
• Unnecessary work
• Unbounded pauses on deallocation cascades
29. RESOURCE LIFETIME
• Don’t leave some resource hanging if it will be reused
in some other level
• Usually its ok to unload and load stuff again to avoid
heap fragmentation
30. REDUCE MEMORY USAGE
• ‘Prototype’ pattern:
• Extract some part to be shared by all objects
• Usually used as a template for creating stuff
• Best allocation is no allocation at all
31. ‘ P R O T O T Y P E ’ PAT T E R N
• Animations
• Game entities (Similar to prefabs in Unity)
• Anything that could share an immutable part between
instances
32. REDUCE MEMORY USAGE
• Unity:
• Use value types (structs, primitive types)
• Avoid boxing/unboxing
• Don’t use default GUI
• Reuse buffers and objects where possible
33. • Always base your decisions on data
• USE PROFILER
• Don’t use this rules as a dogma, think for yourself
34. S TA R T P R E A L L O C AT I N G
AND
STOP WORRYING
35. QUESTIONS?
M A X K LY G A
E M A I L : M A X . K LY G A @ G M A I L . C O M
TWITTER: @NEKU42