VMworld 2013
Margaret Petrus, VMware
Learn more about VMworld and register at http://www.vmworld.com/index.jspa?src=socmed-vmworld-slideshare
- The document discusses Linux network stack monitoring and configuration. It begins with definitions of key concepts like RSS, RPS, RFS, LRO, GRO, DCA, XDP and BPF.
- It then provides an overview of how the network stack works from the hardware interrupts and driver level up through routing, TCP/IP and to the socket level.
- Monitoring tools like ethtool, ftrace and /proc/interrupts are described for viewing hardware statistics, software stack traces and interrupt information.
VMware ESXi - Intel and Qlogic NIC throughput difference v0.6David Pasek
We are observing different network throughputs on Intel X710 NICs and QLogic FastLinQ QL41xxx NIC. ESXi hardware supports NIC hardware offloading and queueing on 10Gb, 25Gb, 40Gb and 100Gb NIC adapters. Multiple hardware queues per NIC interface (vmnic) and multiple software threads on ESXi VMkernel is depicted and documented in this paper which may or may not be the root cause of the observed problem. The key objective of this document is to clearly document and collect NIC information on two specific Network Adapters and do a comparison to find the difference or at least root cause hypothesis for further troubleshooting.
Note: When you view the the slide deck via web browser, the screenshots may be blurred. You can download and view them offline (Screenshots are clear).
Page cache mechanism in Linux kernel.
Note: When you view the the slide deck via web browser, the screenshots may be blurred. You can download and view them offline (Screenshots are clear).
Agenda:
In this session, Shmulik Ladkani discusses the kernel's net_device abstraction, its interfaces, and how net-devices interact with the network stack. The talk covers many of the software network devices that exist in the Linux kernel, the functionalities they provide and some interesting use cases.
Speaker:
Shmulik Ladkani is a Tech Lead at Ravello Systems.
Shmulik started his career at Jungo (acquired by NDS/Cisco) implementing residential gateway software, focusing on embedded Linux, Linux kernel, networking and hardware/software integration.
51966 coffees and billions of forwarded packets later, with millions of homes running his software, Shmulik left his position as Jungo’s lead architect and joined Ravello Systems (acquired by Oracle) as tech lead, developing a virtual data center as a cloud service. He's now focused around virtualization systems, network virtualization and SDN.
Kernel modules allow adding and removing functionality from the Linux kernel while it is running. Modules are compiled as ELF binaries with a .ko extension and are loaded and unloaded using commands like insmod, rmmod, and modprobe. Modules can export symbols to be used by other modules and have dependencies on other modules that must be loaded first. The kernel tracks modules and their state using data structures like struct module to manage loading, unloading, and dependencies between modules.
This document discusses debugging the ACPI subsystem in the Linux kernel. It provides an overview of the ACPI subsystem and components like ACPICA and the namespace. It describes how to enable ACPI debug logging via the acpi.debug_layer and acpi.debug_level kernel parameters. It also covers overriding ACPI definition blocks tables and tracing ACPI temperature as a debugging case study.
Kdump and the kernel crash dump analysisBuland Singh
Kdump is a kernel crash dumping mechanism that uses kexec to load a separate crash kernel to capture a kernel memory dump (vmcore file) when the primary kernel crashes. It can be configured to dump the vmcore file to local storage or over the network. Testing involves triggering a kernel panic using SysRq keys which causes the crash kernel to load and dump diagnostic information to the configured target path for analysis.
Linux Traffic Control allows administrators to control network traffic through mechanisms like shaping, scheduling, classifying, policing, dropping and marking. It uses components like queuing disciplines (qdiscs), classes, filters, and actions. The tc command can be used to configure these components by adding, changing or deleting traffic control settings on network interfaces.
Note: When you view the the slide deck via web browser, the screenshots may be blurred. You can download and view them offline (Screenshots are clear).
The document provides an overview of the initialization process in the Linux kernel from start_kernel to rest_init. It lists the functions called during this process organized by category including functions for initialization of multiprocessor support (SMP), memory management (MM), scheduling, timers, interrupts, and architecture specific setup. The setup_arch section focuses on x86 architecture specific initialization functions such as reserving memory regions, parsing boot parameters, initializing memory mapping and MTRRs.
Kernel Recipes 2017 - Understanding the Linux kernel via ftrace - Steven RostedtAnne Nicolas
Ftrace is the official tracer of the Linux kernel. It has been apart of Linux since 2.6.31, and has grown tremendously ever since. Ftrace’s name comes from its most powerful feature: function tracing. But the ftrace infrastructure is much more than that. It also encompasses the trace events that are used by perf, as well as kprobes that can dynamically add trace events that the user defines.
This talk will focus on learning how the kernel works by using the ftrace infrastructure. It will show how to see what happens within the kernel during a system call; learn how interrupts work; see how ones processes are being scheduled, and more. A quick introduction to some tools like trace-cmd and KernelShark will also be demonstrated.
Steven Rostedt, VMware
The document discusses four physical memory models in Linux: flat memory model, discontinuous memory model, sparse memory model, and sparse memory virtual memmap. It describes how each model addresses physical memory (page frames) and maps them to page descriptors. The sparse memory model is currently used, using memory sections to allocate page structures and support memory hotplug. It initializes by walking memory ranges from memblocks and allocating/initializing mem_section data structures.
LinuxCon 2015 Linux Kernel Networking WalkthroughThomas Graf
This presentation features a walk through the Linux kernel networking stack for users and developers. It will cover insights into both, existing essential networking features and recent developments and will show how to use them properly. Our starting point is the network card driver as it feeds a packet into the stack. We will follow the packet as it traverses through various subsystems such as packet filtering, routing, protocol stacks, and the socket layer. We will pause here and there to look into concepts such as networking namespaces, segmentation offloading, TCP small queues, and low latency polling and will discuss how to configure them.
qemu + gdb: The efficient way to understand/debug Linux kernel code/data stru...Adrian Huang
Note: When you view the the slide deck via web browser, the screenshots may be blurred. You can download and view them offline (Screenshots are clear).
The document discusses analyzing Linux kernel crash dumps. It covers various ways to gather crash data like serial console, netconsole, kmsg dumpers, Kdump, and Pstore. It then discusses analyzing the crashed kernel using tools like ksymoops, crash utility, and examining the backtrace, kernel logs, processes, and file descriptors. The document provides examples of gathering data from Pstore and using commands like bt, log, and ps with the crash utility to extract information from a crash dump.
Memory Mapping Implementation (mmap) in Linux KernelAdrian Huang
Note: When you view the the slide deck via web browser, the screenshots may be blurred. You can download and view them offline (Screenshots are clear).
The document discusses QEMU and adding a new device to it. It begins with an introduction to QEMU and its uses. It then discusses setting up a development environment, compiling QEMU, and examples of existing devices. The main part explains how to add a new "Devix" device by creating source files, registering the device type, initializing PCI configuration, and registering memory regions. It demonstrates basic functionality like interrupts and I/O access callbacks. The goal is to introduce developing new emulated devices for QEMU.
This document provides an overview of the data structures and functions used to implement ethernet drivers in the Linux kernel. It discusses the net_device and sk_buff structures that represent network interfaces and packets. It also describes how the driver interacts with the kernel via polling, interrupts, and NAPI to handle reception and transmission of frames. Finally, it provides an example of the key components needed for a simple ethernet driver, including initialization, setup, open/close, transmission, and reception functions.
Boosting I/O Performance with KVM io_uringShapeBlue
Storage performance is becoming much more important. KVM io_uring attempts to bring the I/O performance of a virtual machine on almost the same level of bare metal. Apache CloudStack has support for io_uring since version 4.16. Wido will show the difference in performance io_uring brings to the table.
Wido den Hollander is the CTO of CLouDinfra, an infrastructure company offering total Webhosting solutions. CLDIN provides datacenter, IP and virtualization services for the companies within TWS. Wido den Hollander is a PMC member of the Apache CloudStack Project and a Ceph expert. He started with CloudStack 9 years ago. What attracted his attention is the simplicity of CloudStack and the fact that it is an open-source solution. During the years Wido became a contributor, a PMC member and he was a VP of the project for a year. He is one of our most active members, who puts a lot of efforts to keep the project active and transform it into a turnkey solution for cloud builders.
-----------------------------------------
The CloudStack European User Group 2022 took place on 7th April. The day saw a virtual get together for the European CloudStack Community, hosting 265 attendees from 25 countries. The event hosted 10 sessions with from leading CloudStack experts, users and skilful engineers from the open-source world, which included: technical talks, user stories, new features and integrations presentations and more.
------------------------------------------
About CloudStack: https://cloudstack.apache.org/
The document discusses developing network device drivers for embedded Linux. It covers key topics like socket buffers, network devices, communicating with network protocols and PHYs, buffer management, and differences between Ethernet and WiFi drivers. The outline lists these topics and others like throughput and considerations. Prerequisites include C skills, Linux knowledge, and an understanding of networking and embedded driver development.
USENIX LISA2021 talk by Brendan Gregg (https://www.youtube.com/watch?v=_5Z2AU7QTH4). This talk is a deep dive that describes how BPF (eBPF) works internally on Linux, and dissects some modern performance observability tools. Details covered include the kernel BPF implementation: the verifier, JIT compilation, and the BPF execution environment; the BPF instruction set; different event sources; and how BPF is used by user space, using bpftrace programs as an example. This includes showing how bpftrace is compiled to LLVM IR and then BPF bytecode, and how per-event data and aggregated map data are fetched from the kernel.
This document discusses hardware offloading of VXLAN encapsulation and decapsulation in OVS-DPDK. It proposes representing virtual ports (vPorts) as tables to enable hardware offloading of VXLAN processing. Matching and actions on the vPort table would occur in hardware before decapsulation. Fallback processing using software would be used if full hardware offloading is not possible. The goal is to leverage intelligent NIC capabilities to accelerate VXLAN tunnel processing and improve performance for cloud, NFV, and storage workloads.
Process Address Space: The way to create virtual address (page table) of user...Adrian Huang
Process Address Space: The way to create virtual address (page table) of userspace application.
Note: When you view the the slide deck via web browser, the screenshots may be blurred. You can download and view them offline (Screenshots are clear).
This document discusses Linux memory management. It outlines the buddy system, zone allocation, and slab allocator used by Linux to manage physical memory. It describes how pages are allocated and initialized at boot using the memory map. The slab allocator is used to optimize allocation of kernel objects and is implemented as caches of fixed-size slabs and objects. Per-CPU allocation improves performance by reducing locking and cache invalidations.
The U-Boot is an "Universal Bootloader" ("Das U-Boot") is a monitor program that is under GPL. This production quality boot-loader is used as default boot loader by several board vendors. It is easily portable and easy to port and to debug by supporting PPC, ARM, MIPS, x86,m68k, NIOS, Microblaze architectures. Here is a presentation that introduces U-Boot.
Note: When you view the the slide deck via web browser, the screenshots may be blurred. You can download and view them offline (Screenshots are clear).
In this talk Jiří Pírko discusses the design and evolution of the VLAN implementation in Linux, the challenges and pitfalls as well as hardware acceleration and alternative implementations.
Jiří Pírko is a major contributor to kernel networking and the creator of libteam for link aggregation.
El documento habla sobre las ventajas de volar en formación de "V" para los gansos, como aumentar el alcance del vuelo. También describe cinco lecciones sobre la importancia de la cooperación, ayudarse mutuamente, compartir el liderazgo, dar ánimo y apoyarse unos a otros.
La digitalización requiere una evolución cultural en las organizaciones para adaptarse a los nuevos tiempos. Los directivos discutieron cómo cada compañía entiende y gestiona la digitalización, concluyendo que requiere cambios en los modelos de negocio, la forma de relacionarse y la atracción de perfiles digitales. También acordaron que la alta dirección debe impulsar esta transformación y que la clave es fomentar la flexibilidad y aprendizaje a lo largo de las carreras profesionales.
Linux Traffic Control allows administrators to control network traffic through mechanisms like shaping, scheduling, classifying, policing, dropping and marking. It uses components like queuing disciplines (qdiscs), classes, filters, and actions. The tc command can be used to configure these components by adding, changing or deleting traffic control settings on network interfaces.
Note: When you view the the slide deck via web browser, the screenshots may be blurred. You can download and view them offline (Screenshots are clear).
The document provides an overview of the initialization process in the Linux kernel from start_kernel to rest_init. It lists the functions called during this process organized by category including functions for initialization of multiprocessor support (SMP), memory management (MM), scheduling, timers, interrupts, and architecture specific setup. The setup_arch section focuses on x86 architecture specific initialization functions such as reserving memory regions, parsing boot parameters, initializing memory mapping and MTRRs.
Kernel Recipes 2017 - Understanding the Linux kernel via ftrace - Steven RostedtAnne Nicolas
Ftrace is the official tracer of the Linux kernel. It has been apart of Linux since 2.6.31, and has grown tremendously ever since. Ftrace’s name comes from its most powerful feature: function tracing. But the ftrace infrastructure is much more than that. It also encompasses the trace events that are used by perf, as well as kprobes that can dynamically add trace events that the user defines.
This talk will focus on learning how the kernel works by using the ftrace infrastructure. It will show how to see what happens within the kernel during a system call; learn how interrupts work; see how ones processes are being scheduled, and more. A quick introduction to some tools like trace-cmd and KernelShark will also be demonstrated.
Steven Rostedt, VMware
The document discusses four physical memory models in Linux: flat memory model, discontinuous memory model, sparse memory model, and sparse memory virtual memmap. It describes how each model addresses physical memory (page frames) and maps them to page descriptors. The sparse memory model is currently used, using memory sections to allocate page structures and support memory hotplug. It initializes by walking memory ranges from memblocks and allocating/initializing mem_section data structures.
LinuxCon 2015 Linux Kernel Networking WalkthroughThomas Graf
This presentation features a walk through the Linux kernel networking stack for users and developers. It will cover insights into both, existing essential networking features and recent developments and will show how to use them properly. Our starting point is the network card driver as it feeds a packet into the stack. We will follow the packet as it traverses through various subsystems such as packet filtering, routing, protocol stacks, and the socket layer. We will pause here and there to look into concepts such as networking namespaces, segmentation offloading, TCP small queues, and low latency polling and will discuss how to configure them.
qemu + gdb: The efficient way to understand/debug Linux kernel code/data stru...Adrian Huang
Note: When you view the the slide deck via web browser, the screenshots may be blurred. You can download and view them offline (Screenshots are clear).
The document discusses analyzing Linux kernel crash dumps. It covers various ways to gather crash data like serial console, netconsole, kmsg dumpers, Kdump, and Pstore. It then discusses analyzing the crashed kernel using tools like ksymoops, crash utility, and examining the backtrace, kernel logs, processes, and file descriptors. The document provides examples of gathering data from Pstore and using commands like bt, log, and ps with the crash utility to extract information from a crash dump.
Memory Mapping Implementation (mmap) in Linux KernelAdrian Huang
Note: When you view the the slide deck via web browser, the screenshots may be blurred. You can download and view them offline (Screenshots are clear).
The document discusses QEMU and adding a new device to it. It begins with an introduction to QEMU and its uses. It then discusses setting up a development environment, compiling QEMU, and examples of existing devices. The main part explains how to add a new "Devix" device by creating source files, registering the device type, initializing PCI configuration, and registering memory regions. It demonstrates basic functionality like interrupts and I/O access callbacks. The goal is to introduce developing new emulated devices for QEMU.
This document provides an overview of the data structures and functions used to implement ethernet drivers in the Linux kernel. It discusses the net_device and sk_buff structures that represent network interfaces and packets. It also describes how the driver interacts with the kernel via polling, interrupts, and NAPI to handle reception and transmission of frames. Finally, it provides an example of the key components needed for a simple ethernet driver, including initialization, setup, open/close, transmission, and reception functions.
Boosting I/O Performance with KVM io_uringShapeBlue
Storage performance is becoming much more important. KVM io_uring attempts to bring the I/O performance of a virtual machine on almost the same level of bare metal. Apache CloudStack has support for io_uring since version 4.16. Wido will show the difference in performance io_uring brings to the table.
Wido den Hollander is the CTO of CLouDinfra, an infrastructure company offering total Webhosting solutions. CLDIN provides datacenter, IP and virtualization services for the companies within TWS. Wido den Hollander is a PMC member of the Apache CloudStack Project and a Ceph expert. He started with CloudStack 9 years ago. What attracted his attention is the simplicity of CloudStack and the fact that it is an open-source solution. During the years Wido became a contributor, a PMC member and he was a VP of the project for a year. He is one of our most active members, who puts a lot of efforts to keep the project active and transform it into a turnkey solution for cloud builders.
-----------------------------------------
The CloudStack European User Group 2022 took place on 7th April. The day saw a virtual get together for the European CloudStack Community, hosting 265 attendees from 25 countries. The event hosted 10 sessions with from leading CloudStack experts, users and skilful engineers from the open-source world, which included: technical talks, user stories, new features and integrations presentations and more.
------------------------------------------
About CloudStack: https://cloudstack.apache.org/
The document discusses developing network device drivers for embedded Linux. It covers key topics like socket buffers, network devices, communicating with network protocols and PHYs, buffer management, and differences between Ethernet and WiFi drivers. The outline lists these topics and others like throughput and considerations. Prerequisites include C skills, Linux knowledge, and an understanding of networking and embedded driver development.
USENIX LISA2021 talk by Brendan Gregg (https://www.youtube.com/watch?v=_5Z2AU7QTH4). This talk is a deep dive that describes how BPF (eBPF) works internally on Linux, and dissects some modern performance observability tools. Details covered include the kernel BPF implementation: the verifier, JIT compilation, and the BPF execution environment; the BPF instruction set; different event sources; and how BPF is used by user space, using bpftrace programs as an example. This includes showing how bpftrace is compiled to LLVM IR and then BPF bytecode, and how per-event data and aggregated map data are fetched from the kernel.
This document discusses hardware offloading of VXLAN encapsulation and decapsulation in OVS-DPDK. It proposes representing virtual ports (vPorts) as tables to enable hardware offloading of VXLAN processing. Matching and actions on the vPort table would occur in hardware before decapsulation. Fallback processing using software would be used if full hardware offloading is not possible. The goal is to leverage intelligent NIC capabilities to accelerate VXLAN tunnel processing and improve performance for cloud, NFV, and storage workloads.
Process Address Space: The way to create virtual address (page table) of user...Adrian Huang
Process Address Space: The way to create virtual address (page table) of userspace application.
Note: When you view the the slide deck via web browser, the screenshots may be blurred. You can download and view them offline (Screenshots are clear).
This document discusses Linux memory management. It outlines the buddy system, zone allocation, and slab allocator used by Linux to manage physical memory. It describes how pages are allocated and initialized at boot using the memory map. The slab allocator is used to optimize allocation of kernel objects and is implemented as caches of fixed-size slabs and objects. Per-CPU allocation improves performance by reducing locking and cache invalidations.
The U-Boot is an "Universal Bootloader" ("Das U-Boot") is a monitor program that is under GPL. This production quality boot-loader is used as default boot loader by several board vendors. It is easily portable and easy to port and to debug by supporting PPC, ARM, MIPS, x86,m68k, NIOS, Microblaze architectures. Here is a presentation that introduces U-Boot.
Note: When you view the the slide deck via web browser, the screenshots may be blurred. You can download and view them offline (Screenshots are clear).
In this talk Jiří Pírko discusses the design and evolution of the VLAN implementation in Linux, the challenges and pitfalls as well as hardware acceleration and alternative implementations.
Jiří Pírko is a major contributor to kernel networking and the creator of libteam for link aggregation.
El documento habla sobre las ventajas de volar en formación de "V" para los gansos, como aumentar el alcance del vuelo. También describe cinco lecciones sobre la importancia de la cooperación, ayudarse mutuamente, compartir el liderazgo, dar ánimo y apoyarse unos a otros.
La digitalización requiere una evolución cultural en las organizaciones para adaptarse a los nuevos tiempos. Los directivos discutieron cómo cada compañía entiende y gestiona la digitalización, concluyendo que requiere cambios en los modelos de negocio, la forma de relacionarse y la atracción de perfiles digitales. También acordaron que la alta dirección debe impulsar esta transformación y que la clave es fomentar la flexibilidad y aprendizaje a lo largo de las carreras profesionales.
The ILGE program faculty consists of experts in various fields who are experienced business practitioners and
recognized leaders. They include the founder and president John P. Keenan who has over 30 years of experience in
leadership development and organizational psychology. Other faculty associates are experts in areas like quality
management, process improvement, international business, human resources, training and consulting. They bring
global experience working with organizations across industries to contribute to ILGE's educational programs.
The document introduces the launch of the all-new BMW 7 Series luxury sedan in India. Some key highlights include:
- It features the latest innovations in automotive technology such as gesture control, remote parking assistance, wireless device charging, and a panoramic glass roof with mood lighting.
- The BMW 7 Series will be locally produced at BMW Plant Chennai and is available in both diesel and petrol variants, priced between INR 1.11-1.55 crores.
- It comes with standard BMW service and repair packages for peace of mind over ownership.
Este documento presenta un resumen de gramática española para repasar los capítulos 5 y 6. Incluye diapositivas sobre verbos reflexivos y el presente progresivo, así como situaciones de práctica oral y un mapa de Pittsfield para practicar indicaciones. El documento ofrece consejos sobre el estudio y la preparación para las evaluaciones orales.
Este documento proporciona información sobre los trámites y documentos necesarios para las exportaciones. Explica los documentos comerciales como la factura pro forma y la factura comercial. También cubre los documentos de transporte, seguro y legalización de documentos. Además, detalla los trámites aduaneros y tributarios según el destino, así como documentos y certificados específicos para diferentes sectores como agroalimentarios, bebidas, bienes de consumo, materias primas e industriales.
El documento insta a los lectores a prepararse para el Congreso Provincial que se llevará a cabo en seis meses, ya que requiere mucho trabajo y esfuerzo de todos para que sea un éxito. Exhorta a la participación de todos para lograr el objetivo de asistir al Congreso y cumplir con las expectativas de la Asociación. Recuerda que cuentan con el apoyo de Dios y las palabras de Don Bosco de que "la ayuda de Dios nunca falta si se trabaja de veras con fe y confianza".
Mirit Ben Nun
Born August 8, 1966
These paintings express a personal need to delineate images and fantasies abundant with
color and emotional explosion. Signs, lines and the materials appear of their own volition
and develop as an external language bridging the eye, the hand and the painted surface.
During the making of a painting the power of the shapes emanate from an unconscious
and concealed inner dimension.
Line by line, painting after painting while repeating shapes and patterns, a creation
evolves into new shapes and patterns. With a determination that reaches obsession, Mirit
Ben-Nun keeps on returning to her art of meticulous decoration. A strong presence of
primitive ornamentation provides the artwork with a tribal facet on one hand and a
feminine touch on the other, encompassing embroidery, bead threading and weaving
among others. Ben- Nun’s beautifying urge carries within it an archetypal strata, mythic
at times, which empowers her authentic expression.
Dr. Gidion Ofrat and Ami Steinitz
This document provides information about a pre-summit workshop on July 25th, a summit on July 26th and 27th, and a post-summit workshop on July 28th to be held at the Primus Hotel in Sydney, Australia. The summit's theme is exploring strategies, tools, and advice for maximizing leadership potential and business excellence in evolving ICT roles. Various speakers will discuss topics like overcoming career challenges for women in ICT, developing an authentic leadership style, and thriving in an age of digital disruption. The event includes keynotes, case studies, panels, and networking opportunities. Early bird discounts are available for those who register and pay by April 22nd.
Campamento Naútico adaptado Los Alcázares 2015 - circularDinama Org
Este documento proporciona información sobre un campamento de verano organizado por la Asociación Dinama en Los Alcázares, Murcia del 15 al 24 de julio de 2015. Incluye transporte, alojamiento y manutención, así como diversas actividades como vela, windsurf, kayak y visitas culturales. Se requiere que los participantes lleven ropa y equipamiento deportivo, así como objetos personales. El documento también incluye una ficha de inscripción.
ITM 2013 - Roberto Fantoni, E. Ballarè, G. Sitzia "I 'Maestri Valsesiani' arc...Sergio Primo Del Bello
Incontri Tra Montani 2013 - Bagolino BS
Artisti itineranti di montagna. Dal Medioevo all'Età Moderna
Roberto Fantoni, Enrica Ballarè,
Giuseppe Sitzia / Gruppo Walser Carcoforo, Laboratorio
del Marmo artificiale di Rima, Punto Arte
Onlus Valsesia (VC) / I “Maestri Valsesiani” Architetti,
botteghe e imprese valsesiane nelle Alpi.
Album fotografico: https://picasaweb.google.com/117290793877692021380/ITM2013BagolinoBS?authuser=0&feat=directlink
The document discusses the importance of social media for luxury brands. While some are skeptical that affluent customers will engage online, the document notes that social media allows brands to engage consumers in non-brand controlled spaces and that visitors to these spaces far outweigh official sites. It then provides strategies for how luxury brand Infiniti successfully utilized social media, including understanding their target audiences' motivations, developing video assets to seed online, and both reactive and proactive social media engagement. The results saw over 1000 comments posted and 13% of web traffic from social media referrals.
This document discusses developing a new crowdsourced approach to accelerating innovation using CogniStreamer's existing tools. The approach aims to speed up customers' innovation processes by enabling more iterations in shorter time through open ideation with design students and universities and lead user validation. Key elements include providing real challenges from companies, a 'coopetition' model for designers to collaborate, and targeted lead user communities. The document outlines testing this new approach using CogniStreamer's Innovation Portal and XL tools and adapting them to facilitate scaling the model. It discusses learnings around legal frameworks, reducing complexity/seeking win-win, aligning with customer value, and the benefits of open iterations with lead users outpacing internal R&
Este documento presenta una serie de laboratorios para el desarrollo de aplicaciones web utilizando HTML. El primer laboratorio explica cómo crear la estructura básica de una página web y agregar contenido. El segundo laboratorio cubre la adición de fondos, encabezados, bloques de texto y otros formatos. El tercer laboratorio trata sobre las listas. El cuarto laboratorio explica cómo insertar imágenes. El quinto laboratorio cubre el uso de tablas.
Campanha "I Love Sacks"
Uma criação da Buzz Social Media / All in.
Abril 2010
Equipe:
Victor Popper, Kadu Pedreira, Ricardo Perrotta, Eugênio Tomaz, Mariana Ottman, Fernando Finotto, Tabata Oliveira e Karina Mattos.
Burson-Marsteller - Turning Social Into ValueLars Kempin
Das Unwort des Jahres 2011 ist es zwar nicht geworden, aber wir sind sicher, dass „Social Media“ auch in Ihrem Unternehmen nicht nur für Euphorie sorgt, sondern auch auf Unbehagen und Unwohlsein stößt. Die Gründe hierfür sind vielschichtig: Dem einen fehlt es an Wissen. Dem anderen am Überblick. Ihre Social Media Experten suchen noch Tools bzw. Anwendungsfelder. Andere wiederum stellen grundsätzlich den Sinn von Social Media in Frage und ihr Chef fragt vor allem nach dem Return on Investment. An welcher Stelle der Schuh bei Ihnen auch drückt, wir haben „ein Angebot, das Sie nicht ablehnen können“.
In der angehängten Broschüre finden Sie deshalb kein vorkonfektioniertes Einheitsangebot, das Ihnen ein Erklärbar zu Festpreisen vortanzt, sondern thematische Module, die Sie nach Belieben kombinieren können. Treten Sie einfach mit uns in Kontakt. Lassen Sie sich bei der Kombination der Module beraten, damit wir für Sie einen Workshop nach Maß aufsetzen können.
VMworld 2013: How to Exchange Status Message Between Guest and Host Using RPC VMworld
This document discusses how to exchange status messages between a guest virtual machine and the host system using GuestRPC. GuestRPC provides a private communication channel between the guest and host through a shared memory interface. It allows writing and reading the virtual machine configuration file and log files. The document outlines several use cases for status reporting and application configuration. It then describes how GuestRPC works and several methods for using it, including the VMware Guest API, VMware Tools commands, and a new open source Fling GuestRPC library.
Project ACRN Device Model architecture introductionProject ACRN
The document provides an overview of the ACRN Device Model (DM) architecture. DM is responsible for creating UOS VMs and emulating devices based on command line configurations. It initializes by parsing options, creating the VM, setting up I/O, and loading the OVMF firmware. It then performs device emulation through virtual PCI devices, interrupt handling, and ACPI table virtualization. Device emulation involves registering devices, emulating configuration space, BARs, and interrupts. ACPI tables are virtualized to provide power management and configuration to the guest VM.
This document discusses SR-IOV (Single Root I/O Virtualization), which allows a PCIe device to appear as multiple separate devices. It describes how SR-IOV works by introducing physical functions and virtual functions. It then outlines the steps to enable SR-IOV on a Xen hypervisor, including configuring the network device, enabling virtual functions, binding VFs to the pciback driver, and assigning VFs to guest VMs. Reference links are also provided for additional information on SR-IOV and its implementation in Xen.
This document provides an overview of Proximal Data's AutoCache software and how it can accelerate storage performance in a virtualized environment using Nytro WarpDrive PCIe flash storage. It discusses how AutoCache works, benchmarks showing significant IOPS and latency improvements when using a Nytro WarpDrive 6203 card with AutoCache compared to a HDD baseline. It also shows nearly linear scaling of IOPS with additional Nytro cards under AutoCache 2.0. The document provides guidance on monitoring and optimizing performance further through settings like queue depth and discusses other related solutions and resources.
The document provides details about a student's Master of Computer Science program coursework including an introduction to cloud computing, OpenStack, and demonstrating an OpenStack cloud infrastructure. It discusses key OpenStack components, architecture, and services for compute, networking, and storage. It also includes OpenStack deployment diagrams, user interfaces, test cases, and tools used in setting up an OpenStack lab topology.
The document provides tips and techniques for optimizing performance of virtual machines when using various virtualization platforms like VMware Workstation, Microsoft Virtual Server, and ESX Server. It discusses best practices for configuring hardware, storage, networking and guest operating systems to maximize efficiency and minimize resource usage of virtual machines. General recommendations include adding RAM and CPUs, using solid state drives, installing VMware Tools/Virtual Machine Additions, and defragmenting disks.
Using Virtualization To Improve Development And Testingelliando dias
Using virtualization can improve software development and testing by providing benefits like simplified administration, increased hardware utilization through server consolidation, and decreased provisioning times. Virtualization allows for scenarios like setting up test environments, simulating multiple clients, and rapid setup/teardown of test environments. Best practices for managing performance include profiling applications, monitoring resource usage, and treating virtual machines like physical machines for maintenance purposes.
Windows Filtering Platform And Winsock KernelHardway Hou
WinHEC 05
Madhurima Pawar
Program Manager
Windows Networking
mpawar @ microsoft.com
Microsoft Corporation
Eric Stenson
Development LeadWindows Networking
ericsten @ microsoft.com
Microsoft Corporation
Andrew Betts Web Developer, The Financial Times at Fastly Altitude 2016
Running custom code at the Edge using a standard language is one of the biggest advantages of working with Fastly’s CDN. Andrew gives you a tour of all the problems the Financial Times and Nikkei solve in VCL and how their solutions work.
The document discusses an image processing pipeline for mobile devices that uses the webcam on a browser to capture images and upload them to a GPU-enabled server for preprocessing and neural network processing before returning results to the browser. It covers using WebRTC and JavaScript Canvas to capture images, uploading images to the server via WebSocket, preprocessing images on both the client and server sides, using Tornado on the server to handle the WebSocket connection and processing images with queues and multiprocessing, and various neural networks that could be used for processing.
The document discusses Windows kernel technologies including the Windows architecture, system traps, I/O model, device drivers, and Windows subsystems. It provides an overview of the Windows NT timeline from 1989 to 2009 and describes key components of the Windows architecture like the executive, kernel, and hardware abstraction layer. It also covers topics such as Windows APIs, calling into the kernel, the I/O manager, drivers, and I/O processing.
Infrastructure as Code in your CD pipelines - London Microsoft DevOps 0423Giulio Vian
London Microsoft DevOps 23 April 2018 Meetup (https://www.meetup.com/London-Microsoft-DevOps/events/249114256/)
Infrastructure as Code in your CD pipelines
from VMs to Containers
He is going to cover the Journey of agile transformation in a non-IT company, bringing in Continuous Delivery, traditional infrastructure and modern cloud DevOps practices.
In this talk, you will hear about the DevOps journey in his company (Glass, Lewis & Co.), from the initial brown-field all-manual state to the current partially automated situation and the strategic destination of a fully automated and monitored process.
In an equilibrium between a high-level view and useful practical tips, he will touch on what informed their decisions, in terms of priorities and technologies, some lessons learned in setting up Infrastructure-as-Code using Terraform for Azure, and how the legacy constraints helped or hindered them on this journey.
This document provides a guide for setting up a class environment using virtual machines for training on Kaspersky Security for Virtualization 3.0 Light Agent. It describes setting up domain controllers, workstations, Hyper-V servers, and various virtual machines. Key steps include installing operating systems, configuring networking and domains, deploying virtual desktop infrastructure and Remote Desktop Services, and installing Kaspersky Security Center and Protection Servers. The goal is to replicate an ABC company network with all necessary infrastructure elements for demonstrations in the training labs.
Eco4Cloud is a software company that maximizes the efficiency of virtualized data centers. Their main product, Eco4Cloud, automatically consolidates virtual machines onto the minimum number of physical servers needed, allowing underutilized servers to be powered off. This leads to significant reductions in energy costs and capacity needs. Eco4Cloud is platform-agnostic and integrates seamlessly with virtualization platforms. It also improves memory usage through smart ballooning. Eco4Cloud has been successfully deployed by managed service providers, enterprises, and outsourcing companies to reduce costs and optimize infrastructure utilization.
OSDC 2019 | KubeVirt: Converge IT infrastructure into one single Kubernetes p...NETWAYS
We will dive into KubeVirt and see how we could create and manage VMs in Kubernetes In this session we will talk about what is KubeVirt and how it works on a kubernetes platform. KubeVirt allows users to create and manage virtual machines within a Kubernetes Cluster.
This session will be covering the following topics:
KubeVirt Installation
Basic KubeVirt objects and components
How to deploy and manage virtual machines
KubeVirt Storage
KubeVirt Networking
Benefits :
Kubernetes is a well established container platform, but migrating applications/services to containers is not always easy. KubeVirt allows in such situations to migrate virtual machine based workloads to the same platform where the containers are already running, thus helping converge IT Infrastructure into one single platform, Kubernetes.
Vawtrak Trojan, also known as Neverquest or Snifula, has been an enduring banking Trojan for a long time and is still one of the most prevalent banking Trojans in the wild today.
This report forms part of Blueliv’s investigation into the Vawtrak group. Reversing the Trojan was a mandatory element of this investigation in order to understand and track the cybercriminal groups and malicious actors behind the Vawtrak malware technical security researchers and reverse engineers can use this report to increase their understanding of how the banking Trojan works.
VMware vSphere 4.0 provides infrastructure services including enhanced virtualization capabilities for compute, storage, and networking. It features increased scalability support, availability features like VMware HA and Fault Tolerance, and security improvements such as VMsafe and vShield Zones. The release delivers optimization and automation to reduce costs while improving operational efficiency.
VMworld 2016: vSphere 6.x Host Resource Deep DiveVMworld
1. This document provides an overview and agenda for a presentation on vSphere 6.x host resource deep dive topics including compute, storage, and network.
2. It introduces the presenters, Niels Hagoort and Frank Denneman, and provides background on their expertise.
3. The document outlines the topics to be covered under each section, including NUMA, CPU cache, DIMM configuration, I/O queue placement, driver considerations, RSS and NetQueue scaling for networking.
VMworld 2016: Troubleshooting 101 for HorizonVMworld
This document provides an overview of troubleshooting tools and techniques for Horizon. It begins with introductions and disclaimers. It then covers defining problems, identifying symptoms, gathering additional information, determining possible causes, identifying the root cause, resolving problems, and documenting solutions. Common troubleshooting tools are discussed, including ESXCLI commands, vSphere CLI commands, and log file locations and contents. Methods for collecting log files from Horizon components like desktops, clients, and servers are also provided.
VMworld 2016: Advanced Network Services with NSXVMworld
NSX provides network virtualization and security services including distributed firewalling, load balancing, and VPN connectivity. It reproduces traditional network and security functions in software throughout the virtual infrastructure for improved performance, agility, and security compared to physical appliances. Over 1700 customers use NSX across various industries, with growth of 100% year-over-year. NSX services can be distributed across hypervisors for massive scalability. The platform also integrates with security and application delivery partners to enhance its native capabilities.
VMworld 2016: How to Deploy VMware NSX with Cisco InfrastructureVMworld
This document provides an overview of how to deploy VMware NSX with Cisco infrastructure, including:
- NSX has minimal requirements of 1600 MTU and IP connectivity and is agnostic to the underlying network topology.
- When using Cisco Nexus switches, VLANs must be configured for various traffic types and SVIs created with consistent IP subnets. Jumbo MTU is required across all links.
- NSX is also compatible with Cisco ACI fabrics using Fabric Path or DFA topologies, with the VXLAN VLAN spanning multiple pods/clusters across the fabric.
VMworld 2016: Enforcing a vSphere Cluster Design with PowerCLI AutomationVMworld
This document discusses enforcing vSphere cluster designs using PowerCLI automation. It provides an overview of vSphere cluster design basics like HA and DRS configurations. It then discusses crafting declarative configurations to define the desired infrastructure state. Infrastructure as code principles are reviewed for managing configurations outside the endpoints. The presentation introduces the Vester project for declaratively configuring vSphere clusters using PowerCLI.
Horizon 7 introduces several new features including just-in-time desktops that instantly provision desktops and applications when users log in using VMware's instant clone technology. It also features smart policies that dynamically change desktop configurations based on user location or device. Infrastructure updates improve scalability and failover capabilities. The user experience is enhanced with support for 3D graphics, new protocols like Blast Extreme for optimized mobile access, and expanded capabilities for hosted applications and RDS desktops.
VMworld 2016: Virtual Volumes Technical Deep DiveVMworld
Virtual Volumes provide a more efficient operational model for external storage management in vSphere. They integrate storage capabilities directly into virtual machines at the individual disk level through Storage Policy-Based Management. This simplifies operations by removing the need for static LUN/volume provisioning and allows storage services to be applied non-disruptively on a per-virtual machine basis according to policies. A key component is the VASA Provider, which is used to publish an array's storage capabilities and manage the creation of VM-level objects called Virtual Volumes on behalf of vSphere.
VMworld 2016: The KISS of vRealize Operations! VMworld
This presentation introduces new features in vRealize Operations 6.3 that simplify operations management. It begins with an overview of the vRealize Operations architecture and dashboard. New features are then demonstrated, including a recommended actions page, cluster resource dashboard, data collection notifications, workload balancing through rebalancing containers, guided remediation through alerts, integration with vRealize Log Insight, capacity management of clusters and projections, and extensibility with management packs. Finally, related VMworld sessions are listed that provide further information on capacity planning, troubleshooting, intelligent operations management, log insight, and network insight.
VMworld 2016: Getting Started with PowerShell and PowerCLI for Your VMware En...VMworld
This document provides an overview and introduction to PowerShell and PowerCLI for managing VMware environments. It discusses what PowerShell and PowerCLI are, important terminology like modules and functions, how to set them up and configure profiles, and examples of how to start coding with PowerShell including gathering data, writing logic statements, and using cmdlets safely. The presenters are introduced and an agenda is provided covering these topics at a high level to get started with PowerShell and PowerCLI.
VMworld 2016: Ask the vCenter Server Exerts PanelVMworld
This document is a disclaimer stating that the presentation may include features still under development and not committed to be delivered in final products. Any features discussed are subject to change based on technical feasibility and market demand, and pricing and packaging have not been determined for any new technologies presented. The document is confidential.
VMworld 2016: Virtualize Active Directory, the Right Way! VMworld
Virtualizing Active Directory domain controllers provides benefits like increased availability, scalability, and manageability. However, there are some technical challenges to address like ensuring proper time synchronization. This presentation provides best practices for virtualizing domain controllers including using host-guest affinity rules, disabling time synchronization settings, and ensuring the ESXi host clock is correct. It also introduces new "safety" features in Windows Server 2012 like VM GenerationID that help address issues from restoring or reverting snapshots like USN rollback.
VMworld 2016: Migrating from a hardware based firewall to NSX to improve perf...VMworld
Iain Leiter from A.T. Still University discussed their organization's migration from a hardware-based firewall to NSX to improve performance and compliance. Some key advantages of NSX include distributed firewalling for high performance and scalability, pay-as-you-grow flexibility, and advanced security features like microsegmentation. Their deployment process involved installing NSX, defining security groups, building security policies using syslog data from "recon rules", and applying a common services policy. Discoveries included many backdoors, application architecture issues, and the security benefits of microsegmentation.
VMworld 2015: Troubleshooting for vSphere 6VMworld
The document provides an overview of troubleshooting tools and techniques for vSphere 6. It discusses gathering diagnostic information, identifying potential causes, and resolving problems. The vSphere ESXi Shell and vCLI commands can be used to troubleshoot issues locally or remotely via SSH. An example troubleshooting process is provided to demonstrate defining a vMotion failure problem, gathering logs, testing connectivity, and resolving an incorrect VMkernel interface IP address.
VMworld 2015: Monitoring and Managing Applications with vRealize Operations 6...VMworld
This year VMware vSphere 6 combined with vRealize Operations 6.1 (vR Ops 6) adds critical features to increase technical agility in the infrastructure, and reduce Mean time to Repair. With a new Automated remediation action framework in vR Ops, vSphere 6’s ability to vMotion Physical Raw Device mappings (RDMs), and a complete Management Pack Ecosystem for monitoring Infrastructure to applications, administrators have the tools needed to get to maintain 5 9’s uptime, shorten Mean Time to Repair (MTTR), and predict capacity requirements as and when the business requires.. This session will be a deep technical explanation, and live demonstration of these tools. It will give administrators a solid understanding of how they can use these tools to monitor and manage their application clusters, keep applications running during Infrastructure maintenance, and get deep holistic visibility into the entire Application ecosystem, from Storage to Networking.
VMworld 2015: Advanced SQL Server on vSphereVMworld
Microsoft SQL Server is one of the most widely deployed “apps” in the market today and is used as the database layer for a myriad of applications, ranging from departmental content repositories to large enterprise OLTP systems. Typical SQL Server workloads are somewhat trivial to virtualize; however, business critical SQL Servers require careful planning to satisfy performance, high availability, and disaster recovery requirements. It is the design of these business critical databases that will be the focus of this breakout session. You will learn how build high-performance SQL Server virtual machines through proper resource allocation, database file management, and use of all-flash storage like XtremIO. You will also learn how to protect these critical systems using a combination of SQL Server and vSphere high availability features. For example, did you know you can vMotion shared-disk Windows Failover Cluster nodes? You can in vSphere 6! Finally, you will learn techniques for rapid deployment, backup, and recovery of SQL Server virtual machines using an all-flash array.
VMworld 2015: Virtualize Active Directory, the Right Way!VMworld
Active Directory Domain Services (ADDS) allows organizations to deploy a scalable and secure directory service for managing users, resources and applications. Virtualization of ADDS has been supported for many years now, however has required careful management to avoid pitfalls around replication, time management, and access. Windows Server 2012 provides greater support for virtualization by including virtualization-safe features and support for rapid domain controller deployment.
VMworld 2015: Site Recovery Manager and Policy Based DR Deep Dive with Engine...VMworld
Policy based management greatly simplifies the work of IT Administrators making it easy to ensure that applications and VMs receive the resources, protection and functionality required. Learn about the latest enhancements of Site Recovery Manager in this space, which represent a huge step towards providing policy based DR. In this session we'll dive deep into how this approach works and how to work with them.
VMworld 2015: Building a Business Case for Virtual SANVMworld
This presentation discusses building a business case for VMware Virtual SAN. It provides an overview of Virtual SAN and its benefits for customers like choice, integration, cost savings and performance. A case study is presented of how Dominos Pizza implemented Virtual SAN which resulted in roughly 40% lower costs compared to a traditional storage array. The presentation concludes by demonstrating the Virtual SAN assessment tool and various ways customers can try Virtual SAN.
Not content to simply describe the Virtual Volume (VVOL) framework, this session instead examines practical use cases: How different configurations and workloads benefit from VVOLs. Learn how Storage Policy Based Management (SPBM) couples with VVOLs to provide VM configuration options not previously available. We demonstrate a handful of real-life scenarios, specifically covering how VVOLs benefits oversubscribed systems, disaster recovery preparation and multi-tenant requirements for customers. Specific configuration options and constraints are covered in detail, including how they work with underlying storage.
Generative Artificial Intelligence (GenAI) in BusinessDr. Tathagat Varma
My talk for the Indian School of Business (ISB) Emerging Leaders Program Cohort 9. In this talk, I discussed key issues around adoption of GenAI in business - benefits, opportunities and limitations. I also discussed how my research on Theory of Cognitive Chasms helps address some of these issues
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul
Artificial intelligence is changing how businesses operate. Companies are using AI agents to automate tasks, reduce time spent on repetitive work, and focus more on high-value activities. Noah Loul, an AI strategist and entrepreneur, has helped dozens of companies streamline their operations using smart automation. He believes AI agents aren't just tools—they're workers that take on repeatable tasks so your human team can focus on what matters. If you want to reduce time waste and increase output, AI agents are the next move.
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...SOFTTECHHUB
I started my online journey with several hosting services before stumbling upon Ai EngineHost. At first, the idea of paying one fee and getting lifetime access seemed too good to pass up. The platform is built on reliable US-based servers, ensuring your projects run at high speeds and remain safe. Let me take you step by step through its benefits and features as I explain why this hosting solution is a perfect fit for digital entrepreneurs.
What is Model Context Protocol(MCP) - The new technology for communication bw...Vishnu Singh Chundawat
The MCP (Model Context Protocol) is a framework designed to manage context and interaction within complex systems. This SlideShare presentation will provide a detailed overview of the MCP Model, its applications, and how it plays a crucial role in improving communication and decision-making in distributed systems. We will explore the key concepts behind the protocol, including the importance of context, data management, and how this model enhances system adaptability and responsiveness. Ideal for software developers, system architects, and IT professionals, this presentation will offer valuable insights into how the MCP Model can streamline workflows, improve efficiency, and create more intuitive systems for a wide range of use cases.
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Aqusag Technologies
In late April 2025, a significant portion of Europe, particularly Spain, Portugal, and parts of southern France, experienced widespread, rolling power outages that continue to affect millions of residents, businesses, and infrastructure systems.
Big Data Analytics Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfSoftware Company
Explore the benefits and features of advanced logistics management software for businesses in Riyadh. This guide delves into the latest technologies, from real-time tracking and route optimization to warehouse management and inventory control, helping businesses streamline their logistics operations and reduce costs. Learn how implementing the right software solution can enhance efficiency, improve customer satisfaction, and provide a competitive edge in the growing logistics sector of Riyadh.
Artificial Intelligence is providing benefits in many areas of work within the heritage sector, from image analysis, to ideas generation, and new research tools. However, it is more critical than ever for people, with analogue intelligence, to ensure the integrity and ethical use of AI. Including real people can improve the use of AI by identifying potential biases, cross-checking results, refining workflows, and providing contextual relevance to AI-driven results.
News about the impact of AI often paints a rosy picture. In practice, there are many potential pitfalls. This presentation discusses these issues and looks at the role of analogue intelligence and analogue interfaces in providing the best results to our audiences. How do we deal with factually incorrect results? How do we get content generated that better reflects the diversity of our communities? What roles are there for physical, in-person experiences in the digital world?
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, presentation slides, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
AI and Data Privacy in 2025: Global TrendsInData Labs
In this infographic, we explore how businesses can implement effective governance frameworks to address AI data privacy. Understanding it is crucial for developing effective strategies that ensure compliance, safeguard customer trust, and leverage AI responsibly. Equip yourself with insights that can drive informed decision-making and position your organization for success in the future of data privacy.
This infographic contains:
-AI and data privacy: Key findings
-Statistics on AI data privacy in the today’s world
-Tips on how to overcome data privacy challenges
-Benefits of AI data security investments.
Keep up-to-date on how AI is reshaping privacy standards and what this entails for both individuals and organizations.
Quantum Computing Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc
Most consumers believe they’re making informed decisions about their personal data—adjusting privacy settings, blocking trackers, and opting out where they can. However, our new research reveals that while awareness is high, taking meaningful action is still lacking. On the corporate side, many organizations report strong policies for managing third-party data and consumer consent yet fall short when it comes to consistency, accountability and transparency.
This session will explore the research findings from TrustArc’s Privacy Pulse Survey, examining consumer attitudes toward personal data collection and practical suggestions for corporate practices around purchasing third-party data.
Attendees will learn:
- Consumer awareness around data brokers and what consumers are doing to limit data collection
- How businesses assess third-party vendors and their consent management operations
- Where business preparedness needs improvement
- What these trends mean for the future of privacy governance and public trust
This discussion is essential for privacy, risk, and compliance professionals who want to ground their strategies in current data and prepare for what’s next in the privacy landscape.
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxJustin Reock
Building 10x Organizations with Modern Productivity Metrics
10x developers may be a myth, but 10x organizations are very real, as proven by the influential study performed in the 1980s, ‘The Coding War Games.’
Right now, here in early 2025, we seem to be experiencing YAPP (Yet Another Productivity Philosophy), and that philosophy is converging on developer experience. It seems that with every new method we invent for the delivery of products, whether physical or virtual, we reinvent productivity philosophies to go alongside them.
But which of these approaches actually work? DORA? SPACE? DevEx? What should we invest in and create urgency behind today, so that we don’t find ourselves having the same discussion again in a decade?
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025BookNet Canada
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, transcript, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025BookNet Canada
VMworld 2013: ESXi Native Networking Driver Model - Delivering on Simplicity and Performance
1. ESXi Native Networking Driver Model - Delivering on
Simplicity and Performance
Margaret Petrus, VMware
TEX4759
2. 22
Disclaimer
This presentation may contain product features that are currently
under development.
This overview of new technology represents no commitment from
VMware to deliver these features in any generally available
product.
Features are subject to change, and must not be included in
contracts, purchase orders, or sales agreements of any kind.
Technical feasibility and market demand will affect final delivery.
Pricing and packaging for any new technologies or features
discussed or presented have not been determined.
3. 33
Key Takeaways
1. The benefits of moving to native driver model with an overview
of the different layers.
2. Jumpstart to build your own native driver.
3. The significant CPU savings achieved using the native model,
while retaining simplicity and supportability.
4. 44
Agenda
Overview of Native Model
Module Components and Interactions
Native Network Driver Deep Dive
Building your driver in the native model
Advanced Features
Performance
Summary
6. 66
Why Native Driver Model?
Foundation to build new extensible features for ESXi hypervisor
Increasing number of VMs in growing cloud deployments demand
Device driver robustness
Best performance
Better supportability, manageability, and debuggability
Provide long term binary compatibility support
Better flexibility and support to release new features in the networking,
storage areas, etc.
9. 99
Quick Comparison with VMKLNX Model
VM
I/O Subsystems
vmkplexer
vmklinux
Linux driver
vmKernel
Emulated
Linux Driver
Model
VM
I/O Subsystems
Device Layer
Dev
Mgr
vmKernel
Native DriverNative DriverESXi Driver
Native Driver
Model
10. 1010
Device layer
PCI Native driver
vmkdevmgr
IO subsys (scsi, net)
vmklinux
vmklnx_driver
ACPI
vmkctl
driver.map
Layer Interactions in Native Model vs. Vmklinux Model
User Level
Kernel
15. 1515
Module Layer: init_module()
Key steps:
1. Register module with vmkernel via vmk_ModuleRegister().
2. Initialize driver name via vmk_NameInitialize().
3. Create heap via vmk_HeapCreate() and memory pool via
vmk_MemPoolCreate().
4. Register for driver logging via vmk_LogRegister().
5. Create lock domain for the module via vmk_LockDomainCreate().
6. Register the driver with the driver database via vmk_DriverRegister().
This is where you register the driver properties, i.e. the device layer CB handlers.
static vmk_DriverOps elxnetDrvOps = {
.attachDevice = elxnet_attachDevice,
.detachDevice = elxnet_detachDevice,
.scanDevice = elxnet_scanDevice,
.startDevice = elxnet_startDevice,
.quiesceDevice = elxnet_quiesceDevice,
.forgetDevice = elxnet_forgetDevice,
};
static vmk_DriverProps elxnetDrvProps = {
.ops = &elxnetDrvOps,
};
16. 1616
Module Layer: cleanup_module()
The steps executed in init_module() occur in the reverse order:
1. Unregister driver via vmk_DriverUnregister().
2. Destroy created lock domain via vmk_LockDomainDestroy().
3. Unregister driver log via vmk_LogUnregister().
4. Destroy heap via vmk_HeapDestroy().
5. Destroy memory pool via vmk_MemPoolDestroy().
6. Unregister module via vmk_ModuleUnregister().
18. 1818
How does Native Driver claim its devices?
1. PCI bus drv scans PCI bus, detects PCI NICs, produces PCI NIC dev object.
2. Device Layer notifies Device Manager of device existence.
Device Manager consults the PCI bus plugin to locate the driver
3. NIC Drv registers with Dev layer, providing CBs to claim PCI NIC dev object.
4. Device Manager binds NIC driver module to PCI NIC device object.
5. Device Layer calls NIC driver's AttachDevice callback:
NIC driver claims PCI NIC device object
NIC driver initializes hardware
6. Device Layer calls NIC driver's StartDevice callback
NIC driver leaves quiesced state
7. Device Layer calls NIC driver's ScanDevice callback:
NIC driver produces logical uplink device object.
8. Device Layer notifies Device Manager of logical device existence.
Device Manager consults the Logical bus plugin to locate the driver
Device manager binds the uplink device to the uplink driver
attach, start, scan callbacks invoked for uplink device
9. NIC driver registers uplink capabilities in Uplink Registration callback.
10.NIC driver can start RX and networking subsystem can start TX on this NIC.
19. 1919
Flow to claim NIC and make it IO-able
NIC Driver Networking
Subsystem
Device Layer
vmk_DriverAttachDevice(vmk_PCIDevice)
vmk_DriverStartDevice()
vmk_DriverScanDevice()
vmk_DeviceRegister(vmk_DeviceProps,
vmkDev, &uplinkDev) Create and Register uplinkDev
vmk_UplinkAssociate() to asynchronously
notify uplink for the device
vmk_UplinkCapRegister() to register
each capability
vmk_UplinkStartIO()
1. Arm interrupts in HW
2. Enable interrupts in vmkernel
3. Update uplink link status
Uplink is ready
for Tx/Rx
processing
HW initialized
for IO
20. 2020
Device Layer: DriverAttachDevice()
The attachDevice callback registered in vmk_DriverRegister() is invoked.
• The driver should start driving this device, get it ready for IO.
• If not capable of driving, return error and restore device to original state.
What is done in this routine?
1. Allocate memory for driver data structures.
2. Invoke vmk_DeviceGetRegistrationData() to get PCI Device handle.
3. Invoke vmk_PCIQueryDeviceID() to validate driver can support this device.
4. Invoke vmk_PCIQueryDeviceAddr() to get the PCI Device Address.
5. Create the DMA engine via vmk_DMAEngineCreate() with right properties.
6. Map the bars via vmk_PCIMapIOResource() calls.
7. Initialize the HW and ensure that it comes up fine, else error out.
8. Setup stats collections, other driver specific stuff, etc.
9. Allocate interrupt vectors via vmk_PCIAllocIntrCookie() (w/ typeVec, numVec).
10. Create UplinkData – fills up the registration data ops and sharedData fields.
11. Do other controller setup and any other needed configurations.
12. Call vmk_DeviceSetAttachedDriverData() to associate drvPrivDataPtr with
vmk_Device handle.
21. 2121
Device Layer: DriverStartDevice()
Callback after successful attachDevice:
Device will not be ready, i.e. not in IO-able state until this callback is done.
Puts the device in an IO-able state.
Can be invoked to place a device back in an IO-able state any time after
vmk_DriverQuiesceDevice() has explicitly put device in quiesced state.
What it does?
1. Get drvPrivDataPtr using vmk_DeviceGetAttachedDriverData().
2. Post rx fragments for all the Rx queues it supports.
3. Register interrupts allocated during uplink shared data creation:
• Register interrupts via vmk_IntrRegister().
• Set affinity via vmk_NetPollInterruptSet().
4. Create any worker threads as worlds via vmk_WorldCreate().
22. 2222
Device Layer: DriverScanDevice()
Invoked at least once after a device has been attached to a driver.
May be invoked at other device hotplug events as appropriate.
New devices may be registered from this callback only.
Main Steps:
1. Find bus type of the PCI Device via vmk_BusTypeFind().
2. Create logical address via vmk_LogicalCreateBusAddress().
3. Register device with vmkernel via vmk_DeviceRegister() passing in the
vmk_DeviceProps structure.
typedef struct {
vmk_Driver registeringDriver;
vmk_DeviceID *deviceID; VMK_UPLINK_DEVICE_IDENTIFIER
vmk_DeviceOps *deviceOps; has callback .removeDevice
vmk_AddrCookie registeringDriverData; holds drvPrivDataPtr
vmk_AddrCookie registrationData;
} vmk_DeviceProps;
23. 2323
Device Layer: DriverForgetDevice()
Notification callback from vmkernel
To indicate device is no longer accessible
Driver no longer to wait indefinitely on any device operation
Must always return with success for any subsequent device callbacks
vmk_DriverQuiesceDevice()
vmk_DriverDetachDevice()
Case-specific callback, surprise removal only, not always called
24. 2424
Device Layer: DriverQuiesceDevice()
Callback places the device in quiesce’d state:
Prepare for operations like device removal, driver unload, or system shutdown.
This callback indicates that driver should:
• Complete any IO on the device
• Flush any device caches to quiesce device
Steps (reverse of StartDevice):
1. Get drvPrivDataPtr via vmk_DeviceGetAttachedDriverData().
2. Halt and destroy any worker threads created during StartDevice.
3. Handle all Tx completions.
4. Cleanup all Rx queues.
5. Unregister interrupts for all Rx queues:
• Invoke vmk_NetPollInterruptUnSet() to remove affinity.
• Invoke vmk_IntrUnregister() to unregister previously registered interrupt.
25. 2525
Device Layer: DriverDetachDevice()
This is another handler passed in during vmk_DriverRegister() call.
• Driver should stop driving this device, and release its resources.
• Driver should not touch the device after this.
Steps:
1. Get drvPrivDataPtr via vmk_DeviceGetAttachedDriverData().
2. Cleanup all the resources allocated for your interface:
Destroy any queues allocated
Notify HW that you are stopping all access
3. Cleanup UplinkData created and setup in DriverAttachDevice().
4. Release all interrupt vectors via vmk_PCIFreeIntrCookie().
5. Cleanup any memory allocated for driver structures from memory pool or heap.
6. Any other control path cleanup, i.e. destroy spinlock or semaphores.
7. Unmap BARs via vmk_PCIUnmapIOResource().
8. Destroy created DMA Engine via vmk_DMAEngineDestroy().
9. Free up and clean out any other resources allocated.
27. 2727
Uplink Layer Major Data Structures
vmk_UplinkRegData – uplink registration data
Driver responsible for allocating and populating this structure
Pointer to this struct is stored in vmk_DeviceProps->registrationData
vmk_UplinkOps – handler for basic uplink operations
vmk_UplinkSharedData – data shared between uplink layer and NIC driver
Allocated and initialized by driver
Driver readable and writable
Uplink layer readable only
vmk_UplinkSharedQueueInfo – shared info for all queues between uplink
layer and driver
vmk_UplinkSharedQueueData – shared data for a single queue
28. 2828
Uplink Layer: vmk_UplinkRegData
Driver associates the following registration data to the vmk_Device
when creating the logical uplink:
typedef struct vmk_UplinkRegData {
vmk_revnum apiRevision; // VMKAPI version
vmk_ModuleID moduleID; // module ID of NIC drv
vmk_UplinkOps ops;
vmk_UplinkSharedData *sharedData; // Runtime data shared
// b/w kernel & driver
vmk_AddrCookie driverData; // Driver context data
} vmk_UplinkRegData;
29. 2929
Uplink Layer: vmk_UplinkOps
Structure containing function pointers for required driver operations.
The functions are callbacks from the vmkernel into the NIC driver.
typedef struct vmk_UplinkOps {
vmk_UplinkTxCB uplinkTx; // Tx packt list CB
vmk_UplinkMTUSetCB uplinkMTUSet; // modify MTU CB
vmk_UplinkStateSetCB uplinkStateSet; // modify state CB
vmk_UplinkStatsGetCB uplinkStatsGet; // get stats CB
vmk_UplinkAssociateCB uplinkAssociate; // notify drv about assoc uplink
vmk_UplinkDisassociateCB uplinkDisassociate; // notify drv of disassoc uplink
vmk_UplinkCapEnableCB uplinkCapEnable; // cap enable CB
vmk_UplinkCapDisableCB uplinkCapDisable; // cap disable CB
vmk_UplinkStartIOCB uplinkStartIO; // start IO CB
vmk_UplinkQuiesceIOCB uplinkQuiesceIO; // queiesce all IO
vmk_UplinkResetCB uplinkReset; // reset issued uplink
} vmk_UplinkOps;
30. 3030
Uplink Layer: vmk_UplinkSharedData
The vmk_UplinkRegData->sharedData points to a driver allocated data
structure shared between vmkernel and NIC driver:
typedef struct vmk_UplinkSharedData {
vmk_VersionedAtomic lock; // ensure snapshot consistency
vmk_UplinkFlags flags; // uplink flags
vmk_UplinkState state; // uplink state
vmk_LinkStatus link; // uplink link status
vmk_uint32 mtu; // uplink mtu
vmk_EthAddress macAddr; // current logical MAC
vmk_EthAddress hwMacAddr; // permanent HW MAC
vmk_UplinkSupportedMode *supportedModes;
vmk_uint32 supportedModesArraySz;
vmk_UplinkDriverInfo driverInfo; // driver info
vmk_UplinkSharedQueueInfo *queueInfo; // shared qinfo
} vmk_UplinkSharedData;
31. 3131
Uplink Layer: vmk_UplinkSharedQueueInfo
Defines uplink level shared queue info for all queues
For the queueData field above, drivers need to populate one queue
even if they do not support multiple queues.
vmk_UplinkSharedQueueInfo {
vmk_UplinkQueueType supportedQueueTypes;
vmk_UplinkQueueFilterClass supportedRxQueueFilterClasses;
vmk_UplinkQueueID defaultRxQueueID;
vmk_UplinkQueueID defaultTxQueueID;
vmk_uint32 maxRxQueues;
vmk_uint32 maxTxQueues;
vmk_uint32 activeRxQueues;
vmk_uint32 activeTxQueues;
vmk_BitVector *activeQueues;
vmk_uint32 maxTotalDeviceFilters;
vmk_UplinkSharedQueueData *queueData;
} vmk_UplinkSharedQueueInfo;
32. 3232
Uplink Layer: vmk_UplinkSharedQueueData
Contains all the info about one specific Tx or Rx queue.
This struct is shared with uplink layer.
typedef struct vmk_UplinkSharedQueueData {
volatile vmk_UplinkQueueFlags flags;
vmk_UplinkQueueType type;
vmk_UplinkQueueID qid;
volatile vmk_UplinkQueueState state;
vmk_UplinkQueueFeature supportedFeatures;
vmk_UplinkQueueFeature activeFeatures;
vmk_uint32 maxFilters;
vmk_uint32 activeFilters;
vmk_NetPoll poll; // associated netPoll context
vmk_DMAEngine dmaEngine; // associated dma engine
vmk_UplinkQueuePriority priority; // tx queue priority
vmk_UplinkCoalesceParams coalesceParams;
} vmk_UplinkSharedQueueData;
33. 3333
Creation of UplinkSharedData during DriverAttachDevice
Create/initialize sharedData area:
sharedData has a versioned atomic (not a spinlock)
Uplink layer can only read from this area
Driver can read/write to this area
Driver needs to define its own spinlock for writer serialization
Shared Data:
1. Supported speed/duplex modes to be advertised to uplink.
2. Current MTU setting, and link/speed/duplex states.
3. Queue info (numQ, supported queue types, supported filter classes).
4. Rx and Tx queue fields (flags, type, state, supportedFeatures, dmaEngine,
maxFilters).
5. netPoll for each Rx queue via vmk_NetPollCreate().
6. Allocated default Rx and Tx queues (not yet activated).
34. 3434
Uplink Layer: uplinkStartIO() Callback
1. Arm the interrupts (link, multiQ, etc) in the HW.
2. Configure for VLAN filtering as needed
3. Change internal driver state to IO-able.
4. Set configured flow control.
5. Now, enable interrupts in vmkernel via vmk_IntrEnable().
6. Check for link status changes, update sharedData and invoke
vmk_UplinkUpdateLinkState() as needed.
35. 3535
Uplink Layer: uplinkQuiesceIO() Callback
1. Check if IO is already quiesce’d due to possible failures.
2. Disarm interrupts.
3. Disable netpoll via vmk_NetPollDisable() and vmk_NetPollFlushRx().
4. Mark link state as down via vmk_UplinkUpdateLinkState().
5. Stop all Tx queues
6. Sync all vectors via vmk_IntrSync().
7. Disable all vectors via vmk_IntrDisable().
8. Change internal driver state to quiesced.
36. 3636
Register NIC capabilities to Uplink Layer
Handled when uplinkAssociateCB() is invoked to associate uplink with the
device.
Call vmk_UplinkCapRegister() to register each capability.
Two capability types:
No callbacks needed:
VMK_UPLINK_CAP_IPV4_CSO
VMK_UPLINK_CAP_VLAN_RX_STRIP
Capabilities that require callbacks:
VMK_UPLINK_CAP_MULTI_QUEUE
VMK_UPLINK_CAP_COALESCE_PARAMS
37. 3737
Callback Ops for VMK_UPLINK_CAP_COALESCE_PARAMS:
Callback Ops for VMK_UPLINK_CAP_PRIV_STATS:
Examples of Capabilities with Callbacks
typedef struct vmk_UplinkCoalesceParamsOps {
vmk_UplinkCoalesceParamsGetCB getParams;
vmk_UplinkCoalesceParamsSetCB setParams;
} vmk_UplinkCoalesceParamsOps;
typedef struct vmk_UplinkPrivStatsOps {
vmk_UplinkPrivStatsLengthGetCB privStatsLengthGet;
vmk_UplinkPrivStatsGetCB privStatsGet;
} vmk_UplinkPrivStatsOps;
38. 3838
Interrupt/Netpoll Handling
Registering interrupts:
vmk_IntrProps is populated and passed to vmkernel in DriverStartDevice().
Driver Ack handler:
Ack interrupt to HW if needed (INTx)
Increment interrupt counter
Driver Isr handler:
Handle any queue notifications as needed
Activate the netpoll for the particular queue via vmk_NetPollActivate()
Driver NetPoll Callback Handler:
Handle any Tx, Rx, or Ctrl events
If there is work but budget exceeded, remain in poll mode & return VMK_TRUE
If no more work, go back to interrupt mode and return VMK_FALSE
typedef struct vmk_IntrProps {
vmk_Device device;
vmk_Name deviceName;
vmk_IntrAcknowledge acknowledgeInterrupt; driver ack handler
vmk_IntrHandler handler; driver isr handler
void *handlerData;
vmk_uint64 attrs;
} vmk_IntrProps;
39. 3939
Packet Management VMKAPIs in the Tx/Rx Path
Basic allocation, release and field manipulation:
• vmk_PktAlloc()
• vmk_PktRelease()
• vmk_PktReleasePanic
• vmk_PktFrameLenGet()
• vmk_PktFrameLenSet()
• vmk_PktTrim()
• vmk_PktPartialCopy()
SG Handling:
• vmk_PktSgArrayGet()
• vmk_PktSgElemGet()
• vmk_PktFrameMappedPointerGet()
• vmk_PktIsBufDescWritable()
Processing the sent down packet list:
• vmk_PktListIterStart()
• vmk_PktListIterIsAtEnd()
• vmk_PktListGetFirstPkt()
• vmk_PktListIterInsertPktBefore()
• vmk_PktListIterRemovePkt()
• vmk_PktListAppendPkt()
42. 4242
Multi-Queue Support
Register multi-queue support via VMK_UPLINK_CAP_MULTI_QUEUE
Following callbacks passed to uplink when registering this capability
typedef struct vmk_UplinkQueueOps {
vmk_UplinkQueueAllocCB queueAlloc;
vmk_UplinkQueueAllocWithAttrCB queueAllocWithAttr;
vmk_UplinkQueueReallocWithAttrCB queueReallocWithAttr;
vmk_UplinkQueueFreeCB queueFree;
vmk_UplinkQueueQuiesceCB queueQuiesce;
vmk_UplinkQueueStartCB queueStart;
vmk_UplinkQueueFilterApplyCB queueApplyFilter;
vmk_UplinkQueueFilterRemoveCB queueRemoveFilter;
vmk_UplinkQueueStatsGetCB queueGetStats;
vmk_UplinkQueueFeatureToggleCB queueToggleFeature;
vmk_UplinkQueueTxPrioritySetCB queueSetPriority;
vmk_UplinkQueueCoalesceParamsSetCB queueSetCoalesceParams;
} vmk_UplinkQueueOps;
43. 4343
Multi-Queue VMKAPIs in the Tx/Rx path
Refer to vmkapi_net_queue.h
Main list of APIs for implementing multi-queue support:
• vmk_UplinkQueueMkFilterID()
• vmk_UplinkQueueMkTxQueueID()
• vmk_UplinkQueueMkRxQueueID()
• vmk_UplinkQueueIDVal()
• vmk_UplinkQueueIDType()
• vmk_UplinkQueueFilterIDVal()
• vmk_UplinkQueueIDUserVal()
• vmk_UplinkQueueSetQueueIDUserVal()
• vmk_UplinkQueueIDQueueDataIndex()
• vmk_UplinkQueueSetQueueIDQueueDataIndex()
• vmk_UplinkQueueGetNumQueuesSupported()
• vmk_UplinkQueueStart()
• vmk_UplinkQueueStop()
• vmk_PktQueueIDGet()
• vmk_PktQueueIDSet()
44. 4444
SR-IOV Support
Setup VFs:
• During DriverAttachDevice(), if SR-IOV is supported by device:
Enable VFs via vmk_PCIEnableVFs()
• During DriverScanDevice(), driver
Registers its VFs via vmk_PCIRegisterVF() passing along its .removeVF callback
static vmk_PCIVFDeviceOps elxnetVFDevOps = {
.removeVF = elxnet_removeVFDevice
};
Sets control callback for VF w/ vmkernel via vmk_PCISetVFPrivateData()
Cleanup VFs:
• The .removeVF callback registered during registration is called:
vmk_PCIUnregisterVF() invoked to unregister particular VF from vmkernel
• DriverDetachDevice() should call vmk_PCIDisableVFs() to disable all its VFs.
Misc VF vmkapi:
• vmk_PCIGetVFPCIDevice() should be used during VF registration to get the
vmk_PCIDevice handle of a PCI VF given its parent PF and VF index.
45. 4545
VXLAN Offload Support
Register vxlan offload capability via VMK_UPLINK_CAP_ENCAP_OFFLOAD
Callback Ops for VMK_UPLINK_CAP_ENCAP_OFFLOAD:
If supporting RX_VXLAN filter, indicate in supportedRxQueueFilterClasses
vmk_UplinkSharedQueueInfo->supportedRxQueueFilterClasses |=
VMK_UPLINK_QUEUE_FILTER_CLASS_VXLAN;
Packet parser APIs to get information on inner encapsulated headers:
• vmk_PktHeaderEncapFind()
• vmk_PktHeaderEncapL2Find()
• vmk_PktHeaderEncapL3Find()
• vmk_PktHeaderEncapL4Find()
typedef struct vmk_UplinkEncapOffloadOps {
/** Handler used by vmkernel to notify VXLAN port number updated */
vmk_UplinkVXLANPortUpdateCB vxlanPortUpdate;
} vmk_UplinkEncapOffloadOps;
46. 4646
Dynamic Load Balancing
New NetQ feature introduced in ESXi 5.5 release:
• VMKNETDDI_QUEUEOPS_QUEUE_FEAT_DYNAMIC
NIC requirements to support this feature:
• Device able to support different NetQ "features" on any particular NetQ
• Adding or removing support for a particular NetQ not require any critical operations
If NIC driver registers DYNAMIC feature support, load balancer can/will
• Move filters between queues (i.e. bin-packing of filters), hence reducing the number
of queues in use
• Unpack filters to more queues either for latency sensitive VMs, or to reduce burden
on over saturated queues
49. 4949
Overall CPU Gains on a 16VM Configuration
320.89
335.32
29.45
55.40
282.56
307.15
29.34
52.04
0.000
50.000
100.000
150.000
200.000
250.000
300.000
350.000
400.000
Tx CPU Util (256B) Rx CPU Util (256B) Tx CPU Util (64KB) Rx CPU Util (64KB)
be2net
elxnet
12% Savings 6% Savings8% Savings
50. 5050
Vmkernel Cost Savings on a 16VM Configuration
137.92
132.75
8.06
26.17
89.50
96.29
7.03
21.34
0
20
40
60
80
100
120
140
160
Tx CPU Util (256B) Rx CPU Util (256B) Tx CPU Util (64KB) Rx CPU Util (64KB)
be2net
elxnet
35% Savings 27% Savings 13% Savings 18% Savings
51. 5151
Total Mean Ping Response Time (usec) on a 16VM Config
134.19
126.82
130.04
133.39
116.23
122.41
105
110
115
120
125
130
135
140
128b 256b 512b
be2net
elxnet
Reduced by 1% Reduced by 6%Reduced by 8%
53. 5353
Summary
A layered model approach with easy extensibility for new features
Overview of native model
Interaction of driver with different layers
Basic structs and handlerOps for different layers
Native model does not use vmklinux compatability layer
A layer of indirection completely removed
Translations (eg. pkt<->skb) avoided
o Allocation of skbs is not needed
o Savings in avoiding slab allocation (esp. at high packet rates)
Driver communicates directly with various layers
Performance boost in cpu savings
New IO features for ESXi will only be developed for native model.
56. 5656
• TAP Access membership includes:
New TAP Access NFR Bundle
• Access to NDA Roadmap sessions at VMworld, PEX and Onsite/Online
• VMware Solution Exchange (VSX) and Partner Locator listings
• VMware Ready logo (ISVs)
• Partner University and other resources in Partner Central
• TAP Elite includes all of the above plus:
• 5X the number of licenses in the NFR Bundle
• Unlimited product technical support
• 5 instances of SDK Support
• Services Software Solutions Bundle
• Annual Fees
• TAP Access - $750
• TAP Elite - $7,500
• Send email to [email protected]
TAP Membership Renewal – Great Benefits
57. 5757
TAP
• TAP support: 1-866-524-4966
• Email: [email protected]
• Partner Central:
http://www.vmware.com/partners/partners.html
TAP Team
• Kristen Edwards – Sr. Alliance Program Manager
• Sheela Toor – Marketing Communication Manager
• Michael Thompson – Alliance Web Application Manager
• Audra Bowcutt –
• Ted Dunn –
• Dalene Bishop – Partner Enablement Manager, TAP
TAP Resources
VMware Solution Exchange
• Marketplace support –
[email protected]
• Partner Marketplace @ VMware
booth pod TAP1