Closed duttabhishek0 closed 1 year ago
The paper "Virtualize Everything but Time" by Timothy Broomhead, Laurence Cremean, Julien Ridoux, and Darryl Veitch presents a novel approach for virtualizing network services, called "Virtualization of Everything but Time" (VET). The authors argue that traditional network virtualization methods, such as those based on virtual machines (VMs) and network function virtualization (NFV), are not well-suited for real-time network services, such as those used in financial trading or telecommunications. These traditional methods often introduce significant latency and delay, which can be detrimental to real-time services.
The paper provides an overview of timekeeping in virtualized systems, focusing on Xen para-virtualization. Xen is a minimal kernel that serves as a hypervisor, providing a layer of abstraction from physical hardware and managing physical resources for guest OSs. Hardware counters, such as the TSC, HPET, and ACPI, are used as the heart of software clocks in virtualized systems. The Xen Clocksource combines the reliability of HPET with the low access latency of the TSC. The Xen Clocksource interpolation accounts for lost TSC ticks and frequency changes due to power management. The authors also distinguish between software clocks and timestamping, highlighting the importance of addressing access latency to ensure accurate timestamps.
The authors suggest VET as an alternative, which virtualizes every component of a network service except for time. With the use of both hardware and software, virtualization versions of network services are built using VET. Those instances share the same physical resources but operate in discrete, separated time domains. This makes it possible to run non-real-time services alongside low-latency, real-time network services on the same physical infrastructure. In order to achieve this, VET synchronises the time on all network-attached processors (NAPs) and separates various instances of network services across different time domains.
The authors provide a detailed explanation of the VET architecture, which is based on a combination of hardware and software components. The hardware component consists of a network-attached storage (NAS) device that acts as a time server and a network-attached processor (NAP) that acts as a time client. The NAS device uses a precise time protocol (PTP) to synchronize the time across all the NAPs in the network. The NAPs, in turn, use this synchronized time to create virtualized instances of network services that run in separate, isolated time domains. This ensures that each instance of the network service has a unique and accurate view of time, which eliminates the need for expensive and complex time-synchronization mechanisms.
The software component of VET consists of a set of software libraries and APIs that are used to create and manage virtualized instances of network services. These libraries and APIs provide a high-level, abstract interface for developers to create and manage virtualized instances of network services. They also provide a low-level, hardware-specific interface for developers to access and control the NAPs. This allows developers to focus on the implementation of the network service itself, rather than the underlying hardware and time-synchronization mechanisms.
The authors also present a case study of VET's application in a financial trading environment. They show that VET is able to provide low-latency, real-time network services while coexisting with other, non-real-time services on the same physical infrastructure. They also show that VET is able to reduce the costs associated with running a real-time network service, such as those used in financial trading, by eliminating the need for dedicated, expensive hardware. The results of this case study demonstrate that VET can be a cost-effective solution for real-time network services, and that it can be applied in a wide range of industries and use cases.
In Section 5 of the article, "Virtualize everything but time," the authors examine the performance of the RADclock algorithm in the Xen environment and describe the benefits of using the RADclock algorithm. They compare the performance of two independent RADclocks, one using HPET and the other Xen Clocksource, and conclude that the clocks have identical median performance. The authors also show that power management has an impact on the asymmetry error all synchronization algorithms must face, but the RADclock algorithm is robust enough to see through the extra noise. Finally, the authors examine the quality of timestamping network packets, which is crucial to the accuracy of the synchronization algorithm, and propose a new feed-forward based clock architecture for para-virtualized systems
This article explains the challenges associated with migrating a system running on one physical machine to another with NTP (Network Time Protocol) as the synchronization protocol. The NTP algorithm is stateful, meaning it maintains a time-varying estimate of the rate of drift and current clock error of the Xen Clocksource. This stateful design makes migration of NTP-synchronized systems far from seamless as the migration leads to changes in the characteristics seen by NTP. This can result in a huge error immediately after migration or an unstable state that may never recover. The authors present a solution using RADclock (Robust Absolute Data clock) which decomposes time information into raw timestamps and clock parameters and allows the running daemon to be stateless, making migration trivial from a time-keeping point of view.The performance of the dependent RADclock and independent ntpd clock were compared in a load test. The results showed that the dependent RADclock running on DomU showed seamless performance, with small expected jumps due to asymmetry changes. These jumps were only a few microseconds. On the other hand, the independent ntpd clock showed extremely large errors (ranging from -1 to 27 seconds) for periods exceeding 15 minutes after migration, and took at least another hour to converge to a reasonable error level. The dependent RADclock was able to immediately benefit from the accuracy of the dedicated RADclock running on Dom0, with convergence time effectively zero.
In conclusion, the paper presents a novel approach for virtualizing network services called Virtualization of Everything but Time (VET) which allows for low-latency, real-time network services to be run alongside other, non-real-time services on the same physical infrastructure. The VET architecture is based on a combination of hardware and software components and is able to reduce the costs associated with running real-time network services by eliminating the need for dedicated, expensive hardware. The authors provide a detailed explanation of the VET architecture, including the hardware and software components, and a case study of its application in a financial trading environment.
@duttabhishek0 brief about background (section 2), section 5, section 6
@tapaswenipathak
Paper Link