We propose a three-layer framework to support both single and multiple updates. We propose a workload-aware group technique to dynamically adjust the group size. We propose a distributed pipeline technique to distribute the computation. We propose a hybrid update technique to be compatible with the node failure. We conduct extensive experiments to confirm the advantages of our approach.