Wandering in Las Vegas

After being busy with virtual conferences and hackathons, I finally got some time to return to my virtual travels. This week I'm going to Las Vegas, the entertainment capital of the world.

Welcome to Fabulous Las Vegas sign, 2013-12-17

Am I in Las Vegas?

Christmas 2011, after visiting San Diego and Los Angeles theme parks, two schoolmates and I drove 6 hours to Las Vegas. We walked around the vicinity of our hotel, and saw what appears to be Statue of Liberty in front of a hotel. From what I remember from watching The Amazing Race (paid link), this statue should be in New York. Although my geographic knowledge was limited at the time, I knew we were not in New York. Instead, we were in front of New York-New York Hotel and Casino, designed to evoke the New York City skyline. This Statue of Liberty is a smaller replica of the real thing.

Statue of Liberty replica in front of New York-New York Hotel and Casino, 2011-12-26

NDN-DPDK: NDN Forwarding at 100 Gbps on Commodity Hardware

Presented at: 7th ACM Conference on Information-Centric Networking (ICN 2020)

Since the Named Data Networking (NDN) data plane requires name-based lookup of potentially large tables using variable-length hierarchical names as well as per-packet state updates, achieving high-speed NDN forwarding remains a challenge. In order to address this gap, we developed a high-performance NDN router capable of reaching forwarding rates higher than 100 Gbps while running on commodity hardware. In this paper we present our design and discuss its tradeoffs. We achieved this performance through several optimization techniques that include adopting better algorithms and efficient data structures, as well as making use of the parallelism offered by modern multi-core CPUs and multiple hardware queues with user-space drivers for kernel bypass. Our open-source forwarder is the first software implementation of NDN to exceed 100 Gbps throughput while supporting the full protocol semantics. We also present the results of extensive benchmarking carried out to assess a number of performance dimensions and to diagnose the current bottlenecks in the packet processing pipeline for future scalability enhancements. Finally, we identify future work which includes hardware-assisted ingress traffic dispatching, dynamic load balancing across forwarding threads, and novel caching solutions to accommodate on-disk content stores.

Read full paper at ACM Digital Library: NDN-DPDK: NDN Forwarding at 100 Gbps on Commodity Hardware

NDN-DPDK logo

NDNts Demo at NDN Community Meeting 2020

NDN Community Meeting is an annual event that brings together a large community of researchers from academia, industry, and government, as well as users and other parties interested in the development of Named Data Networking (NDN) technology. Having no peer review process, it is a prime opportunity to showcase my personal projects to the community. I demo'ed my ndn-js home surveillance camera at NDNcomm 2018. This time, I decide to demo my flagship product, NDNts: NDN Libraries for the Modern Web.

The Demo Video

NDNts is a set of libraries with many different features, where do I start? I decide to select a subset of unique features that are not found in any other library:

  • The Endpoint API that enhances face by automatically handling repetitive tasks such as Interest retransmissions and packet signing/verification, so that app developers can focus on the application logic.
  • An implementation of trust schemas.
  • NDN Certificate Management protocol implementation, including a graphical user interface for the certificate authority component.

I also threw in two web applications:

Getting Started with NDNts Web Application using webpack

This article shows how to get started with NDNts, Named Data Networking (NDN) libraries for the modern web. In particular, it demonstrates how to write a consumer-only web application that connects to the NDN testbed, transmits a few Interests, and gets responses. This application uses JavaScript programming language and webpack module bundler.

Code samples in this article were last updated on 2024-03-06 to reflect latest changes.

Prepare the System

To use NDNts, you must have Node.js. As of this writing, NDNts works best with Node.js 20.x, and you should install that version. The easiest way to install Node.js is through Node Version Manager (nvm) or Node Version Manager (nvm) for Windows.

On Ubuntu 22.04, you can install nvm and Node.js with the following commands:

Install Debian 10 on Netgate SG-2220 via Serial Port with iSCSI Disk

I get my hands on a Netgate SG-2220 network computer. It comes preinstalled with either pfSense firewall software, or CentOS in the case of DPDK-in-a-box edition. However, I'm more familiar with Debian based operating systems. Can I install Debian on the Netgate SG-2220?

The Console Port

Hardware specification of the Netgate SG-2220 includes:

  • Intel Atom C2338 processor, dual core at 1.7 GHz
  • 2GB RAM
  • 4GB eMMC storage
  • one USB 2.0 port
  • two 1 Gbps Ethernet adapters

Notably missing is a VGA or HDMI port to connect to a monitor. Instead, this computer offers a mini-USB "console port". It is a UART serial port with a USB-UART bridge chip already included, unlike the C.H.I.P $9 computer that only provides serial over pin headers.

NDNts Nightly Build

NDNts nightly build is a set of NPM-compatible tarballs compiled automatically from the development branch of NDNts, Named Data Networking (NDN) libraries for the modern web. They are built by the Continuous Integration (CI) system and uploaded to the NDNts nightly build website: ndnts-nightly.ndn.today. Homepage of that website displays a list of URIs of available tarballs.

This article was latest updated on 2024-03-06 to reflect latest changes.

How to install NDNts nightly build

You can find available tarballs on NDNts nightly build website: ndnts-nightly.ndn.today.

To install a tarball as a local dependency within the current project, you can execute something like:

I Earned $100 with One Tweet

Apple Card is a new credit card product offered by Apple. In February, Apple Card ran an ad campaign on Twitter:

Apple Card has no fees.

Not Apple Card has every possible fee.

So if your credit card is not Apple Card, maybe it should be.

Upon seeing this advertisement, I thought: Apple Card is not the only credit card that has no fees; my oldest credit card, Discover Card, also does not charge fees. Moreover, Discover Card has higher rewards in certain categories than Apple Card. Thus, I tweeted a reply under their ad, mimicking their grammar:

Apple Card has no fees and measly 2% rewards unless you buy from Apple. Discover Card has no fees and up to 5% rewards in rotating category, which is grocery stores this quarter. So if your credit card is not Discover Card, maybe it should be.

Twitterverse thinks I'm hilarious. They liked and retweeted my reply, so that it quickly became the top reply under the Apple Card ad, and everyone who expands the ad would see it.

Wandering in Los Angeles

This week, I virtually travel to Los Angeles, California, a city that I visited many times.

The Airport

Los Angeles International Airport (LAX) is one of the busiest airports in the United States. At a distance of 90 minutes flight time, LAX is the nearest major international airport from Tucson where I attended grad school. Therefore, I often find myself transiting in LAX.

LAX sign, 2019-03-06

Since I entered United States for the first time nine year ago, I transited through LAX 10 times, including 8 flights to/from China and 2 flights to/from Honolulu, Hawaii. Occasionally I have a long connection time. During that time,

Wandering in San Diego

I have wanderlust but the Coronavirus lockdown is preventing me from traveling this year. It would be fun to dig out old photos and look back on my past travels. Let me start with one of my favorite cities: San Diego, California.

December 2011

My first time in San Diego was a road trip with a few Chinese students I met during my first days in Tucson. We visited SeaWord San Diego, where I enjoyed their famous Shamu show, in which I got splashed by the killer whales.

whale performance in SeaWorld San Diego, 2011-12-22

During the same trip, we also visited USS Midway Museum, an aircraft carrier docked in San Diego harbor. I learned how these little planes take off, and more importantly how they can land safely with the help of arresting gear.

NFD nightly packages

NOTICE Instructions in this article are outdated. Please see latest information in NFD nightly usage.

NDN Forwarding Daemon (NFD) is the reference implementation of Named Data Networking (NDN) forwarding plane. The software is continuously developed, but binary releases happen rather infrequently. Recently, I made a workflow to build NFD and related software automatically.

Download page: nfd-nightly.ndn.today

Instructions

Which platform should I choose?