End-To-End Performance Analysis and Scalability of Tablets
Total Page:16
File Type:pdf, Size:1020Kb
End-to-End Performance Analysis and Scalability of Tablets M.Tech Stage 1 Report Submitted for the fulfillment of requirements for the degree of Master of Technology by Deepak Jayanth P M Roll No: 10305913 under the guidance of Dr. Deepak.B Phatak a Department of Computer Science and Engineering Indian Institute of Technology, Bombay Mumbai Contents 1 Introduction 1 1.1 Problem Statement . .1 1.2 Performance Analysis . .1 1.2.1 Why Necessary? . .1 1.3 Common Issues in Performance Analysis . .2 1.3.1 Sources of Bottlenecks[1] . .2 1.3.2 Difficulties & Limitations . .3 1.4 Scalability . .3 1.5 Report Outline . .3 2 Analytical Methods of Performance Analysis 4 2.1 Introduction . .4 2.2 CSMA/CD Basic Operation . .4 2.2.1 DCF mode . .4 2.3 A model for Throughput at MAC level [2] . .5 2.3.1 Model construction . .5 2.3.2 Duration for Transmission time . .5 2.3.3 Observations . .6 2.4 Delay analysis at MAC level . .7 2.4.1 Queuing Models . .7 2.4.2 Single server queue model for MAC operation . .8 2.4.3 Delay Analysis [3] . .8 2.5 A model for Capacity of users [4] . .9 2.5.1 Working . .9 2.5.2 Mapping Application throughput from MAC level . .9 3 Software Approaches of Performance Analysis 11 3.1 Benchmarking . 11 3.2 Android Application Profiling and Characterization [5] . 11 3.2.1 Measurements . 12 3.3 Traffic Characterization . 12 3.3.1 Protocol Overheads . 12 3.3.2 Network Performance . 12 3.3.3 Browsing Performance . 12 i 3.4 Performance Measurement Tools . 13 3.4.1 Lack of Effective tools . 13 3.4.2 Representation for multidimentional Network . 13 3.5 Measurement Issues specific to Tablets . 14 3.5.1 Measurement from Android . 14 3.5.2 Unpredictable memory behaviors . 14 3.5.3 Application Vs Browser based . 14 3.5.4 Mapping Problems . 15 4 Scalability at Data Link layer 16 4.1 Bottlenecks at Data link layer . 16 4.1.1 802.11 DCF operation . 16 4.1.2 Problem of Electromagnetic Interferes . 16 4.2 Improving Scalability . 17 4.2.1 Fair Channel Usage . 17 4.2.2 Channel Planning . 17 5 Scalability in Higher Layers 18 5.1 Using IP Multicast . 18 5.1.1 Implementation Methods [9] . 18 5.2 Regulation of Wireless Traffic . 19 5.3 Scalability at Application Level . 19 6 Protocol Customization 20 6.1 MAC Broadcast using Beacon Stuffing[8] . 20 6.1.1 Mechanism . 20 6.2 Device Customization . 21 6.2.1 OpenWrt . 21 6.2.2 Opensource linux wireless drivers . 21 7 Experiments 22 7.1 Overview . 22 7.2 Experimental Setup . 23 7.3 Throughput . 23 8 Conclusions 25 9 Stage 2 Scope 26 ii List of Figures 1.1 Potential sources of bottlenecks during a communication . .2 2.1 Hidden markov model for contention process . .5 2.2 Time taken for transmission under Basic mode . .6 2.3 Time taken for transmission under RTS/CTS . .6 2.4 Throughput vs Transition probability under Basic mode [2] . .6 2.5 Throughput vs Transition probability under RTS/CTS [2] . .6 2.6 Wasted channel time vs number of stations[2] . .7 2.7 Queuing Systems in general . .8 2.8 Birth death process . .8 2.9 Throughput vs Mean dataframe delay [3] . .9 4.1 802.11b/g A.P frequency planning . 17 4.2 802.11a A.P frequency planning . 17 iii Abstract Performance is the most important characteristic of any network, service, application ,etc. And the study of performance analysis is very important, as these study will help in making critical decision on which hardware to use, technologies to implement, how many users will be served, predict the trend of future inputs to system, etc., or make new better technologies. This work discusses performance analysis of Tablets in general and various ways of measurement and characterization of Tablet usage. It discusses various issues related to sources for bottlenecks of connecting a large number of Tablet users in a wireless network. It also discusses ways of mitigation of bottlenecks and improvements to scalability. Chapter 1 Introduction 1.1 Problem Statement The main goal of this project is analysing and characterizing the behaviors of Tablets in terms of I/O operations, network traffic generation, application, traffic generation,amount of user interactions to touchscreen(swiping,clicking), etc., The other goal is to analyse for scalability issues in connecting huge number of simultaneous tablet users. The typical scenarios considered are scaling issues in a densely populated area like classroom supporting 100 plus tablet users(single hop) or it can be scaling issues in tablets connected through campus infrastructure distributed over a wide area using multiple access points,switches, routers inbetween them(multi hop). The performance analysis made should help in identifying the bottlenecks which exist in connecting and distributing data to huge number of tablets simultaneously. 1.2 Performance Analysis 1.2.1 Why Necessary? Consider any infrastructure to support a design scenario, to answer questions such as how exactly things will run, how many maximum numbers of users can be connected at a time, how exactly the network will scale, how reliable a server will run on increased load,etc., performance analysis is required. For example a news site may get millions of request for a cricket page during world cup where it provides up to date coverage and in other days it will be normal. And same goes for a movie review site during a movie release. A typical web application is generated from a complex network of Application Servers, Database servers coupled with mechanisms such as content load balancing, content caching, resource pooling, etc., These are deployed on large number of servers that are clustered together. For a application to be served and function in a timely manner each of the above mentioned mechanisms should work effectively. So it will be inappropriate to leave any of the above mentioned concepts in the design of a better application. So performance analysis is required for planning of a system, network, infrastructure, application design and analysis to support a smooth running of this design in the future. Failure to predict and plan for a future demand may lead to overwhelming of the server with large number of requests and extreme cases shutting down of server. So the performance analysis is one of the important tasks 1 done, which will possibly give a way to avoid such situations. This is performance analysis at a server level. Another example is a institution wireless infrastructure to support wireless connectivity throughout the campus. In this case before designing such infrastructure an performance analysis interms of capacity planning,requirement of maximum user support must be done to efficient deployment of this infrastructure. Poor pre-performance analysis and planning will lead to poor maintenance and cost of this infrastructure. 1.3 Common Issues in Performance Analysis 1.3.1 Sources of Bottlenecks[1] The performance bottleneck can happen at many places other than the network. The following will bring an idea of places where bottleneck arise. The queueing line represents potential sources of bottlenecks. Figure 1.1: Potential sources of bottlenecks during a communication The Figure 1.1 on page 2 shows pictorially the list of potential locations for bottlenecks which can happen during a communication between a client and a server. When a client requests a http connection, as shown in figure it undergoes the intermediate stages. The requests come in terms of packets to the NIC(Network Interface Card) of server and stored on a buffer as incoming request. The network buffer may already have similar kind of request packets obtained from other clients. This is possibly the first source of bottleneck, once this queue gets full the NIC wont be able to process further requests and it may become a source of bottleneck. If the packet gets through the above queue, packet may next need to do task which requires the access of either of CPU , Database, IO. Each of these three (the CPU, Database , and Disk) have themselves queues of their own, and the same rule of NIC queue apply for the other three device queue. The only difference they are called with different names. At cpu level the bottleneck is caused because of different scheduling methods of process/threads queues. At Network level it because of packets arrived at buffers at Network layer. The packet can be even broken down and correlated with buffer size of incoming Frames on data link layer. The bottleneck queues can also be thought from the point of view of application design level, for eg, a chatty protocol, which sends too many short messages between peers. Here the percentage of bandwidth is wasted as overhead. 2 1.3.2 Difficulties & Limitations The sources of bottlenecks can be anything from a network device, or host computer to a bad application design. This complex network of systems as a whole has a lot a components to study about. A single linux operating system has close to 100 tunable TCP and IP parameters[10]. Web administrator usually play with these parameters and may actually increase some perfor- mance which supports their particular configuration. So the way to measure performance and make sense out of the values obtained considering into account these many varying parameters is a very challenging task. And modelling this requires a careful understanding of each of such components. 1.4 Scalability Scalability is one of the important characteristics of any system, which is the ability of the system to perform gracefully under increased load conditions.