18-749 Evaluation Report Team 2: The House Chief Experimenter: Joohoon Lee Members: Paul Cheong, Jun Han, Mohammad Ahmad, Suk Chan Kang Experimental Setup - Each client run on separate machine - Two methods chosen for the experiment (two-way invocation) are highlighted in the Table 1. getPlayerName(String id), getTableName(Integer uid) The reply size is always constant because we always use the same id and uid. - The middle tier have 2 replicas1 - The following parameters are used (Total of 48 combinations) - Number of clients: 1,4,7,10 Size of reply message: original, 256, 512, 1024 bytes Inter-request time: 0 (no pause), 20, 40ms In order to support variable size of reply message, before the client starts invocating 10000 times for the experiment, the client lets the server know the size of the reply for the given run. The server then allocates a dummy data block of the requested size on the entity bean (thus it becomes stateful), and gives that reply when the client invokes the actual method for testing. We used String object to allocate the request data, assuming each character of the String would use 1-byte. Although, this may not be true, since we are interested in size of “useful data”, this is acceptable assumption for this evaluation. - Each test methods are called 5000 times each to make 10000 requests per experiment - JAVA does not support a fine-grain measurement method, so we decided to use native method using JNI. The probe calls the native implementation of the timer which gives usec granularity. - Total of 7 probes were used in this experiments. The descriptions of each probe are in Table 2. 1 Our implementation has two replicas and fail-over, but the assumption of this experiment was that there is no fault-tolerance, thus all of our measurements were taken without any crashes on the server. Table 1: List of Client Invocations2 METHOD ONE_WAY DB_ACS SZ_REQ SZ_REPLY void savePlayer(int uid, int oid, YES YES 12 + sizeof(id) 0 YES YES 8 + sizeof(name) 0 YES YES 8+ 0 String id, String name, Integer balance ) void createTable(int uid, int oid, String name ) void dealPlayer(int uid, int oid, String playerID) sizeof(playerID) Card lastDealtCard(String NO playerID) (2-WAY) void dealDealer(int uid, int oid, YES YES sizeof(playerID) 12 + sizeof(type) YES String tableName) 8+ 0 sizeof(tableName) Card lastDealtDealerCard(String NO tableName) (2-WAY) void joinTable(int uid, int oid, String YES YES sizeof(tableName) 12 + sizeof(type) YES playerID, String tableName) 8+ 0 sizeof(playerID) + sizeof(tableName) void placeBet(int uid, int oid, String YES YES playerID, int bet) void startGame(int uid, int oid, 12 + 0 sizeof(playerID) YES YES String playerID, String tableName) 8+ 0 sizeof(playerID) + sizeof(tableName) void adjustBalance(int uid, int oid, YES YES String playerID, int adjust) int readBalance(String playerID) 12 + 0 sizeof(playerID) NO YES sizeof(playerID) 4 YES sizeof(id) Variable YES 4 Variable (2-WAY) String getPlayerName(String id) NO (2-WAY) String getTableName(Integer uid) NO (2-WAY) 2 In JAVA, the size of objects cannot be easily determined, so we used simple approximations. Primitive data types are assumed to be 32-bit, and variable size of objects are represented using sizeof(object). The unit of size is ‘byte’. When getPlayerName is called for experiment, the id is always the same to fix the reply size Table 2: List of Probes Probe File Name Data Purpose 1 DATA749_app_out_cli_${STY}_2srv_ Time in u sec Record the time of cl 2 ${C}cli_${IRT}us_${BYT}req_${HOST}_t ient invocation (reque eam${N}.txt st going out) DATA749_app_in_cli${STY}_2srv${C}cli Time in u sec _${IRT}us_${BYT}req_${HOST}_team Record the time of r eceiving the reply ${N}.txt 3 DATA749_app_msg_cli${STY}_2srv${C} Name of each i Keep track of the na cli_${IRT}us_${BYT}req_${HOST}_team nvocation me of the invocating ${N}.txt function to match la ter 4 5 6 DATA749_app_in_srv${STY}_2srv${C}cl Time in u sec Record the time of r i_${IRT}us_${BYT}req_${HOST}_team when the reque equest received ${N}.txt st is received DATA749_app_out_srv${STY}_2srv${C} Time in u sec Record the time of r cli_${IRT}us_${BYT}req_${HOST}_team when each repl equest completion ${N}.txt y is served DATA749_app_msg_srv${STY}_2srv Name of each i Keep track of the inv ${C}cli_${IRT}us_${BYT}req_${HOST}_t nvocation ocation from the serv eam${N}.txt 7 er DATA749_app_source_srv${STY}_2srv Name of client Keep track of which ${C}cli_${IRT}us_${BYT}req_${HOST}_t invocation client sent the each eam${N}.txt request Result Experiment 1 – # of Client = 1, Size of Reply = original , Request Time = 0ms Client Latency 5 2.5 Server Latency Latency vs Samples x 10 4 18 Middleware Latency 5 Server vs Samples x 10 2.5 Middleware vs Samples x 10 16 2 2 14 12 Middleware[us] 10 Server[us] Latency[us] 1.5 8 1 1.5 1 6 4 0.5 0.5 2 0 0 0 1000 2000 3000 4000 5000 Samples 6000 7000 8000 9000 10000 0 1000 2000 5 PDF vs Latency 4000 5000 Samples 6000 7000 8000 9000 0 1000 2000 3000 4000 5000 Samples 6000 7000 8000 5 2 0.8 0.35 10000 x 10 0.9 16 2 9000 PDF vs Middleware x 10 0.4 0.4 0 10000 4 PDF vs Server x 10 0.45 3000 14 0.35 0.7 0.3 12 1.5 0.3 1.5 0.6 0.2 0.15 0.5 [PDF] 1 8 0.4 1 6 0.3 0.15 0.2 2 0.05 0.5 1 1.5 2 Latency[us] 2.5 0 1 Experiment1 5 x 10 5 2.5 x 10 Middleware Server 2 Latency[us] 1.5 1 0.5 0 1 2 Outlier1, Outlier2, and Avg 3 0.1 0 0 0 0 0.5 4 0.1 0.5 0.1 0.05 0 Middleware[us] 0.2 10 Server[us] [PDF] 0.25 [PDF] Latency[us] 0.25 0 2 4 6 8 10 Server[us] 12 14 16 18 4 x 10 1 Experiment1 0 0 0.5 1 1.5 Middleware[us] 2 2.5 5 x 10 1 Experiment1 Experiment 2 – # of Client = 1, Size of Reply = original , Request Time = 20ms Client Latency 5 3 Server Latency 5 Latency vs Samples x 10 3 Middleware Latency 4 Server vs Samples x 10 18 Middleware vs Samples x 10 16 2.5 2.5 2 2 1.5 12 Middleware[us] Server[us] Latency[us] 14 1.5 1 1 0.5 0.5 10 8 6 4 2 0 0 1000 2000 3000 4000 5000 Samples 6000 7000 8000 9000 0 10000 0 1000 2000 5 PDF vs Latency 4000 5000 Samples 6000 7000 8000 9000 0 10000 1000 2000 3000 4000 5000 Samples 6000 7000 8000 9000 x 10 0.8 18 3 16 0.7 0.6 10000 4 PDF vs Middleware x 10 0.7 3 0.4 2.5 2.5 0.35 0 5 PDF vs Server x 10 0.45 3000 14 0.6 0.5 1.5 0.3 1.5 Middleware[us] 0.4 Server[us] 0.2 0.5 [PDF] Latency[us] [PDF] 0.25 12 2 2 [PDF] 0.3 0.4 0.3 8 6 1 1 0.15 10 0.2 0.2 0.1 0.1 0 0 0 0.5 1 1.5 Latency[us] 2 2.5 3 1 Experiment1 5 x 10 5 3 x 10 Middleware Server 2.5 Latency[us] 2 1.5 1 0.5 0 1 2 Outlier1, Outlier2, and Avg 3 2 0.1 0.05 0 4 0.5 0.5 0 0 0.5 1 1.5 Server[us] 2 2.5 3 5 x 10 0 1 Experiment1 0 0 2 4 6 8 10 Middleware[us] 12 14 16 18 4 x 10 1 Experiment1 Experiment 3 – # of Client = 1, Size of Reply = original , Request Time = 40ms Client Latency 5 3.5 Server Latency 5 Latency vs Samples x 10 3.5 3 3 2.5 2.5 2 2 Middleware Latency 5 Server vs Samples x 10 3 Middleware vs Samples x 10 2.5 1.5 Middleware[us] Server[us] Latency[us] 2 1.5 1.5 1 1 1 0.5 0 0.5 0.5 0 1000 2000 3000 4000 5000 Samples 6000 7000 8000 9000 0 10000 0 1000 2000 5 PDF vs Latency 4000 5000 Samples 6000 7000 8000 9000 0 10000 0 1000 2000 5 PDF vs Server x 10 0.35 3000 4000 5000 Samples 6000 7000 8000 9000 10000 5 PDF vs Middleware x 10 0.4 3000 x 10 0.7 3 3 0.35 0.3 2.5 0.6 2.5 2.5 0.3 0.5 0.25 2 Middleware[us] 0.2 0.4 [PDF] 1.5 Server[us] [PDF] Latency[us] [PDF] 0.15 2 0.25 2 0.2 1.5 0.3 0.15 1.5 1 1 1 0.1 0.2 0.1 0.05 0.1 0.05 0 0.5 1 1.5 2 Latency[us] 2.5 3 3.5 1 Experiment1 5 x 10 5 3.5 x 10 Middleware Server 3 Latency[us] 2.5 2 1.5 1 0.5 0 1 2 Outlier1, Outlier2, and Avg 3 0 0 0 0 0.5 0.5 0.5 0 0 0.5 1 1.5 2 Server[us] 2.5 3 3.5 5 x 10 1 Experiment1 0 0 0.5 1 1.5 Middleware[us] 2 2.5 3 5 x 10 1 Experiment1 Experiment 4 – # of Client = 1, Size of Reply = 256byte , Request Time = 0ms Client Latency 5 3 Server Latency 5 Latency vs Samples x 10 3 2.5 2.5 2 2 Middleware Latency 5 Server vs Samples x 10 2.5 Middleware vs Samples x 10 1.5 Middleware[us] Server[us] Latency[us] 2 1.5 1 1 0.5 0.5 1.5 1 0.5 0 0 1000 2000 3000 4000 5000 Samples 6000 7000 8000 9000 0 10000 0 1000 2000 5 PDF vs Latency 4000 5000 Samples 6000 7000 8000 0 10000 0 1000 5 2000 3000 4000 5000 Samples 6000 7000 8000 9000 10000 5 PDF vs Middleware x 10 0.5 x 10 0.7 2.5 0.45 0.35 9000 PDF vs Server x 10 0.4 3000 2 0.6 2.5 0.4 0.3 2 0.25 1.5 0.2 Middleware[us] 0.25 0.4 1.5 [PDF] 1.5 Server[us] 0.2 [PDF] Latency[us] 0.3 0.15 0.3 1 1 1 0.15 0.2 0.5 0.1 0.5 0.1 0.5 0.1 0.05 0.05 0 0.5 1 1.5 Latency[us] 2 2.5 3 1 Experiment1 5 x 10 5 3 x 10 Middleware Server 2.5 2 1.5 1 0.5 0 1 2 Outlier1, Outlier2, and Avg 3 0 0 0 0 Latency[us] [PDF] 0.5 0.35 2 0 0 0.5 1 1.5 Server[us] 2 2.5 3 5 x 10 1 Experiment1 0 0 0.5 1 1.5 Middleware[us] 2 2.5 5 x 10 1 Experiment1 Experiment 5 – # of Client = 1, Size of Reply = 256byte , Request Time = 20ms Client Latency 5 4 Server Latency 5 Latency vs Samples x 10 3.5 3.5 Middleware Latency 5 Server vs Samples x 10 2.5 Middleware vs Samples x 10 3 2 3 2.5 2 Middleware[us] Server[us] Latency[us] 2.5 2 1.5 1.5 1 1.5 1 1 0.5 0.5 0.5 0 0 1000 2000 3000 4000 5000 Samples 6000 7000 8000 9000 0 10000 0 1000 2000 5 PDF vs Latency 4000 5000 Samples 6000 7000 8000 9000 0.35 0.3 0 1000 2000 3000 4000 5000 Samples 6000 7000 8000 9000 3.5 0.7 3 0.6 2.5 0.5 2 0.4 10000 5 PDF vs Middleware x 10 0.4 3.5 0 10000 5 PDF vs Server x 10 0.35 3000 x 10 2 3 0.3 0.25 2.5 [PDF] 0.2 Middleware[us] 1.5 Server[us] 0.25 2 [PDF] [PDF] Latency[us] 0.2 0.15 1.5 0.3 1.5 1 0.15 1 0.1 0.2 1 0.1 0.5 0.5 0.5 0.05 0.1 0.05 0 0.5 1 1.5 2 Latency[us] 2.5 3 3.5 4 1 Experiment1 5 x 10 5 4 x 10 Middleware Server 3.5 3 Latency[us] 2.5 2 1.5 1 0.5 0 1 2 Outlier1, Outlier2, and Avg 3 0 0 0 0 0 0 0.5 1 1.5 2 Server[us] 2.5 3 3.5 5 x 10 1 Experiment1 0 0 0.5 1 1.5 Middleware[us] 2 2.5 5 x 10 1 Experiment1 Experiment 6 – # of Client = 1, Size of Reply = 256byte , Request Time = 40ms Client Latency 5 3.5 Server Latency 5 Latency vs Samples x 10 3.5 3 3 2.5 2.5 2 2 Middleware Latency 5 Server vs Samples x 10 3 Middleware vs Samples x 10 2.5 1.5 Middleware[us] Server[us] Latency[us] 2 1.5 1.5 1 1 1 0.5 0 0.5 0.5 0 1000 2000 3000 4000 5000 Samples 6000 7000 8000 9000 0 10000 0 1000 2000 5 PDF vs Latency 4000 5000 Samples 6000 7000 8000 9000 0 10000 0 1000 2000 5 PDF vs Server x 10 0.25 3000 4000 5000 Samples 6000 7000 8000 0.3 5 3 0.6 3 3 10000 x 10 0.7 3.5 3.5 9000 PDF vs Middleware x 10 0.35 3000 2.5 0.2 2.5 0.25 2.5 0.5 0.2 2 0.4 2 0.15 1 0.1 Middleware[us] 1.5 [PDF] Server[us] 2 [PDF] [PDF] Latency[us] 0.15 1.5 0.3 0.1 1.5 1 1 0.2 0.05 0.5 0.5 0.5 0.05 0.1 0 0.5 1 1.5 2 Latency[us] 2.5 3 3.5 1 Experiment1 5 x 10 5 3.5 x 10 Middleware Server 3 Latency[us] 2.5 2 1.5 1 0.5 0 1 2 Outlier1, Outlier2, and Avg 3 0 0 0 0 0 0 0.5 1 1.5 2 Server[us] 2.5 3 3.5 5 x 10 1 Experiment1 0 0 0.5 1 1.5 Middleware[us] 2 2.5 3 5 x 10 1 Experiment1 Experiment 7 – # of Client = 1, Size of Reply = 512byte , Request Time = 0ms Client Latency 5 7 Server Latency 5 Latency vs Samples x 10 6 6 Middleware Latency 5 Server vs Samples x 10 3 5 2.5 4 2 Middleware vs Samples x 10 3 Middleware[us] 4 Server[us] Latency[us] 5 3 1.5 2 1 1 0.5 2 1 0 0 1000 2000 3000 4000 5000 Samples 6000 7000 8000 9000 0 10000 0 1000 2000 5 PDF vs Latency 4000 5000 Samples 6000 7000 8000 9000 0 10000 0 1000 2000 5 PDF vs Server x 10 0.35 3000 4000 5000 Samples 6000 7000 8000 9000 10000 5 PDF vs Middleware x 10 0.4 3000 x 10 0.7 6 6 2.5 0.35 0.3 0.6 5 5 0.3 2 0.5 0.25 0.2 Middleware[us] 3 Server[us] [PDF] [PDF] Latency[us] 0.2 0.15 4 0.25 0.4 [PDF] 4 3 0.3 1.5 1 0.15 2 2 0.1 0.2 0.1 0.1 0.05 0 0 0 0.5 1 1 0.05 0 1 2 3 Latency[us] 4 5 6 1 Experiment1 5 x 10 5 7 x 10 Middleware Server 6 Latency[us] 5 4 3 2 1 0 1 2 Outlier1, Outlier2, and Avg 3 0 0 1 2 3 Server[us] 4 5 6 5 x 10 0 1 Experiment1 0 0 0.5 1 1.5 Middleware[us] 2 2.5 3 5 x 10 1 Experiment1 Experiment 8 – # of Client = 1, Size of Reply = 512byte , Request Time = 20ms Client Latency 5 5 Latency vs Samples x 10 3 Middleware Latency 5 Server vs Samples x 10 3 2.5 2.5 2 2 2 1.5 Middleware[us] 2.5 Server[us] Latency[us] 3 Server Latency 1.5 1.5 1 1 1 0.5 0.5 0.5 0 0 1000 2000 3000 4000 5000 Samples 6000 7000 8000 9000 0 10000 0 1000 2000 5 PDF vs Latency 4000 5000 Samples 6000 7000 8000 9000 0 10000 0 1000 5 PDF vs Server x 10 0.4 3000 Middleware vs Samples x 10 3000 4000 5000 Samples 6000 7000 8000 9000 10000 5 PDF vs Middleware x 10 0.7 2000 x 10 0.8 2.5 2.5 2.5 0.35 0.7 0.6 0.3 2 2 2 0.6 0.5 0.5 0.3 1 1 0.15 [PDF] Server[us] 0.4 1.5 Middleware[us] 1.5 [PDF] Latency[us] 0.2 0.4 1.5 1 0.3 0.2 0.1 0.2 0.1 0.1 0 0.5 1 1.5 Latency[us] 2 2.5 3 1 Experiment1 5 x 10 5 3 x 10 Middleware Server 2.5 2 1.5 1 0.5 0 1 2 Outlier1, Outlier2, and Avg 3 0 0 0 0 0.5 0.5 0.5 0.05 Latency[us] [PDF] 0.25 0 0 0.5 1 1.5 Server[us] 2 2.5 3 5 x 10 1 Experiment1 0 0 0.5 1 1.5 Middleware[us] 2 2.5 5 x 10 1 Experiment1 Experiment 9 – # of Client = 1, Size of Reply = 512byte , Request Time = 40ms Client Latency 5 3.5 Server Latency 5 Latency vs Samples x 10 3 3 Middleware Latency 5 Server vs Samples x 10 3 2.5 2.5 2 2 Middleware vs Samples x 10 1.5 Middleware[us] 2 Server[us] Latency[us] 2.5 1.5 1.5 1 1 0.5 0.5 1 0.5 0 0 1000 2000 3000 4000 5000 Samples 6000 7000 8000 9000 0 10000 0 1000 2000 5 PDF vs Latency 4000 5000 Samples 6000 7000 8000 9000 0 10000 0 1000 2000 5 PDF vs Server x 10 0.45 3000 4000 5000 Samples 6000 7000 8000 9000 10000 5 PDF vs Middleware x 10 0.7 3000 0.9 3 x 10 3 0.8 0.4 0.6 2.5 2.5 2.5 0.35 0.7 0.5 2 2 0.6 0.3 0.3 Middleware[us] 1.5 0.5 1.5 [PDF] Server[us] [PDF] 0.2 0.4 [PDF] Latency[us] 2 0.25 0.4 1 1 0.15 1.5 1 0.3 0.2 0.1 0.2 0.5 0.5 0.5 0.1 0.05 0.1 0 0.5 1 1.5 2 Latency[us] 2.5 3 3.5 1 Experiment1 5 x 10 5 3.5 x 10 Middleware Server 3 Latency[us] 2.5 2 1.5 1 0.5 0 1 2 Outlier1, Outlier2, and Avg 3 0 0 0 0 0 0 0.5 1 1.5 Server[us] 2 2.5 3 5 x 10 1 Experiment1 0 0 0.5 1 1.5 Middleware[us] 2 2.5 3 5 x 10 1 Experiment1 Experiment 10 – # of Client = 1, Size of Reply = 1024byte , Request Time = 0ms Client Latency 5 2.5 Server Latency 4 Latency vs Samples x 10 14 Middleware Latency 5 Server vs Samples x 10 2.5 Middleware vs Samples x 10 12 2 2 10 Middleware[us] 8 Server[us] Latency[us] 1.5 6 1 1.5 1 4 0.5 0.5 2 0 0 1000 2000 3000 4000 5000 Samples 6000 7000 8000 9000 0 10000 0 1000 2000 5 PDF vs Latency 0.4 4000 5000 Samples 6000 7000 8000 9000 0.4 1000 2000 3000 4000 5000 Samples 6000 7000 8000 9000 10000 5 x 10 0.9 2 0.8 12 0.35 0.35 0 PDF vs Middleware x 10 0.45 2 0 10000 4 PDF vs Server x 10 0.45 3000 0.7 10 1.5 0.3 0.3 1.5 0.6 0.2 0.15 6 0.4 1 0.3 4 0.5 0.5 0.1 Middleware[us] 1 0.15 0.5 [PDF] Server[us] [PDF] 0.2 0.25 [PDF] Latency[us] 8 0.25 0.1 0.2 2 0.05 0.05 0.1 0 0 0 0.5 1 1.5 2 Latency[us] 2.5 5 2.5 x 10 Middleware Server 2 Latency[us] 1.5 1 0.5 0 1 2 Outlier1, Outlier2, and Avg 3 0 0 1 Experiment1 5 x 10 0 0 2 4 6 8 Server[us] 10 12 14 4 x 10 1 Experiment1 0 0 0.5 1 1.5 Middleware[us] 2 2.5 5 x 10 1 Experiment1 Experiment 11 – # of Client = 1, Size of Reply = 1024byte , Request Time = 20ms Client Latency 5 2.5 Server Latency 5 Latency vs Samples x 10 2.5 Middleware Latency 4 Server vs Samples x 10 18 Middleware vs Samples x 10 16 2 2 1.5 1.5 14 Middleware[us] Server[us] Latency[us] 12 1 1 0.5 0.5 10 8 6 4 2 0 0 1000 2000 3000 4000 5000 Samples 6000 7000 8000 9000 0 10000 0 1000 2000 3000 5 PDF vs Latency 5000 Samples 6000 7000 8000 9000 0 10000 0 1000 2000 5 PDF vs Server x 10 0.35 4000 4000 5000 Samples 6000 7000 8000 9000 x 10 0.7 18 2.5 2 0.4 16 0.6 0.3 2 10000 4 PDF vs Middleware x 10 0.45 3000 0.35 14 0.5 0.25 1.5 12 0.2 0.4 [PDF] Server[us] 0.15 0.25 [PDF] [PDF] Latency[us] 0.2 Middleware[us] 0.3 1.5 1 0.3 1 10 8 6 0.15 0.1 0.2 0.5 0.1 0.5 4 0.05 0.1 2 0.05 0 0.5 1 1.5 2 Latency[us] 2.5 1 Experiment1 5 x 10 5 2.5 x 10 Middleware Server 2 Latency[us] 1.5 1 0.5 0 1 2 Outlier1, Outlier2, and Avg 3 0 0 0 0 0 0 0.5 1 1.5 Server[us] 2 2.5 5 x 10 1 Experiment1 0 0 2 4 6 8 10 Middleware[us] 12 14 16 18 4 x 10 1 Experiment1 Experiment 12 – # of Client = 1, Size of Reply = 1024byte , Request Time = 40ms Client Latency 5 3.5 Server Latency 5 Latency vs Samples x 10 2.5 Middleware Latency 5 Server vs Samples x 10 2.5 Middleware vs Samples x 10 3 2 2 1.5 1.5 Middleware[us] 2 Server[us] Latency[us] 2.5 1.5 1 1 1 0.5 0.5 0.5 0 0 1000 2000 3000 4000 5000 Samples 6000 7000 8000 9000 0 10000 0 1000 2000 3000 5 PDF vs Latency 5000 Samples 6000 7000 8000 9000 0 10000 0 1000 5 PDF vs Server x 10 0.45 4000 3000 4000 5000 Samples 6000 7000 8000 9000 10000 5 PDF vs Middleware x 10 0.45 2000 x 10 0.8 2 3 0.4 2 0.7 0.35 0.35 1.4 0.5 1.5 0.2 [PDF] Server[us] [PDF] 0.2 0.25 [PDF] Latency[us] 2 0.25 1.6 1.5 0.3 0.3 1.8 0.6 2.5 1 Middleware[us] 0.4 0.4 0.3 0.15 0.15 1 0.1 1.2 1 0.8 0.6 0.2 0.5 0.1 0.4 0.5 0.05 0 0 0.5 1 1.5 2 Latency[us] 2.5 3 3.5 x 10 5 3.5 x 10 Middleware Server 3 Latency[us] 2.5 2 1.5 1 0.5 0 1 2 Outlier1, Outlier2, and Avg 3 0 0 1 Experiment1 5 0.2 0.1 0.05 0 0 0 0.5 1 1.5 Server[us] 2 2.5 5 x 10 1 Experiment1 0 0 0.5 1 1.5 Middleware[us] 2 2.5 5 x 10 1 Experiment1 Experiment 1~12 – # of Client = 1 (Overall Statistics) Client Latency Server Latency Middleware Latency 5 5 5 x 10 x 10 x 10 2 3 2 1.8 1.6 2.5 1.5 1.4 1.5 Middleware[us] Server[us] Latency[us] 2 1 1 1.2 1 0.8 0.6 0.5 0.4 0.5 0.2 0 5 7 1 #clients Avg/Max Latency x 10 Max Latency Avg Latency 6 Latency[us] 5 4 3 2 1 0 0 2 4 5 2.5 6 Experiment 8 10 12 Avg/99% Latency x 10 99% Latency Avg Latency 2 Latency[us] 1.5 1 0.5 0 0 0 1 #clients 0 2 4 6 Experiment 8 10 12 1 #clients