FAM/E: Developing for The Machine sans The Machine

This proposal has been rejected.


One Line Summary

A development platform for a future platform that uses off-the-shelf FOSS tools.


Producing a new compute architecture takes considerable calendar time as does
the system software for it. Ideally the product software will be ready before
product hardware, yielding the shortest final integration before market. That
creates the paradoxical perplexity of a development platform substitute for
hardware that does not yet exist.

The Machine from Hewlett Packard Enterprise (HPE) is not immune to this
challenge. Furthermore, its unique fabric-centric design involves new
hardware-specific details that must be presented by any surrogate platform.
While a proprietary HPE simulator has been built to solve these problems,
it denies a stated goal of The Machine project: full open-source disclosure
of all software.

If The Machine is viewed from the steady-state view of Linux versus the
startup view of firmware, several simplifications can be made. This reduced
model allows an emulation sufficient for full platform development to be
created under the auspices of QEMU. Its Inter-VM Shared Memory (IVSHMEM)
feature can be used to realize the key feature of The Machine: Fabric-Attached
Memory (FAM).

This presentation will show a technique with scripts that can be followed to
create a multinode Machine instance. Each node is a single invocation of
QEMU; they all share IVSHMEM to realize Fabric Attached Memory Emulation
(FAM/E). The project also creates the virtual disk images,
whose output is finally customized on a per-node basis.

The discussion will start with the benefits and limitations of the FAM/E
project versus the HPE proprietary simulator. A deeper dive into the
technologies behind the creation of images (ie, vmdebootstrap) and execution
framework (libvirt, QEMU, ivshmem) will follow. Closing topics should
include general questions about The Machine hardware and possible FAM/E
improvements to align more closely with that hardware (ARM version and
diskless booting).


qemu, Debian, ivshmem, Emulation


  • Rocky Craig

    Hewlett Packard Enterprise


    Linux Master Technologist and Principal Lead, Hewlett Packard Enterprise

    Rocky is employed by Hewlett Packard Enterprise, a spinoff of HP where he
    started in 1978. He has served many roles in the technical space of technical
    workstations and HP-UX and Linux servers. Rocky is currently co-architect
    of a Debian-based distribution for The Machine, a new architecture featuring
    non-volatile memory. He is driving the NVM management for The Machine,
    extending prototype work started several years ago. Rocky is also leading the effort to configure Linux for booting on the nodes of The Machine.

Leave a private comment to organizers about this proposal