Enhancement of Open Source Monitoring Tool for Small Footprint Databases

Size: px
Start display at page:

Download "Enhancement of Open Source Monitoring Tool for Small Footprint Databases"

Transcription

1 Enhancement of Open Source Monitoring Tool for Small Footprint Databases Dissertation Submitted in partial fulfillment of the requirements for the degree of Master of Technology in Computer Science and Engineering Submitted by Sukh Deo Roll No Under the Guidance of Prof. Deepak B. Phatak Department of Computer Science and Engineering Indian Institute of Technology Bombay Powai, Mumbai, India June,

2 Acknowledgement I would like to thank my guide, Prof. Deepak B. Phatak, for the consistent encouragement and guidance throughout the project. Due to his consistent encouragement and right directions, we are able to do this project work. I would like to thank Mr. Nagesh Karmali for his continuous inputs in my work. I would also like to thank, Firuza Aibara, Prashant Kumar Singh, Arun Kumar, and B. Raju for proof reading this report and their valuable feedback.

3 3

4 4

5 Abstract Nowadays, mobile devices are not only used for the basic purpose like calls and messages, but also for many others purposes and applications. We can say that mobile devices are siblings of personal computers. Their usage patterns are very different as compared to conventional PCs, since the mobile devices are targeted for general users. They do have some great features, e.g., lightweight and efficiency, but has some drawbacks like limited memory and battery issues. People now wants to use more and more applications to make life easier, but mobile device is able to manage the limited number of application. There is a need to measure the performance of mobile device. Our work starts with simple questions like the: does storage affect the performance of mobile devices? What kinds of databases are required for mobile devices? What are the parameters to measure the performance of databases? How to measure the performance of mobile device and its possible tools. Finally, we will enhance the performance of monitoring tool for small foot print database.

6 Contents Acknowledgement Introduction Motivation Literature Survey Literature Survey on Small Footprint Databases Berkeley DB Perst DB SQLite DB Comparison among Berkeley DB, Perst DB, and SQLite DB Literature Survey on monitoring tool IOzone AndroBench MobiBench Conclusion Android Framework and SQLite Database Android Framework Linux Kernel Libraries Android Runtime Application Framework Journal Mode of SQLite Rollback Journal Truncate Journaling Mode Persist Mode Write-Ahead Log(WAL) Mode MobiBench and Aakash Tablet Specifications Overview of MobiBench Measure Tab History Tab Setting Tab Aakash Tablet Specification

7 5 Test Result of MobiBench on Aakash Tablet Testing Results on Aakash Tablet Test Cases for SQLite Test Result Battery consumption during testing Modification Done in MobiBench Source code Analysis of MobiBench Possible Enhancement Modifications done to MobiBench Database Test Result after Modification of MobiBench on Aakash tablet Testing Result after changes Result Battery consumption during testing Conclusion and Future Work Conclusion Future Work

8 List of Figures 1.1 Smart-phone s Users[1] Architecture of Berkeley DB[2] Architecture of SQLite[3] Structure of AndroBench Measure tab[4] AndroBench Setting tab[5] Android Framework [6] Simple architecture of Android framework Component require for Facebook application Roolback Journal of SQLite[7] Over all view of MobiBench[5] Setting tab[5] Overall performance of Aakash Database performance of Aakash Database performance of Aakash Control flow of MobiBench Default table schema system table schema Bowser history table schema WhatsApp table schema Choose table Database performance of Browser table in Aakash Database performance of System in Aakash Database performance of WhatsApp in Aakash Database performance using WAL mode

9 List of Tables 5.1 Default setting of Mobibench Test cases for SQLite Database Performance of Aakash Database Performance of Browser History table in Aakash Throughtput Result of system table in transaction/s Throughtput Result of WhatsApp table in transaction/s

10 Chapter 1 Introduction 1.1 Motivation Today s mobile devices are multi-functional devices. It provides usage for many applications, both business and consumer purposes. Smart phones and tablets allow people to access Internet for , messages, and web browsing. A business person can install many applications like streamline work-flow, save time, keep data accessible, automate daily tasks, and many others. Consumers can view new goods and their prices on Internet, and many more tasks can be done by mobile devices, i.e., smart phones and tablets. We can work away from the office using these devices and can synchronize with our personal computer and can get the updated information. Due to the huge facility and light-weight property of mobile devices, there has been a huge market. People want to use many applications, but it has some limitations[8], like small memory and battery backup. It cannot manage large number of applications in these devices[9]. Today many research going on the application and service, device architecture, and operating system area[10] to make the optimal performance. Traditionally, storage was not viewed as a critical component of these devices, in term of expected performance, but now we got result that performance of mobile device depends on mobile database. Performance of mobile devices is to be to continuously improve to fulfill the desire of users to install and execute more applications. As we can see, some applications depend on the storage performance, i.e., quality of audio/video playback while number of applications are downloaded in background, storage of web browser history, and browsing speed all of which depends on storage performance. It is also required to use good file systems and I/O schedulers for optimizing the storage performance and to use the high speed of NAND flash memory. In Android mobile devices, SQLite is used both for system and application data, because SQLite is an embedded database. Example, if an Android application developer wants to make the Android application then he must use the database as SQLite for storing the related information like store the contacts, message, bookmarks of the web browser and many more. As we know each application uses separate database, speed of application depends on the speed of 5

11 Figure 1.1: Smart-phone s Users[1] database and the performance of mobile device depends on application that is installed. We came to the following conclusions that the factor of performance of mobile device depends on: Mobile databases. The hardware like, SD card, internal memory and processor. Due to demand of mobile devices in market, there is need to measure its performance, so that we can utilize maximum resources. Based on this motivation, we did the literature surveys on mobile databases and its monitoring tool, that we will discuss in the second chapter. We will also perform test on Aakash2 using MobiBench and we will also discuss possible way to enhance the performance of MobiBench and its modification. 6

12 Chapter 2 Literature Survey 2.1 Literature Survey on Small Footprint Databases I did literature study in several small footprint databases. Each database has its own characteristics, based on which we can decide more preferable database. We will analyze the features of Berkeley DB, Perst DB, and SQLite DB. Figure 2.1: Architecture of Berkeley DB[2] Berkeley DB Berkeley DB is an embedded database[11]. It is open source and written in C language with callable APIs for C#, C++, PHP, and so on[12]. Berkeley DB originated at The University of California Berkeley, but later developed at Oracle Corporation. It supports concurrent access by multiple users. It used to store the data, key/value technique. For example, we can use it to store the user name and password, i.e., user name as key and password as value. It is not a 7

13 relational database, but we can store multiple data using one key. Architecture of Berkeley DB is shown in figure 2.1. It has three layers. The first layer is the application program, which is directly connected to access methods and recovery. Access Methods Berkeley DB provides three types of access methods: B+tree: B+tree stores records in leaf page. Key in the tree is stored in sorted order. B+tree reduce tree size, and give better search performance. Hash : Berkeley DB uses extended linear hashing. Fixed or variable length records : in this method, each record has a record number, which serves as a key. For example, if we want to store a text file, then each line is treated as a record. Figure 2.2: Architecture of SQLite[3] Use of Berkeley DB Berkeley DB provides concurrent access to databases[13]. It can be used as a standalone application, linked by other application. For example, in mobile applications, we can use Berkeley DB to store name and mobile number. This contact number can be seen whiling dialing the number, receiving call, or even while sending or receiving message to/from that number. Limitations It does not support RDBMS. It has no schema. 8

14 It stores only the record key/value technique, so that we cannot compare the data other than key value Perst DB Perst Database is an open source embedded database, based on Java object oriented architecture.[14]. The supported features are as follows[15]: Classic B-Tree implementation R-tree indexes for spatially-oriented applications such as GIS and navigation Time Series class to efficiently deal with small fixed-size objects Specialized versions of collections for thick indices (indices with many duplicates), and bit indices (keys with a restricted number of possible values). It is application specific database for storing real object information. Example, we can use Perst DB for Restaurant searching application, because we can access and store information using making object SQLite DB SQLite is open source database and very light weight databases. If we enable all the features of SQLite in our Apps, size of SQLite Library will be less than 500KB. If we disable optional feature[16], i.e., WAL mode or Delete Mode, the size of SQLite library will be 300KB. It supports the relational database like SQL syntax, transaction, and SQL statement. That s why it is available on most of the android device. This is an overview of SQLite. SQLite Data Types : SQLite supports only three data types[17] TEXT (like String) INTEGER (like int) REAL (like double) SQLiteOpenHelper Class : It is a helper class used to manage database creation and version management. We override the oncreate() and onupgrade() methods in this class. oncreate() : this method is called, if the database does not exists. onupgrade () : this method is called, if the database version is increased. SQLiteDatabase Class : SQLite Database is the base class for working with a SQLite database. It provides various methods like: Open (), Insert (), Update (), and Close (). ContentValues : ContentValues are used to insert or update database entries. Records are stored as key-value pair in ContentValues. Where, key represents Column-Id and value represents data for that Column-Id. 9

15 Architecture of SQLite The architecture of SQLite[3] explains the working of SQLite. This information is very useful, if we want to change inner code of SQLite. Block diagram is shown in figure 2.2. Interface : this module provides external interface to SQLite library. It is implemented in main.c. SQL command process : this module has three parts. Tokenize: This module breaks the SQL statement into tokens and calls the parser module. Parser : this module, parses the meaning of tokens based on the context. Code generator : after assembling the meaning of token, it generates code that will be used in virtual machine. Virtual Machine : It executes the generator code. B-tree : SQLite maintains the data using B-tree. A separate B-tree is made for each table. All B-trees are stored in same file. Pager : B-tree s modules request data in the form of chunks. The default size is 1024KB. Page cache takes care of rollback journal and information. OS Interface : It provides facility for OS service, i.e., disk access, and critical section problems. In NAND based flash memory, write operation is ten times slower than read operation, because of write before erase and garbage overheads[18]. In SQLite, rollback Journal file system is used[19]. It is good for small transaction and sequential writes. It is costly for random write transactions. For large transaction, we can use shadow paging technique, as it is good for random write Comparison among Berkeley DB, Perst DB, and SQLite DB SQLite is a native database. It has a schema, so that we can design our own tables as we want. Berkeley DB is an embedded database[20]. It stores the data by key/value schema. Perst DB is an object oriented, embedded database. It is application specific database for storing real object information. We cannot really compare properly, because each has some special property. Since, SQLite has schema and it is embedded database of Android application, so there is huge usage of SQLite database. 2.2 Literature Survey on monitoring tool IO characteristics of Android based mobile devices are different from desktop computers. We require monitoring tools to measure the storage performance of mobile devices. We have studied different monitoring tools that are used to monitor the embedded databases. Based on existing 10

16 monitoring tools, we will discuss what possible features can be enhanced. IO Characteristics: There are four types of IO characteristics: IO type (Read vs. Write). IO size (KB). Spatial locality (Sequential vs. Random) Temporal locality (Hot vs. Cold). Synchronous IO : Works on polling basis[21]. While polling, if data is available, then we get the data. Otherwise application will block and retry for the data. Buffered IO : Default IO of programs is in buffer, i.e., they are used from a temporary storage to the requesting program. It will then increase the throughput of the application. We should analyze all the characteristics of an Android device, based on the above characteristics, we can measure correct workload of application process.for example, we need to measure the number of synchronous write operation that takes place in metadata as well as Journal file. Some existing workload does not identify the file types, thus, accuracy level is not good. We will discuss workload tool based on the above four characteristics IOzone IOzone is benchmark tool for file system[22]. It is good for measuring the performance of a file system in computer platform. It is generally used by computer vendors. It measures the IO performance of accessing read, write, fread, and fwrite operations of a single file. Write : this test measures the performance of writing a new file. It contains overhead of creation of new file and metadata. Metadata contains the overhead address like directory information and space allocation. Re-write : this test measures the performance of writing a file that is already written. It takes low cost, as there is no overhead of metadata. Read : this test measures the performance of reading the file. Re-Read : this test measures the performance of reading the file that was recently read. Random Read and Random Write : this test measures performance of read/write, which requires random access file. It includes overhead of seek time and latency. IOzone can test file write and read operations, using library function fwrite and fread. It can also test recently fwrite and fread operations, using freread and frewrite. Mmap : this maps a file into a user address space. It provides easy access to the data for applications and does not require msync() to waiting for the data. 11

17 Limitations It is file system benchmark tool[23]. It does not include fsync(). But, SQLite forces to commit data via fsync() to commit on Journal modes. Thus, we cannot measure the correct performance of android device. In Android devices[24], there is no way of getting the super user permission in user level for remounting and un-mounting file, but IOzone needs super user permission. So, it cannot measure the performance of Android devices. IOzone must write sequential write operation, before running any other benchmarks, because SQLite uses Journal mode. Based on these limitations, we cannot measure the performance of SQLite in an Android device AndroBench AndroBench is a storage benchmarking tool for Android mobile device[24]. It measures the sequential and random IO performance and throughput of various transaction of SQLite, i.e., insert, delete, and update. It has two methodologies, i.e., microbenchmarks and SQLite Benchmarks[24]. Microbenchmarks AndroBench uses four micro-benchmarks for measuring the performance of sequential and random IO. For measuring the sequential read performance the step are given below: AndroBench creates a file (32MB by default) in target partition. The file is sequentially read with fixed buffer size (256kb by default). As write operation consumes lot of time; the file is reduced to 2MB for sequential write, which is similar to read operations. for random read/write operation : AndroBench measures the number of IO operations per second. The size of each read/write operation is 4KB default. 32MB of file is used for read and 2MB for writes. For measuring the correct performance, it takes the average of each of the three transactions. Measure For measure the sequential read/write IO operation, below step are required: first, goes to measure tab. second, clicks the micro button. It will measure the performance with default configurations. Java does not provide bypass buffer cache, so it is implemented by C. 12

18 Figure 2.3: Structure of AndroBench Measure tab[4] SQLite Benchmarks For testing the performance of SQLite transaction, AndroBench creates a table, which has 17 columns (twelve integer types and five text types) in target location. It performs three types of tests, i.e., insert, update, and delete. By default, the numbers of transactions are set to 300, but we can change from setting button. First, it release cache page by using SQLite- Database.releaseMemory (). Changing Parameters: Users can change, target partition, file size, and buffer size used in micro benchmarks, and SQLite benchmarks. After successfully completion of all benchmarks, it transmits the measurement result to the central server. Result is associated by model name and parameter. It measures the performance by transaction per second. Figure 2.3 shows the structure of measuring tab. We can measure the overall performance, SD card, and SQLite transaction by clicking specified button. The setting tab is shown in figure 2.4. This tab has provides features, we can change buffer size, file size, and partition location as desired. History Tab In this tab has two buttons: View history : Using this button, we can see history of measured performance. Clear history : Using this button, we can clear the history. 13

19 Figure 2.4: AndroBench Setting tab[5] Limitation of AndroBench Although, AndroBench is a powerful tool for measuring the performance of android device, it has some limitations[8], which are listed below: It does not allow changing synchronization option such as O SYNC, O DIRECT, and Mmap. It has no method to measure the performance of fsync() call. Androbench does not support multi-threading benchmark environment. Based on the above mentioned limitations, AndroBench is not able to measure the correct performance MobiBench MobiBench is open source mobile storage performance benchmark tool[23]. It has combined features of IOzone and AndroBench and it is specially designed for Android mobile device. We will discuss more in chapter Conclusion Since, MobiBench is an open source monitoring tool and it is designed for Android device, so we can enhance the performance of MobiBench. 14

20 Chapter 3 Android Framework and SQLite Database 3.1 Android Framework Android is an open source and Linux based operating system. It is specially designed for mobile devices such as tablet and smart phones. A developer only needs to develop the application for Android and it will run on all the devices which have Android operating system. Figure 3.1: Android Framework [6] Android is powerful operating system that provides many features such as beautiful GUI, storage as SQLite, connectivity, messaging, resizing, multi tasking, and many more. As we are interested in the performance of the Android device, first, we have to understand the Android environment. This will help us to understand the performance bottleneck of An- 15

21 droid IO stack. Figure 3.1 shows the overall structure of Android framework. In first part, we have number of applications that user really uses. These applications are directly connected to application framework that will provide required system library of that application. Let us discuss some basic component of Android framework Linux Kernel Linux kernel is bottom up layer and it is directly connected to the hardware such as emmc, SD card, and peripheral devices. It provides: Process management Memory management Manage network interface Device management such as camera, display, and keyboard etc Libraries Android developers can use the functionalities provided by these libraries. Function is: Webkit provides web browser SQLite for storage and sharing data for applications SSL provides web security Android Runtime This is like Java Virtual Machine, designed for optimization of application operations. Application Application Framework It helps developer to form Java classes and use of their applications. This is top layer of Android architecture, where user can install their own applications. As we are interested to know the performance bottleneck of mobile devices, figure 3.2 shows the way to write data from application to internal memory(emmc) or external memory(sd card). We can say that every Android application SQLite EXT4 Device driver 16 emmc/sd card Figure 3.2: framework Simple architecture of Android

22 must use SQLite as database. In mobile device environment, we have two main applications of mobile device that is highly popular of smart phone, i.e., Facebook and WhatsApp. Facebook uses more than 80% of insert operation[25]. Facebook Apps : Earlier mobile Facebook users were able to update the status, only using text message. Later, when smart phone got smarter, they were able to open the Facebook mobile site, i.e., m.facebook.com in mobile browser. But, now Android version of phone has fully features of Facebook as desktop browser provides. This has happened, because of continuous increase in efficiency of smart phone and now facebook offer more Apps and add-on to Facebook users. Figure 3.3 demonstrate that how Facebook works. It does not write the data (i.e., chat stuff, images, and information update) in SD card, but it uses internal memory (emmc). WhatsApp : This is similar to Facebook application, but it is specially designed for mobile devices. 3.2 Journal Mode of SQLite In SQLite, there are generally four types of mode that provide different way to transaction that are[19]: Facebook GUI Rollback journal(delete mode) Truncate Mode SQLite Persist Mode Write ahead logging(wal) Let us discuss how transaction mode work when an application want to insert the data to SD card or internal memory (emmc). Rollback journal is the default recovery mechanism[26] Rollback Journal EXT4 file system emmc as internal memory Figure 3.3: Component require for Facebook application In SQLite, when the process want to change the database file, it first creates a separate 17

23 rollback journal file and writes the original content of the database pages that are to be altered into the rollback journal file. It contains a header that records the original size of the database file. So if a change causes the database file to grow, we will still know the original size of the database. The page number is Figure 3.4: Roolback Journal of SQLite[7] stored together with each database page that is written into the rollback journal. After the original page content has been saved in the rollback journal, the pages can be modified in user memory. Before making changes to the database file itself, we must obtain an exclusive lock on the database file. Once an exclusive lock is held, we know that no other processes are reading from the database file, and it is safe to write changes into the database file. Usually those changes affect operating systems disk cache, and not the mass storage. Another flush must occur to make sure that all the database changes are written into nonvolatile storage. After the database changes are all safely completed on the mass storage device, the rollback journal file is deleted which is as shown in figure Truncate Journaling Mode This is same as Rollback Journal mode, but instead of deleting the rollback journal file, it simply erases[27]. In this method, we can save the meta-data creation time. 18

24 3.2.3 Persist Mode Persist mode does not delete the journal file after committing. Instead, the header of the journal is overwritten with zeros. This will prevent other database connections from rolling. This is useful when deleting or truncating is much expensive than overriding[27] Write-Ahead Log(WAL) Mode The traditional rollback journal works by writing a copy of the original unchanged database content into a separate rollback journal file and then writing changes directly into the database file[26]. In the event of a crash or rollback journal, the original content contained in the rollback journal is played back into the database file to revert the database file to its original state. The COMMIT occurs when the rollback journal is deleted. The WAL approach inverts this. The original content is preserved in the database file and the changes are appended into a separate WAL file. A COMMIT occurs when a special record indicating a commit is appended to the WAL. Thus a COMMIT can happen without ever writing to the original database, which allows readers to continue operating from the original unaltered database while changes are simultaneously being committed into the WAL. Multiple transactions can be appended to the end of a single WAL file. Advantages: WAL is significantly faster in most scenarios WAL provides more concurrency as readers do not block writers and vice versa. Reading and writing can proceed concurrently Disk I/O operations tends to be more sequential using WAL WAL uses fewer fsync() operations and is thus less vulnerable to problems on systems where the fsync() system call is broken In this chapter, we have discussed Android framework and how an Android apps use SQLite. We have also discussed the various transaction modes of SQLite and its performance. Next chapter, we will discuss Mobibench and testing on Aakash Tablet. 19

25 Chapter 4 MobiBench and Aakash Tablet Specifications 4.1 Overview of MobiBench MobiBench is also called workload generator. It is implemented in two different versions. First one is shell application and second one is Android application. MobiBench provides similar environment to smart-phones, to create the workload and measure ability to execute the number of transactions per second[24]. There are three types of menu button available in MobiBench for users. Figure 4.1: Over all view of MobiBench[5] Measure Tab In mobile device, there are two types of operations, i.e., database and file operation. MobiBench is able to measure both types of operations by generating the real kind of load. Figure 4.1 show the available option for user. We have four buttons that are: 20

26 ALL : While clicking the ALL button, MobiBench generate the two types of operation, i.e., File IO and SQLite simultaneously. It will give the result as transactions per second. File IO : While clicking the File IO button, it generates the only file types of load such as read and write and give the result as KB/s or IOPS. SQLite : While clicking the SQLite button, it generates the query of insert, update, and delete operations and gives the result as transactions per second. Performance of SQLite also depends on PRAGRMA options, e.g., synchronous mode or journal mode. It generates three results, i.e., throughput, CPU utilization, and number of context switches. Units of throughput in SQLite operation is transactions per second. Custom : It runs only those set of tests that user choose from the Setting tab. Generally this button customizes the test History Tab Figure 4.2: Setting tab[5] History tab keeps the record of previous runs of benchmarks. Whenever we click the record, it will show the result from database Setting Tab Figure 4.2 shows setting tab. In this tab, we can select various operations of file IO and SQLite transaction. In file IO, we have following options: Sequential writes Sequential read Random write 21

27 Random read In SQLite, we have following options: Insert Update Delete It also provides us options to change partition, number of threads in a benchmark, IO size, File size, IO modes, number of transaction, and journal modes of database. Partition : Changes target partition of the device from /data to following partitions. /data : /data partition of internal storage. /sdcard: /sdcard partition of internal storage. /extsdcard: /extsdcard partition of external storage. Number of Threads : Default mode runs in single thread and it allows to increase the number up to 100 threads Custom check box : Using check box, user can select specific tests in File IO and SQLite benchmarks. File size: Default file size for write and read is 1MB and 32MB, respectively, but we can change accordingly as we want. IO Size : Changes the size of IO issued in File IO benchmark. Default size is 4KB. Mode (File IO) : Changes synchronization mode for File IO benchmark. Default mode run in O DIRECT mode. As we can change modes available are as follows: Normal : Buffered IO O SYNC : Synchronous IO sync : SQLite use to flush the data via sync () system call. O DIRECT : Direct IO mmap : mmaps creates file to virtual address space. Then, the program copies the specified size record, e.g., 4KB, to the mmaped memory region. Upon completing copy of all memory copy, this mode flushes file through msync() to storage device. Transaction (SQLite) : We can set number of SQL transaction, where default number of transactions is 100. Maximum number of transaction is 1, SQLite Journal : We can Change SQLite journal mode. Default mode of SQLite is Truncate mode. We have other mode also, i.e., WAL, Delete mode, Persist mode, Memory mode, and OFF mode. We can select one among them. 22

28 4.2 Aakash Tablet Specification Aakash tablet is low cost tablet, it is specially designed to enhance the learning and teaching skills of both student and teacher. The Indian Government has a vision to provide such products to all 220 million students across the country over the next few years[28]. The first version of Aakash tablet was launched in 2011 and second version of this tablet was launch in April, 2012[29]. Now, third version of Aakash tablet is expected to be launched in the near future. With its super specifications and incredibly low price, it will once again set new standards for tablet computers all over the world[28]. The following table shows the specification of second[30] and third version of Aakash tablet. Feature Aakash2 Aakash4 RAM 256 MB 512MB Processor 700 MHz Cortex A8 processor Cortex A7 Dual Core; 1.2 GHz Internal Storage 2GB 8GB Expandable Storage 8GB 32GB Camera Front facing Front VGA / Rear 2MP Battery 3200 mah (4 hours) 4000 mah Operating System Android Android Jelly Bean SIM calling No Yes As we know, Aakash4 is not available in market; we will measure the performance of Aakash2 using MobiBench in the next chapter. 23

29 Chapter 5 Test Result of MobiBench on Aakash Tablet 5.1 Testing Results on Aakash Tablet As we discussed the specification of Aakash2 and available features of Mobibench. In this chapter, we will measure the database performance of the Aakash tablet. In Mobibench, we No. of threads File size(w) (MB) FileSize(r) (MB) IO Size (kb) No. of transaction Jornalal Mode File Mode Truncate O Direct Table 5.1: Default setting of Mobibench have an option to choose the desire test cases to measure the performance, but we also have a default setting which has been shown in the table 5.1. Initially, I tested the overall performance of Aakash2 using default settings, whose results have been shown in figure 5.1 and test result of database is shown in figure Test Cases for SQLite As our aim is to know the database performance of Aakash2, we have to choose good test cases. Table 5.2 shows test cases for database testing. In this table, we choose three different modes of SQLite and also number of transactions, i.e., 100, 1000, and Mode of SQLite is already discussed in the Chapter 2 and based on test case which is on table 5.2, we will measure the performance of Aakash2 tablet Test Result Results of database testing on Aakash2 are shown in table 5.2. If we take the average of the insert, delete, and update of each journal mode of testing result, we will get the result which is shown in figure 5.3. From the results we can say that WAL mode is best for overall performance for database operations on Aakash2 and its performance is nearly same as persist mode. 24

30 Figure 5.1: Overall performance of Aakash2 Figure 5.2: Database performance of Aakash2 Test Cases No. of Threads No. of Transactions Journal Mode Delete Delete Delete Persist Persist Persist WAL WAL WAL Table 5.2: Test cases for SQLite 25

31 Test. Case Throughput of Insert Throughput of Update Throughput of Delete Table 5.3: Database Performance of Aakash2 Figure 5.3: Database performance of Aakash2 5.2 Battery consumption during testing I installed the batterychecker which is an Android application[31], that tells the battery status of Android device. During the testing of Aakash2, battery status was 51% and at the end of the test, battery status became 40%. As a result, we can say that battery consumption of database performance on Aakash2 using the given the test cases is approximate ly 11%. 26

32 Chapter 6 Modification Done in MobiBench 6.1 Source code Analysis of MobiBench In previous chapter, we saw the available features of MobiBench and tested results on Aakash Tablet. Before talking about possible enhancement on MobiBench, we will discuss the developer view of MobiBench and its behavior. I went through the source code; in Android version of MobiBench has three packages that are: Database : It has one Java class, i.e., NotesDbAdapter.java. That is for: Create the Database, i.e., MobiDB. Store the result after testing. MobiBench : It has 10 Java classes and used for even handling of the overall behavior. In this package, some Java classes are used for set the flag variable and used to call the JNI file, i.e., mobibench.c. ResultListControl : It has also 10 Java classes and it is used for show the result after the getting the result. In spite of this package, we have one mobibench.c in JNI folder. All the important function like, thread main db() and thread main(), implemented in mobibench.c. Whenever we need these functions, we call from Mobibench package. We can see the simple control flow graph of MobiBench in figure 6.1, it shows the overall control flow of MobiBench. As we are interested on database part, so we have to know the table schema used in MobiBench. It uses only one table for testing the database operation that is defined in mobibench.c and table schema show in figure 6.2. Whenever we want to measure the database performance, we have to call the thread main db() and the following activity happens inside the function. Insert : There is one macro variable define for insert string, i.e., #define INSERT STR aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjjjjjjjj. Whenever we want to measure the performance of insert transaction, INSERT STR will be inserted into the table using id as a primary key. 27

33 Figure 6.1: Control flow of MobiBench Figure 6.2: Default table schema Update : There is one macro variable define for update string, that is, #define UP- DATE STR ffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjjjjjjjjaaaaaaaaaabbbbbbbbbbccccccccccddddddddddeee Whenever we want to measure the performance of update transaction, its update the old string to UPDATE STR using primary key. Delete : It simply deletes all the tuples available from table. After this function, it calls the other function like CPU usage and gets the performance as a throughput. 28

34 Figure 6.3: system table schema Figure 6.4: Bowser history table schema Figure 6.5: WhatsApp table schema Possible Enhancement After analyzing the MobiBench, We got the following result: 29

35 MobiBench uses only one table and it has only three attributes. It has macro variable for inserts and updates operations. It does not perform any random string generation for inserting the data. Figure 6.6: Choose table Based on this result, we can say that MobiBench is very simple and not realistic. To make it more realistic, we can do the following possible enhancements. When we talk about the real application, there might be many tables for single application and might be many attribute for single table. To make more realistic, we can provide many table to users based on real life application s table. Based on this solution, I have added some tables in MobiBench, so that user can choose any one table for testing. 6.2 Modifications done to MobiBench Database In MobiBench Setting tab, I gave choose table option, that contains four table, that is shown in figure 6.6 and user can choose any one of them. The description of table is listed following: Default : Tt contains tblmylist table that is already existed in MobiBench and schema for this table shown in figure This is based on the real system, that we use in daily life, schema for this table is shown in figure 6.3. Browser history : For holding the history of browser, it contains well define schema that is shown in figure 6.4. WhatsApp : Table schema of WhatsApp is complex that is shown in figure

36 I have also added random string generation for insert and update operation, that will make the MobiBench more realistic. Whenever user will select a table, MoBiBench will set that table for testing. 31

37 Chapter 7 Test Result after Modification of MobiBench on Aakash tablet 7.1 Testing Result after changes As we know, we added three more tables related to real life applications, we will discuss each of the performance in Aakash2 using different modes of SQLite. Database Performance As we know, I have given the table chooser option in setting tabs. For database testing, I choose each table and performed those test cases that are defined in table 5.2. These are the test result, which is performed on Aakash2. Browser History : Table 7.1 shows browser history table performance result. Test. Case Throughput of Insert Throughput of Update Throughput of Delete Table 7.1: Database Performance of Browser History table in Aakash2 System : Table 7.2 shows the result of system of database operation. WhatsApp : Table 7.3 shows the result of WhatsApp performance 32

38 Test. Case Throughput of Insert Throughput of Update Throughput of Delete Table 7.2: Throughtput Result of system table in transaction/s Test. Case Throughtput of Insert Throughtput of Update Throughtput of Delete Table 7.3: Throughtput Result of WhatsApp table in transaction/s 7.2 Result When we take the average of the insert, update, and delete throughput of the resulted table, then we got the result graph of Browser history, system, and WhatsApp, that is shown in figure 7.1, 7.2, and 7.3 respectively 7.3 Battery consumption during testing During testing of the database performance of the given three table(i.e., Browser history, system, and WhatsApp), it consumed approximate 40% of battery of Aakash2. 33

39 Figure 7.1: Database performance of Browser table in Aakash2 Figure 7.2: Database performance of System in Aakash2 34

40 Figure 7.3: Database performance of WhatsApp in Aakash2 35

41 Chapter 8 Conclusion and Future Work 8.1 Conclusion With the tremendous increase in usage of smart-phones and not only for basic purposes such as calls, messages, but also for heavy applications like multimedia, games, social networking apps, etc. Due to such a high demand, now a days new applications are released every day. We analyzed the way Android application works and we found out that the performance of Android device depends on the performance of database, i.e., SQLite. There is a need to measure the Figure 8.1: Database performance using WAL mode performance of database for mobile devices. Based on this motivation, we studied monitoring tools for SQLite Database, i.e., MobiBench and we performed tests on Aakash2 tablet. We got the result that WAL journal mode gives best throughput among all the available modes on SQLite. When we studied the source code of MobiBench, we came to know that database model of 36

42 MobiBench is not realistic. For making it more realistic, we added three tables, i.e., Browser history, system, and WhatsApp and we gave an option to the user to choose a table, so that the user can choose one of the realistic base table to perform the testing. After modifying the MobiBench, we tested Aakash2 using each table, and we found out that WAL mode is the best among all journal modes. We can see the performance of different table in figure Future Work MobiBench uses only one table at a time for database testing. We can extend the following feature of MobiBench. We can add more tables related to a single database, so that a single transaction is required to access more than one table. We can give a file import option to the user, so that they can import their own table schema to perform any test. 37

43 References [1] Smartphone user in india., URL: accessed: April, 24, 2014]. [2] Architecture of berkeley db, URL: accessed: Sept, 29, 2013]. [3] Architecture of sqlite, URL: accessed: Sept, 29, 2013]. [4] Structure of androbench measure tab, URL: bench accessed: Oct, 2, 2013]. [5] Structure of androbench setting tab, URL: setting accessed: Oct, 2, 2013]. [6] Android framework. URL: accessed: April, 24, 2014]. [7] Roolback Journal. [Online; last accessed Oct, 12, 2013]. [8] Limitation of mobile device, URL: Wireless/2505.html[last accessed: Oct, 2, 2013]. [9] H. Kim, N. Agrawal, and C. Ungureanu, Revisiting storage for smartphones., TOS, vol. 8, no. 4, p. 14, URL: accessed: Aug, 30, 2013]. [10] H. Kim, N. Agrawal, and C. Ungureanu, Revisiting storage for smartphones., TOS, vol. 8, no. 4, p. 14, URL: accessed: Aug, 30, 2013]. [11] Berkeley db, URL: overview/index.html[last accessed: Oct, 2, 2013]. [12] F. Wikipedia, Berkeley db, DB[last accessed: Sept, 29, 2013]. 38

44 [13] K. B. Michael A. Olson and M. Seltzer, Berkeley db, Proceedings of the FREENIX Track:1999 USENIX Annual Technical Conference, URL: papers/ olson/olson.pdf[last accessed: Sept, 29, 2013]. [14] Perst db, URL: accessed: Sept, 29, 2013]. [15] Mcobject releases perst vs. sqlite benchmark on android, URL: accessed: Sept, 29, 2013]. [16] Sqlite features., URL: accessed: April, 24, 2014]. [17] Sqlite, URL: accessed: Sept, 29, 2013]. [18] C.-H. Wu, T.-W. Kuo, and L.-P. Chang, An efficient b-tree layer implementation for flash-memory storage systems., ACM Trans. Embedded Comput. Syst., vol. 6, no. 3, URL: accessed: Aug, 30, 2013]. [19] journal in sqlite, URL: accessed: Sept, 29, 2013]. [20] Berkeley db vs. sqlite db, URL: accessed: Oct, 2, 2013]. [21] Synchronous io vs. buffered io, URL: /buffered-i-o-vs-unbuffered-io[last accessed: Oct, 2, 2013]. [22] B. of open source in storage, Iozone filesystem benchmark, URL: msword 98.pdf[last accessed: Sept, 29, 2013]. [23] J. H. S. L. Sooman Jeong, Kisung Lee and Y. Won, Androstep: Android storage performance analysis too, international/androstep.pdf[last accessed: Sept, 29, 2013]. [24] J.-M. Kim and J.-S. Kim, Androbench: Benchmarking the storage performance of android-based mobile devices., in ICFCE (S. Sambath and E. Zhu, eds.), vol. 133 of Advances in Soft Computing, pp , Springer, URL: accessed: AUG, ]. [25] I/o stack optimization for smartphones. s. jeong, k. lee, s. lee, s. son, and y. won ed. URL: sessions/presentation/jeong. [26] P. Patodi, Page Replacement Mechanism for Small Foot-Print Database in Android Devices URL: [27] Truncate journaling mode, URL: accessed: June, 10, 2014]. 39

45 [28] Aakash tablet Specifications. Last accessed:june 10, [29] Aakash tablet Specifications. Last accessed:june 10, tech-specifications-of-the-cheapest-tablet-pc-in-the-world. [30] Aakash 2 Specifications. Last accessed:june 10, tech-specifications-of-the-cheapest-tablet-pc-in-the-world. [31] Battery checker apps, URL: accessed: June, 10, 2014]. 40

Enhancement of Open Source Monitoring Tool for Small Footprint Databases

Enhancement of Open Source Monitoring Tool for Small Footprint Databases Enhancement of Open Source Monitoring Tool for Small Footprint Databases Dissertation Submitted in partial fulfillment of the requirements for the degree of Master of Technology in Computer Science and

More information

Enhancement of The Performance of Monitoring Tool. for Small Footprint Databases

Enhancement of The Performance of Monitoring Tool. for Small Footprint Databases 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

More information

Database Recovery Mechanism For Android Devices

Database Recovery Mechanism For Android Devices Database Recovery Mechanism For Android Devices Seminar Report Submitted in partial fulfillment of the requirements for the degree of Master of Technology by Raj Agrawal Roll No: 11305R004 Under the guidance

More information

Resolving Journaling of Journal Anomaly via Weaving Recovery Information into DB Page. Beomseok Nam

Resolving Journaling of Journal Anomaly via Weaving Recovery Information into DB Page. Beomseok Nam NVRAMOS 14 10.30. 2014 Resolving Journaling of Journal Anomaly via Weaving Recovery Information into DB Page Beomseok Nam UNIST Outline Motivation Journaling of Journal Anomaly How to resolve Journaling

More information

Creating and Using Databases for Android Applications

Creating and Using Databases for Android Applications Creating and Using Databases for Android Applications Sunguk Lee * 1 Research Institute of Industrial Science and Technology Pohang, Korea sunguk@rist.re.kr *Correspondent Author: Sunguk Lee* (sunguk@rist.re.kr)

More information

COS 318: Operating Systems

COS 318: Operating Systems COS 318: Operating Systems File Performance and Reliability Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Topics File buffer cache

More information

Flash-Friendly File System (F2FS)

Flash-Friendly File System (F2FS) Flash-Friendly File System (F2FS) Feb 22, 2013 Joo-Young Hwang (jooyoung.hwang@samsung.com) S/W Dev. Team, Memory Business, Samsung Electronics Co., Ltd. Agenda Introduction FTL Device Characteristics

More information

Distributed File Systems

Distributed File Systems Distributed File Systems Paul Krzyzanowski Rutgers University October 28, 2012 1 Introduction The classic network file systems we examined, NFS, CIFS, AFS, Coda, were designed as client-server applications.

More information

Outline. Failure Types

Outline. Failure Types Outline Database Management and Tuning Johann Gamper Free University of Bozen-Bolzano Faculty of Computer Science IDSE Unit 11 1 2 Conclusion Acknowledgements: The slides are provided by Nikolaus Augsten

More information

Database Hardware Selection Guidelines

Database Hardware Selection Guidelines Database Hardware Selection Guidelines BRUCE MOMJIAN Database servers have hardware requirements different from other infrastructure software, specifically unique demands on I/O and memory. This presentation

More information

Fast Transaction Logging for Smartphones

Fast Transaction Logging for Smartphones Abstract Fast Transaction Logging for Smartphones Hao Luo University of Nebraska, Lincoln Zhichao Yan University of Texas Arlington Mobile databases and key-value stores provide consistency and durability

More information

Plug-In for Informatica Guide

Plug-In for Informatica Guide HP Vertica Analytic Database Software Version: 7.0.x Document Release Date: 2/20/2015 Legal Notices Warranty The only warranties for HP products and services are set forth in the express warranty statements

More information

ICOM 6005 Database Management Systems Design. Dr. Manuel Rodríguez Martínez Electrical and Computer Engineering Department Lecture 2 August 23, 2001

ICOM 6005 Database Management Systems Design. Dr. Manuel Rodríguez Martínez Electrical and Computer Engineering Department Lecture 2 August 23, 2001 ICOM 6005 Database Management Systems Design Dr. Manuel Rodríguez Martínez Electrical and Computer Engineering Department Lecture 2 August 23, 2001 Readings Read Chapter 1 of text book ICOM 6005 Dr. Manuel

More information

Oracle Enterprise Manager

Oracle Enterprise Manager Oracle Enterprise Manager System Monitoring Plug-in for Oracle TimesTen In-Memory Database Installation Guide Release 11.2.1 E13081-02 June 2009 This document was first written and published in November

More information

Resolving Journaling of Journal Anomaly in Android I/O: Multi-Version B-tree with Lazy Split

Resolving Journaling of Journal Anomaly in Android I/O: Multi-Version B-tree with Lazy Split Resolving Journaling of Journal Anomaly in Android I/O: Multi-Version B-tree with Lazy Split Wook-Hee Kim and Beomseok Nam, Ulsan National Institute of Science and Technology; Dongil Park and Youjip Won,

More information

Computer Engineering and Systems Group Electrical and Computer Engineering SCMFS: A File System for Storage Class Memory

Computer Engineering and Systems Group Electrical and Computer Engineering SCMFS: A File System for Storage Class Memory SCMFS: A File System for Storage Class Memory Xiaojian Wu, Narasimha Reddy Texas A&M University What is SCM? Storage Class Memory Byte-addressable, like DRAM Non-volatile, persistent storage Example: Phase

More information

DMS Performance Tuning Guide for SQL Server

DMS Performance Tuning Guide for SQL Server DMS Performance Tuning Guide for SQL Server Rev: February 13, 2014 Sitecore CMS 6.5 DMS Performance Tuning Guide for SQL Server A system administrator's guide to optimizing the performance of Sitecore

More information

A Comparative Study on Vega-HTTP & Popular Open-source Web-servers

A Comparative Study on Vega-HTTP & Popular Open-source Web-servers A Comparative Study on Vega-HTTP & Popular Open-source Web-servers Happiest People. Happiest Customers Contents Abstract... 3 Introduction... 3 Performance Comparison... 4 Architecture... 5 Diagram...

More information

Running a Workflow on a PowerCenter Grid

Running a Workflow on a PowerCenter Grid Running a Workflow on a PowerCenter Grid 2010-2014 Informatica Corporation. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording or otherwise)

More information

Performance Characteristics of VMFS and RDM VMware ESX Server 3.0.1

Performance Characteristics of VMFS and RDM VMware ESX Server 3.0.1 Performance Study Performance Characteristics of and RDM VMware ESX Server 3.0.1 VMware ESX Server offers three choices for managing disk access in a virtual machine VMware Virtual Machine File System

More information

Virtuoso and Database Scalability

Virtuoso and Database Scalability Virtuoso and Database Scalability By Orri Erling Table of Contents Abstract Metrics Results Transaction Throughput Initializing 40 warehouses Serial Read Test Conditions Analysis Working Set Effect of

More information

Cloud Computing at Google. Architecture

Cloud Computing at Google. Architecture Cloud Computing at Google Google File System Web Systems and Algorithms Google Chris Brooks Department of Computer Science University of San Francisco Google has developed a layered system to handle webscale

More information

DIABLO TECHNOLOGIES MEMORY CHANNEL STORAGE AND VMWARE VIRTUAL SAN : VDI ACCELERATION

DIABLO TECHNOLOGIES MEMORY CHANNEL STORAGE AND VMWARE VIRTUAL SAN : VDI ACCELERATION DIABLO TECHNOLOGIES MEMORY CHANNEL STORAGE AND VMWARE VIRTUAL SAN : VDI ACCELERATION A DIABLO WHITE PAPER AUGUST 2014 Ricky Trigalo Director of Business Development Virtualization, Diablo Technologies

More information

Tips and Tricks for Using Oracle TimesTen In-Memory Database in the Application Tier

Tips and Tricks for Using Oracle TimesTen In-Memory Database in the Application Tier Tips and Tricks for Using Oracle TimesTen In-Memory Database in the Application Tier Simon Law TimesTen Product Manager, Oracle Meet The Experts: Andy Yao TimesTen Product Manager, Oracle Gagan Singh Senior

More information

CSE 544 Principles of Database Management Systems. Magdalena Balazinska Fall 2007 Lecture 5 - DBMS Architecture

CSE 544 Principles of Database Management Systems. Magdalena Balazinska Fall 2007 Lecture 5 - DBMS Architecture CSE 544 Principles of Database Management Systems Magdalena Balazinska Fall 2007 Lecture 5 - DBMS Architecture References Anatomy of a database system. J. Hellerstein and M. Stonebraker. In Red Book (4th

More information

Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat

Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat Why Computers Are Getting Slower The traditional approach better performance Why computers are

More information

Fjord: Informed Storage Management for Smartphones

Fjord: Informed Storage Management for Smartphones Fjord: Informed Storage Management for Smartphones Hyojun Kim IBM Research California, USA Email: hyojun@us.ibm.com Umakishore Ramachandran Georgia Institute of Technology Georgia, USA Email: rama@cc.gatech.edu

More information

A Data De-duplication Access Framework for Solid State Drives

A Data De-duplication Access Framework for Solid State Drives JOURNAL OF INFORMATION SCIENCE AND ENGINEERING 28, 941-954 (2012) A Data De-duplication Access Framework for Solid State Drives Department of Electronic Engineering National Taiwan University of Science

More information

Technology in Action. Alan Evans Kendall Martin Mary Anne Poatsy. Eleventh Edition. Copyright 2015 Pearson Education, Inc.

Technology in Action. Alan Evans Kendall Martin Mary Anne Poatsy. Eleventh Edition. Copyright 2015 Pearson Education, Inc. Technology in Action Alan Evans Kendall Martin Mary Anne Poatsy Eleventh Edition Technology in Action Chapter 4 System Software: The Operating System, Utility Programs, and File Management. Chapter Topics

More information

BeagleCache: A Low-Cost Caching Proxy for the Developing World

BeagleCache: A Low-Cost Caching Proxy for the Developing World : A Low-Cost Caching Proxy for the Developing World Dale Markowitz Princeton University damarkow@princeton.edu ABSTRACT The recent release of the BeagleBone Black (BBB) a $45 Linux computer the size of

More information

Data Management for Portable Media Players

Data Management for Portable Media Players Data Management for Portable Media Players Table of Contents Introduction...2 The New Role of Database...3 Design Considerations...3 Hardware Limitations...3 Value of a Lightweight Relational Database...4

More information

SQLite Optimization with Phase Change Memory for Mobile Applications

SQLite Optimization with Phase Change Memory for Mobile Applications SQLite Optimization with Phase Change Memory for Mobile Applications Gihwan Oh Sangchul Kim Sang-Won Lee Bongki Moon Sungkyunkwan University Suwon, 440-746, Korea {wurikiji,swlee}@skku.edu Seoul National

More information

ERserver. iseries. Work management

ERserver. iseries. Work management ERserver iseries Work management ERserver iseries Work management Copyright International Business Machines Corporation 1998, 2002. All rights reserved. US Government Users Restricted Rights Use, duplication

More information

Boost SQL Server Performance Buffer Pool Extensions & Delayed Durability

Boost SQL Server Performance Buffer Pool Extensions & Delayed Durability Boost SQL Server Performance Buffer Pool Extensions & Delayed Durability Manohar Punna President - SQLServerGeeks #509 Brisbane 2016 Agenda SQL Server Memory Buffer Pool Extensions Delayed Durability Analysis

More information

Speeding Up Cloud/Server Applications Using Flash Memory

Speeding Up Cloud/Server Applications Using Flash Memory Speeding Up Cloud/Server Applications Using Flash Memory Sudipta Sengupta Microsoft Research, Redmond, WA, USA Contains work that is joint with B. Debnath (Univ. of Minnesota) and J. Li (Microsoft Research,

More information

SharePoint 2010 Performance and Capacity Planning Best Practices

SharePoint 2010 Performance and Capacity Planning Best Practices Information Technology Solutions SharePoint 2010 Performance and Capacity Planning Best Practices Eric Shupps SharePoint Server MVP About Information Me Technology Solutions SharePoint Server MVP President,

More information

Distributed File System. MCSN N. Tonellotto Complements of Distributed Enabling Platforms

Distributed File System. MCSN N. Tonellotto Complements of Distributed Enabling Platforms Distributed File System 1 How do we get data to the workers? NAS Compute Nodes SAN 2 Distributed File System Don t move data to workers move workers to the data! Store data on the local disks of nodes

More information

Asta Powerproject Enterprise

Asta Powerproject Enterprise Asta Powerproject Enterprise Overview and System Requirements Guide Asta Development plc Kingston House Goodsons Mews Wellington Street Thame Oxfordshire OX9 3BX United Kingdom Tel: +44 (0)1844 261700

More information

Mobile App Testing Guide. Basics of Mobile App Testing

Mobile App Testing Guide. Basics of Mobile App Testing 2015 Mobile App Testing Guide Basics of Mobile App Testing Introduction Technology is on peek, where each and every day we set a new benchmark. Those days are gone when computers were just a machine and

More information

Cloud Based Application Architectures using Smart Computing

Cloud Based Application Architectures using Smart Computing Cloud Based Application Architectures using Smart Computing How to Use this Guide Joyent Smart Technology represents a sophisticated evolution in cloud computing infrastructure. Most cloud computing products

More information

Recovery Protocols For Flash File Systems

Recovery Protocols For Flash File Systems Recovery Protocols For Flash File Systems Ravi Tandon and Gautam Barua Indian Institute of Technology Guwahati, Department of Computer Science and Engineering, Guwahati - 781039, Assam, India {r.tandon}@alumni.iitg.ernet.in

More information

High Availability Solutions for the MariaDB and MySQL Database

High Availability Solutions for the MariaDB and MySQL Database High Availability Solutions for the MariaDB and MySQL Database 1 Introduction This paper introduces recommendations and some of the solutions used to create an availability or high availability environment

More information

A Deduplication File System & Course Review

A Deduplication File System & Course Review A Deduplication File System & Course Review Kai Li 12/13/12 Topics A Deduplication File System Review 12/13/12 2 Traditional Data Center Storage Hierarchy Clients Network Server SAN Storage Remote mirror

More information

Seeking Fast, Durable Data Management: A Database System and Persistent Storage Benchmark

Seeking Fast, Durable Data Management: A Database System and Persistent Storage Benchmark Seeking Fast, Durable Data Management: A Database System and Persistent Storage Benchmark In-memory database systems (IMDSs) eliminate much of the performance latency associated with traditional on-disk

More information

Oracle BI EE Implementation on Netezza. Prepared by SureShot Strategies, Inc.

Oracle BI EE Implementation on Netezza. Prepared by SureShot Strategies, Inc. Oracle BI EE Implementation on Netezza Prepared by SureShot Strategies, Inc. The goal of this paper is to give an insight to Netezza architecture and implementation experience to strategize Oracle BI EE

More information

Store & Share Quick Start

Store & Share Quick Start Store & Share Quick Start What is Store & Share? Store & Share is a service that allows you to upload all of your content (documents, music, video, executable files) into a centralized cloud storage. You

More information

Mobile Operating Systems. Week I

Mobile Operating Systems. Week I Mobile Operating Systems Week I Overview Introduction Mobile Operating System Structure Mobile Operating System Platforms Java ME Platform Palm OS Symbian OS Linux OS Windows Mobile OS BlackBerry OS iphone

More information

Understanding the Performance of an X550 11-User Environment

Understanding the Performance of an X550 11-User Environment Understanding the Performance of an X550 11-User Environment Overview NComputing's desktop virtualization technology enables significantly lower computing costs by letting multiple users share a single

More information

Accelerating Enterprise Applications and Reducing TCO with SanDisk ZetaScale Software

Accelerating Enterprise Applications and Reducing TCO with SanDisk ZetaScale Software WHITEPAPER Accelerating Enterprise Applications and Reducing TCO with SanDisk ZetaScale Software SanDisk ZetaScale software unlocks the full benefits of flash for In-Memory Compute and NoSQL applications

More information

Load Manager Administrator s Guide For other guides in this document set, go to the Document Center

Load Manager Administrator s Guide For other guides in this document set, go to the Document Center Load Manager Administrator s Guide For other guides in this document set, go to the Document Center Load Manager for Citrix Presentation Server Citrix Presentation Server 4.5 for Windows Citrix Access

More information

Monitoring Databases on VMware

Monitoring Databases on VMware Monitoring Databases on VMware Ensure Optimum Performance with the Correct Metrics By Dean Richards, Manager, Sales Engineering Confio Software 4772 Walnut Street, Suite 100 Boulder, CO 80301 www.confio.com

More information

Red Hat Network Satellite Management and automation of your Red Hat Enterprise Linux environment

Red Hat Network Satellite Management and automation of your Red Hat Enterprise Linux environment Red Hat Network Satellite Management and automation of your Red Hat Enterprise Linux environment WHAT IS IT? Red Hat Network (RHN) Satellite server is an easy-to-use, advanced systems management platform

More information

BillQuick Web i Time and Expense User Guide

BillQuick Web i Time and Expense User Guide BillQuick Web i Time and Expense User Guide BQE Software Inc. 1852 Lomita Boulevard Lomita, California 90717 USA http://www.bqe.com Table of Contents INTRODUCTION TO BILLQUICK... 3 INTRODUCTION TO BILLQUICK

More information

Android Operating System

Android Operating System Prajakta S.Adsule Student-M.B.A.[I.T.] BharatiVidyapeeth Deemed University,Pune(india) praju_hiramani@yahoo.co.in Mob. No. 9850685985 Android Operating System Abstract- Android operating system is one

More information

Red Hat Satellite Management and automation of your Red Hat Enterprise Linux environment

Red Hat Satellite Management and automation of your Red Hat Enterprise Linux environment Red Hat Satellite Management and automation of your Red Hat Enterprise Linux environment WHAT IS IT? Red Hat Satellite server is an easy-to-use, advanced systems management platform for your Linux infrastructure.

More information

Benchmarking Cassandra on Violin

Benchmarking Cassandra on Violin Technical White Paper Report Technical Report Benchmarking Cassandra on Violin Accelerating Cassandra Performance and Reducing Read Latency With Violin Memory Flash-based Storage Arrays Version 1.0 Abstract

More information

Point of Sale 2015 Enterprise. Installation Guide

Point of Sale 2015 Enterprise. Installation Guide Point of Sale 2015 Enterprise Installation Guide Contents About this guide 3 System Requirements - Microsoft SQL Server 2008 R2 Express 3 System Requirements - POS Enterprise 2015 (Administrator) 3 System

More information

Boosting Database Batch workloads using Flash Memory SSDs

Boosting Database Batch workloads using Flash Memory SSDs Boosting Database Batch workloads using Flash Memory SSDs Won-Gill Oh and Sang-Won Lee School of Information and Communication Engineering SungKyunKwan University, 27334 2066, Seobu-Ro, Jangan-Gu, Suwon-Si,

More information

AIX NFS Client Performance Improvements for Databases on NAS

AIX NFS Client Performance Improvements for Databases on NAS AIX NFS Client Performance Improvements for Databases on NAS October 20, 2005 Sanjay Gulabani Sr. Performance Engineer Network Appliance, Inc. gulabani@netapp.com Diane Flemming Advisory Software Engineer

More information

Comparison of ITTIA DB and SQLite

Comparison of ITTIA DB and SQLite Comparison of ITTIA DB and SQLite Table of Contents 1.Overview...2 2.Performance Expectations...2 3.Standard SQL Benchmark...3 3.1.Test Environment...3 3.2.Test Methodology...4 3.2.1.Product Configuration...4

More information

Issues in Android on Mobile Platform and Their Resolution

Issues in Android on Mobile Platform and Their Resolution Issues in Android on Mobile Platform and Their Resolution 1 Monika A. Ganpate, 2 Dipika R. Shinde 1, 2 Institute of Management and Computer Studies, Thane (West), India, University of Mumbai, India Abstract:

More information

7.x Upgrade Instructions. 2015 Software Pursuits, Inc.

7.x Upgrade Instructions. 2015 Software Pursuits, Inc. 7.x Upgrade Instructions 2015 Table of Contents INTRODUCTION...2 SYSTEM REQUIREMENTS FOR SURESYNC 7...2 CONSIDERATIONS BEFORE UPGRADING...3 TERMINOLOGY CHANGES... 4 Relation Renamed to Job... 4 SPIAgent

More information

Violin: A Framework for Extensible Block-level Storage

Violin: A Framework for Extensible Block-level Storage Violin: A Framework for Extensible Block-level Storage Michail Flouris Dept. of Computer Science, University of Toronto, Canada flouris@cs.toronto.edu Angelos Bilas ICS-FORTH & University of Crete, Greece

More information

Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months

Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months Our program is a practical knowledge oriented program aimed at making innovative and attractive applications for mobile

More information

Mobile Operating Systems Lesson 05 Windows CE Part 1

Mobile Operating Systems Lesson 05 Windows CE Part 1 Mobile Operating Systems Lesson 05 Windows CE Part 1 Oxford University Press 2007. All rights reserved. 1 Windows CE A 32 bit OS from Microsoft Customized for each specific hardware and processor in order

More information

Facebook: Cassandra. Smruti R. Sarangi. Department of Computer Science Indian Institute of Technology New Delhi, India. Overview Design Evaluation

Facebook: Cassandra. Smruti R. Sarangi. Department of Computer Science Indian Institute of Technology New Delhi, India. Overview Design Evaluation Facebook: Cassandra Smruti R. Sarangi Department of Computer Science Indian Institute of Technology New Delhi, India Smruti R. Sarangi Leader Election 1/24 Outline 1 2 3 Smruti R. Sarangi Leader Election

More information

Example of Standard API

Example of Standard API 16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface

More information

Eucalyptus 3.4.2 User Console Guide

Eucalyptus 3.4.2 User Console Guide Eucalyptus 3.4.2 User Console Guide 2014-02-23 Eucalyptus Systems Eucalyptus Contents 2 Contents User Console Overview...4 Install the Eucalyptus User Console...5 Install on Centos / RHEL 6.3...5 Configure

More information

I-Motion SQL Server admin concerns

I-Motion SQL Server admin concerns I-Motion SQL Server admin concerns I-Motion SQL Server admin concerns Version Date Author Comments 4 2014-04-29 Rebrand 3 2011-07-12 Vincent MORIAUX Add Maintenance Plan tutorial appendix Add Recommended

More information

Whitepaper: performance of SqlBulkCopy

Whitepaper: performance of SqlBulkCopy We SOLVE COMPLEX PROBLEMS of DATA MODELING and DEVELOP TOOLS and solutions to let business perform best through data analysis Whitepaper: performance of SqlBulkCopy This whitepaper provides an analysis

More information

Optimizing Ext4 for Low Memory Environments

Optimizing Ext4 for Low Memory Environments Optimizing Ext4 for Low Memory Environments Theodore Ts'o November 7, 2012 Agenda Status of Ext4 Why do we care about Low Memory Environments: Cloud Computing Optimizing Ext4 for Low Memory Environments

More information

hybridfs: Integrating NAND Flash-Based SSD and HDD for Hybrid File System

hybridfs: Integrating NAND Flash-Based SSD and HDD for Hybrid File System hybridfs: Integrating NAND Flash-Based SSD and HDD for Hybrid File System Jinsun Suk and Jaechun No College of Electronics and Information Engineering Sejong University 98 Gunja-dong, Gwangjin-gu, Seoul

More information

Preparing a SQL Server for EmpowerID installation

Preparing a SQL Server for EmpowerID installation Preparing a SQL Server for EmpowerID installation By: Jamis Eichenauer Last Updated: October 7, 2014 Contents Hardware preparation... 3 Software preparation... 3 SQL Server preparation... 4 Full-Text Search

More information

Gladinet Cloud Backup V3.0 User Guide

Gladinet Cloud Backup V3.0 User Guide Gladinet Cloud Backup V3.0 User Guide Foreword The Gladinet User Guide gives step-by-step instructions for end users. Revision History Gladinet User Guide Date Description Version 8/20/2010 Draft Gladinet

More information

Performance And Scalability In Oracle9i And SQL Server 2000

Performance And Scalability In Oracle9i And SQL Server 2000 Performance And Scalability In Oracle9i And SQL Server 2000 Presented By : Phathisile Sibanda Supervisor : John Ebden 1 Presentation Overview Project Objectives Motivation -Why performance & Scalability

More information

Raima Database Manager Version 14.0 In-memory Database Engine

Raima Database Manager Version 14.0 In-memory Database Engine + Raima Database Manager Version 14.0 In-memory Database Engine By Jeffrey R. Parsons, Senior Engineer January 2016 Abstract Raima Database Manager (RDM) v14.0 contains an all new data storage engine optimized

More information

Azure VM Performance Considerations Running SQL Server

Azure VM Performance Considerations Running SQL Server Azure VM Performance Considerations Running SQL Server Your company logo here Vinod Kumar M @vinodk_sql http://blogs.extremeexperts.com Session Objectives And Takeaways Session Objective(s): Learn the

More information

Live Maps. for System Center Operations Manager 2007 R2 v6.2.1. Installation Guide

Live Maps. for System Center Operations Manager 2007 R2 v6.2.1. Installation Guide Live Maps for System Center Operations Manager 2007 R2 v6.2.1 Installation Guide CONTENTS Contents... 2 Introduction... 4 About This Guide... 4 Supported Products... 4 Understanding Live Maps... 4 Live

More information

MyISAM Default Storage Engine before MySQL 5.5 Table level locking Small footprint on disk Read Only during backups GIS and FTS indexing Copyright 2014, Oracle and/or its affiliates. All rights reserved.

More information

Challenges in Android Application Development: A Case Study

Challenges in Android Application Development: A Case Study Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 4, Issue. 5, May 2015, pg.294

More information

Planning Domain Controller Capacity

Planning Domain Controller Capacity C H A P T E R 4 Planning Domain Controller Capacity Planning domain controller capacity helps you determine the appropriate number of domain controllers to place in each domain that is represented in a

More information

Synchronizer Installation

Synchronizer Installation Synchronizer Installation Synchronizer Installation Synchronizer Installation This document provides instructions for installing Synchronizer. Synchronizer performs all the administrative tasks for XenClient

More information

In Memory Accelerator for MongoDB

In Memory Accelerator for MongoDB In Memory Accelerator for MongoDB Yakov Zhdanov, Director R&D GridGain Systems GridGain: In Memory Computing Leader 5 years in production 100s of customers & users Starts every 10 secs worldwide Over 15,000,000

More information

Parallels Cloud Server 6.0

Parallels Cloud Server 6.0 Parallels Cloud Server 6.0 Parallels Cloud Storage I/O Benchmarking Guide September 05, 2014 Copyright 1999-2014 Parallels IP Holdings GmbH and its affiliates. All rights reserved. Parallels IP Holdings

More information

Cisco UCS and Fusion- io take Big Data workloads to extreme performance in a small footprint: A case study with Oracle NoSQL database

Cisco UCS and Fusion- io take Big Data workloads to extreme performance in a small footprint: A case study with Oracle NoSQL database Cisco UCS and Fusion- io take Big Data workloads to extreme performance in a small footprint: A case study with Oracle NoSQL database Built up on Cisco s big data common platform architecture (CPA), a

More information

Contents Introduction... 5 Deployment Considerations... 9 Deployment Architectures... 11

Contents Introduction... 5 Deployment Considerations... 9 Deployment Architectures... 11 Oracle Primavera Contract Management 14.1 Sizing Guide July 2014 Contents Introduction... 5 Contract Management Database Server... 5 Requirements of the Contract Management Web and Application Servers...

More information

SeeTec ExpansionPackage

SeeTec ExpansionPackage SeeTec ExpansionPackage Contents Contents 1 SeeTec WebClient...1 1.1 System requirements... 2 1.1.1 Server requirements for Apache HTTP Server, SeeTec TranscodingEngine (STE) and SeeTec ApplicationGateway

More information

Android 5.0: Lollipop OS

Android 5.0: Lollipop OS IJISET - International Journal of Innovative Science, Engineering & Technology, Vol. 2 Issue 6, June 2015. www.ijiset.com Android 5.0: Lollipop OS ISSN 2348 7968 Meenakshi M.Tech Student, Department of

More information

Workflow Templates Library

Workflow Templates Library Workflow s Library Table of Contents Intro... 2 Active Directory... 3 Application... 5 Cisco... 7 Database... 8 Excel Automation... 9 Files and Folders... 10 FTP Tasks... 13 Incident Management... 14 Security

More information

FileMaker Server 7. Administrator s Guide. For Windows and Mac OS

FileMaker Server 7. Administrator s Guide. For Windows and Mac OS FileMaker Server 7 Administrator s Guide For Windows and Mac OS 1994-2004, FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark

More information

File Systems for Flash Memories. Marcela Zuluaga Sebastian Isaza Dante Rodriguez

File Systems for Flash Memories. Marcela Zuluaga Sebastian Isaza Dante Rodriguez File Systems for Flash Memories Marcela Zuluaga Sebastian Isaza Dante Rodriguez Outline Introduction to Flash Memories Introduction to File Systems File Systems for Flash Memories YAFFS (Yet Another Flash

More information

XenClient Enterprise Synchronizer Installation Guide

XenClient Enterprise Synchronizer Installation Guide XenClient Enterprise Synchronizer Installation Guide Version 5.1.0 March 26, 2014 Table of Contents About this Guide...3 Hardware, Software and Browser Requirements...3 BIOS Settings...4 Adding Hyper-V

More information

MAGENTO HOSTING Progressive Server Performance Improvements

MAGENTO HOSTING Progressive Server Performance Improvements MAGENTO HOSTING Progressive Server Performance Improvements Simple Helix, LLC 4092 Memorial Parkway Ste 202 Huntsville, AL 35802 sales@simplehelix.com 1.866.963.0424 www.simplehelix.com 2 Table of Contents

More information

Lecture 09 Data Storage

Lecture 09 Data Storage Lecture Overview Lecture 09 Data Storage HIT3328 / HIT8328 Software Development for Mobile Devices Dr. Rajesh Vasa, 2011 Twitter: @rvasa Blog: http://rvasa.blogspot.com 1 2 Mobile devices have a specialization

More information

On Benchmarking Popular File Systems

On Benchmarking Popular File Systems On Benchmarking Popular File Systems Matti Vanninen James Z. Wang Department of Computer Science Clemson University, Clemson, SC 2963 Emails: {mvannin, jzwang}@cs.clemson.edu Abstract In recent years,

More information

Offloading file search operation for performance improvement of smart phones

Offloading file search operation for performance improvement of smart phones Offloading file search operation for performance improvement of smart phones Ashutosh Jain mcs112566@cse.iitd.ac.in Vigya Sharma mcs112564@cse.iitd.ac.in Shehbaz Jaffer mcs112578@cse.iitd.ac.in Kolin Paul

More information

Evaluating HDFS I/O Performance on Virtualized Systems

Evaluating HDFS I/O Performance on Virtualized Systems Evaluating HDFS I/O Performance on Virtualized Systems Xin Tang xtang@cs.wisc.edu University of Wisconsin-Madison Department of Computer Sciences Abstract Hadoop as a Service (HaaS) has received increasing

More information

LTFS for Microsoft Windows User Guide

LTFS for Microsoft Windows User Guide LTFS for Microsoft Windows User Guide Abstract This guide provides information about LTFS for Microsoft Windows, which is an implementation of the Linear Tape File System (LTFS) to present an LTO-5 or

More information

Multi-level Metadata Management Scheme for Cloud Storage System

Multi-level Metadata Management Scheme for Cloud Storage System , pp.231-240 http://dx.doi.org/10.14257/ijmue.2014.9.1.22 Multi-level Metadata Management Scheme for Cloud Storage System Jin San Kong 1, Min Ja Kim 2, Wan Yeon Lee 3, Chuck Yoo 2 and Young Woong Ko 1

More information

Performance Navigator Installation

Performance Navigator Installation Midrange Performance Group / Performance Navigator Business Partner Installation / SOS / Capacity Planning Guide Aug 1, 2011 Overview Performance Navigator provides three main functions for the IBM i platform:

More information