This is an old revision of the document!
The process of adding support for the Convey FPGA nodes is complicated by the nature of the system. The Cluster Management Software (OpenNebula) assumes that a HyperVisor is running on the machines which it is monitoring, it communicates with this HyperVisor to send and receive information about the node.
However in the case of the Convey FPGAs, there is no HyperVisor implemented, as it introduces inefficiencies and reduces the throughput of the powerful FPGAs. Therefore part of the task of adding the Conevy FPGAs into the OpenNebula management software is to fool OpenNebula into believing a HyperVisor exists on the machines, when infact it does not.
The roll of the HyperVisor is to supervise the Virtual Machines (VMs) which run on the node and act as translator between the OpenNebula and said VMs. However the
This is not a trivial task as the HyperVisor itself is a compiled binary, therefore inaccessible. And OpenNebula itself must remain completely standard and cannot be modified as it is subject to updates and alterations which would intefer with the modifications being done.
The approach taken is to run standard operations like adding, removing and monitoring Virtual Machines on a standard node being monitored by OpenNebula which has a HyperVisor and evesdrop on the communication between the HyperVisor and OpenNebula. From there this messages can be reverse engineered and added to the Convey machines so they can mimic the HyperVisor.