Protocol Walkthrough Sample Clauses

Protocol Walkthrough. Quarts is applied to an RTCS by replicating the controller, adding the red part (Algorithm 1 lines 11-13, 15), and imple- ▇▇▇▇▇▇▇ the collect_and_vote function (Algorithm 2) that itself implements Algorithms 3, 4 and 5. In order to guar- ▇▇▇▇▇ consistency, this function performs agreement between the controller replicas and overwrites the set of measurements Z, the state H, and the label of the last setpoint computation r−. The function returns False in case this replica should not compute for this label. The collect_and_vote function has two parts, Collection and Voting, described in Section IV-B and IV-C, respectively. The novelty of Quarts is to perform agreement on mea- surements Z and the state H before computation, as opposed to agreement on setpoints done by existing solutions. By agreement on H for label r, replicas explicitly agree on the correction factor, r r−. Our choice stems from the observation that performing agreement on the input allows for an optimization that increases the probability of a successful agreement. This optimization is referred to as the collection phase, and involves replicas exchanging measurements and state so as to minimize the missing information in each replica. Agreement is done in the subsequent voting phase, where replicas exchange a digest of the measurements and the state they have. The subset of measurements corresponding to the most-common digest is chosen for computation. The details of the digest and the voting phase are explained in Section IV-C. From Algorithm 1, note that the setpoints returned by the compute_setpoints function are uniquely determined by Z, H and r r−. An example of such a controller is [2], which uses a Kalman filter for estimating the state of an electric grid, and uses the estimated state to compute and issue setpoints to actuators to keep the grid in a feasible state. Here, Z is composed of phasors received from PMUs, and H is the Kalman-gain matrix. Recall that in a Kalman filter [11], the measurements, Kalman-gain, and correction-factor uniquely determine the output. Hence, agreeing on Z, H, and r− for a given r is sufficient for agreeing on the value of the setpoints. With Quarts, the aforementioned RTCS [2] works as fol- lows. Every 20 ms, the sensors (PMUs) send measurements, with timestamps that are used as labels for identification. Algorithm 3: collect_missing_measurements(Z, r) ← 1 S indices of entries in Z; 2 send ▇▇▇▇▇<▇¯ , ▇> to all replicas; // Ask for missing indices 4 if...