The gAgent is a software that runs on your hosts. It analyses resource usage patterns and data flow and sends them to Granulate's backend on AWS. The agent consolidates the information and uses its AI algorithms to optimize the infrastructure to the specific application needs at any given moment.
It is recommended to install Granulate using our SaaS deployment method. However, an on-prem deployment is available on which the entire optimization process occurs on your cloud infrastructure or physical server estate.
The gAgent supports all infrastructure and architecture and optimizes multi-cloud, on-prem, or hybrid environments, and Kubernetes, containerized, or virtualized architectures.
The gAgent modules are running the main process responsible for collecting hosts metrics, usage patterns, and data flow, and making decisions at the OS-level to improve performance. The main components that handle this process are:
The kernel module, after loaded on your host, hooks onto kernel-level resource queues - CPU scheduler, Network, Memory, and I/O and begins scoring usage patterns based on a predetermined utility function. Once activated, the KModule reorders these resource queues to achieve the highest scoring patterns and improve performance based on your application-specific processing stages.
The Runtime module is loaded by the KModule, and applies similar logic of reordering of resource queues at the runtime level. It also scores usage patterns based on a predetermined utility function and achieves the best scoring patterns once activated. The Runtime module handles OS resource allocation decisions masked from the kernel by using runtime managers interfaces.
The gAgent minimizes the footprint in both memory and CPU by taking advantage of the concept of time-localization, learning using a sliding window of only a few seconds.
The gAgent code modules are optimized to efficiently limit the overhead on each machine resource consumption. The agent's code modules are optimized to use memory and to free resources when they’re no longer needed to burden application execution as little as possible.
An example of the Granulate agent resource consumptions is below, tests were made on AWS EC2 machine C5.xLarge
CPU: ~ 0.1 % of CPU on average
Memory: ~ 20MB or RAM (RSS memory)
Network Bandwidth: ~ 2KB/s | 20 KB/s
All Versions following 10.4
All versions following 6
All versions following 6
8.0-8.2 , 7.0 - 7.8 , 6.0 - 6.10, 5.5-5.1
All versions following 14
Installation is supported on compute instances from all cloud providers
AWS - EC2 Instances
Azure - Virtual Machines
GCP - Compute Engine
Alibaba - Elastic Compute Service
IBM Cloud - Virtual Server
Oracle Cloud - Virtual Machines
Granulate GAgent is built with internal high-performance failsafe mechanisms to prevent performance degradation. After the initial optimization, the GAgent holds a performance gain threshold of 65% improvement, below this threshold, the agent starts to automatically relearn for a 20 seconds time frame in an attempt to rise back above the gain threshold. Following 3 consecutive failures to return to the 65% threshold: an alert will be raised and the agents will deactivate automatically.