What’s Up Doc? Optimizations for Arm
Software runs best when it fully utilizes the underlying hardware,…
This issue has Resin’s 144-node ARM-based “Beast” cluster, a conference report from Red Hat Summit in Boston, video from DockerCon in Austin, an OpenBSD 6.1 release, and software from NGINX and Portainer.
If you have any questions, comments, or suggestions for Issue 4, please send them to [email protected] or contact me on the Packet community Slack channel as “ed.packet”. Tweets can be send to the @worksonarm account or to @vielmetti.
The Go language team (golang) has moved ARM64 binary support for Go onto their Go 1.9 release target schedule, due out at the end of July 2017. Up until now, to bootstrap Go from source, it had been necessary to cross-compile the compiler or build from a previously cross-complied version. The release target will allow downstream projects such as Docker and Kubernetes to build directly from a supported version of Go.
The folks at resin.io have built several versions of a Raspberry Pi ARM-powered cluster for demonstrating their fleet management capabilities. This 144-node cluster features a field of displays which are driven directly by each Pi. The housing hides a modular network of switches and wires used to connect the Pi network together. Having finished Beast v2, the team is hard at work on a third generation of the effort.
Red Hat Summit in Boston was on May 2-4, 2017 featured the ARM Pavillion. Vendors Cavium, Qualcomm, Packet, Linaro, Phoenics Electronics and Gigabyte were in attendance alongside ARM. I was on the show floor for three days, talking to people from a variety of industries and from Red Hat.
Jon Masters, Chief ARM Architect at Red Hat, led a panel session on “ARM Servers in the Datacenter”, and Jeffrey Burt of Next Platform summarized the session by saying that Red Hat is the Gatekeeper for ARM in the Datacenter.
If any new hardware technology is going to get traction in the datacenter, it has to have the software behind it. And as the dominant supplier of commercial Linux, Red Hat’s support of ARM-based servers gives the upstart chip makers like Applied Micro, Cavium, and Qualcomm the leverage to help pry the glasshouse doors open and get a slice of the server and storage business that is so utterly dominated by Intel’s Xeon processors today.
Some comments from panelists captured by Next Platform:
Jeff Underhill, director of open source enablement at ARM:
Any idea that ARM in the datacenter is a myth is a misconception…. It’s a marathon, not a sprint, and we’re well on our way.
Zachary Smith, Packet founder and CEO:
It’s all about new workloads. I don’t care if it’s X86 or ARM. A few years from now, 90 percent of workloads will be new.
This week was OpenStack Boston – awaiting word from reports from the show floor.
All of the breakout session video recordings from DockerCon 2017 are now available for viewing. Of especial interest are the talks by Justin Cormack on LinuxKit, Julius Volz on Prometheus, and Christy Perez and Chris Jones from IBM on From ARM to Z: building, shipping, and running a multi-platform Docker swarm.
Mityltics will be at Apache Big Data 2017, May 16-18 in Miami, with Manish Singh presenting on Cassandra on Armv8 – A Comparison with x86 and Other Processor Platforms.
The call for proposals deadline for ARM TechCon is May 19, for an event to be held October 24-26 in Santa Clara, CA.
OpenBSD 6.1 was released, with new support for the arm64 platform, on April 11, 2017. The current target platforms are the Firefly-RK3399, the Pine64, Raspberry Pi 3 and Opteron A1100 (Seattle). On the Pi 3, there is no driver yet for the SD card, so a USB drive and manual steps are needed for a boot. “Please be aware that OpenBSD support for this platform is far from complete.” Detailed instructions for OpenBSD describe the entire process from start to finish.
Portainer is a simple management solution for Docker which allows you to easily manage your Docker host or Swarm cluster. It provides a detailed overview of Docker and allows you to manage containers, images, networks and volumes.
Portainer can be built from source or launched from a provided Docker container. The container provided has multiple architecture (multiarch) support and will launch a correct version for Armv8 as well as running on Raspberry Pi, Intel Linux, Windows, and Power architectures.
Multiarch support in Portainer is enabled by the use of the Go language (which supports straightforward cross-compilation) as well as by the use of manifest-tool from Phil Estes of IBM. This tool updates the package manifest in the Docker registry to point correctly to the right architecture for each of the supported systems that a multiarch container handles.
Nginx is a web server, reverse proxy server, load balancer and HTTP cache. Since 2014 it has been commercially supported on Armv8.
TIRIAS Research has released a report on NGINX CDN using ThunderX, analyzing a comparison of total cost of ownership and performance for an Intel Xeon system compared to Cavium’s ThunderX. The ARM system compares favorably to the Intel system on performance coming in at a favorable price point. Registration is required to get the free rerport.
Several open source projects at Packet are using Jenkins for continuous integration and remote builds. If your project currently builds on ARM – or if you’d like it to – contact [email protected] to discuss your build needs.
Produced in part at Workantile in Ann Arbor, MI. Portions of this newletter were edited with the Github visual editor, and with vim on a MacBook Air.