Enhancement of the Performance of Monitoring Tool for Small Footprint
Total Page:16
File Type:pdf, Size:1020Kb
Enhancement of The Performance of Monitoring Tool for Small Footprint Databases MTP Stage-I Report Submitted in partial fulfillment of the requirements for degree of Master of Technology Under guidance of Prof. Deepak B. Phatak Submitted By Sukh deo Rolla No: 123050061 Department of Computer Science and Engineering Indian Institute of Technology Bombay, Mumbai 1 Acknowledgement I would like to extremely thanks my guide, Prof. Deepak B. Phatak, for the consistent directions and guidance throughout the project. Because of his consistent encouragement and right directions, we are able to do this project work. I would like to thanks Mr. Nagesh Karmali for his continuous inputs in my work. I would also like to thank every one else who supported me in this work. 2 Abstract Nowadays, mobile devices are not only use for basic purpose like call, but many different purpose and different applications. We can say mobile de- vices are sibling of personal computers. Mobile device usage patterns are very different as compared to conventional PCs, as the devices are targeted for general users. Mobile devices have some great features, e.g., light weight and efficiency, but it has some drawback like small memory and battery is- sues. Peoples want to use many applications, due to growing the number of purposes, but it challenges to manage the many application in mobile device. Performance of mobile device depends on how to managing our applications and its data. There is a need to measure the performance of various com- monly used applications. Our work start with simple question: does storage affect the performance of mobile device? What kinds of database requires for mobile device? What are the parameter to measure the performance of databases? How to measure the performance of mobile device and its possible tools. Finally, we will discuss the possible way to optimize storage as well as monitoring tool. Contents Acknowledgement . .2 1 Introduction 4 1.1 Motivation . .4 1.2 Small footprint databases . .5 1.3 Monitoring Tool . .6 2 Literature Survey of Small Footprint Databases 8 2.1 Introduction . .8 2.2 Berkeley DB . .8 2.2.1 Access Methods . .8 2.2.2 Use of Berkeley DB . .9 2.2.3 Limitation . .9 2.3 Perst DB . 10 2.4 SQLite DB . 10 2.4.1 Architecture of SQLite . 10 2.5 Comparison among Berkeley DB, Perst DB, and SQLite DB . 11 3 Literature Survey of Monitoring Tool 12 3.1 Introduction . 12 3.2 IO Characteristics . 12 3.3 IOzone . 13 3.3.1 Limitation . 14 3.4 AndroBench . 14 3.4.1 Microbenchmarks . 14 3.4.2 SQLite Benchmarks . 15 3.4.3 Limitation of AndroBench . 16 3.5 Androstep . 17 1 4 Problem Statement and Proposal 20 4.1 Possible optimization in SQLite . 20 4.2 Possible Enhancement in Monitoring Tool . 20 5 Conclusion and Future Work 22 2 List of Figures 2.1 Architecture of Berkeley DB[1] . .9 2.2 Architecture of SQLite[2] . 10 3.1 Structure of AndroBench Measure Tab[7] . 15 3.2 Structure of AndroBench Setting Tab[8] . 16 3.3 Structure of Measure tab[16] . 17 3.4 Structure of Mobibench[16] . 19 3 Chapter 1 Introduction 1.1 Motivation Today's mobile devices are multifunction devices. We can say, it is sibling of the personal computer, i.e, laptop. It provides to use many application for both business and consumer purposes. Smart phones and tablets allow people to access the Internet for email, message, and web browsing. A busi- ness person can install many business application like streamline work-flow, save time, keep data accessible, automate daily tasks and many other appli- cations. Consumer can see about goods and its price on Internet and many more task can do by mobile devices, i.e., smart phone and tablet. We can work on the road, or away from the office by mobile devices. We can syn- chronize with our personal computer and can get the updated informations. Due to huge facility and light-weight property of mobile devices, there are huge markets. Peoples want to use many applications, but mobile de- vice has some limitations, i.e., small memory and battery backup. There are challenge to manage the many applications in mobile devices, we have to analysis the possible optimization techniques. Research on mobile devices can be broadly do in a application and service, device architecture, and op- erating system[11]. Nowadays, great challenge to manage many applications in mobile devices due to user requirements. In traditionally, storage did not view as a critical component of mobile devices in term of expected perfor- mance. 4 Performance of mobile devices require to continuously improve for fulfill the desire of users to run more applications. Performance of mobile device is based on storage performance of mobile devices, e.g., quality of audio/video playback while number of application are downloaded in background, storage of web browser history, and browsing speed all depend on storage perfor- mance. Most mobile devices use Embedded Multimedia Card(eMMC), it is based on NAND flash memory. It is also required to use good file systems and I/O schedulers for optimizing the storage performance. In mobile device, SQLite is used both as system and application data. For example, contacts, message, and bookmarks of the web browser. It stores the entire database as one file. So, performance of SQLite is storage performance, means how to handle the data and access method. Huge requirement of mobile devices, it required to measure the perfor- mance of mobile device. Performance of mobile device is closely depend on storage of that device. Bases on this motivation, we will discuss small footprint databases, its monitoring tools, and also discuss possible way to enhance the performance of mobile device. 1.2 Small footprint databases Small footprint databases is also called lightweight databases or embedded databases. It is specially designed for mobile devices. Because, mobile de- vices are different from personal computer in various view. So, we can not use high load databases. Because, mobile devices have some limitations[5]: • Limited Memory: Most mobile devices use NAND based flash mem- ory. It has limited capability to handle it. Reason of limited memory are its light weight and reduce battery consumptions. • Limited Processing Power: It has small process power. But, Many of the services provided over the Internet, such as gaming, music, and video. So, it is required to manage efficient way of applications for fast response. • Battery consumption: Battery is important part of mobile devices. Battery run out very quickly in mobile device. Nowadays, one research field is to reduce the battery consumptions. 5 • Limited bandwidth: Increasing the number of users and applica- tions, it decrease the bandwidth of wireless shares resource and CPU time. Bases on this limitation, mobile devices require such types of database that uses small memory and low power, this types of memory called Small foot- print database. In the second chapter, we will discuss Berkeley DB, Perst DB, and SQLite DB. There are small footprint databases, each has specific features, based on that features, we will select good databases. 1.3 Monitoring Tool The storage performance directly influence over all performance of mobile device and it depends on what kinds of storage medium and databases uses in mobile devices. Due to low power consumption and high performances, most of device uses NAND flash memory. In mobile device, the storage IO is one of key factors that governs the overall system performances. In mobile device, each application generates the specific load. Before measure the per- formance of particular application, we have to analysis function of databases transaction and metadata of storage medium. Based on throughput, we will be able to enhance of the performance of that application, after that we can enhance the overall performance of mobile device. Monitoring tool measures the load of each application that are running on mobile device. Some moni- toring tool does not give correct result, because of it does not analysis data types and file system of running application. We have to choose the good monitoring tool. so that we can enhance the performance of mobile device. In the first chapter, we will discuss introduction of mobile databases, i.e, light weight databases and monitoring tools. In the second chapter, we will discuss various features and limitation of light weight databases, i.e, Berke- ley DB, Perst DB, and SQLite DB. In the third chapter, we will discuss the many monitoring tools, i.e., IOzone, AndroBench, and AndroStep. IO- zone, for measuring the disk performance. It is not work in Android devices. AndroStep, it is specially designed for Android device to measuring the per- formance of SQLite. But, lack of workload analysis, it does not give correct result. AndroStep, it combine the all feature of IOzone and AndroStep, and do proper analysis of IO types. It gives better result then AndroStep. In the 6 fourth chapter, we will discuss possible enhancement in monitoring tool. In fifth chapter, we will conclude overall report and discuss future work. 7 Chapter 2 Literature Survey of Small Footprint Databases 2.1 Introduction This chapter includes literature study in several small footprint databases. Each databases has own characteristics, we can decide, which databases is good after study on the basis of requirement. We have analysis the features of Berkeley DB, Perst DB, and SQLite DB. 2.2 Berkeley DB Berkeley DB is embedded database[3]. It is open source and written in C with callable APIs for C#, C++, PHP, and most of languages[10]. Berkeley DB originated at The University of California, Berkeley, but later developed by Oracle corporation.