System Architecture

System Architecture

8156 bookmarks
Custom sorting
XDP | IO Visor Project
XDP | IO Visor Project
Introduction to XDP XDP or eXpress Data Path provides a high performance, programmable network data path in the Linux kernel as part of the IO Visor Project. XDP provides bare metal...
·iovisor.org·
XDP | IO Visor Project
Netmap for Linux
Netmap for Linux
Netmap is a framework for packet generation and capture from user space; it claims to be efficient to a point where it can saturate a 10Gb line with minimal system load. It is available under the BSD license. A version for Linux is now available alongside the FreeBSD port. "This is a preliminary version supporting the ixgbe and e1000/e1000e driver. Patches for other devices (igb, r8169, forcedeth) are untested and probably not working yet. Netmap relies on a kernel module (netmap_lin.ko) and slightly modified device drivers. Userspace programs can use the native API (documented in netmap.4) or a libpcap emulation library."
·lwn.net·
Netmap for Linux
Terra
Terra
·terralang.org·
Terra
How to make clang compile to llvm IR
How to make clang compile to llvm IR
I want clang to compile my C/C++ code to LLVM bitcode rather than a binary executable. How can I achieve that? And if I have the LLVM bitcode, how can I further compile it to a binary executable? I...
·stackoverflow.com·
How to make clang compile to llvm IR
Getting Started with P4 - Open Networking Foundation
Getting Started with P4 - Open Networking Foundation
Editor Note: This post was originally written by Bruno Rijsman for his personal blog. We are re-publishing it here (with permission) as it provides an excellent introduction to getting started with the P4 language using the software tools that have been developed by the open-source community. Introduction I recently got serious about learning P4, a […]
·opennetworking.org·
Getting Started with P4 - Open Networking Foundation
Infrastructure Programmer Development Kit
Infrastructure Programmer Development Kit
IPDK, or Infrastructure Programmer Development Kit, is an open source, vendor-agnostic framework of drivers and APIs for infrastructure offload and management that runs on a CPU or an IPU. IPDK runs in Linux and uses a set of well-established tools such as SPDK, DPDK, Quick Assist and P4 to enable network virtualization, storage virtualization, workload provisioning, root-of-trust and offload capabilities found in the platform. The components within IPDK, already optimized for Xeon servers, provide a common platform across CPUs and IPUs for increasing performance, optimizing resources and securing the infrastructure with an open-source eco-system.
·ipdk.io·
Infrastructure Programmer Development Kit
TensorFlow Lite | ML for Mobile and Edge Devices
TensorFlow Lite | ML for Mobile and Edge Devices
A deep learning framework for on-device inference. Train and deploy machine learning models on mobile and IoT devices, Android, iOS, Edge TPU, Raspberry Pi.
·tensorflow.org·
TensorFlow Lite | ML for Mobile and Edge Devices
LLVM to WASM
LLVM to WASM
Quick Overview of WebAssembly Web assembly (WASM) is an assembly language that targets the JavaScript virtual machine. It can be run in both modern web browsers as well as other environments such as node or js. Although JavaScript might not be everyone’s favorite language its usage is omnipresent, and ton of time and effort has been put into making the underlying VM performant. WASM opens the doors to this VM allowing other languages to use it as their target environment.
·andrewsweeney.net·
LLVM to WASM
Accelerating networking with AF_XDP
Accelerating networking with AF_XDP
The Linux network stack does not lack for features; it also performs well enough for most uses. At the highest network speeds, though, any overhead at all is too much; that has driven the most demanding users toward specialized, user-space networking implementations that can outperform the kernel for highly constrained tasks. The express data path (XDP) development effort is an attempt to win those users back, with some apparent success so far. With the posting of the AF_XDP patch set by Björn Töpel, another piece of the XDP puzzle is coming into focus.
·lwn.net·
Accelerating networking with AF_XDP
Dive into BPF: a list of reading material
Dive into BPF: a list of reading material
BPF, as in Berkeley Packet Filter, was initially conceived in 1992 so as to provide a way to filter packets and to avoid useless packet copies from kernel to...
·qmonnet.github.io·
Dive into BPF: a list of reading material
JLS2009: Generic receive offload
JLS2009: Generic receive offload
Your editor still remembers installing his first Ethernet adapter. Through the expenditure of massive engineering resources, DEC was able to squeeze this device onto a linked pair of UNIBUS boards - the better part of a square meter of board space in total - so that a VAX system could be put onto a modern network. Supporting 10Mb/sec was a bit of a challenge in those days. In the intervening years, leading-edge network adaptors have sped up to 10Gb/sec - a full three orders of magnitude. Supporting them is still a challenge, though for different reasons. At the 2009 Japan Linux Symposium, Herbert Xu discussed those challenges and how Linux has evolved to meet them.
·lwn.net·
JLS2009: Generic receive offload
Functional Programming Vs Declarative Programming Vs Imperative Programming
Functional Programming Vs Declarative Programming Vs Imperative Programming
I have been too used to Imperative Programming which is the usual way of telling the computer to perform step by step the procedure to get the final result. On the other hand, declarative programming
·stackoverflow.com·
Functional Programming Vs Declarative Programming Vs Imperative Programming
A different approach to BPF loops
A different approach to BPF loops
One of the key features of the extended BPF virtual machine is the verifier built into the kernel that ensures that all BPF programs are safe to run. BPF developers often see the verifier as a bit of a mixed blessing, though; while it can catch a lot of problems before they happen, it can also be hard to please. Comparisons with a well-meaning but rule-bound and picky bureaucracy would not be entirely misplaced. The bpf_loop() proposal from Joanne Koong is an attempt to make pleasing the BPF bureaucrats a bit easier for one type of loop construct.
·lwn.net·
A different approach to BPF loops