Active and Adaptive ApplicationLevel Flow Control for Latency Sensitive RPC Applications The Remote Procedure Call (RPC) frameworks are widely deployed in industry. Applications supported by RPC frameworks are often latencysensitive which strictly require to be responded before the deadline. For meeting this requirement, RPC frameworks adopt the applicationlevel flow control mechanism. This mechanism gives an appropriate threshold determining the number of RPC requests that the server can process, thus avoids missing the deadline. However, this threshold at the applicationlevel is a fixed empirical value so that it is hard to obtain respectable performance because an endpointu0027s processing capacity can take a huge quantity of values by varying workload and different hardware configurations. While other methods based on specialized transport protocols are adaptive, they will introduce extra costs for message reporting from server to client. Furthermore, adopting specialized transport protocols will also introduce extra transplanting efforts for TCPbased applications. In this paper, we provide an active and adaptive application level flow control mechanism at the client side. We first design an algorithm to find the appropriate threshold to achieve the desired response time. Then based on this algorithm, we control the threshold to bound the response time as expected. We implement our flow control mechanism using a memcached testbed. Experiments prove that our mechanism can accurately reduce the mean and 99th percentile response time by at least 71.3% and 69.4% respectively, while keeping a relatively high QPS. Furthermore, compared to staticthreshold mechanism, our flow control mechanism is more efficient under low latency constraints.

A resource query interface for networkaware applications Networked systems provide a costeffective platform for parallel computing, but the applications have to deal with the changing availability of computation and communication resources. Networkawareness is a recent attempt to bridge the gap between the realities of networks and the demands of applications. Networkaware applications obtain information about their execution environment and dynamically adapt to enhance their performance. Adaptation is especially important for synchronous parallel applications because a single busy communication link can become the bottleneck and degrade overall performance dramatically. This paper presents Remos, a uniform API that allows applications to obtain relevant network information, and reports on the development of parallel applications in this environment. The challenges in defining a uniform interface include network heterogeneity, diversity and variability in network traffic, and resource sharing in the network and even inside an application. The first implementation of the Remos interface uses SNMP to monitor IPbased networks. This paper reports on our methodology for developing adaptive parallel applications for highspeed networks with Remos and presents experimental results using applications generated by the Fx parallelizing compiler. The results highlight the importance and effectiveness of adaptive parallel computing.