Sylvain Baubeau presents Skydive, a real-time network analyzer that provides troubleshooting and monitoring of complex SDN environments. Skydive captures network topology and traffic flows to analyze performance issues. It supports OpenFlow, OpenStack, Kubernetes, and is designed to be flow-centric, lightweight, API-driven and SDN-agnostic. Skydive aims to help network operators detect issues, understand traffic patterns, and perform capacity planning.
Skydive is a real-time network topology and protocols analyzer that provides non-intrusive monitoring of SDNs. It collects data from agents running on nodes through southbound APIs and topology queries to analyze flows and topology in an SDN-agnostic manner. Skydive aims to help troubleshoot complex SDN issues by providing visibility into where packets are dropped, fragmented, or experiencing congestion across overlays, underlays, and the control and data planes.
This document summarizes a presentation about Skydive, an open source real-time network topology and protocol analyzer. Skydive provides visibility into network flows and troubleshoots performance issues. It uses agents to capture topology and flow data without being intrusive. The Skydive analyzer aggregates this data and allows for analysis, detection of errors, and troubleshooting of live network issues. The presentation outlines Skydive's architecture, use cases, roadmap for additional capabilities, and how it is open source and welcomes contributions.
Distributed app development with nodejs and zeromqRuben Tan
This document discusses using Node.js and ZeroMQ for distributed application development. It defines distributed applications as apps distributed across multiple cloud locations that communicate via a standardized protocol. ZeroMQ is introduced as a socket library that can be used for inter-app communication, with common patterns being push-pull for sending data and req-rep for request-response. Scaling is discussed as adding more app instances for push-pull and adding more rep apps for req-rep. Sample ZeroMQ code in Node.js is also provided.
"Session ID: BUD17-300
Session Name: Journey of a packet - BUD17-300
Speaker: Maxim Uvarov
Track: LNG
★ Session Summary ★
Describe step by step what components a packet goes through and details cases when components are implemented in hardware or in software. Attendees will have the definite presentation to understand fundamental differences with DPDK and how ODP solves low end and high end networking issues.
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/bud17/bud17-300/
Presentation: https://www.slideshare.net/linaroorg/bud17300-journey-of-a-packet
Video: https://youtu.be/wRZXw_xBT20
---------------------------------------------------
★ Event Details ★
Linaro Connect Budapest 2017 (BUD17)
6-10 March 2017
Corinthia Hotel, Budapest,
Erzsébet krt. 43-49,
1073 Hungary
---------------------------------------------------
Keyword: packet, LNG
http://www.linaro.org
http://connect.linaro.org
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://twitter.com/linaroorg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961
Cilium - Fast IPv6 Container Networking with BPF and XDPThomas Graf
We present a new open source project which provides IPv6 networking for Linux Containers by generating programs for each individual container on the fly and then runs them as JITed BPF code in the kernel. By generating and compiling the code, the program is reduced to the minimally required feature set and then heavily optimised by the compiler as parameters become plain variables. The upcoming addition of the Express Data Plane (XDP) to the kernel will make this approach even more efficient as the programs will get invoked directly from the network driver.
OSNoise Tracer: Who Is Stealing My CPU Time?ScyllaDB
In the context of high-performance computing (HPC), the Operating System Noise (osnoise) refers to the interference experienced by an application due to activities inside the operating system. In the context of Linux, NMIs, IRQs, softirqs, and any other system thread can cause noise to the application. Moreover, hardware-related jobs can also cause noise, for example, via SMIs.
HPC users and developers that care about every microsecond stolen by the OS need not only a precise way to measure the osnoise but mainly to figure out who is stealing cpu time so that they can pursue the perfect tune of the system. These users and developers are the inspiration of Linux's osnoise tracer.
The osnoise tracer runs an in-kernel loop measuring how much time is available. It does it with preemption, softirq and IRQs enabled, thus allowing all the sources of osnoise during its execution. The osnoise tracer takes note of the entry and exit point of any source of interferences. When the noise happens without any interference from the operating system level, the tracer can safely point to a hardware-related noise. In this way, osnoise can account for any source of interference. The osnoise tracer also adds new kernel tracepoints that auxiliaries the user to point to the culprits of the noise in a precise and intuitive way.
At the end of a period, the osnoise tracer prints the sum of all noise, the max single noise, the percentage of CPU available for the thread, and the counters for the noise sources, serving as a benchmark tool.
ZeroMQ is a good tool to know, because it provides a huge variety of socket and messaging patterns that you can leverage in your infrastructure to solve specific problems without using heavyweight message queues to do the same job. This talk illustrates 4 basic sockets provided by zeromq and the many ways you can use them.
Sylvain Baubeau presents Skydive, a real-time network analyzer that provides troubleshooting and monitoring of complex SDN environments. Skydive captures network topology and traffic flows to analyze performance issues. It supports OpenFlow, OpenStack, Kubernetes, and is designed to be flow-centric, lightweight, API-driven and SDN-agnostic. Skydive aims to help network operators detect issues, understand traffic patterns, and perform capacity planning.
Skydive is a real-time network topology and protocols analyzer that provides non-intrusive monitoring of SDNs. It collects data from agents running on nodes through southbound APIs and topology queries to analyze flows and topology in an SDN-agnostic manner. Skydive aims to help troubleshoot complex SDN issues by providing visibility into where packets are dropped, fragmented, or experiencing congestion across overlays, underlays, and the control and data planes.
This document summarizes a presentation about Skydive, an open source real-time network topology and protocol analyzer. Skydive provides visibility into network flows and troubleshoots performance issues. It uses agents to capture topology and flow data without being intrusive. The Skydive analyzer aggregates this data and allows for analysis, detection of errors, and troubleshooting of live network issues. The presentation outlines Skydive's architecture, use cases, roadmap for additional capabilities, and how it is open source and welcomes contributions.
Distributed app development with nodejs and zeromqRuben Tan
This document discusses using Node.js and ZeroMQ for distributed application development. It defines distributed applications as apps distributed across multiple cloud locations that communicate via a standardized protocol. ZeroMQ is introduced as a socket library that can be used for inter-app communication, with common patterns being push-pull for sending data and req-rep for request-response. Scaling is discussed as adding more app instances for push-pull and adding more rep apps for req-rep. Sample ZeroMQ code in Node.js is also provided.
"Session ID: BUD17-300
Session Name: Journey of a packet - BUD17-300
Speaker: Maxim Uvarov
Track: LNG
★ Session Summary ★
Describe step by step what components a packet goes through and details cases when components are implemented in hardware or in software. Attendees will have the definite presentation to understand fundamental differences with DPDK and how ODP solves low end and high end networking issues.
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/bud17/bud17-300/
Presentation: https://www.slideshare.net/linaroorg/bud17300-journey-of-a-packet
Video: https://youtu.be/wRZXw_xBT20
---------------------------------------------------
★ Event Details ★
Linaro Connect Budapest 2017 (BUD17)
6-10 March 2017
Corinthia Hotel, Budapest,
Erzsébet krt. 43-49,
1073 Hungary
---------------------------------------------------
Keyword: packet, LNG
http://www.linaro.org
http://connect.linaro.org
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://twitter.com/linaroorg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961
Cilium - Fast IPv6 Container Networking with BPF and XDPThomas Graf
We present a new open source project which provides IPv6 networking for Linux Containers by generating programs for each individual container on the fly and then runs them as JITed BPF code in the kernel. By generating and compiling the code, the program is reduced to the minimally required feature set and then heavily optimised by the compiler as parameters become plain variables. The upcoming addition of the Express Data Plane (XDP) to the kernel will make this approach even more efficient as the programs will get invoked directly from the network driver.
OSNoise Tracer: Who Is Stealing My CPU Time?ScyllaDB
In the context of high-performance computing (HPC), the Operating System Noise (osnoise) refers to the interference experienced by an application due to activities inside the operating system. In the context of Linux, NMIs, IRQs, softirqs, and any other system thread can cause noise to the application. Moreover, hardware-related jobs can also cause noise, for example, via SMIs.
HPC users and developers that care about every microsecond stolen by the OS need not only a precise way to measure the osnoise but mainly to figure out who is stealing cpu time so that they can pursue the perfect tune of the system. These users and developers are the inspiration of Linux's osnoise tracer.
The osnoise tracer runs an in-kernel loop measuring how much time is available. It does it with preemption, softirq and IRQs enabled, thus allowing all the sources of osnoise during its execution. The osnoise tracer takes note of the entry and exit point of any source of interferences. When the noise happens without any interference from the operating system level, the tracer can safely point to a hardware-related noise. In this way, osnoise can account for any source of interference. The osnoise tracer also adds new kernel tracepoints that auxiliaries the user to point to the culprits of the noise in a precise and intuitive way.
At the end of a period, the osnoise tracer prints the sum of all noise, the max single noise, the percentage of CPU available for the thread, and the counters for the noise sources, serving as a benchmark tool.
ZeroMQ is a good tool to know, because it provides a huge variety of socket and messaging patterns that you can leverage in your infrastructure to solve specific problems without using heavyweight message queues to do the same job. This talk illustrates 4 basic sockets provided by zeromq and the many ways you can use them.
ØMQ is a messaging library that provides asynchronous message passing between applications using in-memory queues. It works on top of several transports including TCP, IPC, in-memory, and multicast protocols. ØMQ aims for horizontal scalability, network topology awareness, and simplicity in communication patterns. It can be installed from source or packages and has bindings for many languages including Node.js. ØMQ supports common socket types for request/reply, publish/subscribe, and asynchronous messaging patterns.
Make Your Own Developement Board @ 2014.4.21 JuluOSDevJian-Hong Pan
This document discusses building a development board for an ATMega8 microcontroller that functions as a simple oscilloscope. It outlines meeting specifications, minimizing costs, and completing the project in the shortest time as the core engineering values. It provides the specifications for the oscilloscope, discusses using AVR microcontroller features to implement it, and lists the tools needed including an AVR compiler and programmer. Circuits for a function generator and integrating the oscilloscope with a Python console are presented. The document emphasizes applying knowledge from school to implementation and building your own tools.
Slides from the talk at FOSS.IN/2010, Bangalore Dec 15 - 17, 2010.
Ostinato is a network packet and traffic generator and analyzer with a friendly GUI. It aims to be "Wireshark in Reverse" and thus become complementary to Wireshark. It features custom packet crafting with editing of any field for several protocols: Ethernet, 802.3, LLCSNAP, VLAN (with Q-in-Q), ARP, IPv4, IPv6, IP-in-IP a.k.a IP Tunneling, TCP, UDP, ICMP, IGMP, MLD, HTTP, SIP, RTSP, NNTP, etc. It is useful for both functional and performance testing. (GPL, Linux/BSD/OSX/Win32)
ZeroMQ is a messaging library that provides sockets that allow for various communication patterns like publish/subscribe. JeroMQ is a Java implementation of ZeroMQ that provides a compatible API with improved performance using Java NIO and other optimizations. It uses a multithreaded model with worker threads handling I/O and messaging and aims to reduce system calls for operations like receiving and sending data.
An introduction and demo of Ostinato features and capabilities for Wireshark users who attended the SharkFest '20 Virtual conference. Video: Coming soon.
Build reliable, traceable, distributed systems with ZeroMQRobin Xiao
ZeroMQ is used to build a distributed system with reliable and traceable communication. It allows exposing code over RPC with minimal modification. Exceptions are properly propagated across services. The system is language agnostic and brokerless. Introspection allows viewing methods and signatures without opening code. Streaming APIs allow continuous updates without timeouts. Tracing helps profile nested calls and identify performance bottlenecks. Security is not implemented but could use SSL or authentication layers.
This document discusses the Common Clock Framework (CCF) and plans for Dynamic Voltage and Frequency Scaling (DVFS) support. It notes that CCF has been adopted by many platforms and has DT bindings for common clocks. It outlines open issues with the framework. The document proposes allowing CCF APIs to re-enter themselves, enabling DVFS via rate change notifiers. It provides code examples and discusses using notifiers and regulators to handle voltage scaling during rate changes. Finally, it asks for feedback on topics like how to represent operating points and how to group related rate changes for DVFS transitions.
This document provides an overview of redesigning an algorithmic trading system to use an event-driven architecture with LibUV and ZeroMQ. It discusses flaws in the current design that assumes serial execution and neglects latency. An event-driven approach is proposed to handle parallelism and uncertainty. Components will use asynchronous interfaces to avoid blocking. A unified event loop will handle all asynchronous tasks and events. The project plan is to rewrite key modules like order processing in an event-driven way and set up a test environment for comparison with the current system. The schedule aims to make progress before the upcoming Spring Festival.
This document discusses the AnyEvent module, which provides a thin layer above several event loops like EV, Event, Gtk, and Tk to allow for event-driven programming in Perl. It handles I/O handles, timers, signals, and processes. AnyEvent introduces two concepts - Watchers, which wait for external events like socket input or timer expiration, and Condvars, which provide synchronization. The document provides examples of using AnyEvent to read from standard input and a demo of a simple broadcast server.
Three engineers, at various points, each take their own approach adding Rust to a C codebase, each being more and more ambitious. I initially just wanted to replace the server’s networking and event loop with an equally fast Rust implementation. We’d reuse many core components that were in C and just call into them from Rust. Surely it wouldn’t be that much code…
Pelikan is Twitter’s open source and modular framework for in-memory caching, allowing us to replace Memcached and Redis forks with a single codebase and achieve better performance. At Twitter, we operate hundreds of cache clusters storing hundreds of terabytes of small objects in memory. In-memory caching is critical, and demands performance, reliability, and efficiency.
In this talk, I’ll share my adventures in working on Pelikan and how rewriting it in Rust can be more than just a meme.
Writing an Ostinato Protocol Builder [FOSDEM 2021]pstavirs
How to add more protocols to the Ostinato traffic generator.
While the Ostinato traffic generator can import, edit and replay packets from PCAP files, most users prefer to craft packets from scratch using the Ostinato GUI which has support for common protocols out of the box. To add more protocols quickly and easily, Ostinato has a Protocol Builder framework using which new protocols can be added.
In this talk, Ostinato creator Srivats P shows you how to add a new protocol using this framework.
Three tricks how to understand what's happening inside of .NET Core app running on Linux: perf, lttng and lldb. As unrelated bonus, last slides have a brief intro into Google Cloud Platform
The document discusses the Linux kernel and its components. It covers topics like the kernel structure, Ethernet and wireless access in the kernel, USB and networking functionality in Linux. It provides code snippets to explain concepts like function calls and flow in the kernel for tasks like initiating and receiving network data.
Rust promises developers the execution speed of non-managed languages like C++, with the safety guarantees of managed languages like Go. Its fast rise in popularity shows this promise has been largely upheld.
However, the situation is a bit muddier for the newer asynchronous extensions. This talk will explore some of the pitfalls that users may face while developing asynchronous Rust applications that have direct consequences in their ability to hit that sweet low p99. We will see how the Glommio asynchronous executor tries to deal with some of those problems, and what the future holds.
Clang is a C/C++ compiler that is part of the LLVM compiler infrastructure. It provides fast compilation, low memory usage, and expressive diagnostics. Clang also includes tools like the static analyzer for detecting bugs without executing code, clang-format for automated code formatting, and sanitizers for finding memory errors, data races, and other bugs.
The document discusses a cluster-wide label ID table that allows for efficient policy enforcement across frontend, backend, and load balancer systems. A single hash table lookup is needed regardless of policy complexity thanks to an ID carried in network packets. Benchmark results show the approach can efficiently handle everything from small HTTP requests to ultra HD videos even with 10,000 policies on a 24-core server.
LAS16-504: Secure Storage updates in OP-TEE
Speakers: Jerome Forissier
Date: September 30, 2016
★ Session Description ★
Since the presentation back in 2015 (SFO15), there has been functionality added, like RPMB and there has also been some changes in general to the secure storage code. This presentation will summarize what has been happening and will also talk about what’s left to do.
★ Resources ★
Etherpad: pad.linaro.org/p/las16-504
Presentations & Videos: http://connect.linaro.org/resource/las16/las16-504/
★ Event Details ★
Linaro Connect Las Vegas 2016 – #LAS16
September 26-30, 2016
http://www.linaro.org
http://connect.linaro.org
NYC* 2013 - "Advanced Data Processing: Beyond Queries and Slices"DataStax Academy
The ColumnFamily data model and wide-row support provides the ability to store and access data efficiently in a de-normalized state. Recent enhancements for CQL's spare tables and built-in indexing provide the capability to store data in a manner similar to that of relational databases. For many use cases hybrid approaches are needed, because complete de-normalization is appropriate for some access patterns whereas more structured data is appropriate for others. At times a single logical event becomes multiple insertions across multiple column families. Likewise a user request might require a several reads across different column families. This talk describes some of these scenarios and demonstrates how advanced operations such multiple step procedures, filtering, intersection, and paging can be implemented client side or server side with the help of the IntraVert plugin.
Intravert Server side processing for CassandraEdward Capriolo
The document provides examples of using CQL (Cassandra Query Language) to create and query tables in Cassandra. It shows how to create tables to store user and video data, insert sample records, and perform queries. It then discusses using the IntraVert library to execute more complex queries directly against Cassandra, such as joins, filters, and multi-table operations, in order to reduce network traffic and processing compared to doing everything on the client side.
ØMQ is a messaging library that provides asynchronous message passing between applications using in-memory queues. It works on top of several transports including TCP, IPC, in-memory, and multicast protocols. ØMQ aims for horizontal scalability, network topology awareness, and simplicity in communication patterns. It can be installed from source or packages and has bindings for many languages including Node.js. ØMQ supports common socket types for request/reply, publish/subscribe, and asynchronous messaging patterns.
Make Your Own Developement Board @ 2014.4.21 JuluOSDevJian-Hong Pan
This document discusses building a development board for an ATMega8 microcontroller that functions as a simple oscilloscope. It outlines meeting specifications, minimizing costs, and completing the project in the shortest time as the core engineering values. It provides the specifications for the oscilloscope, discusses using AVR microcontroller features to implement it, and lists the tools needed including an AVR compiler and programmer. Circuits for a function generator and integrating the oscilloscope with a Python console are presented. The document emphasizes applying knowledge from school to implementation and building your own tools.
Slides from the talk at FOSS.IN/2010, Bangalore Dec 15 - 17, 2010.
Ostinato is a network packet and traffic generator and analyzer with a friendly GUI. It aims to be "Wireshark in Reverse" and thus become complementary to Wireshark. It features custom packet crafting with editing of any field for several protocols: Ethernet, 802.3, LLCSNAP, VLAN (with Q-in-Q), ARP, IPv4, IPv6, IP-in-IP a.k.a IP Tunneling, TCP, UDP, ICMP, IGMP, MLD, HTTP, SIP, RTSP, NNTP, etc. It is useful for both functional and performance testing. (GPL, Linux/BSD/OSX/Win32)
ZeroMQ is a messaging library that provides sockets that allow for various communication patterns like publish/subscribe. JeroMQ is a Java implementation of ZeroMQ that provides a compatible API with improved performance using Java NIO and other optimizations. It uses a multithreaded model with worker threads handling I/O and messaging and aims to reduce system calls for operations like receiving and sending data.
An introduction and demo of Ostinato features and capabilities for Wireshark users who attended the SharkFest '20 Virtual conference. Video: Coming soon.
Build reliable, traceable, distributed systems with ZeroMQRobin Xiao
ZeroMQ is used to build a distributed system with reliable and traceable communication. It allows exposing code over RPC with minimal modification. Exceptions are properly propagated across services. The system is language agnostic and brokerless. Introspection allows viewing methods and signatures without opening code. Streaming APIs allow continuous updates without timeouts. Tracing helps profile nested calls and identify performance bottlenecks. Security is not implemented but could use SSL or authentication layers.
This document discusses the Common Clock Framework (CCF) and plans for Dynamic Voltage and Frequency Scaling (DVFS) support. It notes that CCF has been adopted by many platforms and has DT bindings for common clocks. It outlines open issues with the framework. The document proposes allowing CCF APIs to re-enter themselves, enabling DVFS via rate change notifiers. It provides code examples and discusses using notifiers and regulators to handle voltage scaling during rate changes. Finally, it asks for feedback on topics like how to represent operating points and how to group related rate changes for DVFS transitions.
This document provides an overview of redesigning an algorithmic trading system to use an event-driven architecture with LibUV and ZeroMQ. It discusses flaws in the current design that assumes serial execution and neglects latency. An event-driven approach is proposed to handle parallelism and uncertainty. Components will use asynchronous interfaces to avoid blocking. A unified event loop will handle all asynchronous tasks and events. The project plan is to rewrite key modules like order processing in an event-driven way and set up a test environment for comparison with the current system. The schedule aims to make progress before the upcoming Spring Festival.
This document discusses the AnyEvent module, which provides a thin layer above several event loops like EV, Event, Gtk, and Tk to allow for event-driven programming in Perl. It handles I/O handles, timers, signals, and processes. AnyEvent introduces two concepts - Watchers, which wait for external events like socket input or timer expiration, and Condvars, which provide synchronization. The document provides examples of using AnyEvent to read from standard input and a demo of a simple broadcast server.
Three engineers, at various points, each take their own approach adding Rust to a C codebase, each being more and more ambitious. I initially just wanted to replace the server’s networking and event loop with an equally fast Rust implementation. We’d reuse many core components that were in C and just call into them from Rust. Surely it wouldn’t be that much code…
Pelikan is Twitter’s open source and modular framework for in-memory caching, allowing us to replace Memcached and Redis forks with a single codebase and achieve better performance. At Twitter, we operate hundreds of cache clusters storing hundreds of terabytes of small objects in memory. In-memory caching is critical, and demands performance, reliability, and efficiency.
In this talk, I’ll share my adventures in working on Pelikan and how rewriting it in Rust can be more than just a meme.
Writing an Ostinato Protocol Builder [FOSDEM 2021]pstavirs
How to add more protocols to the Ostinato traffic generator.
While the Ostinato traffic generator can import, edit and replay packets from PCAP files, most users prefer to craft packets from scratch using the Ostinato GUI which has support for common protocols out of the box. To add more protocols quickly and easily, Ostinato has a Protocol Builder framework using which new protocols can be added.
In this talk, Ostinato creator Srivats P shows you how to add a new protocol using this framework.
Three tricks how to understand what's happening inside of .NET Core app running on Linux: perf, lttng and lldb. As unrelated bonus, last slides have a brief intro into Google Cloud Platform
The document discusses the Linux kernel and its components. It covers topics like the kernel structure, Ethernet and wireless access in the kernel, USB and networking functionality in Linux. It provides code snippets to explain concepts like function calls and flow in the kernel for tasks like initiating and receiving network data.
Rust promises developers the execution speed of non-managed languages like C++, with the safety guarantees of managed languages like Go. Its fast rise in popularity shows this promise has been largely upheld.
However, the situation is a bit muddier for the newer asynchronous extensions. This talk will explore some of the pitfalls that users may face while developing asynchronous Rust applications that have direct consequences in their ability to hit that sweet low p99. We will see how the Glommio asynchronous executor tries to deal with some of those problems, and what the future holds.
Clang is a C/C++ compiler that is part of the LLVM compiler infrastructure. It provides fast compilation, low memory usage, and expressive diagnostics. Clang also includes tools like the static analyzer for detecting bugs without executing code, clang-format for automated code formatting, and sanitizers for finding memory errors, data races, and other bugs.
The document discusses a cluster-wide label ID table that allows for efficient policy enforcement across frontend, backend, and load balancer systems. A single hash table lookup is needed regardless of policy complexity thanks to an ID carried in network packets. Benchmark results show the approach can efficiently handle everything from small HTTP requests to ultra HD videos even with 10,000 policies on a 24-core server.
LAS16-504: Secure Storage updates in OP-TEE
Speakers: Jerome Forissier
Date: September 30, 2016
★ Session Description ★
Since the presentation back in 2015 (SFO15), there has been functionality added, like RPMB and there has also been some changes in general to the secure storage code. This presentation will summarize what has been happening and will also talk about what’s left to do.
★ Resources ★
Etherpad: pad.linaro.org/p/las16-504
Presentations & Videos: http://connect.linaro.org/resource/las16/las16-504/
★ Event Details ★
Linaro Connect Las Vegas 2016 – #LAS16
September 26-30, 2016
http://www.linaro.org
http://connect.linaro.org
NYC* 2013 - "Advanced Data Processing: Beyond Queries and Slices"DataStax Academy
The ColumnFamily data model and wide-row support provides the ability to store and access data efficiently in a de-normalized state. Recent enhancements for CQL's spare tables and built-in indexing provide the capability to store data in a manner similar to that of relational databases. For many use cases hybrid approaches are needed, because complete de-normalization is appropriate for some access patterns whereas more structured data is appropriate for others. At times a single logical event becomes multiple insertions across multiple column families. Likewise a user request might require a several reads across different column families. This talk describes some of these scenarios and demonstrates how advanced operations such multiple step procedures, filtering, intersection, and paging can be implemented client side or server side with the help of the IntraVert plugin.
Intravert Server side processing for CassandraEdward Capriolo
The document provides examples of using CQL (Cassandra Query Language) to create and query tables in Cassandra. It shows how to create tables to store user and video data, insert sample records, and perform queries. It then discusses using the IntraVert library to execute more complex queries directly against Cassandra, such as joins, filters, and multi-table operations, in order to reduce network traffic and processing compared to doing everything on the client side.
Skydive is a network analyzer that provides network topology exploration and visualization, network traffic capture, and tools to make network troubleshooting easier. It uses a distributed architecture with agents, analyzers, and probes to monitor network devices and traffic. Topology is represented as a graph that is updated in real-time. Probes monitor various network elements and capture packets across the network using techniques like eBPF. Skydive also supports packet injection and provides APIs, visualization, and integrations to support network analysis and troubleshooting workflows.
OpenNebulaConf 2016 - Networking, NFVs and SDNs Hands-on Workshop by Rubén S....OpenNebula Project
In this 90-minute hands-on workshop, some of the key contributors to OpenNebula will walk attendees through the configuration and integration aspects of the networking subsystem in OpenNebula. The session will also include lightning talks by community members describing aspects related to Networking, NFVs and SDNs with OpenNebula:
- Deployment scenarios
- Integration
- Tuning & debugging
- Best practices
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...Aman Kohli
The power of Gatling is the DSL it provides to allow writing meaningful and expressive tests. We provide an overview of the framework, a description of their development environment and goals, and present their test results.
Source code available https://github.com/lawlessc/random-response-time
Node is used to build a reverse proxy to provide secure access to internal web resources and sites for mobile clients within a large enterprise. Performance testing shows the proxy can handle over 1000 requests per second with latency under 1 second. Code quality analysis tools like Plato and testing frameworks like Jest are useful for maintaining high quality code. Scalability is achieved through auto-scaling virtual machine instances with a load balancer and configuration management.
Presentation done at AstriCon 2014, Las Vegas, USA - how relevant can be SIP signaling traffic in a Real Time Communications platform and where pure SIP signaling servers such as Kamailio can be used.
Linux offers an extensive selection of programmable and configurable networking components from traditional bridges, encryption, to container optimized layer 2/3 devices, link aggregation, tunneling, several classification and filtering languages all the way up to full SDN components. This talk will provide an overview of many Linux networking components covering the Linux bridge, IPVLAN, MACVLAN, MACVTAP, Bonding/Team, OVS, classification & queueing, tunnel types, hidden routing tricks, IPSec, VTI, VRF and many others.
Kamailio 5.0 allows writing full routing logic in Lua scripting language, opening the door for easy integration with external services and increasing the flexibility of optimizing SIP routing.
This document discusses automating network configuration and operations using DevOps principles and tools like Puppet. It describes using Zero Touch Provisioning (ZTP) to automatically install and configure Puppet on new network devices. Puppet is then used to configure and manage interfaces, routing protocols, users, and other network settings through an infrastructure-as-code approach.
PLNOG 4: Leszek Urbański - A modern HTTP accelerator for content providersPROIDEA
Varnish is an open-source reverse proxy and cache that is commonly used to accelerate dynamic websites. It uses a virtual memory backend and multi-threaded worker model to achieve high performance. Varnish has a configuration language called VCL that allows customizing caching and backend rules. Proper use of Varnish requires optimizing object caching, compression, purging, and operating system settings.
Original slides from Ryan Dahl's NodeJs intro talkAarti Parikh
These are the original slides from the nodejs talk. I was surprised not find them on slideshare so adding them. The video link is here https://www.youtube.com/watch?v=ztspvPYybIY
Your website just went down. As you try to understand what has gone wrong, you quickly realize something is different this time. There’s no clear reason why your site should be down, but indeed it is.
This talk is about the story of our team’s first unprepared fight against a DDoS attack.
This document discusses secure LXC networking using various methods like MACVLAN, VETH, VLAN, and OpenVSwitch. It provides code samples for generating MAC addresses in Bash, PLPGSQL, and Python. Bridging with Linux bridge and OpenVSwitch is also covered. The document emphasizes securing network traffic within and between containers by limiting traffic to assigned IP/MAC addresses and enforcing rules with OpenFlow.
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)Jakub Botwicz
Presentation about Cotopaxi toolkit from Black Hat Asia 2019 Arsenal session. Author: Jakub Botwicz
https://www.blackhat.com/asia-19/arsenal/schedule/index.html#cotopaxi-iot-protocols-security-testing-toolkit-14325
The document discusses reverse engineering the firmware of Swisscom's Centro Grande modems. It identifies several vulnerabilities found, including a command overflow issue that allows complete control of the device by exceeding the input buffer, and multiple buffer overflow issues that can be exploited to execute code remotely by crafting specially formatted XML files. Details are provided on the exploitation techniques and timeline of coordination with Swisscom to address the vulnerabilities.
Non-blocking I/O, Event loops and node.jsMarcus Frödin
This 15 minute presentation discusses non-blocking I/O, event loops, and Node.js. It builds on previous work by Ryan Dahl, explaining how threads can be expensive due to context switching and memory usage, and how Node.js uses an event-driven, non-blocking model to avoid these costs. Code examples demonstrate getting and printing a policy object, handling HTTP requests asynchronously without blocking additional connections, and using callbacks to chain asynchronous actions together.
Similar to Skydive, real-time network analyzer, container integration (20)
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j
Dr. Jesús Barrasa, Head of Solutions Architecture for EMEA, Neo4j
Découvrez les dernières innovations de Neo4j, et notamment les dernières intégrations cloud et les améliorations produits qui font de Neo4j un choix essentiel pour les développeurs qui créent des applications avec des données interconnectées et de l’IA générative.
Odoo ERP software
Odoo ERP software, a leading open-source software for Enterprise Resource Planning (ERP) and business management, has recently launched its latest version, Odoo 17 Community Edition. This update introduces a range of new features and enhancements designed to streamline business operations and support growth.
The Odoo Community serves as a cost-free edition within the Odoo suite of ERP systems. Tailored to accommodate the standard needs of business operations, it provides a robust platform suitable for organisations of different sizes and business sectors. Within the Odoo Community Edition, users can access a variety of essential features and services essential for managing day-to-day tasks efficiently.
This blog presents a detailed overview of the features available within the Odoo 17 Community edition, and the differences between Odoo 17 community and enterprise editions, aiming to equip you with the necessary information to make an informed decision about its suitability for your business.
Measures in SQL (SIGMOD 2024, Santiago, Chile)Julian Hyde
SQL has attained widespread adoption, but Business Intelligence tools still use their own higher level languages based upon a multidimensional paradigm. Composable calculations are what is missing from SQL, and we propose a new kind of column, called a measure, that attaches a calculation to a table. Like regular tables, tables with measures are composable and closed when used in queries.
SQL-with-measures has the power, conciseness and reusability of multidimensional languages but retains SQL semantics. Measure invocations can be expanded in place to simple, clear SQL.
To define the evaluation semantics for measures, we introduce context-sensitive expressions (a way to evaluate multidimensional expressions that is consistent with existing SQL semantics), a concept called evaluation context, and several operations for setting and modifying the evaluation context.
A talk at SIGMOD, June 9–15, 2024, Santiago, Chile
Authors: Julian Hyde (Google) and John Fremlin (Google)
https://doi.org/10.1145/3626246.3653374
Takashi Kobayashi and Hironori Washizaki, "SWEBOK Guide and Future of SE Education," First International Symposium on the Future of Software Engineering (FUSE), June 3-6, 2024, Okinawa, Japan
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
Unveiling the Advantages of Agile Software Development.pdfbrainerhub1
Learn about Agile Software Development's advantages. Simplify your workflow to spur quicker innovation. Jump right in! We have also discussed the advantages.
Most important New features of Oracle 23c for DBAs and Developers. You can get more idea from my youtube channel video from https://youtu.be/XvL5WtaC20A
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.
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppGoogle
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-fusion-buddy-review
AI Fusion Buddy Review: Key Features
✅Create Stunning AI App Suite Fully Powered By Google's Latest AI technology, Gemini
✅Use Gemini to Build high-converting Converting Sales Video Scripts, ad copies, Trending Articles, blogs, etc.100% unique!
✅Create Ultra-HD graphics with a single keyword or phrase that commands 10x eyeballs!
✅Fully automated AI articles bulk generation!
✅Auto-post or schedule stunning AI content across all your accounts at once—WordPress, Facebook, LinkedIn, Blogger, and more.
✅With one keyword or URL, generate complete websites, landing pages, and more…
✅Automatically create & sell AI content, graphics, websites, landing pages, & all that gets you paid non-stop 24*7.
✅Pre-built High-Converting 100+ website Templates and 2000+ graphic templates logos, banners, and thumbnail images in Trending Niches.
✅Say goodbye to wasting time logging into multiple Chat GPT & AI Apps once & for all!
✅Save over $5000 per year and kick out dependency on third parties completely!
✅Brand New App: Not available anywhere else!
✅ Beginner-friendly!
✅ZERO upfront cost or any extra expenses
✅Risk-Free: 30-Day Money-Back Guarantee!
✅Commercial License included!
See My Other Reviews Article:
(1) AI Genie Review: https://sumonreview.com/ai-genie-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIFusionBuddyReview,
#AIFusionBuddyFeatures,
#AIFusionBuddyPricing,
#AIFusionBuddyProsandCons,
#AIFusionBuddyTutorial,
#AIFusionBuddyUserExperience
#AIFusionBuddyforBeginners,
#AIFusionBuddyBenefits,
#AIFusionBuddyComparison,
#AIFusionBuddyInstallation,
#AIFusionBuddyRefundPolicy,
#AIFusionBuddyDemo,
#AIFusionBuddyMaintenanceFees,
#AIFusionBuddyNewbieFriendly,
#WhatIsAIFusionBuddy?,
#HowDoesAIFusionBuddyWorks
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.
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
Hand Rolled Applicative User ValidationCode KataPhilip Schwarz
Could you use a simple piece of Scala validation code (granted, a very simplistic one too!) that you can rewrite, now and again, to refresh your basic understanding of Applicative operators <*>, <*, *>?
The goal is not to write perfect code showcasing validation, but rather, to provide a small, rough-and ready exercise to reinforce your muscle-memory.
Despite its grandiose-sounding title, this deck consists of just three slides showing the Scala 3 code to be rewritten whenever the details of the operators begin to fade away.
The code is my rough and ready translation of a Haskell user-validation program found in a book called Finding Success (and Failure) in Haskell - Fall in love with applicative functors.
E-commerce Development Services- Hornet DynamicsHornet Dynamics
For any business hoping to succeed in the digital age, having a strong online presence is crucial. We offer Ecommerce Development Services that are customized according to your business requirements and client preferences, enabling you to create a dynamic, safe, and user-friendly online store.
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
WhatsApp offers simple, reliable, and private messaging and calling services for free worldwide. With end-to-end encryption, your personal messages and calls are secure, ensuring only you and the recipient can access them. Enjoy voice and video calls to stay connected with loved ones or colleagues. Express yourself using stickers, GIFs, or by sharing moments on Status. WhatsApp Business enables global customer outreach, facilitating sales growth and relationship building through showcasing products and services. Stay connected effortlessly with group chats for planning outings with friends or staying updated on family conversations.
7. Troubleshooting
Where...
packets are dropped ?
packets are fragmented ?
choke point occurs ?
What…
packet layers path ?
kind of traffic for this virtual network ?
number of flows on this link ?
number of TCP Sessions ?
bandwidth for this tenant ?
9. What we need
● Flow centric
● Easy to deploy
● SDN Agnostic solution
● Non-intrusive / Lightweight
● Open, API
● Connectors to SDN
10. What we need
● Topology capture
a. interfaces, bond, mtu, vlan
b. bridges
c. Network namespaces
d. etc..
● Flow capture
a. on-demand traffic capture
b. on-demand counter capture
c. filtering
d. underlay/overlay informations
● Topology/flow aggregation
a. mapping topology/flow
b. analysis
11. Topology capture
● Graph engine, event based
● Gremlin like query language
● Populated from :
○ netlink
○ netns
○ ovsdb
○ ethtool
● External connectors :
○ Docker
○ Neutron
12. Topology capture
$ ip netns add vm1
$ ip link add vm1-eth0 type veth peer
name eth0 netns vm1
$ ip link set vm1-eth0 up
$ ip netns exec vm1 ip link set eth0 up
$ ip netns exec vm1 ip address add
10.0.0.1/24 dev eth0
$ ovs-vsctl add-port br-int vm1-eth0
19. Flow capture
$ ip netns exec vm1 ping 10.0.0.2
Flow schema
● Metrics per layer
● Unique ID per flow
● Unique ID per flow/capture
● Origin/Destination
● Capture point
20. Skydive architecture
Agents :
● Capture topology
● Capture flows, maintains flow table
● Local topology/flow mapping
● Forward topology/flow to analyzers
Analyzers :
● Aggregate topology/flow
● Global topology/flow mapping
● Stores topology/flow in a database
23. Skydive Use-cases
● Detection of common configuration errors
● Detection of live network issues
○ bad performances, helping to find the root cause
○ DDOS and any unattended traffic
● Possibility to capture traffic at any point
○ History of all the captured metrics
○ Post mortem analysis
● Detection of bad application performance, bad RTT, wrong security groups
24. Skydive Roadmap
● Topology capture
○ More probes : OpenFlow, L3 informations
○ Versioning
● Live distributed capture
○ Filtering
● Analysis
○ More protocols
○ Alerting
● Security
○ RBAC
○ SSL
○ IP anonymization