TY - GEN
T1 - Improving asynchronous invocation performance in client-server systems
AU - Zhang, Shungeng
AU - Wang, Qingyang
AU - Kanemas, Yasuhiko
N1 - Funding Information:
ACKNOWLEDGMENT This research has been partially funded by National Science Foundation by CISE’s CNS (1566443), Louisiana Board of Regents under grant LEQSF(2015-18)-RD-A-11, and gifts or
Funding Information:
grants from Fujitsu. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation or other funding agencies and companies mentioned above.
Publisher Copyright:
© 2018 IEEE.
PY - 2018/7/19
Y1 - 2018/7/19
N2 - In this paper, we conduct an experimental study of asynchronous invocation on the performance of client-server systems. Through extensive measurements of both realistic macro-and micro-benchmarks, we show that servers with the asynchronous event-driven architecture may perform significantly worse than the thread-based version resulting from two nontrivial reasons. First, the traditional wisdom of one-event-one-handler event processing flow can create large amounts of intermediate context switches that significantly degrade the performance of an asynchronous server. Second, some runtime workload (e.g., response size) and network conditions (e.g., network latency) may cause significant negative performance impact on the asynchronous event-driven servers, but not on threadbased ones. We provide a hybrid solution by taking advantage of different asynchronous architectures to adapt to varying workload and network conditions. Our hybrid solution searches for the most efficient execution path for each client request based on the runtime request profiling and type checking. Our experimental results show that the hybrid solution outperforms all the other types of servers up to 19%~90% on throughput, depending on specific workload and network conditions.
AB - In this paper, we conduct an experimental study of asynchronous invocation on the performance of client-server systems. Through extensive measurements of both realistic macro-and micro-benchmarks, we show that servers with the asynchronous event-driven architecture may perform significantly worse than the thread-based version resulting from two nontrivial reasons. First, the traditional wisdom of one-event-one-handler event processing flow can create large amounts of intermediate context switches that significantly degrade the performance of an asynchronous server. Second, some runtime workload (e.g., response size) and network conditions (e.g., network latency) may cause significant negative performance impact on the asynchronous event-driven servers, but not on threadbased ones. We provide a hybrid solution by taking advantage of different asynchronous architectures to adapt to varying workload and network conditions. Our hybrid solution searches for the most efficient execution path for each client request based on the runtime request profiling and type checking. Our experimental results show that the hybrid solution outperforms all the other types of servers up to 19%~90% on throughput, depending on specific workload and network conditions.
KW - Asynchronous
KW - Client-server applications
KW - Event-driven
KW - Performance
KW - Threads
UR - http://www.scopus.com/inward/record.url?scp=85050970001&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85050970001&partnerID=8YFLogxK
U2 - 10.1109/ICDCS.2018.00092
DO - 10.1109/ICDCS.2018.00092
M3 - Conference contribution
AN - SCOPUS:85050970001
T3 - Proceedings - International Conference on Distributed Computing Systems
SP - 907
EP - 917
BT - Proceedings - 2018 IEEE 38th International Conference on Distributed Computing Systems, ICDCS 2018
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 38th IEEE International Conference on Distributed Computing Systems, ICDCS 2018
Y2 - 2 July 2018 through 5 July 2018
ER -