This website is under construction.
The CAVM virtual machine is significantly different from any existing virtual machines for the implementation of programming languages, such as the JVM for the implementation of Java. The following depicts the architecture of CAVM.
As shown in the diagram above, CAVM consists of 4 types of components to be distributed on a cluster of computers to form a runtime environment for CAOPLE objective codes to be executed on the cluster in a network transparent way. These components are:
LEE (Logic Execution Engine) It executes the instructions of the object codes of castes.
CE (Communication Engine) It is responsible for hosting object codes of castes and communications between agents.
ME (Management Engine) The Server-side part of management engine runs on the cluster on each node (except the node that runs the registration engine) executes the commands submitted to the CAVM to operate the virtual machine. The client-side part executes on the workstation of the developers for submitting commands to the nodes in the cluster to fulfil the management functions.
RE (Registration Engine) It registers the nodes in the cluster and assists the communications between the nodes and the client's computer. RE is optional if the cluster is small and broadcast through IP address 255.255.255.255 is permitted.
Notes:
A cluster of computers consists of a number of work nodes, where ME+CE+LEE run, and an optional registration node, where the registration engine RE runs.
The CE and LEE components on a work node can be switched on and off dynamically through ME. It is not necessary to run both of them, but they can if you want. A work node in the cluster must run one ME, but not many copies of it.
RE is optional. It is only needed when the cluster does not support broadcast TCP/UDP packets through IP address 255.255.255.255.The scope of the system is defined by the set of nodes registered to an RE, or when there is no RE in the network, it is defined by the scope that messages sent to the broadcast IP address 255.255.255.255 reaches.
There may be multiple CEs running in a cluster. The object codes of different castes can be deployed to and hosted on different CEs in the network. The agents of a caste will be automatically registered on the CE where the caste is hosted, and communications to and from the agents will go through that CE. Therefore, where to run a CE and which caste's object code is deployed to which CE may have impact on system's performance.
A CAVM can also run on a developer's workstation for debugging. The CAVM and the integrated DevOps environment CIDE also provides a debugging facility for remote, online and non-intrusive debugging on a cluster.
A client machine must also run a CAVM, typically without the CE component, in order to execute the client-side program of an application.