My presentation at BSDCan 2015 in Ottawa, suggesting new KPI for network interface drivers that will make the struct ifnet opaque to the drivers and give us more freedom in future network stack improvements.
lwref: insane idea on reference countingGleb Smirnoff
My presentation at BSDCan 2014 on very cheap reference counting mechanism for multiprocessor kernel. Based on a function that can be restarted due to being atomic to memory, despite being several instructions long.
HOW 2019: A complete reproducible ROOT environment in under 5 minutesHenry Schreiner
The document discusses setting up a ROOT environment using Conda in under 5 minutes. It describes downloading and installing Miniconda and then using Conda commands to create a new environment and install ROOT and its dependencies from the conda-forge channel. The ROOT package provides full ROOT functionality, including compilation and graphics, and supports Linux, macOS, and multiple Python versions.
This document discusses tools for binding C/C++ code to Python. It begins with an overview of ctypes and CFFI for pure C bindings, and how CPython implements bindings internally. It then covers popular binding tools like SWIG, Cython, and Pybind11. For SWIG, a simple example is shown generating bindings for a C++ class. Later, a more detailed example is demonstrated using Pybind11 to bind the Minuit2 optimization library to Python.
[COSCUP 2021] A trip about how I contribute to LLVMDouglas Chen
Douglas Chen presented on his contributions to LLVM. He discussed his motivation with CppNameLint and Clang-Tidy projects. He covered the workflows for Phabricator code reviews, building and testing code, and provided tips for contributors. He shared moments from his experience like design changes, invalid options, and how clang-tidy and tests work. He emphasized reading documentation and discussing with reviewers when facing issues.
Open MPI State of the Union X SC'16 BOFJeff Squyres
This document summarizes updates from the Open MPI State of the Union X Community Meeting at SC'16. It discusses changes to Open MPI's GitHub repository and contribution policy, the versioning scheme and roadmap for future versions, and lesser known features of Open MPI including support for Singularity containers, the ORTE Distributed Virtual Machine, the OMPIO parallel I/O library, AWS scale testing, and Open MPI's involvement in the Exascale Computing Project.
lwref: insane idea on reference countingGleb Smirnoff
My presentation at BSDCan 2014 on very cheap reference counting mechanism for multiprocessor kernel. Based on a function that can be restarted due to being atomic to memory, despite being several instructions long.
HOW 2019: A complete reproducible ROOT environment in under 5 minutesHenry Schreiner
The document discusses setting up a ROOT environment using Conda in under 5 minutes. It describes downloading and installing Miniconda and then using Conda commands to create a new environment and install ROOT and its dependencies from the conda-forge channel. The ROOT package provides full ROOT functionality, including compilation and graphics, and supports Linux, macOS, and multiple Python versions.
This document discusses tools for binding C/C++ code to Python. It begins with an overview of ctypes and CFFI for pure C bindings, and how CPython implements bindings internally. It then covers popular binding tools like SWIG, Cython, and Pybind11. For SWIG, a simple example is shown generating bindings for a C++ class. Later, a more detailed example is demonstrated using Pybind11 to bind the Minuit2 optimization library to Python.
[COSCUP 2021] A trip about how I contribute to LLVMDouglas Chen
Douglas Chen presented on his contributions to LLVM. He discussed his motivation with CppNameLint and Clang-Tidy projects. He covered the workflows for Phabricator code reviews, building and testing code, and provided tips for contributors. He shared moments from his experience like design changes, invalid options, and how clang-tidy and tests work. He emphasized reading documentation and discussing with reviewers when facing issues.
Open MPI State of the Union X SC'16 BOFJeff Squyres
This document summarizes updates from the Open MPI State of the Union X Community Meeting at SC'16. It discusses changes to Open MPI's GitHub repository and contribution policy, the versioning scheme and roadmap for future versions, and lesser known features of Open MPI including support for Singularity containers, the ORTE Distributed Virtual Machine, the OMPIO parallel I/O library, AWS scale testing, and Open MPI's involvement in the Exascale Computing Project.
- The document discusses debugging Node.js applications in production environments at Netflix, which has strict uptime requirements. It describes techniques used such as collecting stack traces from running processes using perf and visualizing them in flame graphs to identify performance bottlenecks. It also covers configuring Node.js to dump core files on errors to enable post-mortem debugging without affecting uptime. The techniques help Netflix reduce latency, increase throughput, and fix runtime crashes and memory leaks in production Node.js applications.
eBPF is an exciting new technology that is poised to transform Linux performance engineering. eBPF enables users to dynamically and programatically trace any kernel or user space code path, safely and efficiently. However, understanding eBPF is not so simple. The goal of this talk is to give audiences a fundamental understanding of eBPF, how it interconnects existing Linux tracing technologies, and provides a powerful aplatform to solve any Linux performance problem.
Global Interpreter Lock: Episode III - cat < /dev/zero > GIL;Tzung-Bi Shih
This document summarizes a presentation given at PyCon TW 2017 about removing the Global Interpreter Lock (GIL) in Python to allow multi-threaded Python programs to take advantage of multi-processor systems. It begins with examples showing how the GIL currently prevents parallel execution across threads. It then explores approaches like using the dynamic linker and dlmopen() function to load separate copies of the Python shared library for each thread, thereby removing the shared GIL. While an ideal solution, challenges remain in fully implementing this approach.
Tracing Software Build Processes to Uncover License Compliance InconsistenciesShane McIntosh
Open Source Software (OSS) components form the basis for many software systems. While the use of OSS components accelerates development, client systems must comply with the license terms of the OSS components that they use. Failure to do so exposes client system distributors to possible litigation from copyright holders. Yet despite the importance of license compliance, tool support for license compliance assessment is lacking. In this paper, we propose an approach to extract and analyze the Concrete Build Dependency Graph (CBDG) of a software system by tracing system calls that occur at build-time. Through a case study of seven open source systems, we show that the extracted CBDGs: (1) accurately classify sources as included in or excluded from deliverables with 88%-100% precision and 98%-100% recall, and (2) can uncover license compliance inconsistencies in real software systems - two of which prompted code fixes in the CUPS and FFmpeg systems.
This document announces the Go 1.8 release and summarizes some of its key changes and improvements, including performance enhancements to the garbage collector and compiler, tooling changes, and additions to the standard library like graceful HTTP server shutdown. It provides technical details on compiler optimizations, new features like plugins, and fixes issues like concurrent map access detection.
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDPThomas Graf
This talk will start with a deep dive and hands on examples of BPF, possibly the most promising low level technology to address challenges in application and network security, tracing, and visibility. We will discuss how BPF evolved from a simple bytecode language to filter raw sockets for tcpdump to the a JITable virtual machine capable of universally extending and instrumenting both the Linux kernel and user space applications. The introduction is followed by a concrete example of how the Cilium open source project applies BPF to solve networking, security, and load balancing for highly distributed applications. We will discuss and demonstrate how Cilium with the help of BPF can be combined with distributed system orchestration such as Docker to simplify security, operations, and troubleshooting of distributed applications.
Global Interpreter Lock: Episode I - Break the SealTzung-Bi Shih
PyCon APAC 2015 discusses the Global Interpreter Lock (GIL) in CPython and ways to work around it to achieve higher performance on multi-processor systems. It provides examples of using multiprocessing, pp (Parallel Python), and releasing the GIL using C extensions to allow concurrent execution across multiple CPU cores. Releasing the GIL allows taking advantage of additional CPUs for processor-intensive tasks, while multiprocessing and pp allow running I/O-bound tasks in parallel across multiple processes to improve throughput.
Streams are a fundamental programming primitive for representing the flow of data through your system. It's time we brought this powerful tool to the web. What if we could stream data from a HTTP request, through a web worker that transforms it, and then into a <video> tag? Over the last year, I've been working on the WHATWG streams specification, which builds upon the lessons learned in Node.js, to provide a suitable abstraction for needs of the extensible web.
I'll discuss briefly why streams are important, what they enable, and the role we envision them playing in the future of the web platform. Mostly, though, I want to help you understand streams, at a deep level. In the course of writing this specification, I've learned a lot about streams, and I want to share that knowledge with you. At the core, they are a very simple and beautiful abstraction. I think we've done a good job capturing that abstraction, and producing an API the web can be proud of. I'd love to tell you all about it.
The document discusses how Docker containers currently reuse existing operating system distributions, which is problematic. It suggests moving away from relying on full operating systems inside containers towards a more minimal model. This would allow for more consistency between what a host system runs versus inside containers. The document outlines several recommendations, including starting containers from scratch rather than existing distributions and being more specific about versions for packages installed.
This manual is “How to Build” manual for OpenCV with OpenCL for Android.
If you want to “Use OpenCL on OpenCV” ONLY,
Please see
http://github.com/noritsuna/OpenCVwithOpenCL4AndroidNDKSample
The webinar discussed accelerating P4 and eBPF programs on Netronome SmartNIC hardware. It covered the Linux kernel infrastructure like TC and XDP that supports offloading eBPF programs. It also explained how the NFP architecture is optimized for network flow processing with its multi-core design and memory hierarchy. The webinar demonstrated how eBPF programs can be translated to run efficiently on the NFP hardware by handling maps and applying optimizations.
Golang supports several execution modes that determine how code is built and linked. The main modes are:
- exe: Default for main packages, builds everything into a single executable.
- shared: Combines packages into a shared library for dynamic linking, reducing binary size. Currently only supported on Linux.
- archive: Default for non-main packages, builds into a .a library file.
- c-shared/c-archive: Builds packages into a single C shared library/archive file for calling from C/C++.
- plugin: Builds packages into a shared library that can be dynamically loaded at runtime, similar to dlopen. Currently only supported on Linux.
“p4alu” is a P4 program who would parse UDP packet with payload in "p4alu header format" and apply calculation.
This program is tested using BMv2 simple_switch P4 target.
GIT: Content-addressable filesystem and Version Control SystemTommaso Visconti
Git presentation, internals, advanced use and workflow examples.
Presentation by Tommaso Visconti http://www.tommyblue.it for DrWolf srl http://www.drwolf.it
Fun with Github webhooks: verifying Signed-off-byJeff Squyres
An overview of an afternoon project I noodled around with one day to play with Ruby and Github Webhooks. I surprised myself by creating something somewhat actually useful.
Presentation given to the Kentucky Open Source Society (KyOSS) on July 8, 2015.
Из презентации вы узнаете:
про большинство утилит из арсенала Go, предназначенных для оптимизации производительности;
— как и когда их (утилиты) использовать, а также мы посмотрим как они устроены внутри;
— про применимость linux утилиты perf для оптимизации программ на Go.
Кроме того, устроим небольшой crash course, в рамках которого поэтапно соптимизируем несколько небольших программ на Go с использованием вышеперечисленных утилит.
By Masaki Arai, Fujitsu Laboratories Ltd.
For numerical calculation programs on supercomputers, the kernel part occupies 80% or more of the execution time in many cases. Therefore, the quality of the code generated by the compiler for these kernel parts is significant. We created a tool, which is called HCQC, to aid in the investigation of the quality of the code generated by the compiler for the kernel part. In this presentation, we report the details of HCQC and the results of evaluating the quality of GCC and LLVM when compiling the kernel part of benchmark programs using HCQC.
Masaki Arai Bio
In 1992, He joined Fujitsu Laboratories Ltd. His research interests are in the area of compiler optimizations and computer architectures. He joined Linaro as member engineer in 2017.
Email
itaru.kitayama@riken.jp
For more info on The Linaro High Performance Computing (HPC) visit https://www.linaro.org/sig/hpc/
Kselftest is a developer-friendly test framework and set of tests for the Linux kernel. It aims to help developers test the kernel more easily and frequently. Tests are contained in the kernel source code and can be built, run, installed, and packaged quickly and easily. Writing new tests and using the test code as documentation makes kselftest a good starting point for new kernel developers.
These are the slides that supported the presentation on Apache Flink at the ApacheCon Budapest.
Apache Flink is a platform for efficient, distributed, general-purpose data processing.
- The document discusses debugging Node.js applications in production environments at Netflix, which has strict uptime requirements. It describes techniques used such as collecting stack traces from running processes using perf and visualizing them in flame graphs to identify performance bottlenecks. It also covers configuring Node.js to dump core files on errors to enable post-mortem debugging without affecting uptime. The techniques help Netflix reduce latency, increase throughput, and fix runtime crashes and memory leaks in production Node.js applications.
eBPF is an exciting new technology that is poised to transform Linux performance engineering. eBPF enables users to dynamically and programatically trace any kernel or user space code path, safely and efficiently. However, understanding eBPF is not so simple. The goal of this talk is to give audiences a fundamental understanding of eBPF, how it interconnects existing Linux tracing technologies, and provides a powerful aplatform to solve any Linux performance problem.
Global Interpreter Lock: Episode III - cat < /dev/zero > GIL;Tzung-Bi Shih
This document summarizes a presentation given at PyCon TW 2017 about removing the Global Interpreter Lock (GIL) in Python to allow multi-threaded Python programs to take advantage of multi-processor systems. It begins with examples showing how the GIL currently prevents parallel execution across threads. It then explores approaches like using the dynamic linker and dlmopen() function to load separate copies of the Python shared library for each thread, thereby removing the shared GIL. While an ideal solution, challenges remain in fully implementing this approach.
Tracing Software Build Processes to Uncover License Compliance InconsistenciesShane McIntosh
Open Source Software (OSS) components form the basis for many software systems. While the use of OSS components accelerates development, client systems must comply with the license terms of the OSS components that they use. Failure to do so exposes client system distributors to possible litigation from copyright holders. Yet despite the importance of license compliance, tool support for license compliance assessment is lacking. In this paper, we propose an approach to extract and analyze the Concrete Build Dependency Graph (CBDG) of a software system by tracing system calls that occur at build-time. Through a case study of seven open source systems, we show that the extracted CBDGs: (1) accurately classify sources as included in or excluded from deliverables with 88%-100% precision and 98%-100% recall, and (2) can uncover license compliance inconsistencies in real software systems - two of which prompted code fixes in the CUPS and FFmpeg systems.
This document announces the Go 1.8 release and summarizes some of its key changes and improvements, including performance enhancements to the garbage collector and compiler, tooling changes, and additions to the standard library like graceful HTTP server shutdown. It provides technical details on compiler optimizations, new features like plugins, and fixes issues like concurrent map access detection.
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDPThomas Graf
This talk will start with a deep dive and hands on examples of BPF, possibly the most promising low level technology to address challenges in application and network security, tracing, and visibility. We will discuss how BPF evolved from a simple bytecode language to filter raw sockets for tcpdump to the a JITable virtual machine capable of universally extending and instrumenting both the Linux kernel and user space applications. The introduction is followed by a concrete example of how the Cilium open source project applies BPF to solve networking, security, and load balancing for highly distributed applications. We will discuss and demonstrate how Cilium with the help of BPF can be combined with distributed system orchestration such as Docker to simplify security, operations, and troubleshooting of distributed applications.
Global Interpreter Lock: Episode I - Break the SealTzung-Bi Shih
PyCon APAC 2015 discusses the Global Interpreter Lock (GIL) in CPython and ways to work around it to achieve higher performance on multi-processor systems. It provides examples of using multiprocessing, pp (Parallel Python), and releasing the GIL using C extensions to allow concurrent execution across multiple CPU cores. Releasing the GIL allows taking advantage of additional CPUs for processor-intensive tasks, while multiprocessing and pp allow running I/O-bound tasks in parallel across multiple processes to improve throughput.
Streams are a fundamental programming primitive for representing the flow of data through your system. It's time we brought this powerful tool to the web. What if we could stream data from a HTTP request, through a web worker that transforms it, and then into a <video> tag? Over the last year, I've been working on the WHATWG streams specification, which builds upon the lessons learned in Node.js, to provide a suitable abstraction for needs of the extensible web.
I'll discuss briefly why streams are important, what they enable, and the role we envision them playing in the future of the web platform. Mostly, though, I want to help you understand streams, at a deep level. In the course of writing this specification, I've learned a lot about streams, and I want to share that knowledge with you. At the core, they are a very simple and beautiful abstraction. I think we've done a good job capturing that abstraction, and producing an API the web can be proud of. I'd love to tell you all about it.
The document discusses how Docker containers currently reuse existing operating system distributions, which is problematic. It suggests moving away from relying on full operating systems inside containers towards a more minimal model. This would allow for more consistency between what a host system runs versus inside containers. The document outlines several recommendations, including starting containers from scratch rather than existing distributions and being more specific about versions for packages installed.
This manual is “How to Build” manual for OpenCV with OpenCL for Android.
If you want to “Use OpenCL on OpenCV” ONLY,
Please see
http://github.com/noritsuna/OpenCVwithOpenCL4AndroidNDKSample
The webinar discussed accelerating P4 and eBPF programs on Netronome SmartNIC hardware. It covered the Linux kernel infrastructure like TC and XDP that supports offloading eBPF programs. It also explained how the NFP architecture is optimized for network flow processing with its multi-core design and memory hierarchy. The webinar demonstrated how eBPF programs can be translated to run efficiently on the NFP hardware by handling maps and applying optimizations.
Golang supports several execution modes that determine how code is built and linked. The main modes are:
- exe: Default for main packages, builds everything into a single executable.
- shared: Combines packages into a shared library for dynamic linking, reducing binary size. Currently only supported on Linux.
- archive: Default for non-main packages, builds into a .a library file.
- c-shared/c-archive: Builds packages into a single C shared library/archive file for calling from C/C++.
- plugin: Builds packages into a shared library that can be dynamically loaded at runtime, similar to dlopen. Currently only supported on Linux.
“p4alu” is a P4 program who would parse UDP packet with payload in "p4alu header format" and apply calculation.
This program is tested using BMv2 simple_switch P4 target.
GIT: Content-addressable filesystem and Version Control SystemTommaso Visconti
Git presentation, internals, advanced use and workflow examples.
Presentation by Tommaso Visconti http://www.tommyblue.it for DrWolf srl http://www.drwolf.it
Fun with Github webhooks: verifying Signed-off-byJeff Squyres
An overview of an afternoon project I noodled around with one day to play with Ruby and Github Webhooks. I surprised myself by creating something somewhat actually useful.
Presentation given to the Kentucky Open Source Society (KyOSS) on July 8, 2015.
Из презентации вы узнаете:
про большинство утилит из арсенала Go, предназначенных для оптимизации производительности;
— как и когда их (утилиты) использовать, а также мы посмотрим как они устроены внутри;
— про применимость linux утилиты perf для оптимизации программ на Go.
Кроме того, устроим небольшой crash course, в рамках которого поэтапно соптимизируем несколько небольших программ на Go с использованием вышеперечисленных утилит.
By Masaki Arai, Fujitsu Laboratories Ltd.
For numerical calculation programs on supercomputers, the kernel part occupies 80% or more of the execution time in many cases. Therefore, the quality of the code generated by the compiler for these kernel parts is significant. We created a tool, which is called HCQC, to aid in the investigation of the quality of the code generated by the compiler for the kernel part. In this presentation, we report the details of HCQC and the results of evaluating the quality of GCC and LLVM when compiling the kernel part of benchmark programs using HCQC.
Masaki Arai Bio
In 1992, He joined Fujitsu Laboratories Ltd. His research interests are in the area of compiler optimizations and computer architectures. He joined Linaro as member engineer in 2017.
Email
itaru.kitayama@riken.jp
For more info on The Linaro High Performance Computing (HPC) visit https://www.linaro.org/sig/hpc/
Kselftest is a developer-friendly test framework and set of tests for the Linux kernel. It aims to help developers test the kernel more easily and frequently. Tests are contained in the kernel source code and can be built, run, installed, and packaged quickly and easily. Writing new tests and using the test code as documentation makes kselftest a good starting point for new kernel developers.
These are the slides that supported the presentation on Apache Flink at the ApacheCon Budapest.
Apache Flink is a platform for efficient, distributed, general-purpose data processing.
Given that the reference Sightly implementation is now available in Apache Sling, this slide-deck focuses on best practices, modularity and on reducing application complexity by taking advantage of reusable components.
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlantaAlexandre Gouaillard
This document compares different solutions for bringing webRTC capabilities to browsers other than Chrome and Firefox through the use of plugins. It evaluates the solutions based on criteria such as supporting open webRTC APIs and standards, following security best practices, having a test suite, and ease of integration. The document finds that Temasys' plugin scores highest across the criteria by fully supporting the latest webRTC APIs, implementing security measures, including a test suite, and providing tools to easily integrate their solution. It also discusses next steps like helping to bring a native webRTC implementation to WebKit to reduce reliance on plugins.
Using the awesome power of Spring Boot with Spring Data Geode to build highly-scalable, distributed Spring/Java applications using Apache Geode or Pivotal GemFire.
Microsoft had launched Visual Studio 2015 Preview. Let try to know what's new in this release and point you more details. One of the other large announcements today is that we will open source the full server-side .NET core stack from ASP.NET 5 to the CLR and BCL and this version will run on Linux and MacOS X as well as Windows.
Since the majority of initial comments tend to be questions about supported configurations, I’ll put this up front: before you try to upgrade from Visual Studio "14" CTPs to Visual Studio 2015 Ultimate Preview, first uninstall Visual Studio "14" CTP – if you don’t, your system can wind up in an unstable state.
I’ve done a few CTPs of Visual Studio 2014 , and today they’re making a full Preview available with Visual Studio 2015. It includes cross platform device development in C++, an Android emulator, updated tooling for Apache Cordova, the open source .NET compiler platform, support for ASP.NET 5, and many IDE features.
Airflow is a platform created by Airbnb to automate and schedule workflows. It uses a Directed Acyclic Graph (DAG) structure to define dependencies between tasks, and allows scheduling tasks on a timetable or triggering them manually. Some key features include monitoring task status, resuming failed tasks, backfilling historical data, and a web-based user interface. While additional databases are required for high availability, Airflow provides a flexible way to model complex data workflows as code.
Functional testing is key to validate the installation and the correct behavior of the OPNFV platform. This session will cover how to prepare and execute the Functest framework over a fresh installed Arno and possibly some spoiler of the second release. It will also walk though the different tools used in Arno: Rally, Tempest, vPing and Robot.
7 lessons from velocity 2011 (Meetup feedback session for London Web Performa...Stephen Thair
A presentation on the Velocity 2011 conference to the London Web Performance Meetup group by Stephen Thair (Seriti Consulting) covering some of the key messages and takeaways from this year's event.
MySQL Group Replication is a plugin that enables multi-master replication. It allows any server in the replication group to accept writes and provides automatic recovery from failures or new servers joining. It uses message passing and conflict detection to keep all servers in sync. The plugin manages the distributed transaction execution and recovery process.
A presentation for the Vancouver Island Java User's Group showcasing how Groovy and the Griffon application framework can ease the pain of coding Swing applications.
.NET Application Modernization with PAS and Azure DevOpsVMware Tanzu
This document provides an overview of a conference on .NET application modernization with Pivotal and Azure DevOps from October 7-10, 2019 in Austin. It includes presentations from Jason Stevens of Microsoft and Shawn Neal of Pivotal on approaching modernization, the state of .NET, modernization journeys, and using pipelines and environments. There are also sections on Pivotal and Spring logos and brands.
Building an MLOps Stack for Companies at Reasonable ScaleMerelda
A practical talk on showing the following:
1. Challenges of Deploying ML today
2. How to do MLOps:
- Principles over Technology
- Convention over Configuration
3. What's a reasonable MLOps Stack
4. Demo on Google Collab to Deployed Endpoint
OpenShift is a platform that helps developers build and deploy containerized applications. It provides core concepts like images, containers, pods, services and routes to run applications. Developers can build images using different strategies and deploy them to OpenShift. Persistent storage is used to persist application data across deployments. Developers can debug applications using remote shells or health checks. OpenShift supports different deployment strategies like rolling deployments, blue-green deployments and A/B testing to manage application lifecycles.
This document contains a presentation on MySQL Workbench. It discusses MySQL Workbench 6.3, its advanced features like the SQL IDE, modeling, administration capabilities. It also discusses how Workbench can be used to do more through Python scripting, SSH tunneling and Fabric. Finally, it outlines some new features in MySQL 5.7 RC like support for JSON, GIS and other enhancements.
DevOps by examples - Azure Meetup Frankfurt 06-2017Giulio Vian
"DevOps by examples" session at Azure Meetup Frankfurt June 2017
https://www.meetup.com/Azure-Meetup-Frankfurt/events/239850328/
English includes screenshots
Spring Boot with Kotlin, Kofu and CoroutinesVMware Tanzu
This document summarizes steps for converting a typical Spring Boot application in Java to an idiomatic Kotlin application using Spring Boot with Kotlin, Kofu, and Coroutines. It introduces Kofu, a new Kotlin DSL for configuration of Spring Boot applications, and outlines the general direction and upcoming features of Spring frameworks' support for Kotlin. The document contains code examples demonstrating how to use Coroutines and reactive programming with Spring WebFlux and Spring Data. It also contains a safe harbor statement noting that the information is intended for informational purposes only and is subject to change.
Lee Briggs is a principle infrastructure engineer at Apptio who has been using Kubernetes since 2015. He discusses the need for configuration management of Kubernetes clusters and components. Existing tools like Helm, Ansible, and Terraform have downsides for configuration management. Briggs developed kr8, an open source tool written in Go that uses Jsonnet to render configuration templates and apply them to multiple Kubernetes clusters in a flexible way.
Similar to new ifnet(9) KPI for FreeBSD network stack (20)
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesQuickdice ERP
Explore the seamless transition to e-invoicing with this comprehensive guide tailored for Saudi Arabian businesses. Navigate the process effortlessly with step-by-step instructions designed to streamline implementation and enhance efficiency.
When it is all about ERP solutions, companies typically meet their needs with common ERP solutions like SAP, Oracle, and Microsoft Dynamics. These big players have demonstrated that ERP systems can be either simple or highly comprehensive. This remains true today, but there are new factors to consider, including a promising new contender in the market that’s Odoo. This blog compares Odoo ERP with traditional ERP systems and explains why many companies now see Odoo ERP as the best choice.
What are ERP Systems?
An ERP, or Enterprise Resource Planning, system provides your company with valuable information to help you make better decisions and boost your ROI. You should choose an ERP system based on your company’s specific needs. For instance, if you run a manufacturing or retail business, you will need an ERP system that efficiently manages inventory. A consulting firm, on the other hand, would benefit from an ERP system that enhances daily operations. Similarly, eCommerce stores would select an ERP system tailored to their needs.
Because different businesses have different requirements, ERP system functionalities can vary. Among the various ERP systems available, Odoo ERP is considered one of the best in the ERp market with more than 12 million global users today.
Odoo is an open-source ERP system initially designed for small to medium-sized businesses but now suitable for a wide range of companies. Odoo offers a scalable and configurable point-of-sale management solution and allows you to create customised modules for specific industries. Odoo is gaining more popularity because it is built in a way that allows easy customisation, has a user-friendly interface, and is affordable. Here, you will cover the main differences and get to know why Odoo is gaining attention despite the many other ERP systems available in the market.
Top 9 Trends in Cybersecurity for 2024.pptxdevvsandy
Security and risk management (SRM) leaders face disruptions on technological, organizational, and human fronts. Preparation and pragmatic execution are key for dealing with these disruptions and providing the right cybersecurity program.
How Can Hiring A Mobile App Development Company Help Your Business Grow?ToXSL Technologies
ToXSL Technologies is an award-winning Mobile App Development Company in Dubai that helps businesses reshape their digital possibilities with custom app services. As a top app development company in Dubai, we offer highly engaging iOS & Android app solutions. https://rb.gy/necdnt
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Łukasz Chruściel
No one wants their application to drag like a car stuck in the slow lane! Yet it’s all too common to encounter bumpy, pothole-filled solutions that slow the speed of any application. Symfony apps are not an exception.
In this talk, I will take you for a spin around the performance racetrack. We’ll explore common pitfalls - those hidden potholes on your application that can cause unexpected slowdowns. Learn how to spot these performance bumps early, and more importantly, how to navigate around them to keep your application running at top speed.
We will focus in particular on tuning your engine at the application level, making the right adjustments to ensure that your system responds like a well-oiled, high-performance race car.
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
Transform Your Communication with Cloud-Based IVR SolutionsTheSMSPoint
Discover the power of Cloud-Based IVR Solutions to streamline communication processes. Embrace scalability and cost-efficiency while enhancing customer experiences with features like automated call routing and voice recognition. Accessible from anywhere, these solutions integrate seamlessly with existing systems, providing real-time analytics for continuous improvement. Revolutionize your communication strategy today with Cloud-Based IVR Solutions. Learn more at: https://thesmspoint.com/channel/cloud-telephony
What to do when you have a perfect model for your software but you are constrained by an imperfect business model?
This talk explores the challenges of bringing modelling rigour to the business and strategy levels, and talking to your non-technical counterparts in the process.
8 Best Automated Android App Testing Tool and Framework in 2024.pdfkalichargn70th171
Regarding mobile operating systems, two major players dominate our thoughts: Android and iPhone. With Android leading the market, software development companies are focused on delivering apps compatible with this OS. Ensuring an app's functionality across various Android devices, OS versions, and hardware specifications is critical, making Android app testing essential.
SMS API Integration in Saudi Arabia| Best SMS API ServiceYara Milbes
Discover the benefits and implementation of SMS API integration in the UAE and Middle East. This comprehensive guide covers the importance of SMS messaging APIs, the advantages of bulk SMS APIs, and real-world case studies. Learn how CEQUENS, a leader in communication solutions, can help your business enhance customer engagement and streamline operations with innovative CPaaS, reliable SMS APIs, and omnichannel solutions, including WhatsApp Business. Perfect for businesses seeking to optimize their communication strategies in the digital age.
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfVALiNTRY360
Salesforce Healthcare CRM, implemented by VALiNTRY360, revolutionizes patient management by enhancing patient engagement, streamlining administrative processes, and improving care coordination. Its advanced analytics, robust security, and seamless integration with telehealth services ensure that healthcare providers can deliver personalized, efficient, and secure patient care. By automating routine tasks and providing actionable insights, Salesforce Healthcare CRM enables healthcare providers to focus on delivering high-quality care, leading to better patient outcomes and higher satisfaction. VALiNTRY360's expertise ensures a tailored solution that meets the unique needs of any healthcare practice, from small clinics to large hospital systems.
For more info visit us https://valintry360.com/solutions/health-life-sciences
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
new ifnet(9) KPI for FreeBSD network stack
1. New ifnet(9) KPI
Gleb Smirnoff
glebius@FreeBSD.org
BSDCan 2015
Ottawa
June 11, 2015
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 1 / 24
2. Introduction
project wiki page and code
https://wiki.freebsd.org/projects/ifnet
svn+ssh://svn.freebsd.org/base/projects/ifnet
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 2 / 24
3. Introduction
struct ifnet
Glue between a driver and the stack
Used to be embedded into driver softc, now softc and
ifnet has pointers to each other
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 3 / 24
4. Introduction
struct ifnet
Glue between a driver and the stack
Used to be embedded into driver softc, now softc and
ifnet has pointers to each other
At attach time driver and stack fill in the structure
At run time driver changes different flags
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 3 / 24
5. Introduction
Why changes are needed
Extension of the struct ifnet could require
recompilation of all drivers
Editing struct ifnet could require patching all drivers
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 4 / 24
6. opaque ifnet
The opaque ifnet
Code snippet 1: net/if.h:
typedef struct i f n e t ∗ if_t ;
Code snippet 2: net/if_var.h:
struct i f n e t {
/∗ actual s t r u c t u r e d e f i n i t i o n ∗/
};
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 5 / 24
7. opaque ifnet
The opaque ifnet
Easy way: substitute any access to struct ifnet fields
with a function
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 6 / 24
8. opaque ifnet
The opaque ifnet
Easy way: substitute any access to struct ifnet fields
with a function
Hard way: design new KPI
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 6 / 24
9. new KPI what’s in struct ifnet?
what’s in struct ifnet?
driver
access
instance
specific
if_flags, if_capenable, if_mtu R y
link state, baudrate RW y
counters W y
if_capabilities, if_tso* W once y/n
address lists R y
driver name, if_clone W once n
methods W once n
if_type, dlt_type, header len W once n
if_media W once * y/n
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 7 / 24
10. new KPI what’s in struct ifnet?
what’s else in struct ifnet?
The stuff the driver shouldn’t be interested at
Layer 2 softc: if_l2com
Address family softcs: if_afdata[AF_MAX]
Bunch of other softcs: if_lagg, if_carp, if_netmap,
etc
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 8 / 24
11. new KPI what’s in struct ifnet?
what’s else in struct ifnet?
The stuff the driver shouldn’t be interested at
Layer 2 softc: if_l2com
Address family softcs: if_afdata[AF_MAX]
Bunch of other softcs: if_lagg, if_carp, if_netmap,
etc
This all can be generalized!
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 8 / 24
12. new KPI allocation and attachment
new if_attach()
if_alloc() if_attach(if_attach_args *args)
sleeps, doesn’t fail (save name conflict)
if_attach_args is versioned
if_attach_args contains all the “W once” stuff
ifdriver pointer
softc pointer
lladdr
supported media list
capabilities, TSO limits
initial values: MTU, capenable, baudrate, etc
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 9 / 24
13. new KPI allocation and attachment
ifdriver, ifops
struct ifdriver is static in the driver, storing all
non-instance specific stuff
Interface methods in special structure ifops
Name, type, DLT, headerlength
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 10 / 24
14. new KPI allocation and attachment
ifmedia
Code snippet 3: net/if_media.h:
typedef int if_media_t ;
Drivers declare static/dynamic array of if_media_t,
pointed to from if_attach_args
Drivers declare if_media_change_t,
if_media_status_t in ifops
Implementation opaque and private to if_media.c
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 11 / 24
15. new KPI allocation and attachment
ifmedia + miibus
miibus(4) is completely ifnet(9) agnostic
mii_attach() allocates pointer to if_media_t array,
to be used later in if_attach_args
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 12 / 24
16. new KPI method changes
if_init is no longer a method, becomes static function
if_poll for polling(4)
if_start
if_transmit doesn’t m_freem() in case of error
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 13 / 24
17. new KPI runtime modified data
if_flags, if_capenable, if_mtu (R,
instance specific)
if_ioctl method is the only channel to modify the
values
stack does sanity checking
driver may refuse new value
if driver accepts value, it may cache it
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 14 / 24
18. new KPI runtime modified data
if_drv_flags
IFF_DRV_OACTIVE goes away together with
if_start and generic queue
IFF_DRV_RUNNING goes to driver softc, protected
by driver lock
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 15 / 24
19. new KPI runtime modified data
link state, baudrate
void if_setbaudrate ( if_t , uint64_t ) ;
void if_link_state_change ( if_t , int ) ;
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 16 / 24
20. new KPI runtime modified data
counters
if_inc_counter() is already in head
Driver is 100% resposible for the counters
TX counters are updated on TX completion, not on
enqueue
Use if_inc_txcounters() for TX update
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 17 / 24
22. new KPI special considerations
net80211 drivers
No ifnet layer in the driver
Task is 50% done
Will be committed to head separately
https://wiki.freebsd.org/projects/ifnet/net80211
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 19 / 24
23. new KPI special considerations
drivers that do if_start
That’s 80-90% of all legacy drivers
if_start and struct ifqueue go away
driver opts-in for a generic queue in if_attach
stack provides: if_snd_len(), if_snd_enqueue(),
if_snd_dequeue() and if_snd_prepend()
driver’s if_transmit is a short copy&paste
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 20 / 24
24. new KPI special considerations
lagg(4)
now lagg(4) hijacks if_transmit of an interface
it will hijack ifops
ifops can be stacked, like VOPs
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 21 / 24
25. new KPI special considerations
ALTQ
now ALTQ works on top of ifqueue
it will hijack ifops
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 22 / 24
26. new KPI scope of work
scope of work
There are > 200 drivers to be converted
Only 16 has been converted so far
Conversion of typical 100Mbit driver takes 1 hour
Usually driver is reduced by 100 LOC
https://wiki.freebsd.org/projects/ifnet/progress
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 23 / 24
27. new KPI scope of work
open tasks
Better generic queueing/transmit code?
ALTQ
lagg(4)
VIMAGE
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 24 / 24
28. Conclusion
Your feedback & help is needed!
Reviewing
Criticizing, proposing better KPIs
Converting drivers
Testing
Gleb Smirnoff glebius@FreeBSD.org New ifnet(9) KPI June 11, 2015 25 / 24