+ All Categories
Home > Documents > Large Scale Multimedia Messaging Service Center with...

Large Scale Multimedia Messaging Service Center with...

Date post: 17-Mar-2020
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
98
IT 12 056 Examensarbete 30 hp November 2012 Large Scale Multimedia Messaging Service Center with Optimized Database Implementation Erdem Aksu Institutionen för informationsteknologi Department of Information Technology
Transcript
Page 1: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

IT 12 056

Examensarbete 30 hpNovember 2012

Large Scale Multimedia Messaging Service Center with Optimized Database Implementation

Erdem Aksu

Institutionen för informationsteknologiDepartment of Information Technology

Page 2: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized
Page 3: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

Teknisk- naturvetenskaplig fakultet UTH-enheten Besöksadress: Ångströmlaboratoriet Lägerhyddsvägen 1 Hus 4, Plan 0 Postadress: Box 536 751 21 Uppsala Telefon: 018 – 471 30 03 Telefax: 018 – 471 30 00 Hemsida: http://www.teknat.uu.se/student

Abstract

Large Scale Multimedia Messaging Service Center withOptimized Database Implementation

Erdem Aksu

The standardization forum 3GPP has specified Multimedia Messaging Service (MMS)standard including an MMS Relay-Server that allows users to send and receivemessages including multimedia contents like text, images, audio and video. A largescale Multimedia Message Service Relay-Server implementation needs an efficientdatabase solution. The database should be able to support storage and manipulationof data for millions of transactions. Consistency and availability should be ensuredunder heavy traffic load to prevent data losses and service delays. In this thesis, Ipresent the implementation and extended evaluation of a store and forwardmechanism for messages kept in MMS Server and I propose a solution to use BerkeleyDB as a back-end to Mnesia DBMS to achieve higher storage efficiency. I show that itis feasible to replace database back-end of Mnesia with Berkeley DB while keepingtransparency to application level and having an efficient message store in terms ofhigher throughput under heavy traffic.

Tryckt av: Reprocentralen ITC

Sponsor: Mobile Arts ABIT 12 056Examinator: Lisa KaatiÄmnesgranskare: Tore RischHandledare: Martin Kjellin

Page 4: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

ii

Page 5: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

Preface

I would like to address special thanks to my advisor, Martin Kjellin for his support, ad-vice and attentive guidance throughout this thesis work. I also would like to thank LarsKari for being a valuable source of ideas and for his insightful comments that helped meaccomplish this thesis. I would like to express my gratitude to Tore Risch, my reviewer atUppsala University, for reviewing my work and sharing his worthwhile opinions and also toLisa Kaati, my examiner at Uppsala University, for her invaluable guidance that helped mecomplete this work. Furthermore, I would like to express my thanks to all my colleaguesin Mobile Arts for their assistance, motivation and the opportunity they gave me to workon this thesis. Finally, my warmhearted thanks go to my adored mother and father. Theirlove and valuable support gave me the highest motivation and courage to achieve my goal.I am grateful to all people who supported me. Without their help, it would not have beenpossible to successfully complete this study.

iii

Page 6: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

iv

Page 7: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

Contents

1 Introduction 1

1.1 Motivation and Problem Statement . . . . . . . . . . . . . . . . . . . . . . 11.2 Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 MMSC Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.4 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.5 Alternative Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.6 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.7 Thesis Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2 Background 9

2.1 Erlang/OTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2 Mnesia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3 Berkeley DB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.4 Port Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.5 Multimedia Message Service (MMS) . . . . . . . . . . . . . . . . . . . . . 122.6 Store and Forward . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.7 MA Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.8 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3 Design and Implementation 19

3.1 Transparency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.2 Abstraction Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.3 Berkeley DB - Dets Interface . . . . . . . . . . . . . . . . . . . . . . . . . 213.4 MMSC Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.4.1 MMSC Front-End . . . . . . . . . . . . . . . . . . . . . . . . . . 243.4.2 MMSC Back-End . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4 Evaluation 35

4.1 Test Platform Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.2 Functional Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.2.1 Functions of Mnesia Exports . . . . . . . . . . . . . . . . . . . . . 364.2.2 Functions of System Components . . . . . . . . . . . . . . . . . . 36

4.3 Performance Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

v

Page 8: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

4.3.1 mnesia meter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.3.2 mnesia tpcb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5 Conclusions and Future work 45

5.1 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Appendices 51

A DB Driver Implementation 51

A.1 Erl driver Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51A.2 BDB Library Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

B TPC-B Test Outputs 55

B.1 TPC-B on BDB Back-End . . . . . . . . . . . . . . . . . . . . . . . . . . 55B.2 TPC-B on DETS Back-End . . . . . . . . . . . . . . . . . . . . . . . . . . 71

vi

Page 9: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

List of Figures

2.1 Supervision Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2 Implementation of MMSM Interface Using WAP Gateway [4] . . . . . . . 13

2.3 Implementation of MMSM Interface Using HTTP Based Protocol Stack [4] 13

2.4 Example MMS Transaction Flow . . . . . . . . . . . . . . . . . . . . . . . 14

3.1 Dets Table States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.2 BDB-Erlang Communication . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.3 Transaction Call Flow of MMS . . . . . . . . . . . . . . . . . . . . . . . . 23

3.4 Data Flow Diagram of MMSC . . . . . . . . . . . . . . . . . . . . . . . . 24

3.5 Entity Relationship between mmsc subscriber and mmsc profile . . . . . . 26

3.6 MMSC Back-End Modules and Interactions . . . . . . . . . . . . . . . . . 28

3.7 MM Notification Module State Machine . . . . . . . . . . . . . . . . . . . 34

4.1 Test Environment Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.2 Column Chart for mnesia meter Results . . . . . . . . . . . . . . . . . . . 40

4.3 Column Chart for mnesia tpcb Results . . . . . . . . . . . . . . . . . . . . 43

vii

Page 10: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

viii

Page 11: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

List of Abbreviations

BDB Berkeley DB

ESME External Short Messaging Entity

GSM Global System for Mobile Communications

IMSI International Mobile Subscriber Identity

MA Mobile Arts

MM Multimedia Message

MMS Multimedia Message Service

MMSC Multimedia Message Service Center

MSISDN Mobile Subscriber ISDN Number

SMS Short Message Service

ix

Page 12: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

x

Page 13: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

Chapter 1

Introduction

As capabilities of mobile networks and mobile phones evolve, demand on services pro-vided by telecommunication systems increase. Increasing demands makes services to beprovided to rapidly growing number of users. Multimedia Messaging Service is a popularand ubiquitous service provided by mobile operators widely around the world. The stan-dardization forum 3GPP specified Multimedia Message Service (MMS) [6, 7] which allowsto interchange a set of media types including text, image, audio, video and possible futureformats of media, between service users. Likewise Short Message Service (SMS), MMSprovides a non real-time service which does not require the realtime delivery of messagesto recipients. Since the terminals of MMS are mobile phones, these devices might be turnedof or they might lack signal reception and this aspect leads to other needs of mechanismsto deliver messages, one of which brings the requirement to store multimedia messagesbefore delivery. This thesis work studies possible approaches to come up with an efficientstorage mechanism that is going to be applied on a combined implementation of MMSRelay-Server where MMS Relay functionality implemented on the front-end and supportsservices like interaction with MMS Clients and messaging activities with other availablemessaging services, whereas MMS Server functionality implemented on the back-end thatprovides storage services for MM messages.

1.1 Motivation and Problem Statement

Scalability in telecommunication systems is a significant aspect since the number of usersof a service can grow arbitrarily. While number of users of a system differs from opera-tor to operator, various parameters like population of service areas, culture, economy, legalregulations play important role on prevalence and popularity of the service. Efficiency isa key fact to achieve scalability of a system by increasing the throughput. An efficientMMS Relay-Server should handle incoming traffic by processing and transmitting mes-sages. Since transmission of messages are dependent on human interaction, under heavytraffic load, MMS Server requires persistent storage of messages. Furthermore, while pro-cessing messages, subscriber based information is required. Thus subscriber database is

1

Page 14: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

needed to keep user data. Having persistent storage requirements, database accesses ap-pears to be the bottleneck that affect the system throughput. Thus, system throughput ofMMS Relay-Server can be increased with an efficient storage back-end implementation.

The Multimedia Message Service Center (MMSC) presented in this work combinesMMS Relay and MMS Server and operates as a single entity. MMSC is is divided intotwo subordinate components and these components are referred as front-end and back-end.MMSC front-end and MMSC back-end undertakes MMS Relay and MMS Server function-alities, respectively. A subscriber database for MMSC is not needed to be developed fromscratch but the data model should be designed and implemented using an existing commer-cial implementation of subscriber database framework which was provided to me by thecompany Mobile Arts AB which supported and supervised this work. On the other hand,for handling transmission of multimedia messages (MMs), new mechanism needed to bedeveloped for storing and forwarding. Although MMS is a non real-time messaging ser-vice like SMS, MMS comes with a significantly different delivery mechanism than SMS.A subordinate application under MMSC back-end needs to be developed to implement thisdelivery mechanism. This application requires an efficient database implementation and itshould be based on persistent copies. Since the time between arrival and delivery of a MMis arbitrary, MMSC has to keep the MM without causing cumulative delays under contin-uous traffic. Persistent storage options brings overhead of disk access but disks providerequired space to store large amounts of data. To achieve efficiency, I investigate the per-sistent storage options that can ensure consistency for MMSC back-end.

To carry out this thesis work, Erlang/OTP is chosen as development platform. Erlangpackages comes with Open Telecom Platform (OTP) which includes Mnesia DBMS whichmakes Mnesia ready to use by system developers since it does not require any integra-tion using external interfaces. Thus, I focus on persistent storage options of Mnesia DBMS.Mnesia provides non-relational, key/value database service to Erlang developers which alsobrings possibility to choose which physical storage media to be used. Mnesia supports twokinds of disk and one memory based storage options. For any replica of the table on anygiven Erlang Run-Time System, that is called a ”node” in OTP context, the storage type isdefined by providing type and node list as an option to table creation function of Mnesia.Possible options are disc copies, disc only copies and ram copies. For persistent storage,Mnesia offers disc copies option which is based on logging facility provided in OTP anddisc only copies option which uses disk based term storage module Dets.

Mnesia disc copies option dumps the logs directly to disk but it keeps all off the dataalso in memory and always read from memory. Thus disc copies option is much faster thandisc only copies but limits the database size to available memory of the system. To writeto and read from disk I needed to use disc only copies option which uses Dets tables.

Dets module, that is used to implement disc only copies in Mnesia, provides a key-value storage of Erlang data types by writing into DAT files on disk. A Dets table is a

2

Page 15: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

Mnesia Storage OptionsStorage Type Back-End Medium Pros & Cons

ram copies ets Memory + Fast data access- Copies are not persistent

disc copies disk log Read & Write on Memory+ Fast Read/Write

Dump on Disc+ Persistent copies- DB Table size limited withavailable memory

disc only copies dets Disc

+ Persistent Copies- Limited DB Table Size- Long Repair Time- Performance over ConsistencyTrade-off

Table 1.1: Mnesia Storage Options

collection of a Erlang data type kind which are called tuples. Tuples constitute a data typewith arbitrary number of other data types. A record in a dets table is defined by a specifiedelement in the tuple. The file size for Dets tables are limited to 2GB (4GB with 32 bitinteger file offset [8]) and Mnesia offers table fragmentation in case of larger storage needs.Table fragmentation allows a table to be spitted into specified number of parts. Table useraccesses a fragmented table with the access module ”mnesia frag” which computes hashvalue from record key and finds the right fragment to read. Then table access is done asusual on specified fragment. Dets tables must be opened first to perform any operation on,and should be closed properly. In case of an abnormal erlang runtime system termination,Dets table will not be closed properly, then Dets module will automatically repair the tablewhich will take significant amount of time [11]. It is stated that Dets tables must be openedwith disabling automatic repair functionality, if not, Mnesia may assume tables were closedproperly [9], hence skip repairing the corrupted disc files. Dets uses a buddy algorithm toallocate spaces in the Dets file and keeps the space allocation scheme in memory. Since thisdata structure will be lost if erlang virtual machine crashes, one reason for long repair timeis to build up space allocation scheme of the disc file into memory during system recovery.

While using dets tables for storing MMs in store and forward mechanism, data will beinserted and deleted for every traffic case. One expected drawback is the internal fragmen-tation in allocation scheme to grow when using the buddy algorithm, unlike in case of adynamic allocation algorithm. Growth of this internal fragmentation will result in a largermemory allocation scheme kept in the memory.

Decision between ensured consistency or performance left to system designers byMnesia through configuration options. Dets usage in Mnesia can be configured to selectstrategy for data dumps. Mnesia can dump transactions directly to disk to improveperformance, but system failures may result in data inconsistency. On the other hand

3

Page 16: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

temporary transaction logs can be used to dump transactions to prevent inconsistency, butthis strategy reduces dump speed. Mnesia configuration of MMSC uses dump log in placestrategy, which is also default behavior of dets tables.

1.2 Method

In this work I propose an efficient database solution for MMSC by replacing mnesiaback-end, so MMSC back-end can use an alternative medium for storage while mnesiafront-end kept without any change. This solution gives the chance to test MMSC both withcurrent mnesia back-end and with newly developed back-end without changing MMSCimplementation. As investigated above the target back-end to replace is Dets module.In this section, I analyze how to integrate new back-end to Mnesia and what databasesystem to replace Dets. To keep the current mnesia front-end, options to use other databasemanagement systems with alternative erlang interfaces defined specifically for thosesystems is not viable to reach my goal mostly because interfaces bring extra overhead.Interfacing an external DBMS can be the bottleneck of database accesses

The interface to selected database should be placed to a single position so mnesiacan perform calls to to such interface to perform operations. Mnesia functions uses detsmodule’s callbacks to perform consistent storage operations. One idea is to replace detscalls with new back-end’s interface module. Drawback of this approach is that mnesia doesnot interface dets through one medium but mnesia modules uses dets callbacks directly.Instead of routing dets calls to another module or interface, it is more feasible to use samedets callback functions and route table operations inside dets. Dets module already offersa good framework to start with and callback functions were ready. Using current detsmodule, only modification needed is to redirect disc accesses to new back-end. Mnesiastarts the server in dets module which will handle database operations. By making changesin the server code, it is possible to keep all mnesia functionality and abstract new back-endfrom mnesia. Since the dets callbacks are also kept, any dets user will not notice anychange in behavior. With the changes, the server looping for any opened dets table willforward operations to the new back-end’s interface which will access to external database.

This newly introduced interface should map forwarded dets operations to externaldatabase operations. To ease mapping operation and be compatible to support similarbehavior, external database should support similar operations that dets support whichoperate on keys and values. For this reason a key-value store would be a much properselection than a relational database management system as the external back-end. There ismany key-value store database options offering different features for a variety of purposes.The objective in my case is to place an on-disc storage back-end for dets module andcompensate weak points of dets. An embedded storage on local disk is viable to replacedets since it does not bring communication overhead. Berkeley DB provides these featureswith its persistent disk storage and it is a reliable system that is used commercially and

4

Page 17: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

BDB is documented well. Berkeley DB meets the storage capacity needs, it supports hashtable based access method like dets, B+ Tree access method which I use in configurationand recno access method which is built on B+ Tree and ables to store sequentially ordereddata values [17]. I do not use recno type in this thesis work, but it is a promising solutionfor dets to support ordered set type of tables. BDB has a different approach to dump theupdates to disk than mnesia, that can improve consistency.

BDB’s approach to persistent storage addresses the weak points of dets. It uses a write-ahead logging approach while dumping transactions to disc. With this approach, BDBwrites a log entry to the log file with the state before and state after for any data changethat is going to be done on the database. This log entry is guaranteed to be flushed todisk before any changed data is written to memory. When the application commits thetransaction, BDB writes the data pages in memory to disk. A similar security mechanismin Mnesia is obtained by setting ”dump log update in place” configuration parameter tofalse. The significant difference between two approaches is that, Mnesia uses temporarycopies of original database files to dump the transaction log instead of keeping a log file,and then renames the temporary files. Since dets files are organized by linear hash tables,write operation requires key lookup, on the other hand bdb write-ahead logs are writtensequentially and data pages are written by random access to memory [11].

1.3 MMSC Development

The major task for developing a MMSC back-end is to design and implement a messagestore application that undertakes message storage and transmission task to recipients. Thefunctionality of the message store that is described in this work should not be mixed upwith a configurable network based storage like message inbox. Instead, message store is atemporary storage used in store and forward mechanism that keeps MMs until delivery torecipient. The storage that provides a subscriber inbox is specified in 3GPP TS 23.140 andit is called MMBox [7] and it is out of scope of this work.

MMSC front-end development is not in focus of this thesis work since it is in scopeof another project. MMSC as a MMS Relay-Server uses various protocols to interconnectwith external entities which are specified in 3GPP TS 23.140 [7]. Out of these protocols,MM1, MM4 and MM7 were in scope of MMSC front-end project [18]. The front-end wasnot ready to be used during my development, but I had the opportunity to use MM1 andMM4 protocol stacks which were needed to run traffic cases those are in scope of this the-sis. I implemented the rest of the front-end components the way that they just simulate thejob they suppose to do.

Upon receiving MM, message is stored and MM1 notification message is pushed to therecipient. WAP Push [3] mechanism over SMPP [2] is used for notification messages. Whensubscriber is notified by receiving a SMS, MM can be downloaded to terminal throughHTTP protocol. This traffic case might get complicated with failure of notification delivery

5

Page 18: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

and according to reasons of the failure, various actions can be taken on traffic. HandlingMM traffic with storage is implemented in the way that it is done in SMSC product ofMA by implementing similar scheduling, queueing and bearing mechanisms. These mech-anisms and message store together composed so called mms store application as the back-end for MMSC.

1.4 Limitations

This thesis focuses on MMSC back-end development and investigating efficient storageback-end alternatives for MMSC. Since MMSC combines MMS Relay and MMS Serverfunctionalities, the services and capabilities of MMS Relay and MMS Server are dividedinto MMSC front-end and back-end logical entities. Communication in between front-endand back-end is done via a local erlang application which implements an MA proprietarycommunication protocol. Although MMSC front-end development is out of scope, sincesubscriber database resides at front-end, I develop a prototype of MMSC front-end that iscapable of simulating traffic.

Transcoding between media formats of multimedia message content is excluded fromthe scope of this thesis due to its complexity that it would increase the amount of work, aswell as the amount of code. According to the system needs, I limit the possible database op-tions by excluding relational database management systems, therefore the analyzed databaseoptions in this work includes only key-value based database management systems.

1.5 Alternative Approaches

To achieve the goal of this thesis, the work that should be done can be seperated into twomajor tasks. One is about integrating an external DBMS to Mnesia back-end as a persisten-t/consistent storage option which should be an alternative to Dets storage currently used byMnesia. And evaluating the alternative back-end. Second task is to develop MMSC back-end for multimedia message storage and evaluating the system with the alternative Mnesiaimplementation.

There could have been alternative ways to accomplish first task which I did not pre-fer for various reasons. Main difference could have been selecting a different DBMS thanBDB. I investigated some of the non-relational databases like CouchDB and Scalaris. If Ihad chosen CouchDB to replace dets, I would need to implement a HTTP client for usingJSON API of CouchDB. I could take same approach if I had chosen Scalaris also, or I coulduse Java or Python APIs provided by Scalaris. APIs of to these databases eases scalabilityfor distributed systems but does not bring performance advantages for local data storagesince they bring the communication overhead while I can use dynamically linked sharedlibraries to communicate with BDB. Another issue with Scalaris is that it does not supportpersistent storage. Without persistent storage, preserving data consistency would be hard

6

Page 19: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

to get in MMSC system setup since MMSC will not be running on an available distributiontopology for paxos protocol which is used by Scalaris to ensure consistency. Consideringinterfacing options with back-ends and consistency concerns, and taking into account thatBDB having well documentation and support plus broader usage in practice, I eliminatedthese databases. Detailed information about CouchDB and Scalaris is presented in relatedwork 2.8 section.

Another very promising way to interface external database would have been using Mne-siaex. Mnesiaex project introduces new behavior which can be patched to mnesia [10]. Itprovides an extensible storage API which help to integrate another database system as back-end to mnesia. Mnesiaex would offer a better structure at Mnesia back-end since it brings anew replica type which can be used during database table creation. I could not use Mnesiaexdue to the fact that it is not supported by all erlang distributions and it would make MMSCdependent on a developing project at its early stage. Additionally it does not provide thelevel of transparency that I aim to achieve. More information about these databases and myreasons not to select them are given in related work 2.8 section of second chapter.

For my second task on development of MMSC back-end, I followed the requirementsgiven to me by MA thus I did not consider alternative approaches on development. On theother hand this does not mean that I came up with the absolute system design for MMSCbut there were no branching road to select the appropriate way. Instead the system designevolved by iterative development cycles.

1.6 Contributions

This work shows the feasibility of replacing Dets at Mnesia back-end with a robust key-value pair database by extending Erlang by using linked-in drivers so to use external APIof a external database management system. Berkeley DB, which is an embedded database,replaces erlang’s term storage without bringing communication overhead. I evaluate theperformance of BDB back-end by comparing it to original Mnesia with Dets back-end byusing disc only copies as the disk storage option. My evaluation shows that BDB back-endoutperforms Dets by means of transactions per second (TPS) with an average of ≈ 90%improvement based on the results of TPC-B Benchmarking.

The MMSC back-end and MM store application is ready to be integrated to MMSCfront-end since implementation is modular and compatible with Mobile Art’s framework.Functional tests show that store and forward mechanism works as expected when systemwas running in interaction with an SMS Center where MM Notification messages were de-livered through SMS Center to MMS clients. Resulting MMSC is able to operate on bothdatabase back-ends with Dets and BDB tables.

7

Page 20: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

1.7 Thesis Structure

The thesis continues with chapter 2 in which background information is described. Basicinformation about the programming language, database management systems, system con-cepts and related work are given under this chapter. After that system design is presented inchapter 3 which is followed by implementation of details given in chapter 4. Thesis contin-ues with evaluation of the work presented in chapter 5, In chapter 6, conclusions and futurework is discussed.

8

Page 21: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

Chapter 2

Background

2.1 Erlang/OTP

Erlang is an open source, functional programming language and run-time environment. Oneof the major features of Erlang is that it has support for concurrency independent from op-erator system. Concurrency is provided by light-weight Erlang processes those do not sharememory and communicate by message passing. Fast context switch between processes andeasy to develop dead-lock free code lets users to experience almost linear speedup in mul-ticore machines [14].

Erlang comes with OTP (Open Telecom Platform) which comprise large number of li-braries. OTP libraries provide a wide range of solutions for any system that needs faulttolerance, concurrency, storage, data structures or more specialized servers, protocol stacksand applications. Concurrency support and OTP libraries makes Erlang/OTP a strong devel-opment platform alternative for distributes systems especially those requires soft real-timeproperties.

In Erlang functions are declared inside modules. A module can also contain attributesto declare exported functions, data types, module imports and macro definitions. A mod-ule can be imported by other modules and exported functions can be called from outside.OTP defines application behavior which helps to combine a specific functionality into onecomponent which can be started and stopped. Erlang applications are defined in applicationresource files where modules introduced by the application is given. One module introducedby application is the application callback module which exports start and stop functions ofthe application. Applications can be re-used in different systems by loading them in. In thisthesis work any application refers to an Erlang application.

OTP sets design principles about structuring the behaviors of Erlang processes. Theproposed structure is a hierarchy set between processes according to their roles and is calledsupervision trees. Supervision trees are composed of workers and supervisors. A worker isa process doing the computations and all the real work that is intended to be done. On the

9

Page 22: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

other hand supervisor process are responsible to monitor the worker processes under it aswell as lower level supervisor processes. Supervisors starts its child processes and they canrestart if a child process dies unexpectedly. Figure 2.1 illustrates an example supervisiontree. Supervisors can be configured according to their restart strategies. These strategiesinclude one for one, one for all, rest for all and simple one for one options. In case ofone for one strategy supervisor restarts only the affected child process. If one for all op-tion is set, supervisor terminates all child processes in case of any child process’s termina-tion and restarts all child processes. If rest for all option is set then supervisor terminatesonly the child processes those are started after the affected child process and restarts allterminated processes. Last option simple one for one strategy for supervising dynamicallycreated instances of processes those run same code. Supervisors can be configured forrestart frequency which prevents too frequent restart of same code.

Figure 2.1: Supervision Tree

2.2 Mnesia

Mnesia is the distributed database management system that comes with OTP. As Erlang,Mnesia supports development of systems those have soft-real time requirements. Mnesia isdesigned to meet high availability and reliability requirements of telecommunication sys-tems [9].

Mnesia is a key-value pair database with fast real time key lookups. Mnesia allowsdistributed data as well as distributed replicas of database tables. Transaction manager en-

10

Page 23: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

sures atomicity, consistency, isolation, durability (ACID) properties on distributed tablesand keeps table locations transparent to programmer. Mnesia also allows dirty operationswhich are without transactions, to be done on tables.

Mnesia provides three kinds of storage options each using different back-ends. Fromanother point of view, Mnesia is a DBMS built on three storage modules provided in OTP.These options include ets, dets and disk log where dets and disk log based on disk and etsbased on memory. Ets and dets are erlang’s term storage mechanisms to store a collectionof objects with a defined key in a table. Mnesia introduced the second disk based imple-mentation by using disk log which was more efficient than dets during disk access. Usingdisk log, tables are kept in memory and dumped to disk at once which performs faster ac-cess to disk than dets module can do, additional data applications access the tables muchfaster since data is kept in memory.

In Erlang compound data structures can be defined as records which can contain otherErlang data types in other words Erlang terms. Erlang records are basically tuples whichcomprise fixed number of terms where first element defines record name and rest of theterms defines values for record attributes. Mnesia tables comprise of Erlang record in-stances. Each record in table is identified by a tuple of table name and key called objectidentifier. Mnesia lets programmers to define relations between tables by this data model.Any attribute of a record can contain an object identifier which is a foreign key pointinganother table.

2.3 Berkeley DB

Berkeley DB is an embedded database supplying persistent storage for key-value pairs.Berkeley database can be linked into applications directly and allows concurrent storage [17].Transactions support atomicity, consistency, isolation and durability (ACID) properties.Berkeley DB supplies APIs for many programming languages in which C, C++, Java are themost common and well documented ones. There is also an Erlang API created by EDTKProject [16] which is not used while this work is carried out.

Berkeley DB lets programmer to decide on datatype of keys and values and all datatypesdefined in C are supported by Berkeley DB. Hash, B+tree and Recno are the three accessmethods supported by Berkeley DB. Hash and B+tree access methods supports key lookupby exact match where B+tree also support range lookups. Recno is built up on B+tree, thisaccess method can be used in applications where there is a need for storing records sequen-tially and searching in records in order. Berkeley DB supports keys up tp 232 Bytes longand tables up to 248 bytes (256 petabytes). [17]

Berkeyel DB version 4.7.25 is used in this study.

11

Page 24: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

2.4 Port Drivers

Port drivers are operating system shared libraries to which Erlang processes can connectvia Erlang ports. They also called Erlang linked in drivers. Using these drivers supply thefastest way to call C code outside Erlang emulator. Port drivers can operate for data flowin two directions. Loading a shared library copies the program into memory once and anyprogram uses the same copy of the library if they load it. In cooperation with Erlang, thisbehavior gains importance since each process is going to use the same instance of libraryin memory which brings performance during load. Of course it does not bring performanceimprovement but this behavior prevents a possible bottleneck during interconnection.

One drawback of using Port Drivers is harder code replacement. Erlang has supportfor code replacement on running system but for linked in drivers unloading and loadingrequires more care. If a code replacement is needed for a port driver, all users of the drivershould unload before new code is loaded since two instances of code can not be used insystem by different users. If we are talking about high availability of databases, we needto ease the code replacement problem. One design solution is to let only a single processto load and unload the driver. In such a design, driver’s user process will not wait forother processes to unload or there will not be need to force kill other users. On the otherhand, routing all the traffic towards only one process can make cause a bottleneck. If weconsider the approaches for code replacement as, using single process to load the driver orusing multiple processes and waiting all to unload or using force to kill all users for instantunload, none of the approaches will meet any specific systems requirements. Since thereis no generic solution fits for all systems, the best approach can be designing driver reloadmechanism in a hybrid way where user count, unload timeout, buffer size and force killconditions can be configured.

2.5 Multimedia Message Service (MMS)

Multimedia Message Service supplies non-realtime messaging service to subscribers witha rich set of media content. MMS standardizes messaging with multimedia content in be-tween terminals those capable of supporting some number of defined media formats. Highlevel requirements of MMS include consistent way of messaging while it aims to integratedifferent media formats which are currently in use and provide support for evolving tech-nologies. Access to MMS should be available for users independent from the networksystem they use. MMS provides some minimum set of formats to ensure interoperability inbetween networks and terminals those support these defined formats [6].

Two major entities in MMS are MMS Client and MMS Proxy-Relay. MMS Client isthe WAP enabled user terminal acts as the end-point in MMS service and MMS Proxy-Relay is a server which provides messaging services through other messaging systems andit interacts with MMS Clients. Multimedia Messages are sent through MMSM interface inbetween MS Proxy-Relay and MMS Clients and this interface can be implemented using

12

Page 25: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

Figure 2.2: Implementation of MMSM Interface Using WAP Gateway [4]

Figure 2.3: Implementation of MMSM Interface Using HTTP Based Protocol Stack [4]

WAP Architecture or using HTTP Based Protocol Stack [4]. Figures 2.2 and 2.3 illustratethe MMSM interface implemented using WAP Gateway and HTTP based stack. Over WAPWSP or WAP HTTP transport protocols, payloads carried on are encapsulated in protocoldata units (PDUs) defined in ”Multimedia Messaging Service Encapsulation Protocol” doc-ument [5]

One basic example of WAP encapsulated data flow in MMS is illustrated in figure 2.4where we can see number of PDUs used for transactions. MMS Client sends message toMMS Proxy-Relay with M-Send.req PDU. When MMS Proxy-Relay receives the send re-quest it sends a M-Send.conf PDU back to MMS Client including the status of operation.MMS Proxy-Relay then sends M-Notification.ind PDU to notify the target MMS Clientabout the new message. M-Notification.ind PDU does not include the message body but theURI of the message so the target MMS Client can fetch the message later. When notifica-tion is received by target MMS Client it responds with a M-NotifyResp.ind to acknowledgethe transaction to MMS Proxy-Relay.

To retrieve the message MMS Client requests the MM by sending WSP/HTTP GET.reqrequest including the URI which is received in notification PDU. MMS Proxy-Relay thenresponds with M -Retrieve.conf PDU including the message body. After delivery of MM

13

Page 26: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

is accomplished, target MMS Client confirms the delivery with M-Acknowledge.ind PDU.The last transaction shown in figure 2.4 is between MMS Proxy-Relay an Originating MMSClient is the delivery reporting. M -Delivery.ind PDU is sent to Originating MMS Clientfrom MMS Proxy-Relay if such a delivery report is requested and if Target MMS Client didnot explicitly deny the deliver reporting. There is no acknowledgement messages sent afterreceiving delivery reports. Another transaction can be done. Other major PDUs which arenot shown in example figure include M-Forward.req and M-Forward.conf types those usedfor MM forwarding and M-Read-Rec.ind, M-Read-Orig.ind types for notifying he senderabout the event that target MMS Client handled the MM.

Figure 2.4: Example MMS Transaction Flow

2.6 Store and Forward

Store and forward is a technique used in networks those serving non-real-time serviceslike short message service (SMS). If this technique is used, the transferred data is keptin an intermediate entity and later sent to destination. Intermediate entity keeps the dataand ensures its integrity until delivery or another configured logic state like timeout hap-pens. Store and forward might be used for some number of reasons such as delays duringtransmission, errors causing delivery fails or absence of subscriber which is common inmobile networks where end-to-end connection is not possible. Store and Forward requiresa scheduling mechanism to try resend data as scheduled and a notification mechanism tobe able to trigger resend on notification. On subscriber basis, store and forward should

14

Page 27: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

keep messages targeted to the subscriber in an order and invoke resend events according tobuilt-in mechanisms.

2.7 MA Framework

This thesis work is supported by and done at Mobile Arts(MA) AB and MA has proprietaryrights on the MMSC and the it’s subsystems, thus MA is mentioned to denote company’sspecific tools, applications or code used in this work. MA has developed its own frameworkwhich is used by its products, almost completely on Erlang. Framework supplies applica-tions and libraries that developers can built their system on. Even though Erlang/OTP sup-plies many specific solutions for telecom applications, MA Framework supplies one levelhigher applications those meet system needs and standardizes core services and tools in allMA products. MA Framework guided my design decisions, eased implementation phasewith tools like build, debug, and helped evaluation phase with variety of test tools.

2.8 Related Work

Although there is no existing single best answer on the grounds that different kinds of sys-tems have various requirements, it has been a popular discussion topic to find out the bestfitting database management system for distributed and concurrent systems. The researchis done based on couple of criteria to reduce the scope where studies and practical appli-cations of database management systems have a broad range. To my best knowledge, mygoal in this work, thus the approach I chose, was not been part of a previous study. This isbecause I chose a very specific solution that would fit to Mobile Arts’ product range withbackwards compatibility support. Considering my aim, I defined the first criterion for adatabase solution to be supporting key-value storage. The main reason was that I would notneed relational algebra to manage my data since the data would be stored and retrieved bythe primary key. Second criterion was that the study or application focusing on alternativesolution to Mnesia DB.

Erlang Driver Toolkit [16] provides a code generator for creating prototypes of driverextensions for Erlang. Although EDTK is not directly related to provide a solution formy problem, an Erlang driver for Berkeley DB is presented with this work. The devel-oped driver interfaces the BDB C API functions through Erlang linked-in drivers. HoweverEDTK supports both driver generation of port drivers and linked-in drivers. If Mnesiafront-end is not needed while an alternative approach is required for persistent storage in anErlang system, The BDB driver created with EDTK would be a good option to consider.

Mnesiaex [10] project is targeting to have an external back-end to Mnesia by defin-ing a new behaviour ”external copies” as an alternative to ”ram copies”, ”disc copies” and”disc only copies”. Mnesiaex project provides quite reasonable solution by keeping theadvantages of Mnesia, like distribution and transaction support, plus a generic solution for

15

Page 28: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

external database system integration as a back-end. Back-end change is almost transpar-ent after application of new database, which only requires code change at database table’screation. One example usage is done with tcerl project in Cardell’s thesis work [15] whichuses Tokyo Cabinet as database back-end. Cardell mentions ACID issues with Mnesiaexin his work, stating that Mnesiaex lacking to check the returned value from back-end andcommits a transaction assuming the transaction is also committed at the back-end, whichbreaks atomicity and consistency properties. Also using Mnesiaex approach would makeMMSC back-end dependent on an external project that will prevent to bring the solution toproduction in Mobile Arts.

Scalaris [13] is another key-value storage system implemented in Erlang. Scalaris offershighly scalable, distributed and transactional data storage. Scalaris does not use persistentstorage and keeps data in memory. As a new feature, Tokyo Cabinet DBM, which man-ages file based key-value databases, introduced as a back-end to Scalaris. However thisapproach does not provide persistent data storage for Scalaris either, but it helps to improvethe storage capacity by using disk storage instead of memory. On the other hand Scalarisimplements consistency by paxos protocol for recovery of inconsistent data. Scalaris distri-bution has a ring topology for nodes with database replicas and each node takes the role asa acceptor in paxos protocol. Consistency is preserved by constituting quorum by majorityof replicas and data is accepted by availability of instances in quorum. Scalaris can offerhigh performance in some configuration with supporting data consistency but such configu-ration is hardly feasible while establishing a MMS Center, since distribution is usually donefor redundancy while internal network offers limited distribution possibilities for hardware.Persistency of data is also needed since all nodes can crash together in an example scenariowhere some faulty code executed on all nodes. Instead, I would like to use distribution forload balancing and redundancy.

CouchDB [12] is a document based database server built on Erlang/OPT. CouchDBserver hosts databases that stores documents. Documents are uniquely identified in databasesand CouchDB server provides access on Documents by Restful JSON API over HTTP.This API would supply benefits like standard representation of data, interfacing data withstandard HTTP methods thus language independence. CouchDB does not implement lockmechanism but it allows concurrent read with multi version concurrency control (MVCC).Data stored on disk and updates are done by editing old version of document in database.If concurrent editing happens, update gets conflict error and changes are tried to be reap-plied after latest version of document is read from database. While CouchDB offers quitevaluable features through its API for systems like those providing web services, it doesnot provide an advantage for the system I develop since I want to store Erlang records onlocal disk and interfacing another erlang system with Restful HTTP API would bring ex-tra overhead. Additionally MVCC mechanism might bring performance drawback whilemany Erlang processes tries to update the data concurrently. But I should add that this is apre-estimated initial guess done while selecting a database back-end that suits my systemneeds and CouchDB performance needs to be compared with BDB back-end performance

16

Page 29: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

in a future study for a clear statement.

17

Page 30: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

18

Page 31: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

Chapter 3

Design and Implementation

I present MMSC, a MMSC relay-server that is developed on erlang/OTP and using Berke-ley DB placed underneath Mnesia. MMSC implementation takes MA Framework as basisand the framework eases development and debugging. Both MA framework and the MMSCdeveloped on top of it, uses Mnesia as database back-end. The main challenge is to keepdatabase back-end replacement transparent to application level to ensure backward compat-ibility with framework.

Architectural requirement of this system is mostly formed by MMSC front-end struc-ture requested by MA. Many elements comprising MMSC are supplied by MA Frameworkand these elements interact with each other in relationships defined by set of rules. Newelements needed specifically for MMSC front-end and back-end require new relationshipsand rules need to be defined. Since I used erlang/OTP as development platform, any ap-plication mentioned in this thesis points to a system component with defined applicationfeatures in OTP. Supervision tree structure are built in applications and OTP behaviors usedto implement supervisors, s and finite state machines. I did not follow OTP defined buildingand release handling tools, instead, I used build scripts and boot scripts of MA framework.

Most significant architectural decision is given on a behavioral requirement of MMSCthat servers behaves as originating MMSC or terminating MMSC with respect to their rolesin traffic cases. System design and decisions taken are explained in following sections indetail where system design undertaken in parts according to independent contexts.

3.1 Transparency

The database back-end replacement can have side effects in system behavior if back-endis poorly abstracted. The MMSC front-end and many other applications running on samesystem are using the same database and there is no possibility to adjust them to preservetheir behaviors while using a new back-end. Many applications are already commercialand I want all applications using database to support both old and new database back-end.Development of new store and forward mechanism should be implemented as usual so the

19

Page 32: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

change done at back-end should not affect my design decisions at application level. Trans-parency of database back-end replacement is crucial for feasibility of integration of it toMA systems.

Having the change transparent also brings the possibility to test new back-end in exist-ing MA systems which are commercially running for years, thus these systems can be con-sidered robust and stable with their current back-ends. Testing on existing systems bringsthe possibility to compare the behaviors of different back-ends. MA’s SMSC (Short Mes-sage Service Center) is used to test Mnesia with Berkeley DB integrated back-end. SMSC ischosen since it implements a similar behavior with its store and forward mechanism whichis using Mnesia and it is used during functional tests of MMSC where notification messagessent through SMSC to terminals.

3.2 Abstraction Level

To meet our transparency requirement, crucial decision is given on abstraction level forBerkeley DB integration. For easier integration I want to place BDB at the highest levelit can be. Developers interface to Mnesia by the functions exported by Mnesia. Theonly part I should not change are these functions and they support interface to interactwith any back-end of Mnesia. Keeping same interface to Mnesia, the calls to databasecan be forwarded to Berkeley DB. To achieve this, exported Mnesia functions can bereimplemented and operations can be executed with same arguments on BDB. This wouldbe the highest level to abstract back-end and keep transparency. Drawback of this approachis that i would loose all Mnesia features and it would limit the the system. First ofall distribution support would be impossible to support with such abstraction. Besidesdistribution of databases I would loose ”ram copies” and ”disc copies” options which arevery useful and being used a lot in MA systems. Since my higher priority is to providea better solution for consistent copies of data stored, specifying abstraction level deeperwhere Mnesia directs disc writes to dets tables seems much better. This way no Mnesiafunctionality would be lost and distribution of tables can still be supported.

Dets tables are managed by dets module and it is not just Mnesia using disc based termstorage in a system. Developers can use dets without Mnesia or users can manually accessMnesia tables those are using dets tables, by using dets module. Same transparency problemappears here so I needed to keep dets interface as it is. By reimplementing dets internalfunctions, it is possible to redirect dets calls to Berkeley DB. Therefore, the abstractionlevel is at dets level and dets functions are reimplemented in a way that dets do not performoperations on files it self but directs operations to Berkeley DB - Mnesia Interface.

20

Page 33: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

3.3 Berkeley DB - Dets Interface

Each dets table is managed by one dets process which is a server receiving operationsfor the table associated with the database file of that table. Upon receiving an open fileoperation, dets module invokes dets server module which keeps track of opened dets tablesand users of the table. Server module checks its registry to find out if the table is alreadyopened and if the table is not opened, it invokes dets sup module which is a supervisorthat starts child dets processes with simple one for one relations. The initialized detsprocess takes ownership of dets table and the process id of owner process is returned todets server module. If table was already opened, dets server does not invoke the supervisorbut it invokes the owner process to add a new user to table and it also keeps new user inits registry. Table close operations are handled by dets server module similarly. It doesnot close the table completely until all the users closes. With the last users close call,dets server invokes the owner process which closes the table and terminates itself. Statemachine for dets tables given with Figure: 3.1.

Figure 3.1: Dets Table States

The owner process is a server in loop handling operations directed to the table it man-ages. I keep the structure of Dets callbacks and integrated redirection of all operations thatowner dets process receive to Berkeley DB back-end. Interaction with Berkeley DB andDets is done using port drivers. An illustration can be seen in Figure: 3.2 for communica-tion flow diagram. When ever a dets child process is started for opening a table, it invokesdb server module which is a server managing open tables and open ports towards BerkeleyDB. When db server module receive database operations including open file and close, itcreates a package including table, operation, arguments and sends the package in binaryformat through port to db driver. The db driver is the shared library implemented in C,code templates for erl driver is given in Appendix: A. The driver unpacks the package re-ceived and translates the operation into Berkeley DB operation. Using Berkeley DB C API,the driver performs desired database operations. These functions are called by db driveraccording to translations of Mnesia operations. The rest is done by Berkeley DB to per-form requested operation and result is returned back to db server. Result is translated in to

21

Page 34: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

Erlang’s internal notation by db server. The expected successful or unsuccessful results areconstructed and returned back to dets process.

Figure 3.2: BDB-Erlang Communication

3.4 MMSC Design

MMSC front-end is designed to handle the basic traffic case where a multimedia messageis travelled from originating user agent to terminating user agent. Although providing ser-vice for other messaging services is out of scope of this thesis, MM forwarding is still usedsince my architecture includes two logical MMSCs involve in one traffic case. These log-ical entities are called Originating MMSC where originating MMS Client is a registeredsubscriber of it and Terminating MMSC where Terminating MMS Client is a subscriber ofit. Logical role separation allows us to customize messaging behaviors according to clientroles (originating, terminating) in a traffic case. Example transaction flow for such trafficcase is shown in Figure 3.3.

MMSC front-end includes a subscriber database where such client based customiza-tions and data can be kept. MMSC front-end behavior meets the role of MMS Relay and it

22

Page 35: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

Figure 3.3: Transaction Call Flow of MMS

is composed of several components each have specific role to process messaging. Receivedpackets to MMSC front-end are routed through these components via Message EnablingServer (MES) application and MES ensures the packet is routed and processed properly.On the other hand, MMSC back-end meets the functionality of MMS Server which shouldprovide storage services and operational support for MMS service [4]. MMSC back-endincludes attachment store database and store and forward mechanism to support the MMSServer requirements. Data flow over a system of originating and terminating MMSC is il-lustrated in Figure: 3.4.

In the next two sections I describe MMSC front-end and back-end with their subordinateapplications, database applications and defined data models. The database model imple-mented in this thesis splits record definitions to two as application level and database level.Database level records are used to wrap application level records and eases applicationlevel changes to be applied without recreating database tables. For wrapping applicationlevel records, Mnesia’s activity function is used to access tables. Activity function gets an

23

Page 36: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

Figure 3.4: Data Flow Diagram of MMSC

access module as an argument which implements mnesia access behavior for correspondingmnesia callbacks. While wrapping to database records are done in re-implemented accessmodule callbacks, some constraints are also implemented for operations on tables with for-eign keys.

3.4.1 MMSC Front-End

Upon receiving MM1 submit request packet, MM1 in, interface module to MMSC front-end, transforms the WAP encapsulated message to MMS abstract message types accord-ing to the mappings given in MMS Encapsulation Protocol [5]. After transformation, itforwards decoded full packet to Attachment Store (AS) and forwards the packet withoutmultimedia content to MES. The purpose of removing the multimedia content is to get ridof heavy payload and prevent unnecessary copies of attachments carried in system. MESroutes the message through Message Control Application. Message Control performs initialchecks on received message and accepts the message if it is a valid MM1 Submit requestor possibly a MM4 Forward Request. Second destination of message is Message BrokerModule. Message Broker has the interface to Subscriber Database (SDB) and it fetchesthe subscriber data of originating or terminating user according to to the role of being onterminating MMSC or originating MMSC.

24

Page 37: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

SDB Configuration

SDB is an application in MA Framework and I do not have to re-implement such a databaseapplication again, but I need to design data relationships for MMSC subscribers. Datastructures used in Mnesia are erlang records and the data model described in this work ispresented in erlang record’s syntax. Records in erlang are defined as in Listing: 3.1 andaccessed or modified by #<RECORDNAME >{<ATTRIBUTENAME >= <VALUE >}.

I defined new data structures to be kept by SDB application. Subscriber data modelis represented as #mmsc subscriber{}, as in Listing: 3.1 and #mmsc profile{}, as in List-ing: 3.2 application level erlang records.

1 −r e c o r d ( mm s c s u b s c r i b e r ,2 {msisdn , %% key ; MSISDN , s t r i n g ( )

3 imsi , %% key ; IMSI , s t r i n g ( ) | u n d e f i n e d

4 name = ” ” , %% S u b s c r i b e r name , s t r i n g ( )

5 t ime s t amp , %% S u b s c r i b e r da ta t i m e s t a m p

6 s u b s c r i b e r i n f o = ” ” , %% S u b s c r i b e r i n f o , s t r i n g ( )

7 language , %% User language atom ( )

8 c h a r g i n g t y p e , %% p r e p a i d | p r e p a i d 2 | p o s t p a i d

9 s t a t u s = true , %% Enable / d i s a b l e a l l s u b s c r f u n c t i o n a l i t y

10 %% t r u e | f a l s e

11 a u t o r e p l y = true , %% f l a g , boo l ( )

12 c l o n e s t a t u s = true , %% f l a g , boo l ( )

13 e m a i l c o p y s t a t u s = true , %% f l a g , bo o l ( )

14 f o r w a r d i n g s t a t u s = true , %% f l a g , bo o l ( )

15 mm box s t a tu s = f a l s e , %% For f u t u r e c o n s i d e r a t i o n s

16 p r o f i l e %% C u r r e n t p r o f i l e ,

17 %% s t r i n g ( ) | ?PROFILE ( ) | u n d e f i n e d

18 } ) .

Listing 3.1: MMSC Subscriber Record

1 −r e c o r d ( m m s c p r o f i l e ,2 { id , %% key ; {MSISDN , Name} , { s t r i n g ( ) , s t r i n g ( ) }3 msisdn , %% Group i n d e x

45 s c r e e n s t a t u s = o f f , %% C o n t r o l w h i t e / b l a c k l i s t s ,

6 %% o f f | w h i t e | b l a c k | a l l | d i s a l l

7 w h i t e l i s t = [ ] , %% White l i s t , l i s t o f s t r i n g ( )

8 b l a c k l i s t = [ ] , %% Black l i s t , l i s t o f s t r i n g ( )

910 %% On o r i g i n a t i n g

11 d e l i v e r y r e p o r t = o f f , %% on , o f f

12 r e a d r e p l y r e p o r t = o f f ,%% on , o f f

13 o r i g e m a i l l i s t = [ ] ,14 o r i g c l o n e l i s t = [ ] ,15 %% On t e r m i n a t i n g

16 d e l i v e r y s t a t u s = on , %% on , o f f

17 t e r m e m a i l l i s t = [ ] ,18 t e r m c l o n e l i s t = [ ] ,

25

Page 38: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

19 f o r w a r d s t a t u s = o f f , %% on , o f f

20 f o r w a r d d e s t s = [ ] , %% MM forward addres s , l i s t o f s t r i n g ( )

2122 a u t o r e p l y s t a t u s = o f f , %% on , o f f

23 a u t o r e p l y m s g %% A u t o r e p l y message , s t r i n g ( )

24 } ) .

Listing 3.2: MMSC Profile Record

Subscriber database holds one #mmsc subscriber{} record for each user of MMSC.Records are identified by MSISDN as key and tables are indexed by imsi. Attributes of#mmsc subscriber{} includes basic information for MMSC user and basic functionalitysettings like autoreply, clone status, email copy status, forwarding status, mm box status.These functionalities are configured in detail in another record called #mmsc profile{}.Profile record is addressed from #mmsc subscriber{} record by a foreign key. Althoughmnesia is not a relational database, a relationship is defined in between subscriber and pro-file tables as in Figure 3.5.

Figure 3.5: Entity Relationship between mmsc subscriber and mmsc profile

Message Broker application generates copies of multimedia message according to thesubscriber’s configuration if subscribers status is set true in #mmsc subscriber{} record.For originating subscriber it checks delivery report and read reply report status and gener-ates email copies and clones for those addresses configured in orig email list and orig clone listof originating subscribers #mmsc profile{} record. For terminating subscriber message brokerchecks delivery status of #mmsc profile{} record and if it is ”on”, it creates email and clonecopies according to term email list and term clone list configurations. If the forward statusis on, it creates a copy for destination configured in forward dests field of #mmsc profile{}record. If terminating side set autoreply status to ”on”, message broker creates the replymessage with the message configured in autorply msg field of #mmsc profile{} record.Message broker uses default settings if a profile record is not configured for the subscriber.

MES delivers MM and it’s copies to Message Router application where all the instancesof messages routed through corresponding gateways. Since the system design in this worksuppose to support only mobile originating to mobile terminating traffic, Message Routeronly simulates it’s behaviors and routes multimedia message to MM4 out or MM1 outmodules. Next destination configured in MES is MMSC ESME application. ESME standsfor External Short Messaging Entity and it interconnects with applications to send and re-ceive messages. ESME name is kept for historical reasons since similar functionality is

26

Page 39: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

supplied by SMSC ESME application in MA’s SMSC product. MMSC ESME does conver-sions of MM PDUs form MM1 to MM4 and vice versa according to mappings defined in3GPP TS 23.140 [7]. Lastly, MES directs the message through Message Store applicationrunning in interaction with MMSC back-end.

3.4.2 MMSC Back-End

MMSC back-end undertakes the behaviors of a MMSC Server where it supplies storageand operational services of MMSC. It is composed of a database called Attachment Storeand the Message Store application which provide store and forward mechanism. MessageStore application includes a state machine, notification database, tcp server and a http serverfor supporting store and forward service, Figure: 3.6. MMS Store application responds M-Send.req with M-Send.conf PDU and for the received send request, a notification PDU M-Notification.ind is sent to MMS Client through WAP Gateway. In the successful case, MMSback-end receives M-NotifyResp.ind and keeps the MM until it is retrieved. If notificationcould not be sent, then MMS Store can queue the notification messages for that subscriberand try to resend later. MMS Client retrieves the MM by a WSP/HTTP GET request to theURL supplied in the notification message. This URL is set by MMS Store and includesthe reference identifier for MM. Upon arrival of WSP/HTTP GET request, MMS Storefetches MM’s media content from Attachment Store and constructs M-Retrieve.conf. M-Retrieve.conf is sent through WAP Gateway and transaction is finished with the receivedM-Acknowledge.conf from MMS Client.

Attachment Store

Attachment Store is first accessed by MMSC Front-End package handlers MM1 in andMM4 in components to store the multimedia payload of received PDU. When the MMis going to be forwarded by MM4 out or sent by MM1 out, content is fetched back fromAttachment Store by these components. Together with a one time generated reference, orig-inating MSISDN constructs the database key of stored MM content. The database key isthen returned MES together with MM without the content.

Attachment Store compresses the data and stores the copy in consistent database for re-trievals during MM fetch by destination user agent or MMS Proxy-Relay forwarding. Datais kept in ”attachment store” record’s ”content” attribute and this record also defines thedatabase table, Listing: 3.3. The one time generated reference value is then sent to MESin ”ref” attribute of #mes data{} record, Listing: 3.4. MES carries #mes data{} all theway and system components can get and set #mes data{} when they receive it. Carrying#mes data{} in between components allows communication and keeping traffic case baseinformation until the end of the traffic. To be able to retrieve back the attachments, mm1 outand mm4 out components set the database key by combining originating address from MMand ref value from #mes data{}.

27

Page 40: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

Figure 3.6: MMSC Back-End Modules and Interactions

1 −r e c o r d ( a t t a c h m e n t s t o r e ,2 {key , %% key = { r e f , ms i sdn }3 msisdn ,4 c o n t e n t %% data

5 } ) .

Listing 3.3: Attachment Store Data Representation

1 −r e c o r d ( mes da ta ,2 {pdu ,3 r e f ,4 o p t i o n s = [ ] ,5 fsm ,6 e i p %% s e n d r e q u e s t or p r o c e s s r e q u e s t

7 } ) .

Listing 3.4: Data Record Forwarded Through MES

Message Store

Message Store is the application where I implement store and forward. The stored and for-warded packages in Message Store are not messages it self but M-Notification.ind PDUs.

28

Page 41: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

Message Store may resend MMS Notification with same transaction id prior to receivingM-NotifyResp.ind. Resend events are scheduled for each message and schedules are keptin database.

An entry created in mms store for every destination that the subscriber is not reachablefor some reason. This entry is stored in mms notif DB database in #mms store msisdn{}record and notifications of multimedia messages are stored in #mms store mm{} records,Listing: 3.5. Key attribute for #mms store msisdn{} record is msisdn field and to retrievestored mm notification messages lists are stored in mm, mm prio, mm sched, mm suppressand mm retired fields of the record. These lists hold mm id type data which are incremen-tally created integers those being keys for #mms store mm records{}. The imsi field isadded as a secondary key for future considerations but not included in scope of this work.Sending MMs to a destination IMSI, without supplying MSISDN, is not supported by cur-rent implementation of MMSC. One crucial data kept in #mms store msisdn{} record isqueue state which is processed at every send or resend attempt. According to the queuestate new resend trial is scheduled and mm notification lists that are managed. Time-stampof last resend attempt done on the MSISDN is kept in last retry ts field and the cause ofthe last send failure is stored to last error field. The expiration time for the mm expiring inclosest future is kept in next expiry field.

Structure of the record #mms store mm{}, which stores mm notifications those con-sists of identification fields, content and timestamp fields. The key mm id is generatedincrementally and is an integer. The field msisdn is kept for finding the right database frag-ment where corresponding #mms store msisdn{} stored. The field mm ref is included forfuture considerations when application originating is possible, then mm ref field will keepthe reference for external client. Content of the message is kept in mm data field as PDU.To support multiple destinations, list defining the destinations for message is kept in destsfield where each element is a MSISDN. The record #mms store mm{} has two timestampsfields, one keeps the time that database record is created and other is stating the expiry dateof notification message.

The notification database is a distributed and fragmented database and this requires ad-ditional care since two tables mms store msisdn and mms store mm are related with eachother over foreign keys stored inmm id lists. Constraints on deletion of records from thesetables are implemented in mnesia access module of message store application. Another is-sue is handling indexed tables when the value is the atom ”undefined” for the index field ofthe database record. A clear example is the imsi index of mms store msisdn table. Imsi fieldis not mandatory and it can can be unset. Indexing on ”undefined”, which is not unique,causes growth of the list kept in hash table for the ”undefined” entry. This could causeincreased insertion time by the table growth. Access module prevents indexing ”undefined”entries by checking the value at imsi field.

1 %% m m s s t o r e m s i s d n

29

Page 42: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

2 −r e c o r d ( mms s to re ms i sdn ,3 {msisdn , %% AlertMSISDN

4 imsi , %% I n d e x on i n t e r n a t i o n a l m ob i l e s u b s c r i b e r i d e n t i t y

5 mm, %% l i s t o f mm id

6 mm prio , %% l i s t o f p r i o r i t y mm id

7 mm sched , %% l i s t o f s c h e d u l e d mm id

8 mm suppress , %% s u p r e s s d e l i v e r y a t t e m p t

9 mm re t i r ed , %% message−t r a n s a c t i o n −c o m p l e t e d

10 q u e u e s t a t e , %% m m s s t o r e q u e u e s t a t e

11 l a s t r e t r y t s , %% t i m e s t a m p f o r l a s t f a i l e d r e t r y

12 n e x t e x p i r y , %% n e x t e x p i r a t i o n t i m e f o r some mm

13 l a s t e r r o r } ) . %% LAST e r r o r

141516 %% mms store mm ( mnes ia t a b l e )

17 %% smpp msg id ( ) = term ( )

18 %% m o f s m i d ( ) = {MSISDN , TP−OA, TP−PID} ( encoded as b i n a r y )

19 %%

20 −r e c o r d ( mms store mm ,21 {mm id , %% I n t e g e r ( )

22 msisdn , %% msisdn f o r mm. T h i s i s m a in l y used

23 %% f o r mnes ia t a b l e f r a g m e n t a t i o n

24 mm ref , %% e x t e r n a l r e f e r e n c e − use ta gge d t u p l e

25 mm data , %% PDU

26 d e s t s , %% l i s t o f d e s t i n a t i o n MSISDNs

27 c r e a t e d t s , %% ”now ( ) ”

28 v a l i d u n t i l t s } ) . %% ”now ( ) ”

Listing 3.5: Database Records for Store and Forward

Once a notification needs to be enqueued a queue state should be created and storedwithin #mms store msisdn{} record’s queue state field. The application level record forqueue state is #mms store queue state{} as in Listing: 3.6. The record holds the currentqueue type, the number of trials done and the total number of trials done until current state.Additionally, MSISDN is held in key field as a foreign key and it is defined during databasewrite since at database level #mms store queue state{} is written to a separate table than#mms store msisdn{} is written.

Queue states are configured and loaded into system by configuration manager. Configu-ration manager is included in MA framework and it stores the data supplied by configurationfiles to configuration database. Queue states are configured in #mms store queue{} and#mms store queue rule{} records, Listing: 3.6. Queues are defined by a name and theyhave a schedule defined by a tuple of two attributes. First attribute of tuple defines theinterval numerically and second attribute defines unit with an atom where atoms can besec, min, hour, day. Some example schedules can be {n=2, unit=minutes}, {n=1, unit =hour}. The trial amount is configured for defining how many times the scheduled intervalwill be executed and the next queue state is defined so that when maximum trial attemptsdone queue state can move to next configuration. This is usually used in a way that amessage is tried to be sent frequently when it is fresh and trial intervals are increased by

30

Page 43: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

time if sending attempts continue to fail.

Queue rules are defined by #mms store queue rule{} record to represent the appropri-ate state according to occurred send errors. Since this record is also manually configured,description of the rule is stored in a string for human readability. From and to fields contain#mms store send error{} records and defines the action at transition to next queue state.Combining the last error with the current send error, next appropriate queue state is foundin next queue field and it overwrites next queue scheduled in stored #mms store queue{}record.

1 %% m m s s t o r e q u e u e s t a t e

2 %% s t o r e d i n # m m s s t o r e m s i s d n . q u e u e s t a t e

3 −r e c o r d ( m m s s t o r e q u e u e s t a t e ,4 {queue , %%#m m s s t o r e q u e u e {}5 key ,6 t r i a l s ,7 t o t a l t r i a l s } ) .89 %% m m s s t o r e q u e u e

10 %% c o n f i g u r a t i o n da ta t a r g e t ( mnes ia t a b l e )

11 −r e c o r d ( mms s to re queue ,12 {name ,13 s c h e d u l e ,14 t r i a l s ,15 n e x t q u e u e } ) .1617 %% m m s s t o r e q u e u e r u l e

18 %% c o n f i g u r a t i o n da ta t a r g e t ( mnes ia t a b l e )

19 −r e c o r d ( m m s s t o r e q u e u e r u l e ,20 {desc ,21 from , %%#m m s s t o r e s e n d e r r o r {}22 to , %%#m m s s t o r e s e n d e r r o r {}23 n e x t q u e u e } ) .2425 %% m m s s t o r e s e n d e r r o r

26 −r e c o r d ( m m s s t o r e s e n d e r r o r ,27 { s r c ,28 error ,29 rea son ,30 a l e r t m s i s d n } ) .3132 −r e c o r d ( m m s s t o r e d e l i v e r r e p o r t ,33 {mmid ,34 msisdn ,35 r e s u l t , t s } ) .3637 %% m m s s t o r e m s i s e n d e v e n t

38 %% enqueued i n m m s s t o r e e v e n t q u e u e

39 −r e c o r d ( m m s s t o r e m s i s e n d e v e n t ,40 {msisdn ,41 queue} ) . % enqueued i n e v e n t queues

31

Page 44: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

4243 %% m m s s t o r e m s i m s g e x p i r e e v e n t

44 −r e c o r d ( m m s s t o r e m s i m s g e x p i r e e v e n t , {msisdn} ) .454647 %% m m s s t o r e f r a g s t a t e

48 %% used by h a n d l e r t o n o t have t o ask f o r p i d s

49 %% f o r queue mgr and chunk w r i t e r

50 −r e c o r d ( m m s s t o r e f r a g s t a t e ,51 { f r a g n ,52 queue mgr ,53 chunk w} ) .5455 %% handle msg

56 %% used i n t e r n a l l y i n mms s tore , be tween mms s torep and

57 −r e c o r d ( mms s to re hand le msg ,58 {msisdn , %% ma in l y f o r t r a c i n g

59 t r a n s a c t i o n i d ,%% m m s s t o r e t r a n s a c t i o n l o g . e r l

60 type , %% mmsc mm del iver | m m s c m m s t a t u s r e p o r t |61 %% cancel mm | replace mm | query mm

62 c u t m m s s t o r e , %% t r u e | f a l s e | u n d e f i n e d

63 p r i , %% t r u e | f a l s e

64 smpp id ,65 m u l t i , %%t r u e | f a l s e

66 r e p l a c e d = f a l s e ,67 s c t s , %% f o r t y p e = mmsc mm del iver o n l y . . .

68 s t o r e ,69 smea , %% w h a t e v e r s e n t from mes

70 mespid , %% p i d t o r e p l y t o when response mode = a f t e r f i r s t

71 m m s s t o r e p p i d ,%% respond ok t o t h i s p i d when message i s hand led

72 pdu} ) . %% t h e r e c o r d s e n t from mes , s e e mmsc mm . h r l

7374 −r e c o r d ( m m s s t o r e s e n d r e s ,75 { r e s u l t ,76 m m s s t o r e e r r o r ,77 map e r ro r ,78 s c t s ,79 d e l i v e r y r e p o r t } ) .8081 −r e c o r d ( m m s s t o r e c a n c e l m u l t i , { smpp id , t s } ) .8283 %% m m s s t o r e e r r o r

84 −r e c o r d ( m m s s t o r e e r r o r , { code} ) .8586 %% m m s s t o r e r e t r y t a b l e

87 %% c o n f i g u r a t i o n only , expanded i n t o m m s s t o r e q u e u e

88 −r e c o r d ( m m s s t o r e r e t r y t a b l e ,89 {name ,90 s c h e d u l e } ) .

Listing 3.6: Database Records for SAF Scheduling

MM Notification Module is a finite state machine which is build on erlang/OTP’s gen fsmbehavior and supplies callback and interface functions for starting stoping the machine and

32

Page 45: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

sending event into the machine. It is supervised with simple one for one strategy and un-dertakes the responsibility to send, enqueue and manage enqueued mm notifications. De-tailed diagram of mm notification state machine can be seen in Figure: 3.7. The state ma-chine is started either with a new arrival of mm or scheduled invocation. With arrival ofevents, new states are chosen according to queue states and state machine stops after eitherqueue is empty or sending attempts fail. There are three states that the machine can be inand these are defined by the state of message queue and last action taken. According to thelast action, a state can require a timeout so that until new event arrives the machine can stayand wait in that state. At a plain start when there is no queued messages for the subscriber,state machine handles the incoming message by sending the notification and waiting for thenotification response in empty wait state. According to arrival of response or error, stateswitches to empty or non-empty wait state. At empty state after a short timeout the ma-chine stops itself, but it can also handle new messages as a new start by sending notificationand switching to empty wait state. At non-empty wait state after receiving notification re-sponse, successfully delivered notification message is dequeued and the next notificationmessage in the queue is resent if the queue is still non-empty. In such case state loops overto non-empty wait state. If the queue is empty than machine switches to empty state.

33

Page 46: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

Figure 3.7: MM Notification Module State Machine

34

Page 47: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

Chapter 4

Evaluation

I evaluate this work within two major methods as functional testing and performance test-ing. In first part of this section I describe the test platform I used during evaluation, then inthe second part, I share evaluation with functional tests those are seperated into two groupsas Mnesia functionality and MMSC functionality. In the third part, I present evaluationbased on performance tests those done on Mnesia with Berkeley DB back-end and DETSback-end implementations. Performance tests aims to evaluate the new database back-endwithout MMSC involved in.

4.1 Test Platform Setup

Both development and evaluation is done on two machines, one of which was Dell LatitudeD420 laptop running Ubuntu Linux 8.10 and the other was a Intel Carrier Grade Server thatis running MontaVista Linux release 4.0 on a Intel Xeon Irwindale architecture. Coding andsome tests were done on the laptop, while trafficking MMSC was installed on the server forrest of the tests.

An SMSC node is installed on laptop and MM-Notification messages were delivered toSMSC by SMPP protocol. On the same machine but as a separate node SMLC TEST serveris installed. SMLC TEST server has phone simulators already in package but some devel-opment needed to handle MM-Notification messages on client side. MMS Client modifiedto be able to decode and encode MM1 PDUs so that a phone instance send back MM-Notification Responses (M-NotifyResp.ind).

To be able to perform a structured functional testing, development done to implementMMSC TEST server which added as a new node into test platform. The MMSC TESTserver was able to test sending and receiving MMS by managing Phone simulators.

35

Page 48: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

4.2 Functional Testing

4.2.1 Functions of Mnesia Exports

To test exported Mnesia functions I implemented a test server based on otp gen server be-haviour, that creates a Mnesia schema and database table with replica type disc only copiesat initialization stage. The test server exports callback functions to populate, read and tra-verse the table. Sanity check is done by storing, updating and retrieving data and comparingresults. This test is used during development of BDB back-end to check if Mnesia was re-sponding as expected. After development of BDB back-end, I used it to populate largetables with over 4GBs of data and tested operation on such large tables.

4.2.2 Functions of System Components

MMSC is tested with BDB back-end Mnesia to see if system requirements were met.Total of four nodes were involved in traffic, namely MMSC TEST, MMSC, SMSC andSMSC TEST. To be able to see if back-end replacement was transparent, Mnesia usedby SMSC was also replaced with BDB back-end implementation. Illustration of testenvironment is given with Figure: 4.1

Figure 4.1: Test Environment Setup

36

Page 49: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

The mmsc test server manages test cases by traffic initiation and manipulatingmms client behaviors. MMSC TEST establishes connection to other nodes throughErlang/OTP’s Remote Procedure Call Services module ’rpc’. Communication betweentrafficking nodes done through SMPP where MMSC and SMSC TEST connects as externalshort messaging (ESME) clients to SMSC.

MMSC TEST server provisions a client on SMSC providing MSISDN and IMSI ofthe client. Then it creates a phone simulator instance and hypothetically attaches thephone to the network. It can detach or change the availability of the phone by rpc callsduring operation. Traffic initiation was controlled by sending multimedia messages fromone phone instance to another where all phone instances can be either sender or receiver.Retrieval of messages done after a uniformly distributed random amount of time passed ondelivery of notification messages to destination phone.

Operation simulation starts by generating hundreds of phone simulators as mmsclients and provisioning them to SMSC at initiation stage. When all the phones areprovisioned mmsc server starts attaching and detaching or changing availability of thephones randomly. Randomized availability of phones are configured to remain at aspecified level. This level is adjustable to pressure on store and forward mechanismin mms store application. Decreasing the availability of phones results mms queues togrow and attaching back a phone is triggering resend events in mms store application.Sending messages were also randomized on the phones those are currently attached. WhileMMSC TEST operates simulation, mms store application and database status can bemonitored and expected behavior can be observed. From the global point of view two storeand forward mechanisms functioning in test platform and mms store behaves compatiblewith SMSC’s store and forward system.

4.3 Performance Testing

Performance Testing aims to compare Mnesia disc only copies performance with BerkeleyDB back-end and with Dets tables back-end. Two pieces of code is used to perform thetests which are supplied with OTP releases, inside Mnesia library’s examples folder. Inthe next two sections I present the results obtained using these two test modules, namelymnesia meter and mnesia tpcb.

4.3.1 mnesia meter

The module mnesia meter measures elapsed real time in milliseconds to perform Mnesiatransactions and functions. It uses the timer module from OTP which returns the elapsedtime to perform an Erlang function. Computation can be initiated with two arguments thosespecify the replica type and node names. Each Mnesia operation is performed 1000 times

37

Page 50: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

and the total elapsed time is measured to perform this 1000 runs, then the resulting mi-croseconds are divided to 1000 to get the average time elapsed for a single operation.

I use disc only copies as replica type to be able to test BDB back-end and I run testsonly on the local node. This way I obtain fixed affective variables and I can compareback-ends on same hardware, operating system and configurations. Listing: 4.1 and 4.2are example outputs those are produced by mnesia meter on original Dets table and BDBback-ends respectively.

! −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ! −−−−−−−−− !! d i s c o n l y c o p i e s on [ mmsc@erbuntu ] ! 1 !! −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ! −−−−−−−−− !! t r a n s a c t i o n u p d a t e two r e c o r d s wi th read and w r i t e ! 584 !! t r a n s a c t i o n u p d a t e two r e c o r d s wi th wread and w r i t e ! 534 !! t r a n s a c t i o n u p d a t e two r e c o r d s wi th read and s w r i t e ! 599 !! s y n c d i r t y u p d a t e two r e c o r d s wi th read and w r i t e ! 454 !! a s y n c d i r t y u p d a t e two r e c o r d s wi th read and w r i t e ! 399 !! p l a i n fun u p d a t e two r e c o r d s wi th d i r t y r e a d and d i r t y w r i t e ! 406 !! e t s u p d a t e two r e c o r d s wi th read and w r i t e ( l o c a l on ly ) ! s k i p p e d !! p l a i n fun u p d a t e two r e c o r d s wi th e t s : lookup and e t s : i n s e r t ( l o c a l on ly ) ! s k i p p e d !! p l a i n fun u p d a t e two r e c o r d s wi th d e t s : lookup and d e t s : i n s e r t ( l o c a l on ly ) ! 290 !! t r a n s a c t i o n w r i t e two r e c o r d s wi th w r i t e ! 262 !! t r a n s a c t i o n w r i t e two r e c o r d s wi th s w r i t e ! 253 !! s y n c d i r t y w r i t e two r e c o r d s wi th w r i t e ! 177 !! a s y n c d i r t y w r i t e two r e c o r d s wi th w r i t e ! 158 !! p l a i n fun w r i t e two r e c o r d s wi th d i r t y w r i t e ! 166 !! e t s w r i t e two r e c o r d s wi th w r i t e ( l o c a l on ly ) ! s k i p p e d !! p l a i n fun w r i t e two r e c o r d s wi th e t s : i n s e r t ( l o c a l on ly ) ! s k i p p e d !! p l a i n fun w r i t e two r e c o r d s wi th d e t s : i n s e r t ( l o c a l on ly ) ! 70 !! t r a n s a c t i o n read two r e c o r d s wi th read ! 251 !! s y n c d i r t y read two r e c o r d s wi th read ! 121 !! a s y n c d i r t y read two r e c o r d s wi th read ! 129 !! p l a i n fun read two r e c o r d s wi th d i r t y r e a d ! 116 !! e t s read two r e c o r d s wi th read ! s k i p p e d !! p l a i n fun read two r e c o r d s wi th e t s : lookup ! s k i p p e d !! p l a i n fun read two r e c o r d s wi th d e t s : lookup ! 104 !! −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ! −−−−−−−−− !

Listing 4.1: mnesia meter run with Dets back-end

! −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ! −−−−−−−−− !! d i s c o n l y c o p i e s on [ mmsc@erbuntu ] ! 1 !! −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ! −−−−−−−−− !! t r a n s a c t i o n u p d a t e two r e c o r d s wi th read and w r i t e ! 507 !! t r a n s a c t i o n u p d a t e two r e c o r d s wi th wread and w r i t e ! 443 !! t r a n s a c t i o n u p d a t e two r e c o r d s wi th read and s w r i t e ! 504 !! s y n c d i r t y u p d a t e two r e c o r d s wi th read and w r i t e ! 315 !! a s y n c d i r t y u p d a t e two r e c o r d s wi th read and w r i t e ! 335 !! p l a i n fun u p d a t e two r e c o r d s wi th d i r t y r e a d and d i r t y w r i t e ! 329 !! e t s u p d a t e two r e c o r d s wi th read and w r i t e ( l o c a l on ly ) ! s k i p p e d !! p l a i n fun u p d a t e two r e c o r d s wi th e t s : lookup and e t s : i n s e r t ( l o c a l on ly ) ! s k i p p e d !

38

Page 51: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

! p l a i n fun u p d a t e two r e c o r d s wi th d e t s : lookup and d e t s : i n s e r t ( l o c a l on ly ) ! 209 !! t r a n s a c t i o n w r i t e two r e c o r d s wi th w r i t e ! 303 !! t r a n s a c t i o n w r i t e two r e c o r d s wi th s w r i t e ! 304 !! s y n c d i r t y w r i t e two r e c o r d s wi th w r i t e ! 214 !! a s y n c d i r t y w r i t e two r e c o r d s wi th w r i t e ! 216 !! p l a i n fun w r i t e two r e c o r d s wi th d i r t y w r i t e ! 206 !! e t s w r i t e two r e c o r d s wi th w r i t e ( l o c a l on ly ) ! s k i p p e d !! p l a i n fun w r i t e two r e c o r d s wi th e t s : i n s e r t ( l o c a l on ly ) ! s k i p p e d !! p l a i n fun w r i t e two r e c o r d s wi th d e t s : i n s e r t ( l o c a l on ly ) ! 109 !! t r a n s a c t i o n read two r e c o r d s wi th read ! 239 !! s y n c d i r t y read two r e c o r d s wi th read ! 109 !! a s y n c d i r t y read two r e c o r d s wi th read ! 109 !! p l a i n fun read two r e c o r d s wi th d i r t y r e a d ! 104 !! e t s read two r e c o r d s wi th read ! s k i p p e d !! p l a i n fun read two r e c o r d s wi th e t s : lookup ! s k i p p e d !! p l a i n fun read two r e c o r d s wi th d e t s : lookup ! 94 !! −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ! −−−−−−−−− !

Listing 4.2: mnesia meter run with BDB back-end

Speaking on described hardware and software setup, at first glance on mnesia meteroutputs, we can see that BDB back-end performs faster for read operations and Dets Tablesperform faster for write operations. On combined operations BDB performs faster than DetsTables. Since both runs used same Mnesia front-end, there is same overhead in Mnesia ac-cess methods. Access methods can be ’transaction’, ’sync transaction’ where the functionwaits until data is committed and flushed to the disk, ’async dirty’ and ’sync dirty’. The lastaccess method ’ets’ is not used since replica type is set to disc only copies and evaluationof this work is not interested in ets performance. But instead mnesia meter performs directdets access by skipping mnesia calls and using dets module’s callback functions.

Another point to keep in mind is, in BDB implementation of synchronicity is doneby configuring DB ENV variable which is used while opening a table. During these testsDB ENV was configured as full synchronous which means log is flushed to disk after everycommit. Weather sync or async operations are used on Mnesia front-end, each operation onBDB side was synchronous. This can be seen by checking how close are the microsecondvalues for the same operations when access method is synchronous and asynchronous atlisting: 4.2.

I analyze the results with resulting differences in observed millisecond values. Thesevalues likely to differ depending on hardware and software setups. My intention here is toattract attention to constant amount of time difference in between operations. Write oper-ations on Dets tables are faster around ≈ 40 microseconds per update in which two writecalls were done. Most clear comparisons of back-end can be done by checking results of”dets:insert” calls. We can see insert operation on BDB takes ≈ 57% longer than insert onDets. For the read operations BDB back-end performs around ≈ 11 microsecond faster.Plain lookup operation on Dets takes ≈ 12% longer time than BDB lookup. More interest-ingly BDB increases its performance when the write operation is done over a read operation

39

Page 52: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

on the same database records which simply applies on many applications while updatingsome values for a database entry. Results can be seen at read and write operations whereBDB performs around ≈ 80 microseconds faster than Dets tables for plain function calls todets module and even slightly faster when mnesia front-end is used. For lookup and insertoperations Dets take ≈ 38% more time to complete. Again we can see that synchronousand asynchronous accesses does not make significant difference for BDB back-end but itdoes for Dets operations. Comparing dirty operations with transactions show that withBDB back-end Mnesia front-end overhead remains unchanged as I expected to see. Chartillustration for mnesia meter run can be seen in Figure: 4.2.

Figure 4.2: Column Chart for mnesia meter Results

4.3.2 mnesia tpcb

Second performance tests were done using Transaction Processing Performance Council(TPC) Benchmark B standard, TPC-B measures throughput of a system in terms of trans-actions per second (TPS) [1]. One advantage of TPC-B is that it can measure throughput ofsystem for concurrent transactions. As testing with mnesia meter, TPC-B tests were doneon Mnesia with both back-ends for comparison.

The test code is the mnesia tpcb module supplied in OTP release. Test simulates trans-actions on a hypothetical bank as it is defined in TPC Benchmark B Specification [1]. The

40

Page 53: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

bank can have one or more branches with each branch having multiple tellers. The bankhas many customers each having an account. Database has tables for Branch, Teller andAccount each includes amount of cash for stored instances. Additionally each bankingtransaction is stored in table History. Transactions are performed by tellers and configu-ration of number of tellers specify the concurrent processes running in the system. Thetransaction profile given by [1] is shown in Listing: 4.3. One transaction includes threeread operations for reading Teller, Branch and Account tables and four write operations toupdate records in Teller, Branch and Account tables, as well as one new record insertion toHistory table.

1 BEGIN TRANSACTION

2 Update Account where Account ID = Aid :3 Read A c c o u n t B a l a n c e from Account4 Set A c c o u n t B a l a n c e = A c c o u n t B a l a n c e + D e l t a5 Write A c c o u n t B a l a n c e t o Account6 Write t o H i s t o r y :7 Aid , Tid , Bid , De l t a , Time stamp8 Update T e l l e r where T e l l e r I D = Tid :9 Set T e l l e r B a l a n c e = T e l l e r B a l a n c e + D e l t a

10 Write T e l l e r B a l a n c e t o T e l l e r11 Update Branch where Branch ID = Bid :12 Set B r a n c h B a l a n c e = B r a n c h B a l a n c e + D e l t a13 Write B r a n c h B a l a n c e t o Branch14 COMMIT TRANSACTION

15 Re t u r n A c c o u n t B a l a n c e t o d r i v e r

Listing 4.3: TPC-B Transaction Profile

Example runs with mnesia tpcb are done with various configuration where number ofbranches and number drivers are diversed. Number of branches linearly affected the size ofdata bases and number of drivers are used to test concurrent transactions and performancescalability by concurrency. Results of the TPC-B Benchmark is shown with Table: 4.3.2.Results are presented for configuration cases where number of branches and drivers change.Accordingly transaction per second, microsecond value of the transaction that took longesttime and the size of the Account table after benchmark finished are given for BDB back-endand DETS back-end cases.

TPC-B Benchmark shows throughput with BDB back-end is higher than with DETSback-end on all configurations. On average of all configurations, except the one with 80branches and 64 drivers which dets could not perform the test with, BDB’s throughputwas ≈ 90% higher than Dets’ throughput. Number of TPS increases while concurrencyincreases on both back-ends while on BDB, observed increase is more significant. BDBback-end keeps it’s performance stable while table size is growing but DETS back-end hasa slight reduction around ≈ 15% as tables grow and has the limit around 80 branches. Forthe configuration with 80 branches I had to do couple of runs on DETS to be able to get re-sults, but I was unsuccessful with the configuration on 80 Branches/ 64Drivers. BDB tablesconsume more space on disk with respect to DETS Tables but this input is insignificant in

41

Page 54: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

TPC-B ResultsBDB BE DETS BE

Branches/Drivers TPS MAX SIZE TPS MAX SIZE8/8 273 4116µs -* 158 8291µs 111MB8/64 300 13534µs 185MB 163 15852µs 111MB32/16 264 7542µs 777MB 135 20997µs 460MB64/16 268 8675µs 1.53GB 134 20429µs 0.987GM80/16 263 8923µs 1.91GB 130 25195µs 1.27GB80/64 231 8650µs -** - - 1.27GB***

* Size was not recorded but expected size is around 185MB** Size was not recorded but expected size is around 1.91GB*** DETS Table could not be populated to finish benchmark

Table 4.1: TPC-B Benchmark Results

this works scope, on the other hand TPC-B Benchmark clearly show that BDB back-end’sthroughput is almost twice as DETS back-end’s throughput and BDB back-end scales betterwhen table size gets larger. Both back-ends responds well to higher concurrency but as areminder these tests are done on a single CPU with multithreading technology. One openquestion about the performance on multicore machines still remains. Chart representationof benchmark results are given with Figure: 4.3. Detailed outputs of each TPC-B run canbe found in Appendix: B.

42

Page 55: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

Figure 4.3: Column Chart for mnesia tpcb Results

43

Page 56: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

44

Page 57: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

Chapter 5

Conclusions and Future work

Recently non-relational databases gained popularity with their simple structures and easeof their scalabilities. Popularity increased with the emerging number of web based ap-plications and their need of rapid development. I provided a solution for achieving highthroughput on MMSC system by introducing an efficient key-value pair database back-end. Erlang and Mnesia offered me a rapid development environment together with abso-lute compatibility between application code and DBMS. Although I was not developing aweb based system, key-value storage appeared to meet MMSC system requirements prettymuch. Some extra cautions are needed to ensure data integrity since constraints can notbe defined in Mnesia, on the other hand Mnesia allows enough flexibility through accessmodules to resolve such issues.

5.1 Discussion

In this section, I analyze how well the proposed solution meets the problems stated in Sec-tion 1.1. The major reason for an efficient storage need was that every MMS have tobe stored in database while MMSC can potentially be serving to millions of subscriber.Additionally, delivery of messages dependent on mobile network’s momentary status andavailability, congestions and failures put extra load on database applications of MMSC byrequiring larger storage and higher number of transaction on larger tables.

Functional tests with simulators showed that multimedia messages were stored to andretrieved from persistent storage while the developed mms store application meets MM de-livery requirements as expected. Introduction of BDB to the back-end overcame the draw-backs of the dets module. The table size limit is basically defined by the maximum file sizeon the file system and table fragmentation can still be used by developers since Mnesia han-dles fragmentation independent from dets module. BDB also solves slow recovery problemof uncommitted transactions with write-ahead logging, thus improving performance whileMnesia loads tables.

45

Page 58: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

Performance tests showed that higher throughput can be achieved using BDB and trans-actions per second measure scales well with the size of the database tables. Also concurrentaccesses to BDB did not reduce the throughput and performance of BDB back-end showedstable behavior on different table sizes and concurrency. On the other hand, Dets performedworse while table sizes got larger, and Dets behavior was not predictable on larger tables.Thus, new back-en implementation delivered a promising solution for the MMSC that re-quires an efficient storage mechanism.

The proposed solution with BDB integration to Mnesia back-end counteracts dets mod-ule completely. Although BDB overtakes all the responsibilities of Dets, one might stillwant to use original dets module in some setup. In the current solution, swaps in betweentwo back-ends were done by setting path to the executable of desired dets implementation.It would be a better approach to preserve dets functionality at same place and let the userto be able to configure dets module to use desired back-end. On the other hand, I did notconsider to introduce a configurable back-end since it appears to be a technical detail thatcan be fixed easily during production.

5.2 Future Work

This thesis work did not include alternative configurations for Berkeley DB setup. I used B+Tree access method in Berkeley DB, but comparison and analysis can be done when hashtable method is used. Additionally ordered set option in Mnesia is not supported in thisimplementation but it is quite sensible to use recno access method provided by BDB to sup-port this feature. On the Mnesia side, configuration parameter ”dump log update in place”can be set to ”false” to improve the number of transaction per seconds when Dets is usedfor persistent copies but it can be foreseen that such configuration will increase potentialinconsistencies and reduce the performance of table recoveries.

Current BDB driver does not support dets functions those use match specifications.Matching functions used to retrieve data from tables with the records matching the givenpattern. At the very beginning of this thesis work, I investigated the significance of thesefunctions and I figured out that these functions were never used in MA framework and MAproducts. As a future work, analysis can be done to find out the feasibility of supportingthese functions on BDB back-end and performances can be compared accordingly.

46

Page 59: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

Bibliography

[1] TPC BENCHMARKTM B, Standard Specification, Revision 2.0. Transaction Pro-

cessing Performance Council, June 1994.

[2] Short Message Peer to Peer Protocol Specification v3.4. October 1999.

[3] Wireless Application Protocol, Push OTA Protocol, WAP-235-PushOTA-20010425-a.WAP Forum, avaliable online: http://www.wapforum.org/, April 2001.

[4] Multimedia Messaging Service Architecture Overview Version 1.1. Open Mobile Al-

liance, November 2002.

[5] Multimedia Messaging Service Encapsulation Protocol Version 1.1. Open Mobile

Alliance, October 2002.

[6] Multimedia Messaging Service (MMS), Stage 1 (Release 7), 3GPP TS 22.140. 3rd

Generation Partnership Project, Technical Specification Group Services and System

Aspects, June 2007.

[7] Multimedia Messaging Service (MMS), Functional Description, Stage 2 (Release 6),3GPP TS 23.140. 3rd Generation Partnership Project, Technical Specification Group

Core Network and Terminals, March 2009.

[8] Erlang – Mnesia Database Questions. ”http://www.erlang.org/faq/mnesia.html”, Lastvisited date: November, 30, 2010.

[9] Mnesia User’s Guide for Revision 4.4.15. Ericsson AB, September 2010.

[10] Mnesiaex. ”http://code.google.com/p/mnesiaex”, Last visited date: November, 30,2010.

[11] STDLIB Users Guide for Revision 1.17.1. Ericsson AB, September 2010.

[12] Couchdb. ”http://couchdb.apache.org/”, Last visited date: December, 1, 2011.

[13] Scalaris, Distributed Transactional Key-Value Store.”http://code.google.com/p/scalaris/”, Last visited date: December, 1 2011.

[14] Joe Armstrong. Programming Erlang: Software for a Concurrent World. The Prag-

matic Programmers, LLC, July 2007.

47

Page 60: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

[15] Rickard Cardell. Evaluation and Testing of Database Backends in an Erlang System.Uppsala University, Box 536 751 21 Uppsala, November 2010.

[16] Scott Lystig Fritchie. The Evolution of Erlang Drivers and the Erlang Driver Toolkit.ERLANG ’02 Proceedings of the 2002 ACM SIGPLAN workshop on Erlang, Pages 34

- 44, 2002.

[17] Michael A. Olson, Keith Bostic, Margo Seltzer. Berkeley DB. Proceedings of the

FREENIX Track: 1999 USENIX Annual Technical Conference, June 1999.

[18] Robert Andersson, Larry Canady. Multimedia Messaging Service Front End for Sup-plementary Messaging Services. Uppsala University, Box 536 751 21 Uppsala, May2010.

48

Page 61: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

Appendices

49

Page 62: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized
Page 63: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

Appendix A

DB Driver Implementation

A.1 Erl driver Usage

/∗ d b d r i v e r . c ∗ /

# i n c l u d e <s t d i o . h># i n c l u d e ” e r l d r i v e r . h ”# i n c l u d e < s t r i n g . h># i n c l u d e ” e i . h ”# i n c l u d e ” db . h ”# i n c l u d e ” d b l i b . h ”

# i n c l u d e ” u n i s t d . h ”# i n c l u d e ” s t d l i b . h ”# i n c l u d e ” s y s / t y p e s . h ”

t y p e d e f s t r u c t {E r l D r v P o r t p o r t ;DB ENV ∗dbenv ;DB ∗dbp ;i n t bag ; / / i f t h e db i s t y p e o f bag or n o t

} d b d a t a ;

void i n i t i a l i z e d b s ( d b d a t a ∗ d , i n t bag ){

d−>dbenv = NULL;d−>dbp = NULL;d−>bag = bag ;

}

s t a t i c Er lDrvDa ta d b d r v s t a r t ( E r l D r v P o r t p o r t , char ∗ b u f f ){

d b d a t a ∗ d = ( d b d a t a ∗ ) d r i v e r a l l o c ( s i z e o f ( d b d a t a ) ) ;d−>p o r t = p o r t ;re turn ( E r lDrvDa ta ) d ;

}

51

Page 64: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

s t a t i c vo id d b d r v s t o p ( Er lDrvDa ta h a n d l e ){

d r i v e r f r e e ( ( char ∗ ) h a n d l e ) ;}

s t a t i c vo id d b d r v o u t p u t ( Er lDrvDa ta hand le , char ∗ buf f , i n t b u f f l e n ){

.

.}

E r l D r v E n t r y d b d r i v e r e n t r y = {NULL, /∗ F PTR i n i t , N / A ∗ /

d b d r v s t a r t , /∗ L PTR s t a r t , c a l l e d when p o r t i s opened ∗ /

d b d r v s t o p , /∗ F PTR s top , c a l l e d when p o r t i s c l o s e d ∗ /

d b d r v o u t p u t , /∗ F PTR o u t p u t , c a l l e d when e r l a n g has s e n t ∗ /

NULL, /∗ F PTR r e a d y i n p u t , c a l l e d when i n p u t d e s c r i p t o r ready ∗ /

NULL, /∗ F PTR r e a d y o u t p u t , c a l l e d when o u t p u t d e s c r i p t o r ready ∗ /

” d b d r i v e r ” , /∗ char ∗ dr i v e r na me , t h e argument t o o p e n p o r t ∗ /

NULL, /∗ F PTR f i n i s h , c a l l e d when un loaded ∗ /

NULL, /∗ F PTR c o n t r o l , port command c a l l b a c k ∗ /

NULL, /∗ F PTR t i m e o u t , r e s e r v e d ∗ /

NULL /∗ F PTR o u t p u t v , r e s e r v e d ∗ /

} ;

DRIVER INIT ( d b d r i v e r ) /∗ must match name i n d r i v e r e n t r y ∗ /

{re turn &d b d r i v e r e n t r y ;

}

Listing A.1: Erl driver Usage

A.2 BDB Library Usage

# i n c l u d e <s t d i o . h># i n c l u d e < s t r i n g . h># i n c l u d e ” db . h ”

# d e f i n e DESCRIPTION SIZE 255i n t i n t e r n a l o p e n (DB ENV ∗∗dbenvp , DB ∗∗dbp , char ∗ pa th and name , i n t r e s e t , i n t bag ) ;i n t i n t e r n a l c l o s e (DB ENV ∗∗dbenvp , DB ∗∗dbp ) ;i n t i n s e r t (DB ∗∗dbpp , void ∗k , void ∗obj , i n t ks , i n t os , i n t bag ) ;i n t l ookup (DB ∗∗dbpp , void ∗k , i n t ks , DBT ∗ d a t a p p ) ;i n t d e l e t e k e y (DB ∗∗dbpp , void ∗k , i n t ks ) ;i n t d e l e t e a l l (DB ∗∗dbpp ) ;i n t t o e t s (DBC ∗ c u r s o r p ,DBT∗ key , DBT∗ d a t a p ) ;i n t f i r s t (DBC ∗ c u r s o r p ,DBT∗ key , DBT∗ d a t a p ) ;i n t n e x t (DBC ∗ c u r s o r p ,DBT∗ key , DBT∗ d a t a p ) ;i n t open db (DB ∗dbp ) ;i n t p u t d b (DB ∗dbp ) ;char ∗ g e t d b (DB ∗dbp ) ;

52

Page 65: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

i n t f i l e e x i s t s ( char ∗ f i l e n a m e ) ;

Listing A.2: BDB Library Usage

53

Page 66: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

54

Page 67: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

Appendix B

TPC-B Test Outputs

B.1 TPC-B on BDB Back-End

. / t p c b b d b 8 b r a n c h 8 d r i v e r . t x t( mmsc@maas)4> m n e s i a t p c b : i n i t ( [ { n b r a n c h e s , 8} , { r e p l i c a t y p e , d i s c o n l y c o p i e s } ] ) ,( mmsc@maas)4> m n e s i a t p c b : run ( [ { n d r i v e r s p e r n o d e , 8} ] ) ,( mmsc@maas)4> m n e s i a t p c b : run ( [ { n d r i v e r s p e r n o d e , 6 4 } ] ) .TPC−B : Tab le c o n f i g : [{ db nodes , [ mmsc@maas ]} ,

{ n r e p l i c a s , 1} ,{ r e p l i c a n o d e s , [ mmsc@maas ]} ,{ r e p l i c a t y p e , d i s c o n l y c o p i e s } ,{ u s e r u n n i n g m n e s i a , f a l s e } ,{ n f r a g m e n t s , 0} ,{ n b r a n c h e s , 8} ,{ n t e l l e r s p e r b r a n c h , 1 0} ,{ n a c c o u n t s p e r b r a n c h , 1 0 0 0 0 0} ,{ b r a n c h f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,

123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890}} ,

{ a c c o u n t f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234}} ,

{ t e l l e r f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,1234567890123456789012345678901234567890123456789012345678}} ]

TPC−B : G e n e r a t i n g 8 b r a n c h e s a 102 b y t e sTPC−B : G e n e r a t i n g 8 ∗ 10 t e l l e r s a 103 b y t e sTPC−B : G e n e r a t i n g 8 ∗ 100000 a c c o u n t s a 103 b y t e sTPC−B : G e n e r a t i n g 0 h i s t o r y r e c o r d s a 51 b y t e sTPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]TPC−B : Run c o n f i g : [{ d r i v e r n o d e s , [ mmsc@maas ]} ,

{ n d r i v e r s p e r n o d e , 8} ,{ u s e r u n n i n g m n e s i a , f a l s e } ,{ s t o p a f t e r , 9 0 0 0 0 0} ,{ r e p o r t i n t e r v a l , 6 0 0 0 0} ,{ u s e s t i c k y l o c k s , f a l s e } ,{ s p a w n n e a r b r a n c h , f a l s e } ,

55

Page 68: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

{ a c t i v i t y t y p e , t r a n s a c t i o n } ,{ r e u s e h i s t o r y i d , f a l s e } ]

TPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]TPC−B : Orphan b r a n c h e s : [ ]TPC−B : D r i v e r 8 s t a r t e d as <0.4326.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 7 s t a r t e d as <0.4327.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 6 s t a r t e d as <0.4328.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 5 s t a r t e d as <0.4329.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 4 s t a r t e d as <0.4330.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 3 s t a r t e d as <0.4331.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 2 s t a r t e d as <0.4332.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 1 s t a r t e d as <0.4333.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : 1 i t e r 0 d i f f 282 ( 2 8 1 ) t p s 28330 avg m ic r os 3410147 max m ic ros 1 .2648678414096917 u n f a i r n e s sTPC−B : 2 i t e r −3 d i f f 279 ( 2 7 7 ) t p s 28614 avg mi c r o s 3351783 max mi c r os 1 .1579746835443039 u n f a i r n e s sTPC−B : 3 i t e r −3 d i f f 276 ( 2 7 8 ) t p s 28963 avg mi c r o s 3899079 max mi c r os 1 .1245551601423487 u n f a i r n e s sTPC−B : 4 i t e r −12 d i f f 264 ( 2 6 3 ) t p s 30217 avg mi c r os 3064043 max mi c r os 1 .1734296831573097 u n f a i r n e s sTPC−B : 5 i t e r +13 d i f f 277 ( 2 6 9 ) t p s 28817 avg m ic r os 3490249 max m ic ros 1 .1400602409638554 u n f a i r n e s sTPC−B : 6 i t e r −4 d i f f 273 ( 2 8 1 ) t p s 29203 avg mi c r o s 3587832 max mi c r os 1 .0695110258868648 u n f a i r n e s sTPC−B : 7 i t e r +4 d i f f 277 ( 2 7 8 ) t p s 28833 avg m ic r os 3719269 max m ic ros 1 .1779206859592712 u n f a i r n e s sTPC−B : 8 i t e r −1 d i f f 276 ( 2 7 3 ) t p s 28927 avg mi c r o s 3475749 max mi c r os 1 .1009615384615385 u n f a i r n e s sTPC−B : 9 i t e r +13 d i f f 289 ( 2 8 5 ) t p s 27678 avg m ic r os 3329955 max m ic ros 1 .1530028598665396 u n f a i r n e s sTPC−B : 10 i t e r −16 d i f f 273 ( 2 7 9 ) t p s 29240 avg mi c r os 4116336 max mi c r os 1 .2074987159732922 u n f a i r n e s sTPC−B : 11 i t e r −25 d i f f 248 ( 2 4 5 ) t p s 32213 avg mi c r os 3706860 max mi c r os 1 .1195713479977438 u n f a i r n e s sTPC−B : 12 i t e r +38 d i f f 286 ( 2 8 6 ) t p s 27904 avg m ic r os 3264898 max m ic ros 1 .1216407355021216 u n f a i r n e s sTPC−B : 13 i t e r −33 d i f f 253 ( 2 5 2 ) t p s 31608 avg mi c r os 3494232 max mi c r os 1 .2201430930104569 u n f a i r n e s sTPC−B : D r i v e r 6 ( <0.4328.0 >) on node mmsc@maas s t o p p e d : { t ime ,27808 ,27164 ,27164 ,822964260 ,4116336}TPC−B : D r i v e r 3 ( <0.4331.0 >) on node mmsc@maas s t o p p e d : { t ime ,28224 ,27443 ,27443 ,822960535 ,3706860}TPC−B : D r i v e r 1 ( <0.4333.0 >) on node mmsc@maas s t o p p e d : { t ime ,27941 ,27126 ,27126 ,822965732 ,3899079}TPC−B : D r i v e r 2 ( <0.4332.0 >) on node mmsc@maas s t o p p e d : { t ime ,27970 ,27216 ,27216 ,822964933 ,3483910}TPC−B : D r i v e r 5 ( <0.4329.0 >) on node mmsc@maas s t o p p e d : { t ime ,28093 ,27340 ,27340 ,822964593 ,3562162}TPC−B : D r i v e r 4 ( <0.4330.0 >) on node mmsc@maas s t o p p e d : { t ime ,28523 ,27792 ,27792 ,822960157 ,3719269}TPC−B : D r i v e r 8 ( <0.4326.0 >) on node mmsc@maas s t o p p e d : { t ime ,28581 ,27762 ,27762 ,822961276 ,3600701}TPC−B : D r i v e r 7 ( <0.4327.0 >) on node mmsc@maas s t o p p e d : { t ime ,27708 ,26988 ,26988 ,822973373 ,3608855}TPC−B : 13 i t e r +1 d i f f 254 ( 2 6 5 ) t p s 31456 avg m ic r os 3137293 max m ic ros 1 .2717391304347827 u n f a i r n e s sTPC−B : 273 ( 2 7 3 ) t r a n s a c t i o n s p e r second , d u r a t i o n o f l o n g e s t t r a n s a c t i o n was 4116 m i l l i s e c o n d sTPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]∗∗ e x c e p t i o n e x i t : k i l l e d( mmsc@maas)5>

Listing B.1: tpcb bdb 8 branches 8 drivers

. / t p c b b d b 8 b r a n c h 6 4 d r i v e r . t x tE s h e l l V5 . 6 . 5 ( a b o r t w i th ˆG)( mmsc@maas)1> m n e s i a t p c b : i n i t ( [ { n b r a n c h e s , 8} , { r e p l i c a t y p e , d i s c o n l y c o p i e s } ] ) ,( mmsc@maas)1> m n e s i a t p c b : run ( [ { n d r i v e r s p e r n o d e , 6 4 } ] ) .TPC−B : Tab le c o n f i g : [{ db nodes , [ mmsc@maas ]} ,

{ n r e p l i c a s , 1} ,{ r e p l i c a n o d e s , [ mmsc@maas ]} ,{ r e p l i c a t y p e , d i s c o n l y c o p i e s } ,{ u s e r u n n i n g m n e s i a , f a l s e } ,{ n f r a g m e n t s , 0} ,{ n b r a n c h e s , 8} ,{ n t e l l e r s p e r b r a n c h , 1 0} ,{ n a c c o u n t s p e r b r a n c h , 1 0 0 0 0 0} ,

56

Page 69: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

{ b r a n c h f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890}} ,

{ a c c o u n t f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234}} ,

{ t e l l e r f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,1234567890123456789012345678901234567890123456789012345678}} ]

TPC−B : G e n e r a t i n g 8 b r a n c h e s a 102 b y t e sTPC−B : G e n e r a t i n g 8 ∗ 10 t e l l e r s a 103 b y t e sTPC−B : G e n e r a t i n g 8 ∗ 100000 a c c o u n t s a 103 b y t e sTPC−B : G e n e r a t i n g 0 h i s t o r y r e c o r d s a 51 b y t e sTPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]TPC−B : Run c o n f i g : [{ d r i v e r n o d e s , [ mmsc@maas ]} ,

{ n d r i v e r s p e r n o d e , 6 4} ,{ u s e r u n n i n g m n e s i a , f a l s e } ,{ s t o p a f t e r , 9 0 0 0 0 0} ,{ r e p o r t i n t e r v a l , 6 0 0 0 0} ,{ u s e s t i c k y l o c k s , f a l s e } ,{ s p a w n n e a r b r a n c h , f a l s e } ,{ a c t i v i t y t y p e , t r a n s a c t i o n } ,{ r e u s e h i s t o r y i d , f a l s e } ]

TPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]TPC−B : Orphan b r a n c h e s : [ ]TPC−B : D r i v e r 8 s t a r t e d as <0.4341.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 7 s t a r t e d as <0.4342.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 5 s t a r t e d as <0.4344.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 4 s t a r t e d as <0.4345.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 3 s t a r t e d as <0.4346.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 2 s t a r t e d as <0.4347.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 1 s t a r t e d as <0.4348.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 9 s t a r t e d as <0.4349.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 10 s t a r t e d as <0.4350.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 11 s t a r t e d as <0.4351.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 12 s t a r t e d as <0.4352.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 13 s t a r t e d as <0.4353.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 14 s t a r t e d as <0.4354.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 15 s t a r t e d as <0.4355.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 16 s t a r t e d as <0.4356.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 6 s t a r t e d as <0.4343.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 17 s t a r t e d as <0.4357.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 18 s t a r t e d as <0.4358.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 19 s t a r t e d as <0.4359.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 20 s t a r t e d as <0.4360.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 21 s t a r t e d as <0.4361.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 22 s t a r t e d as <0.4362.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 23 s t a r t e d as <0.4363.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 24 s t a r t e d as <0.4364.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 25 s t a r t e d as <0.4365.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 26 s t a r t e d as <0.4366.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 27 s t a r t e d as <0.4367.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 28 s t a r t e d as <0.4368.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e s

57

Page 70: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

TPC−B : D r i v e r 29 s t a r t e d as <0.4369.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 30 s t a r t e d as <0.4370.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 31 s t a r t e d as <0.4371.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 32 s t a r t e d as <0.4372.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 33 s t a r t e d as <0.4373.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 34 s t a r t e d as <0.4374.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 35 s t a r t e d as <0.4375.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 36 s t a r t e d as <0.4376.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 37 s t a r t e d as <0.4377.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 38 s t a r t e d as <0.4378.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 39 s t a r t e d as <0.4379.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 40 s t a r t e d as <0.4380.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 41 s t a r t e d as <0.4381.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 42 s t a r t e d as <0.4382.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 43 s t a r t e d as <0.4383.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 44 s t a r t e d as <0.4384.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 45 s t a r t e d as <0.4385.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 46 s t a r t e d as <0.4386.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 48 s t a r t e d as <0.4388.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 49 s t a r t e d as <0.4389.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 50 s t a r t e d as <0.4390.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 52 s t a r t e d as <0.4392.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 47 s t a r t e d as <0.4387.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 53 s t a r t e d as <0.4393.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 54 s t a r t e d as <0.4394.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 55 s t a r t e d as <0.4395.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 56 s t a r t e d as <0.4396.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 57 s t a r t e d as <0.4397.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 58 s t a r t e d as <0.4398.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 59 s t a r t e d as <0.4399.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 51 s t a r t e d as <0.4391.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 60 s t a r t e d as <0.4400.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 61 s t a r t e d as <0.4401.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 62 s t a r t e d as <0.4402.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 63 s t a r t e d as <0.4403.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 64 s t a r t e d as <0.4404.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : 1 i t e r 0 d i f f 308 ( 3 0 0 ) t p s 207210 avg m ic r os 8599306 max m ic ros 4 .078431372549019 u n f a i r n e s sTPC−B : 2 i t e r −23 d i f f 285 ( 2 8 1 ) t p s 223963 avg mi c r os 9828725 max mi c r os 3 . 8 2 u n f a i r n e s sTPC−B : 3 i t e r +15 d i f f 300 ( 3 1 0 ) t p s 213280 avg m ic r os 8328420 max m ic ros 3 .9047619047619047 u n f a i r n e s sTPC−B : 4 i t e r +9 d i f f 309 ( 3 0 8 ) t p s 206925 avg m ic r os 9527191 max m ic ros 4 .041237113402062 u n f a i r n e s sTPC−B : 5 i t e r −5 d i f f 304 ( 2 9 5 ) t p s 210409 avg mi c r os 9984697 max mi c r o s 3 .8556701030927836 u n f a i r n e s sTPC−B : 6 i t e r +2 d i f f 306 ( 3 1 2 ) t p s 208602 avg m ic r os 9912646 max m ic ros 3 .872549019607843 u n f a i r n e s sTPC−B : 7 i t e r −27 d i f f 279 ( 2 8 2 ) t p s 229153 avg mi c r os 10156657 max mi c r os 3 .934065934065934 u n f a i r n e s sTPC−B : 8 i t e r +18 d i f f 297 ( 2 9 3 ) t p s 215267 avg m ic r os 9739846 max m ic ros 4 .103092783505154 u n f a i r n e s sTPC−B : 9 i t e r −15 d i f f 282 ( 2 8 5 ) t p s 226418 avg mi c r os 10950521 max mi c r os 3 .847826086956522 u n f a i r n e s sTPC−B : 10 i t e r +8 d i f f 290 ( 2 9 1 ) t p s 220303 avg m ic r os 13534742 max m ic ros 3 .8380952380952382 u n f a i r n e s sTPC−B : 11 i t e r +9 d i f f 299 ( 2 9 9 ) t p s 213580 avg m ic r os 7572184 max m ic ros 3 . 9 8 u n f a i r n e s sTPC−B : 12 i t e r +22 d i f f 321 ( 3 0 5 ) t p s 199305 avg m ic r os 10459667 max m ic ros 4 .372340425531915 u n f a i r n e s sTPC−B : 13 i t e r −14 d i f f 307 ( 3 1 0 ) t p s 208090 avg mi c r os 8867180 max mi c r os 3 .5338983050847457 u n f a i r n e s sTPC−B : D r i v e r 42 ( <0.4382.0 >) on node mmsc@maas s t o p p e d : { t ime ,4169 ,4107 ,4107 ,822773077 ,8844323}TPC−B : D r i v e r 24 ( <0.4364.0 >) on node mmsc@maas s t o p p e d : { t ime ,4334 ,4265 ,4265 ,822772097 ,10459667}TPC−B : D r i v e r 52 ( <0.4392.0 >) on node mmsc@maas s t o p p e d : { t ime ,4175 ,4131 ,4131 ,822774209 ,9505297}TPC−B : D r i v e r 32 ( <0.4372.0 >) on node mmsc@maas s t o p p e d : { t ime ,4256 ,4181 ,4181 ,822775036 ,9422815}

58

Page 71: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

TPC−B : D r i v e r 46 ( <0.4386.0 >) on node mmsc@maas s t o p p e d : { t ime ,4064 ,4026 ,4026 ,822776510 ,9741936}TPC−B : D r i v e r 33 ( <0.4373.0 >) on node mmsc@maas s t o p p e d : { t ime ,4012 ,3958 ,3958 ,822778758 ,9797159}TPC−B : D r i v e r 57 ( <0.4397.0 >) on node mmsc@maas s t o p p e d : { t ime ,4171 ,4105 ,4105 ,822774665 ,8266284}TPC−B : D r i v e r 31 ( <0.4371.0 >) on node mmsc@maas s t o p p e d : { t ime ,4147 ,4108 ,4108 ,822777763 ,9437038}TPC−B : D r i v e r 63 ( <0.4403.0 >) on node mmsc@maas s t o p p e d : { t ime ,4077 ,4001 ,4001 ,822776432 ,9713205}TPC−B : D r i v e r 22 ( <0.4362.0 >) on node mmsc@maas s t o p p e d : { t ime ,4246 ,4177 ,4177 ,822778305 ,9789853}TPC−B : D r i v e r 9 ( <0.4349.0 >) on node mmsc@maas s t o p p e d : { t ime ,4284 ,4222 ,4222 ,822778597 ,9469049}TPC−B : D r i v e r 51 ( <0.4391.0 >) on node mmsc@maas s t o p p e d : { t ime ,3966 ,3932 ,3932 ,822780611 ,9434333}TPC−B : D r i v e r 39 ( <0.4379.0 >) on node mmsc@maas s t o p p e d : { t ime ,4314 ,4259 ,4259 ,822776736 ,9704825}TPC−B : D r i v e r 34 ( <0.4374.0 >) on node mmsc@maas s t o p p e d : { t ime ,4170 ,4119 ,4119 ,822780031 ,9812661}TPC−B : D r i v e r 62 ( <0.4402.0 >) on node mmsc@maas s t o p p e d : { t ime ,4182 ,4134 ,4134 ,822777758 ,10015740}TPC−B : D r i v e r 12 ( <0.4352.0 >) on node mmsc@maas s t o p p e d : { t ime ,3990 ,3916 ,3916 ,822785619 ,8890869}TPC−B : D r i v e r 25 ( <0.4365.0 >) on node mmsc@maas s t o p p e d : { t ime ,4190 ,4150 ,4150 ,822780165 ,9912646}TPC−B : D r i v e r 30 ( <0.4370.0 >) on node mmsc@maas s t o p p e d : { t ime ,4172 ,4124 ,4124 ,822782031 ,9393352}TPC−B : D r i v e r 18 ( <0.4358.0 >) on node mmsc@maas s t o p p e d : { t ime ,4350 ,4290 ,4290 ,822779865 ,9408542}TPC−B : D r i v e r 17 ( <0.4357.0 >) on node mmsc@maas s t o p p e d : { t ime ,4080 ,4028 ,4028 ,822785621 ,9800318}TPC−B : D r i v e r 11 ( <0.4351.0 >) on node mmsc@maas s t o p p e d : { t ime ,4027 ,3978 ,3978 ,822786958 ,9419092}TPC−B : D r i v e r 50 ( <0.4390.0 >) on node mmsc@maas s t o p p e d : { t ime ,4031 ,3955 ,3955 ,822785430 ,9970298}TPC−B : D r i v e r 41 ( <0.4381.0 >) on node mmsc@maas s t o p p e d : { t ime ,4421 ,4360 ,4360 ,822780330 ,9722597}TPC−B : D r i v e r 35 ( <0.4375.0 >) on node mmsc@maas s t o p p e d : { t ime ,4235 ,4174 ,4174 ,822784635 ,8791556}TPC−B : D r i v e r 26 ( <0.4366.0 >) on node mmsc@maas s t o p p e d : { t ime ,4234 ,4158 ,4158 ,822786384 ,8903917}TPC−B : D r i v e r 13 ( <0.4353.0 >) on node mmsc@maas s t o p p e d : { t ime ,4057 ,4012 ,4012 ,822791976 ,9412312}TPC−B : D r i v e r 58 ( <0.4398.0 >) on node mmsc@maas s t o p p e d : { t ime ,4411 ,4344 ,4344 ,822784203 ,8780222}TPC−B : D r i v e r 27 ( <0.4367.0 >) on node mmsc@maas s t o p p e d : { t ime ,4199 ,4147 ,4147 ,822790456 ,9794741}TPC−B : D r i v e r 16 ( <0.4356.0 >) on node mmsc@maas s t o p p e d : { t ime ,4181 ,4131 ,4131 ,822791834 ,9724348}TPC−B : D r i v e r 7 ( <0.4342.0 >) on node mmsc@maas s t o p p e d : { t ime ,1462 ,1442 ,1442 ,822839431 ,9817404}TPC−B : D r i v e r 43 ( <0.4383.0 >) on node mmsc@maas s t o p p e d : { t ime ,4214 ,4166 ,4166 ,822789735 ,9046596}TPC−B : D r i v e r 23 ( <0.4363.0 >) on node mmsc@maas s t o p p e d : { t ime ,4187 ,4152 ,4152 ,822793630 ,9528841}TPC−B : D r i v e r 40 ( <0.4380.0 >) on node mmsc@maas s t o p p e d : { t ime ,4251 ,4200 ,4200 ,822792707 ,9753732}TPC−B : D r i v e r 56 ( <0.4396.0 >) on node mmsc@maas s t o p p e d : { t ime ,4142 ,4091 ,4091 ,822795964 ,9716486}TPC−B : D r i v e r 55 ( <0.4395.0 >) on node mmsc@maas s t o p p e d : { t ime ,4199 ,4153 ,4153 ,822794987 ,9966224}TPC−B : D r i v e r 10 ( <0.4350.0 >) on node mmsc@maas s t o p p e d : { t ime ,4463 ,4411 ,4411 ,822794970 ,9402819}TPC−B : D r i v e r 3 ( <0.4346.0 >) on node mmsc@maas s t o p p e d : { t ime ,1551 ,1532 ,1532 ,822845795 ,10428753}TPC−B : D r i v e r 15 ( <0.4355.0 >) on node mmsc@maas s t o p p e d : { t ime ,4250 ,4191 ,4191 ,822801340 ,9428855}TPC−B : D r i v e r 44 ( <0.4384.0 >) on node mmsc@maas s t o p p e d : { t ime ,4272 ,4217 ,4217 ,822798407 ,9393031}TPC−B : D r i v e r 47 ( <0.4387.0 >) on node mmsc@maas s t o p p e d : { t ime ,4298 ,4243 ,4243 ,822797936 ,9718520}TPC−B : D r i v e r 1 ( <0.4348.0 >) on node mmsc@maas s t o p p e d : { t ime ,1594 ,1570 ,1570 ,822847777 ,9490413}TPC−B : D r i v e r 60 ( <0.4400.0 >) on node mmsc@maas s t o p p e d : { t ime ,4353 ,4294 ,4294 ,822798755 ,9533152}TPC−B : D r i v e r 64 ( <0.4404.0 >) on node mmsc@maas s t o p p e d : { t ime ,4167 ,4101 ,4101 ,822802348 ,9804363}TPC−B : D r i v e r 28 ( <0.4368.0 >) on node mmsc@maas s t o p p e d : { t ime ,4117 ,4087 ,4087 ,822808640 ,9417532}TPC−B : D r i v e r 19 ( <0.4359.0 >) on node mmsc@maas s t o p p e d : { t ime ,4112 ,4071 ,4071 ,822809798 ,9772952}TPC−B : D r i v e r 54 ( <0.4394.0 >) on node mmsc@maas s t o p p e d : { t ime ,4157 ,4096 ,4096 ,822806266 ,9763690}TPC−B : D r i v e r 53 ( <0.4393.0 >) on node mmsc@maas s t o p p e d : { t ime ,4169 ,4135 ,4135 ,822807505 ,9719306}TPC−B : D r i v e r 49 ( <0.4389.0 >) on node mmsc@maas s t o p p e d : { t ime ,4157 ,4117 ,4117 ,822808510 ,10156657}TPC−B : D r i v e r 48 ( <0.4388.0 >) on node mmsc@maas s t o p p e d : { t ime ,4263 ,4214 ,4214 ,822808143 ,9780080}TPC−B : D r i v e r 59 ( <0.4399.0 >) on node mmsc@maas s t o p p e d : { t ime ,4235 ,4163 ,4163 ,822811408 ,10950521}TPC−B : D r i v e r 21 ( <0.4361.0 >) on node mmsc@maas s t o p p e d : { t ime ,4272 ,4226 ,4226 ,822814865 ,9783770}TPC−B : D r i v e r 37 ( <0.4377.0 >) on node mmsc@maas s t o p p e d : { t ime ,4365 ,4317 ,4317 ,822815853 ,13534742}TPC−B : D r i v e r 36 ( <0.4376.0 >) on node mmsc@maas s t o p p e d : { t ime ,4000 ,3975 ,3975 ,822824761 ,13524568}TPC−B : D r i v e r 45 ( <0.4385.0 >) on node mmsc@maas s t o p p e d : { t ime ,4063 ,3997 ,3997 ,822829262 ,9737565}TPC−B : D r i v e r 2 ( <0.4347.0 >) on node mmsc@maas s t o p p e d : { t ime ,1610 ,1582 ,1582 ,822876427 ,9937245}TPC−B : D r i v e r 29 ( <0.4369.0 >) on node mmsc@maas s t o p p e d : { t ime ,4215 ,4174 ,4174 ,822835041 ,9405079}TPC−B : D r i v e r 38 ( <0.4378.0 >) on node mmsc@maas s t o p p e d : { t ime ,4292 ,4248 ,4248 ,822834086 ,9484125}

59

Page 72: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

TPC−B : D r i v e r 20 ( <0.4360.0 >) on node mmsc@maas s t o p p e d : { t ime ,4194 ,4129 ,4129 ,822838423 ,9828725}TPC−B : D r i v e r 6 ( <0.4343.0 >) on node mmsc@maas s t o p p e d : { t ime ,1498 ,1471 ,1471 ,822902655 ,9540549}TPC−B : D r i v e r 4 ( <0.4345.0 >) on node mmsc@maas s t o p p e d : { t ime ,1644 ,1625 ,1625 ,822913302 ,9760121}TPC−B : D r i v e r 8 ( <0.4341.0 >) on node mmsc@maas s t o p p e d : { t ime ,1558 ,1540 ,1540 ,822916958 ,9984697}TPC−B : D r i v e r 14 ( <0.4354.0 >) on node mmsc@maas s t o p p e d : { t ime ,4324 ,4284 ,4284 ,822913679 ,9749943}TPC−B : D r i v e r 61 ( <0.4401.0 >) on node mmsc@maas s t o p p e d : { t ime ,4106 ,4067 ,4067 ,822917299 ,8917878}TPC−B : D r i v e r 5 ( <0.4344.0 >) on node mmsc@maas s t o p p e d : { t ime ,1443 ,1426 ,1426 ,823088966 ,9822417}TPC−B : 13 i t e r +123 d i f f 430 ( 7 1 8 ) t p s 148814 avg m ic r os 4624318 max m ic ros 4 .470588235294118 u n f a i r n e s sTPC−B : 300 ( 3 0 0 ) t r a n s a c t i o n s p e r second , d u r a t i o n o f l o n g e s t t r a n s a c t i o n was 13534 m i l l i s e c o n d sTPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]∗∗ e x c e p t i o n e x i t : k i l l e d( mmsc@maas)2>

root@maas : / home / erdem / mmsc cvs / m a c a l l a n # l s − l r e l e a s e / mmsc / d a t a / db / mmsc /t o t a l 231652−rw−r−−r−− 1 erdem u s e r s 151 Nov 9 16 :32 DECISION TAB .LOG−rw−r−−r−− 1 erdem u s e r s 87 Nov 9 16 :33 LATEST .LOG−rw−r−−−−− 1 erdem u s e r s 24576 Nov 9 16 :14 d b . 0 0 1−rw−r−−−−− 1 erdem u s e r s 163840 Nov 9 16 :14 d b . 0 0 2−rw−r−−−−− 1 erdem u s e r s 270336 Nov 9 16 :14 d b . 0 0 3−rw−r−−−−− 1 erdem u s e r s 491520 Nov 9 16 :14 d b . 0 0 4−rw−r−−−−− 1 erdem u s e r s 194859008 Nov 9 16 :31 a c c o u n t .DAT−rw−r−−−−− 1 erdem u s e r s 8192 Nov 9 16 :31 b r a n c h .DAT−rw−r−−−−− 1 erdem u s e r s 41394176 Nov 9 16 :31 h i s t o r y .DAT−rw−r−−−−− 1 erdem u s e r s 8192 Nov 9 16 :14 schema .DAT−rw−r−−−−− 1 erdem u s e r s 24576 Nov 9 16 :31 t e l l e r .DAT

Listing B.2: tpcb bdb 8 branches 64 drivers

. / t p c b b d b 3 2 b r a n c h 1 6 d r i v e r . t x terdem@maas : / home / erdem / mmsc cvs / m a c a l l a n $ . / r e l e a s e / mmsc / b i n / mmsc e r lE r l a n g (BEAM) e m u l a t o r v e r s i o n 5 . 6 . 5 [ s o u r c e ] [ smp : 4 ] [ async−t h r e a d s : 1 0 ] [ h i p e ] [ k e r n e l−p o l l : f a l s e ]

E s h e l l V5 . 6 . 5 ( a b o r t w i th ˆG)( mmsc@maas)1> m n e s i a t p c b : i n i t ( [ { n b r a n c h e s , 32} , { r e p l i c a t y p e , d i s c o n l y c o p i e s } ] ) ,( mmsc@maas)1> m n e s i a t p c b : run ( [ { n d r i v e r s p e r n o d e , 1 6 } ] ) .TPC−B : Tab le c o n f i g : [{ db nodes , [ mmsc@maas ]} ,

{ n r e p l i c a s , 1} ,{ r e p l i c a n o d e s , [ mmsc@maas ]} ,{ r e p l i c a t y p e , d i s c o n l y c o p i e s } ,{ u s e r u n n i n g m n e s i a , f a l s e } ,{ n f r a g m e n t s , 0} ,{ n b r a n c h e s , 3 2} ,{ n t e l l e r s p e r b r a n c h , 1 0} ,{ n a c c o u n t s p e r b r a n c h , 1 0 0 0 0 0} ,{ b r a n c h f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,

123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890}} ,

{ a c c o u n t f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234}} ,

{ t e l l e r f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,1234567890123456789012345678901234567890123456789012345678}} ]

60

Page 73: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

TPC−B : G e n e r a t i n g 32 b r a n c h e s a 102 b y t e sTPC−B : G e n e r a t i n g 32 ∗ 10 t e l l e r s a 103 b y t e sTPC−B : G e n e r a t i n g 32 ∗ 100000 a c c o u n t s a 103 b y t e sTPC−B : G e n e r a t i n g 0 h i s t o r y r e c o r d s a 51 b y t e sTPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]TPC−B : Run c o n f i g : [{ d r i v e r n o d e s , [ mmsc@maas ]} ,

{ n d r i v e r s p e r n o d e , 1 6} ,{ u s e r u n n i n g m n e s i a , f a l s e } ,{ s t o p a f t e r , 2700000} ,{ r e p o r t i n t e r v a l , 6 0 0 0 0} ,{ u s e s t i c k y l o c k s , f a l s e } ,{ s p a w n n e a r b r a n c h , f a l s e } ,{ a c t i v i t y t y p e , t r a n s a c t i o n } ,{ r e u s e h i s t o r y i d , f a l s e } ]

TPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]TPC−B : Orphan b r a n c h e s : [ ]TPC−B : D r i v e r 1 s t a r t e d as <0.4456.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 2 s t a r t e d as <0.4457.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 3 s t a r t e d as <0.4458.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 4 s t a r t e d as <0.4459.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 5 s t a r t e d as <0.4460.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 6 s t a r t e d as <0.4461.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 7 s t a r t e d as <0.4462.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 8 s t a r t e d as <0.4463.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 9 s t a r t e d as <0.4464.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 10 s t a r t e d as <0.4465.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 11 s t a r t e d as <0.4466.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 12 s t a r t e d as <0.4467.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 13 s t a r t e d as <0.4468.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 14 s t a r t e d as <0.4469.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 15 s t a r t e d as <0.4470.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 16 s t a r t e d as <0.4471.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : 1 i t e r 0 d i f f 262 ( 2 6 1 ) t p s 61008 avg m ic r os 7349970 max m ic ros 1 .2636363636363637 u n f a i r n e s sTPC−B : 2 i t e r −10 d i f f 252 ( 2 5 2 ) t p s 63337 avg mi c r os 3925717 max mi c r os 1 .2981220657276995 u n f a i r n e s sTPC−B : 3 i t e r +4 d i f f 256 ( 2 5 6 ) t p s 62455 avg m ic r os 3861924 max m ic ros 1 .4565217391304348 u n f a i r n e s sTPC−B : 4 i t e r 0 d i f f 256 ( 2 5 4 ) t p s 62450 avg m ic r os 7542914 max m ic ros 1 .2776470588235294 u n f a i r n e s sTPC−B : 5 i t e r +10 d i f f 266 ( 2 6 6 ) t p s 60053 avg m ic r os 4171027 max m ic ros 1 .3452243958573074 u n f a i r n e s sTPC−B : 6 i t e r −8 d i f f 258 ( 2 5 9 ) t p s 61899 avg mi c r o s 3997207 max mi c r os 1 .3374164810690423 u n f a i r n e s sTPC−B : 7 i t e r +10 d i f f 268 ( 2 6 8 ) t p s 59700 avg m ic r os 7157543 max m ic ros 1 .2994413407821228 u n f a i r n e s sTPC−B : 8 i t e r +13 d i f f 281 ( 2 7 9 ) t p s 56854 avg m ic r os 4325910 max m ic ros 1 .239378238341969 u n f a i r n e s sTPC−B : 9 i t e r −15 d i f f 266 ( 2 6 8 ) t p s 59975 avg mi c r os 4240980 max mi c r os 1 .212860310421286 u n f a i r n e s sTPC−B : 10 i t e r −8 d i f f 258 ( 2 5 6 ) t p s 61968 avg mi c r o s 3907881 max mi c r os 1 .2741545893719808 u n f a i r n e s sTPC−B : 11 i t e r +6 d i f f 264 ( 2 6 5 ) t p s 60541 avg m ic r os 4223120 max m ic ros 1 .3644251626898047 u n f a i r n e s sTPC−B : 12 i t e r +5 d i f f 269 ( 2 6 8 ) t p s 59260 avg m ic r os 4725623 max m ic ros 1 .212152420185376 u n f a i r n e s sTPC−B : 13 i t e r −6 d i f f 263 ( 2 6 4 ) t p s 60814 avg mi c r o s 7127704 max mi c r os 1 .3779342723004695 u n f a i r n e s sTPC−B : 14 i t e r +1 d i f f 264 ( 2 6 0 ) t p s 60598 avg m ic r os 3649529 max m ic ros 1 .2539503386004516 u n f a i r n e s sTPC−B : 15 i t e r −6 d i f f 258 ( 2 5 8 ) t p s 61912 avg mi c r o s 3877147 max mi c r os 1 .1630901287553648 u n f a i r n e s sTPC−B : 16 i t e r +21 d i f f 279 ( 2 7 9 ) t p s 57258 avg m ic r os 5935072 max m ic ros 1 .250251256281407 u n f a i r n e s sTPC−B : 17 i t e r −1 d i f f 278 ( 2 7 9 ) t p s 57368 avg mi c r o s 3999301 max mi c r os 1 .2890541976620615 u n f a i r n e s sTPC−B : 18 i t e r −10 d i f f 268 ( 2 7 0 ) t p s 59521 avg mi c r os 3554280 max mi c r os 1 .2790432801822325 u n f a i r n e s sTPC−B : 19 i t e r +10 d i f f 278 ( 2 7 8 ) t p s 57510 avg m ic r os 4273476 max m ic ros 1 .2232905982905984 u n f a i r n e s sTPC−B : 20 i t e r −24 d i f f 254 ( 2 5 3 ) t p s 62916 avg mi c r os 5223129 max mi c r os 1 .2376470588235293 u n f a i r n e s sTPC−B : 21 i t e r +20 d i f f 274 ( 2 7 4 ) t p s 58359 avg m ic r os 3877874 max m ic ros 1 .21584984358707 u n f a i r n e s s

61

Page 74: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

TPC−B : 22 i t e r −10 d i f f 264 ( 2 6 1 ) t p s 60591 avg mi c r os 4538832 max mi c r os 1 .3227571115973742 u n f a i r n e s sTPC−B : 23 i t e r +5 d i f f 269 ( 2 7 1 ) t p s 59423 avg m ic r os 3953981 max m ic ros 1 .2497398543184184 u n f a i r n e s sTPC−B : 24 i t e r −8 d i f f 261 ( 2 6 1 ) t p s 61136 avg mi c r o s 5106170 max mi c r os 1 .2110389610389611 u n f a i r n e s sTPC−B : 25 i t e r +8 d i f f 269 ( 2 6 8 ) t p s 59329 avg m ic r os 6525402 max m ic ros 1 .3076923076923077 u n f a i r n e s sTPC−B : 26 i t e r −12 d i f f 257 ( 2 5 7 ) t p s 62200 avg mi c r os 4054068 max mi c r os 1 .2797687861271676 u n f a i r n e s sTPC−B : 27 i t e r +1 d i f f 258 ( 2 5 9 ) t p s 61951 avg m ic r os 4515042 max m ic ros 1 .495049504950495 u n f a i r n e s sTPC−B : 28 i t e r +6 d i f f 264 ( 2 6 4 ) t p s 60482 avg m ic r os 4171594 max m ic ros 1 .3143176733780761 u n f a i r n e s sTPC−B : 29 i t e r +2 d i f f 266 ( 2 6 3 ) t p s 60044 avg m ic r os 4247468 max m ic ros 1 .2522522522522523 u n f a i r n e s sTPC−B : 30 i t e r −6 d i f f 260 ( 2 6 3 ) t p s 61319 avg mi c r o s 3937455 max mi c r os 1 .318975552968568 u n f a i r n e s sTPC−B : 31 i t e r +1 d i f f 261 ( 2 6 0 ) t p s 61196 avg m ic r os 4753952 max m ic ros 1 .4387878787878787 u n f a i r n e s sTPC−B : 32 i t e r −18 d i f f 243 ( 2 4 3 ) t p s 65783 avg mi c r os 3968881 max mi c r os 1 .427172582619339 u n f a i r n e s sTPC−B : 33 i t e r +26 d i f f 269 ( 2 6 9 ) t p s 59465 avg m ic r os 5744512 max m ic ros 1 .4228356336260979 u n f a i r n e s sTPC−B : 34 i t e r −11 d i f f 258 ( 2 5 5 ) t p s 61896 avg mi c r os 4368088 max mi c r os 1 .2810011376564279 u n f a i r n e s sTPC−B : 35 i t e r +11 d i f f 269 ( 2 7 3 ) t p s 59452 avg m ic r os 3884215 max m ic ros 1 .2116402116402116 u n f a i r n e s sTPC−B : 36 i t e r −13 d i f f 256 ( 2 5 6 ) t p s 62437 avg mi c r os 4426583 max mi c r os 1 .1949828962371722 u n f a i r n e s sTPC−B : 37 i t e r +1 d i f f 257 ( 2 5 6 ) t p s 62036 avg m ic r os 3967167 max m ic ros 1 .247178329571106 u n f a i r n e s sTPC−B : 38 i t e r +20 d i f f 277 ( 2 7 7 ) t p s 57748 avg m ic r os 4168376 max m ic ros 1 .3404710920770877 u n f a i r n e s sTPC−B : D r i v e r 13 ( <0.4468.0 >) on node mmsc@maas s t o p p e d : { t ime ,39333 ,38603 ,38603 ,2390228934 ,6525402}TPC−B : D r i v e r 7 ( <0.4462.0 >) on node mmsc@maas s t o p p e d : { t ime ,39231 ,38576 ,38576 ,2390234883 ,5220906}TPC−B : D r i v e r 5 ( <0.4460.0 >) on node mmsc@maas s t o p p e d : { t ime ,39837 ,39038 ,39038 ,2390224238 ,4368088}TPC−B : D r i v e r 15 ( <0.4470.0 >) on node mmsc@maas s t o p p e d : { t ime ,38815 ,37971 ,37971 ,2390242001 ,7349970}TPC−B : D r i v e r 1 ( <0.4456.0 >) on node mmsc@maas s t o p p e d : { t ime ,39128 ,38340 ,38340 ,2390237938 ,5110391}TPC−B : D r i v e r 8 ( <0.4463.0 >) on node mmsc@maas s t o p p e d : { t ime ,39580 ,38878 ,38878 ,2390226732 ,5570280}TPC−B : D r i v e r 6 ( <0.4461.0 >) on node mmsc@maas s t o p p e d : { t ime ,39538 ,38842 ,38842 ,2390231854 ,7157543}TPC−B : D r i v e r 12 ( <0.4467.0 >) on node mmsc@maas s t o p p e d : { t ime ,39039 ,38300 ,38300 ,2390239766 ,7542914}TPC−B : D r i v e r 14 ( <0.4469.0 >) on node mmsc@maas s t o p p e d : { t ime ,39365 ,38648 ,38648 ,2390235427 ,5744512}TPC−B : D r i v e r 10 ( <0.4465.0 >) on node mmsc@maas s t o p p e d : { t ime ,39532 ,38789 ,38789 ,2390233111 ,4470913}TPC−B : D r i v e r 16 ( <0.4471.0 >) on node mmsc@maas s t o p p e d : { t ime ,40225 ,39481 ,39481 ,2390225335 ,4515042}TPC−B : D r i v e r 11 ( <0.4466.0 >) on node mmsc@maas s t o p p e d : { t ime ,39601 ,38988 ,38988 ,2390235364 ,5202567}TPC−B : D r i v e r 2 ( <0.4457.0 >) on node mmsc@maas s t o p p e d : { t ime ,38943 ,38186 ,38186 ,2390243962 ,5637057}TPC−B : D r i v e r 9 ( <0.4464.0 >) on node mmsc@maas s t o p p e d : { t ime ,39468 ,38592 ,38592 ,2390236142 ,7127704}TPC−B : D r i v e r 4 ( <0.4459.0 >) on node mmsc@maas s t o p p e d : { t ime ,39879 ,39047 ,39047 ,2390230110 ,4275486}TPC−B : D r i v e r 3 ( <0.4458.0 >) on node mmsc@maas s t o p p e d : { t ime ,40000 ,39241 ,39241 ,2390228249 ,4426583}TPC−B : 38 i t e r −20 d i f f 257 ( 2 5 8 ) t p s 62153 avg mi c r os 3797830 max mi c r os 1 .429037520391517 u n f a i r n e s sTPC−B : 264 ( 2 6 4 ) t r a n s a c t i o n s p e r second , d u r a t i o n o f l o n g e s t t r a n s a c t i o n was 7542 m i l l i s e c o n d sTPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]∗∗ e x c e p t i o n e x i t : k i l l e d( mmsc@maas)2>

erdem@maas : / home / erdem / mmsc cvs / m a c a l l a n / r e l e a s e / mmsc / d a t a / db / mmsc$ l s − lt o t a l 899476−rw−r−−r−− 1 erdem u s e r s 151 Nov 11 14 :22 DECISION TAB .LOG−rw−r−−r−− 1 erdem u s e r s 87 Nov 11 14 :22 LATEST .LOG−rw−r−−−−− 1 erdem u s e r s 24576 Nov 11 13 :25 d b . 0 0 1−rw−r−−−−− 1 erdem u s e r s 163840 Nov 11 13 :25 d b . 0 0 2−rw−r−−−−− 1 erdem u s e r s 270336 Nov 11 13 :25 d b . 0 0 3−rw−r−−−−− 1 erdem u s e r s 491520 Nov 11 13 :25 d b . 0 0 4−rw−r−−−−− 1 erdem u s e r s 815222784 Nov 11 14 :22 a c c o u n t .DAT−rw−r−−−−− 1 erdem u s e r s 8192 Nov 11 14 :22 b r a n c h .DAT−rw−r−−−−− 1 erdem u s e r s 104161280 Nov 11 14 :22 h i s t o r y .DAT−rw−r−−−−− 1 erdem u s e r s 8192 Nov 11 13 :25 schema .DAT−rw−r−−−−− 1 erdem u s e r s 77824 Nov 11 14 :22 t e l l e r .DAT

62

Page 75: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

Listing B.3: tpcb bdb 32 branches 16 drivers

. / t p c b b d b 6 4 b r a n c h 1 6 d r i v e r . t x terdem@maas : / home / erdem / mmsc cvs / m a c a l l a n $ . / r e l e a s e / mmsc / b i n / mmsc e r lE r l a n g (BEAM) e m u l a t o r v e r s i o n 5 . 6 . 5 [ s o u r c e ] [ smp : 4 ] [ async−t h r e a d s : 1 0 ] [ h i p e ] [ k e r n e l−p o l l : f a l s e ]

E s h e l l V5 . 6 . 5 ( a b o r t w i th ˆG)( mmsc@maas)1> m n e s i a t p c b : i n i t ( [ { n b r a n c h e s , 64} , { r e p l i c a t y p e , d i s c o n l y c o p i e s } ] ) ,( mmsc@maas)1> m n e s i a t p c b : run ( [ { n d r i v e r s p e r n o d e , 1 6 } ] ) .TPC−B : Tab le c o n f i g : [{ db nodes , [ mmsc@maas ]} ,

{ n r e p l i c a s , 1} ,{ r e p l i c a n o d e s , [ mmsc@maas ]} ,{ r e p l i c a t y p e , d i s c o n l y c o p i e s } ,{ u s e r u n n i n g m n e s i a , f a l s e } ,{ n f r a g m e n t s , 0} ,{ n b r a n c h e s , 6 4} ,{ n t e l l e r s p e r b r a n c h , 1 0} ,{ n a c c o u n t s p e r b r a n c h , 1 0 0 0 0 0} ,{ b r a n c h f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,

123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890}} ,

{ a c c o u n t f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234}} ,

{ t e l l e r f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,1234567890123456789012345678901234567890123456789012345678}} ]

TPC−B : G e n e r a t i n g 64 b r a n c h e s a 102 b y t e sTPC−B : G e n e r a t i n g 64 ∗ 10 t e l l e r s a 103 b y t e sTPC−B : G e n e r a t i n g 64 ∗ 100000 a c c o u n t s a 103 b y t e sTPC−B : G e n e r a t i n g 0 h i s t o r y r e c o r d s a 51 b y t e sTPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]TPC−B : Run c o n f i g : [{ d r i v e r n o d e s , [ mmsc@maas ]} ,

{ n d r i v e r s p e r n o d e , 1 6} ,{ u s e r u n n i n g m n e s i a , f a l s e } ,{ s t o p a f t e r , 2700000} ,{ r e p o r t i n t e r v a l , 6 0 0 0 0} ,{ u s e s t i c k y l o c k s , f a l s e } ,{ s p a w n n e a r b r a n c h , f a l s e } ,{ a c t i v i t y t y p e , t r a n s a c t i o n } ,{ r e u s e h i s t o r y i d , f a l s e } ]

TPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]TPC−B : Orphan b r a n c h e s : [ ]TPC−B : D r i v e r 1 s t a r t e d as <0.7573.0> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 2 s t a r t e d as <0.7574.0> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 3 s t a r t e d as <0.7575.0> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 5 s t a r t e d as <0.7577.0> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 4 s t a r t e d as <0.7576.0> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 6 s t a r t e d as <0.7578.0> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 8 s t a r t e d as <0.7580.0> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 7 s t a r t e d as <0.7579.0> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 9 s t a r t e d as <0.7581.0> on node mmsc@maas wi th 4 l o c a l b r a n c h e s

63

Page 76: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

TPC−B : D r i v e r 10 s t a r t e d as <0.7582.0> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 11 s t a r t e d as <0.7583.0> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 12 s t a r t e d as <0.7584.0> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 13 s t a r t e d as <0.7585.0> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 14 s t a r t e d as <0.7586.0> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 15 s t a r t e d as <0.7587.0> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 16 s t a r t e d as <0.7588.0> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : 1 i t e r 0 d i f f 268 ( 2 6 6 ) t p s 59605 avg m ic r os 7436331 max m ic ros 1 .5570890840652447 u n f a i r n e s sTPC−B : 2 i t e r +6 d i f f 274 ( 2 7 4 ) t p s 58222 avg m ic r os 6810156 max m ic ros 1 .2923588039867109 u n f a i r n e s sTPC−B : 3 i t e r +17 d i f f 291 ( 2 7 3 ) t p s 54982 avg m ic r os 8675924 max m ic ros 1 .2112274024738345 u n f a i r n e s sTPC−B : 4 i t e r −34 d i f f 257 ( 2 7 4 ) t p s 62161 avg mi c r os 8663462 max mi c r os 1 .4122712594187299 u n f a i r n e s sTPC−B : 5 i t e r +4 d i f f 261 ( 2 6 3 ) t p s 61069 avg m ic r os 6611756 max m ic ros 1 .3710045662100456 u n f a i r n e s sTPC−B : 6 i t e r +5 d i f f 266 ( 2 5 1 ) t p s 60098 avg m ic r os 7266985 max m ic ros 1 .2505399568034556 u n f a i r n e s sTPC−B : 7 i t e r +11 d i f f 277 ( 2 9 4 ) t p s 57622 avg m ic r os 6998880 max m ic ros 1 .18562874251497 u n f a i r n e s sTPC−B : 8 i t e r −12 d i f f 265 ( 2 6 2 ) t p s 60307 avg mi c r os 7270153 max mi c r os 1 .4645962732919255 u n f a i r n e s sTPC−B : 9 i t e r −1 d i f f 264 ( 2 6 3 ) t p s 60578 avg mi c r o s 7285628 max mi c r os 1 .3662280701754386 u n f a i r n e s sTPC−B : 10 i t e r 0 d i f f 264 ( 2 6 9 ) t p s 60387 avg m ic r os 6678246 max m ic ros 1 .5484693877551021 u n f a i r n e s sTPC−B : 11 i t e r +5 d i f f 269 ( 2 6 5 ) t p s 59421 avg m ic r os 8299897 max m ic ros 1 .5420219244823385 u n f a i r n e s sTPC−B : 12 i t e r −9 d i f f 260 ( 2 6 1 ) t p s 61470 avg mi c r o s 7815555 max mi c r os 1 .3172966781214204 u n f a i r n e s sTPC−B : 13 i t e r +8 d i f f 268 ( 2 6 4 ) t p s 59663 avg m ic r os 5101741 max m ic ros 1 .2334801762114538 u n f a i r n e s sTPC−B : 14 i t e r +1 d i f f 269 ( 2 7 5 ) t p s 59446 avg m ic r os 7498102 max m ic ros 1 .3438914027149322 u n f a i r n e s sTPC−B : 15 i t e r +7 d i f f 276 ( 2 7 4 ) t p s 57884 avg m ic r os 7356313 max m ic ros 1 .5028636884306987 u n f a i r n e s sTPC−B : 16 i t e r −1 d i f f 275 ( 2 7 8 ) t p s 58153 avg mi c r o s 7160958 max mi c r os 1 .2502708559046587 u n f a i r n e s sTPC−B : 17 i t e r −9 d i f f 266 ( 2 6 4 ) t p s 60147 avg mi c r o s 6799247 max mi c r os 1 .2043243243243242 u n f a i r n e s sTPC−B : 18 i t e r −1 d i f f 265 ( 2 6 7 ) t p s 60206 avg mi c r o s 6986729 max mi c r os 1 .2815642458100558 u n f a i r n e s sTPC−B : 19 i t e r −3 d i f f 262 ( 2 5 9 ) t p s 61068 avg mi c r o s 3960736 max mi c r os 1 .1835443037974684 u n f a i r n e s sTPC−B : 20 i t e r +1 d i f f 263 ( 2 6 3 ) t p s 60766 avg m ic r os 7341955 max m ic ros 1 .4080389768574908 u n f a i r n e s sTPC−B : 21 i t e r +10 d i f f 273 ( 2 7 4 ) t p s 58405 avg m ic r os 4241673 max m ic ros 1 .1752786220871327 u n f a i r n e s sTPC−B : 22 i t e r −10 d i f f 263 ( 2 6 1 ) t p s 60703 avg mi c r os 5336089 max mi c r os 1 .2816281628162816 u n f a i r n e s sTPC−B : 23 i t e r +13 d i f f 276 ( 2 7 5 ) t p s 57770 avg m ic r os 4477530 max m ic ros 1 .2991452991452992 u n f a i r n e s sTPC−B : 24 i t e r −2 d i f f 274 ( 2 7 6 ) t p s 58190 avg mi c r o s 5894292 max mi c r os 1 .350109409190372 u n f a i r n e s sTPC−B : 25 i t e r −4 d i f f 270 ( 2 7 2 ) t p s 59057 avg mi c r o s 7532312 max mi c r os 1 .2679955703211516 u n f a i r n e s sTPC−B : 26 i t e r −1 d i f f 269 ( 2 5 5 ) t p s 59326 avg mi c r o s 7769304 max mi c r os 1 .301399354144241 u n f a i r n e s sTPC−B : 27 i t e r +7 d i f f 276 ( 2 9 4 ) t p s 57788 avg m ic r os 5102698 max m ic ros 1 .323497267759563 u n f a i r n e s sTPC−B : 28 i t e r −9 d i f f 267 ( 2 6 6 ) t p s 59765 avg mi c r o s 7593018 max mi c r os 1 .3556818181818182 u n f a i r n e s sTPC−B : 29 i t e r −6 d i f f 261 ( 2 5 9 ) t p s 61258 avg mi c r o s 7281738 max mi c r os 1 .4460260972716488 u n f a i r n e s sTPC−B : 30 i t e r +19 d i f f 280 ( 2 7 9 ) t p s 57046 avg m ic r os 4620149 max m ic ros 1 .3694915254237288 u n f a i r n e s sTPC−B : 31 i t e r −16 d i f f 264 ( 2 6 4 ) t p s 60486 avg mi c r os 7661838 max mi c r os 1 .5655339805825244 u n f a i r n e s sTPC−B : 32 i t e r −1 d i f f 263 ( 2 6 3 ) t p s 60653 avg mi c r o s 7276682 max mi c r os 1 .456896551724138 u n f a i r n e s sTPC−B : 33 i t e r −8 d i f f 255 ( 2 5 8 ) t p s 62719 avg mi c r o s 7693682 max mi c r os 1 .339930151338766 u n f a i r n e s sTPC−B : D r i v e r 9 ( <0.7581.0 >) on node mmsc@maas s t o p p e d : { t ime ,35217 ,34756 ,34756 ,2078958080 ,7661838}TPC−B : D r i v e r 7 ( <0.7579.0 >) on node mmsc@maas s t o p p e d : { t ime ,35241 ,34820 ,34820 ,2080183131 ,7815555}TPC−B : D r i v e r 5 ( <0.7577.0 >) on node mmsc@maas s t o p p e d : { t ime ,34680 ,34294 ,34294 ,2081252302 ,7276682}TPC−B : D r i v e r 16 ( <0.7588.0 >) on node mmsc@maas s t o p p e d : { t ime ,34773 ,34434 ,34434 ,2081251318 ,7160958}TPC−B : D r i v e r 10 ( <0.7582.0 >) on node mmsc@maas s t o p p e d : { t ime ,35146 ,34761 ,34761 ,2081243176 ,8675924}TPC−B : D r i v e r 11 ( <0.7583.0 >) on node mmsc@maas s t o p p e d : { t ime ,34913 ,34527 ,34527 ,2082292948 ,7169731}TPC−B : D r i v e r 2 ( <0.7574.0 >) on node mmsc@maas s t o p p e d : { t ime ,34582 ,34130 ,34130 ,2082299341 ,8670456}TPC−B : D r i v e r 12 ( <0.7584.0 >) on node mmsc@maas s t o p p e d : { t ime ,35052 ,34656 ,34656 ,2082291054 ,8663462}TPC−B : D r i v e r 8 ( <0.7580.0 >) on node mmsc@maas s t o p p e d : { t ime ,34558 ,34163 ,34163 ,2082300282 ,7593018}TPC−B : D r i v e r 6 ( <0.7578.0 >) on node mmsc@maas s t o p p e d : { t ime ,34981 ,34584 ,34584 ,2082294322 ,7876714}TPC−B : D r i v e r 13 ( <0.7585.0 >) on node mmsc@maas s t o p p e d : { t ime ,34989 ,34608 ,34608 ,2082293112 ,6298773}TPC−B : D r i v e r 14 ( <0.7586.0 >) on node mmsc@maas s t o p p e d : { t ime ,34878 ,34556 ,34556 ,2082297005 ,8299897}TPC−B : D r i v e r 15 ( <0.7587.0 >) on node mmsc@maas s t o p p e d : { t ime ,35403 ,35006 ,35006 ,2082289316 ,7769304}

64

Page 77: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

TPC−B : D r i v e r 1 ( <0.7573.0 >) on node mmsc@maas s t o p p e d : { t ime ,34768 ,34368 ,34368 ,2082524010 ,7436331}TPC−B : D r i v e r 3 ( <0.7575.0 >) on node mmsc@maas s t o p p e d : { t ime ,34668 ,34296 ,34296 ,2082665435 ,7257796}TPC−B : D r i v e r 4 ( <0.7576.0 >) on node mmsc@maas s t o p p e d : { t ime ,35594 ,35088 ,35088 ,2082711257 ,7498102}TPC−B : 33 i t e r +14 d i f f 269 ( 2 6 1 ) t p s 59330 avg m ic r os 4560330 max m ic ros 1 .5714285714285714 u n f a i r n e s sTPC−B : 268 ( 2 6 8 ) t r a n s a c t i o n s p e r second , d u r a t i o n o f l o n g e s t t r a n s a c t i o n was 8675 m i l l i s e c o n d sTPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]∗∗ e x c e p t i o n e x i t : k i l l e d( mmsc@maas)2>

erdem@maas : / home / erdem / mmsc cvs / m a c a l l a n / r e l e a s e / mmsc / d a t a / db / mmsc$ l s − lt o t a l 1698240−rw−r−−r−− 1 erdem u s e r s 151 Nov 11 16 :04 DECISION TAB .LOG−rw−r−−r−− 1 erdem u s e r s 87 Nov 11 16 :04 LATEST .LOG−rw−r−−−−− 1 erdem u s e r s 24576 Nov 11 14 :52 d b . 0 0 1−rw−r−−−−− 1 erdem u s e r s 163840 Nov 11 14 :52 d b . 0 0 2−rw−r−−−−− 1 erdem u s e r s 270336 Nov 11 14 :52 d b . 0 0 3−rw−r−−−−− 1 erdem u s e r s 491520 Nov 11 14 :52 d b . 0 0 4−rw−r−−−−− 1 erdem u s e r s 1643614208 Nov 11 16 :03 a c c o u n t .DAT−rw−r−−−−− 1 erdem u s e r s 20480 Nov 11 16 :03 b r a n c h .DAT−rw−r−−−−− 1 erdem u s e r s 92835840 Nov 11 16 :03 h i s t o r y .DAT−rw−r−−−−− 1 erdem u s e r s 8192 Nov 11 14 :52 schema .DAT−rw−r−−−−− 1 erdem u s e r s 131072 Nov 11 16 :03 t e l l e r .DAT

Listing B.4: tpcb bdb 64 branches 16 drivers

. / t p c b b d b 8 0 b r a n c h 1 6 d r i v e r . t x terdem@maas : / home / erdem / mmsc cvs / m a c a l l a n $ . / r e l e a s e / mmsc / b i n / mmsc e r lE r l a n g (BEAM) e m u l a t o r v e r s i o n 5 . 6 . 5 [ s o u r c e ] [ smp : 4 ] [ async−t h r e a d s : 1 0 ] [ h i p e ] [ k e r n e l−p o l l : f a l s e ]

E s h e l l V5 . 6 . 5 ( a b o r t w i th ˆG)( mmsc@maas)1> m n e s i a t p c b : i n i t ( [ { n b r a n c h e s , 80} , { r e p l i c a t y p e , d i s c o n l y c o p i e s } ] ) ,( mmsc@maas)1> m n e s i a t p c b : run ( [ { n d r i v e r s p e r n o d e , 1 6 } ] ) .TPC−B : Tab le c o n f i g : [{ db nodes , [ mmsc@maas ]} ,

{ n r e p l i c a s , 1} ,{ r e p l i c a n o d e s , [ mmsc@maas ]} ,{ r e p l i c a t y p e , d i s c o n l y c o p i e s } ,{ u s e r u n n i n g m n e s i a , f a l s e } ,{ n f r a g m e n t s , 0} ,{ n b r a n c h e s , 8 0} ,{ n t e l l e r s p e r b r a n c h , 1 0} ,{ n a c c o u n t s p e r b r a n c h , 1 0 0 0 0 0} ,{ b r a n c h f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,

123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890}} ,

{ a c c o u n t f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234}} ,

{ t e l l e r f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,1234567890123456789012345678901234567890123456789012345678}} ]

TPC−B : G e n e r a t i n g 80 b r a n c h e s a 102 b y t e sTPC−B : G e n e r a t i n g 80 ∗ 10 t e l l e r s a 103 b y t e sTPC−B : G e n e r a t i n g 80 ∗ 100000 a c c o u n t s a 103 b y t e sTPC−B : G e n e r a t i n g 0 h i s t o r y r e c o r d s a 51 b y t e s

65

Page 78: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

TPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]TPC−B : Run c o n f i g : [{ d r i v e r n o d e s , [ mmsc@maas ]} ,

{ n d r i v e r s p e r n o d e , 1 6} ,{ u s e r u n n i n g m n e s i a , f a l s e } ,{ s t o p a f t e r , 2700000} ,{ r e p o r t i n t e r v a l , 6 0 0 0 0} ,{ u s e s t i c k y l o c k s , f a l s e } ,{ s p a w n n e a r b r a n c h , f a l s e } ,{ a c t i v i t y t y p e , t r a n s a c t i o n } ,{ r e u s e h i s t o r y i d , f a l s e } ]

TPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]TPC−B : Orphan b r a n c h e s : [ ]TPC−B : D r i v e r 16 s t a r t e d as <0.9418.0> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 15 s t a r t e d as <0.9419.0> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 12 s t a r t e d as <0.9422.0> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 14 s t a r t e d as <0.9420.0> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 13 s t a r t e d as <0.9421.0> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 11 s t a r t e d as <0.9423.0> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 10 s t a r t e d as <0.9424.0> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 7 s t a r t e d as <0.9427.0> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 8 s t a r t e d as <0.9426.0> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 9 s t a r t e d as <0.9425.0> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 6 s t a r t e d as <0.9428.0> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 5 s t a r t e d as <0.9429.0> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 3 s t a r t e d as <0.9431.0> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 4 s t a r t e d as <0.9430.0> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 1 s t a r t e d as <0.9433.0> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 2 s t a r t e d as <0.9432.0> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : 1 i t e r 0 d i f f 260 ( 2 5 7 ) t p s 61519 avg m ic r os 4435742 max m ic ros 1 .2327394209354121 u n f a i r n e s sTPC−B : 2 i t e r −5 d i f f 255 ( 2 5 5 ) t p s 62723 avg mi c r o s 7121863 max mi c r os 1 .1979865771812082 u n f a i r n e s sTPC−B : 3 i t e r +36 d i f f 291 ( 2 9 1 ) t p s 54801 avg m ic r os 8923373 max m ic ros 1 .2756147540983607 u n f a i r n e s sTPC−B : 4 i t e r −28 d i f f 263 ( 2 6 5 ) t p s 60645 avg mi c r os 6611162 max mi c r os 1 .2853881278538812 u n f a i r n e s sTPC−B : 5 i t e r −2 d i f f 261 ( 2 4 8 ) t p s 61144 avg mi c r o s 7856813 max mi c r os 1 .3706377858002408 u n f a i r n e s sTPC−B : 6 i t e r +8 d i f f 269 ( 2 8 0 ) t p s 59265 avg m ic r os 6212295 max m ic ros 1 .3673257023933403 u n f a i r n e s sTPC−B : 7 i t e r 0 d i f f 269 ( 2 5 8 ) t p s 59474 avg m ic r os 7663838 max m ic ros 1 .1348884381338742 u n f a i r n e s sTPC−B : 8 i t e r +7 d i f f 276 ( 2 8 6 ) t p s 57801 avg m ic r os 4978044 max m ic ros 1 .5127314814814814 u n f a i r n e s sTPC−B : 9 i t e r −13 d i f f 263 ( 2 6 5 ) t p s 60662 avg mi c r os 7557758 max mi c r os 1 .2908496732026145 u n f a i r n e s sTPC−B : 10 i t e r −1 d i f f 262 ( 2 6 2 ) t p s 61020 avg mi c r o s 8472589 max mi c r os 1 .4323699421965317 u n f a i r n e s sTPC−B : 11 i t e r +1 d i f f 263 ( 2 6 5 ) t p s 60789 avg m ic r os 7187442 max m ic ros 1 .2685714285714285 u n f a i r n e s sTPC−B : 12 i t e r +8 d i f f 271 ( 2 7 2 ) t p s 58894 avg m ic r os 7500726 max m ic ros 1 .336470588235294 u n f a i r n e s sTPC−B : 13 i t e r −12 d i f f 259 ( 2 5 7 ) t p s 61562 avg mi c r os 6709082 max mi c r os 1 .3218785796105383 u n f a i r n e s sTPC−B : 14 i t e r −3 d i f f 256 ( 2 5 9 ) t p s 62437 avg mi c r o s 8176454 max mi c r os 1 .3467455621301776 u n f a i r n e s sTPC−B : 15 i t e r +17 d i f f 273 ( 2 6 1 ) t p s 58425 avg m ic r os 7302739 max m ic ros 1 .3440979955456571 u n f a i r n e s sTPC−B : 16 i t e r −4 d i f f 269 ( 2 8 2 ) t p s 59335 avg mi c r o s 8189322 max mi c r os 1 .2878787878787878 u n f a i r n e s sTPC−B : 17 i t e r −7 d i f f 262 ( 2 6 2 ) t p s 60978 avg mi c r o s 6514754 max mi c r os 1 .3719582850521437 u n f a i r n e s sTPC−B : 18 i t e r +6 d i f f 268 ( 2 6 8 ) t p s 59576 avg m ic r os 4835771 max m ic ros 1 .5330188679245282 u n f a i r n e s sTPC−B : 19 i t e r −6 d i f f 262 ( 2 6 1 ) t p s 61003 avg mi c r o s 6105153 max mi c r os 1 .4218566392479437 u n f a i r n e s sTPC−B : 20 i t e r +3 d i f f 265 ( 2 6 4 ) t p s 60241 avg m ic r os 7122375 max m ic ros 1 .3047722342733188 u n f a i r n e s sTPC−B : 21 i t e r −2 d i f f 263 ( 2 6 4 ) t p s 60698 avg mi c r o s 7355543 max mi c r os 1 .267480577136515 u n f a i r n e s sTPC−B : 22 i t e r −1 d i f f 262 ( 2 6 1 ) t p s 60842 avg mi c r o s 6831353 max mi c r os 1 .241119483315393 u n f a i r n e s sTPC−B : 23 i t e r −9 d i f f 253 ( 2 5 4 ) t p s 63071 avg mi c r o s 7140342 max mi c r os 1 .505249343832021 u n f a i r n e s sTPC−B : 24 i t e r +2 d i f f 255 ( 2 5 7 ) t p s 62653 avg m ic r os 6372138 max m ic ros 1 .5753052917232022 u n f a i r n e s sTPC−B : 25 i t e r +12 d i f f 267 ( 2 6 7 ) t p s 59846 avg m ic r os 4293221 max m ic ros 1 .381336405529954 u n f a i r n e s s

66

Page 79: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

TPC−B : 26 i t e r −3 d i f f 264 ( 2 6 2 ) t p s 60533 avg mi c r o s 6451076 max mi c r os 1 .2855504587155964 u n f a i r n e s sTPC−B : 27 i t e r −2 d i f f 262 ( 2 6 5 ) t p s 60921 avg mi c r o s 7759475 max mi c r os 1 .2224744608399547 u n f a i r n e s sTPC−B : 28 i t e r −27 d i f f 235 ( 2 3 3 ) t p s 67923 avg mi c r os 4086776 max mi c r os 1 .3898768809849522 u n f a i r n e s sTPC−B : 29 i t e r +21 d i f f 256 ( 2 5 6 ) t p s 62276 avg m ic r os 3938116 max m ic ros 1 .3076023391812865 u n f a i r n e s sTPC−B : 30 i t e r +4 d i f f 260 ( 2 6 1 ) t p s 61424 avg m ic r os 4971521 max m ic ros 1 .279394644935972 u n f a i r n e s sTPC−B : D r i v e r 12 ( <0.9422.0 >) on node mmsc@maas s t o p p e d : { t ime ,31293 ,30593 ,30593 ,1904669442 ,7576452}TPC−B : D r i v e r 13 ( <0.9421.0 >) on node mmsc@maas s t o p p e d : { t ime ,31180 ,30509 ,30509 ,1904669543 ,6557130}TPC−B : D r i v e r 10 ( <0.9424.0 >) on node mmsc@maas s t o p p e d : { t ime ,30359 ,29801 ,29801 ,1905072648 ,7864165}TPC−B : D r i v e r 16 ( <0.9418.0 >) on node mmsc@maas s t o p p e d : { t ime ,31258 ,30630 ,30630 ,1905059823 ,7355543}TPC−B : D r i v e r 2 ( <0.9432.0 >) on node mmsc@maas s t o p p e d : { t ime ,31233 ,30616 ,30616 ,1905060903 ,7302739}TPC−B : D r i v e r 6 ( <0.9428.0 >) on node mmsc@maas s t o p p e d : { t ime ,31099 ,30488 ,30488 ,1905061593 ,7313051}TPC−B : D r i v e r 7 ( <0.9427.0 >) on node mmsc@maas s t o p p e d : { t ime ,32109 ,31480 ,31480 ,1905048408 ,7868912}TPC−B : D r i v e r 11 ( <0.9423.0 >) on node mmsc@maas s t o p p e d : { t ime ,31261 ,30614 ,30614 ,1905060961 ,8920512}TPC−B : D r i v e r 4 ( <0.9430.0 >) on node mmsc@maas s t o p p e d : { t ime ,30988 ,30366 ,30366 ,1905067630 ,6871014}TPC−B : D r i v e r 1 ( <0.9433.0 >) on node mmsc@maas s t o p p e d : { t ime ,31905 ,31252 ,31252 ,1905201748 ,6861235}TPC−B : D r i v e r 15 ( <0.9419.0 >) on node mmsc@maas s t o p p e d : { t ime ,32078 ,31446 ,31446 ,1905198654 ,7557758}TPC−B : D r i v e r 3 ( <0.9431.0 >) on node mmsc@maas s t o p p e d : { t ime ,31610 ,30971 ,30971 ,1905206050 ,6787688}TPC−B : D r i v e r 8 ( <0.9426.0 >) on node mmsc@maas s t o p p e d : { t ime ,32139 ,31508 ,31508 ,1905285006 ,6829367}TPC−B : D r i v e r 14 ( <0.9420.0 >) on node mmsc@maas s t o p p e d : { t ime ,30984 ,30421 ,30421 ,1905392853 ,8472589}TPC−B : D r i v e r 5 ( <0.9429.0 >) on node mmsc@maas s t o p p e d : { t ime ,31324 ,30738 ,30738 ,1905486150 ,6078333}TPC−B : D r i v e r 9 ( <0.9425.0 >) on node mmsc@maas s t o p p e d : { t ime ,31653 ,30974 ,30974 ,1905493090 ,8923373}TPC−B : 30 i t e r +5 d i f f 265 ( 2 6 5 ) t p s 60193 avg m ic r os 3943493 max m ic ros 1 .2544802867383513 u n f a i r n e s sTPC−B : 263 ( 2 6 3 ) t r a n s a c t i o n s p e r second , d u r a t i o n o f l o n g e s t t r a n s a c t i o n was 8923 m i l l i s e c o n d sTPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]∗∗ e x c e p t i o n e x i t : k i l l e d( mmsc@maas)2>

erdem@maas : / home / erdem / mmsc cvs / m a c a l l a n / r e l e a s e / mmsc / d a t a / db / mmsc$ l s − lt o t a l 2093820−rw−r−−r−− 1 erdem u s e r s 151 Nov 11 19 :49 DECISION TAB .LOG−rw−r−−r−− 1 erdem u s e r s 87 Nov 11 19 :49 LATEST .LOG−rw−r−−−−− 1 erdem u s e r s 24576 Nov 11 18 :28 d b . 0 0 1−rw−r−−−−− 1 erdem u s e r s 163840 Nov 11 18 :28 d b . 0 0 2−rw−r−−−−− 1 erdem u s e r s 270336 Nov 11 18 :28 d b . 0 0 3−rw−r−−−−− 1 erdem u s e r s 491520 Nov 11 18 :28 d b . 0 0 4−rw−r−−−−− 1 erdem u s e r s 2057560064 Nov 11 19 :46 a c c o u n t .DAT−rw−r−−−−− 1 erdem u s e r s 20480 Nov 11 19 :46 b r a n c h .DAT−rw−r−−−−− 1 erdem u s e r s 83357696 Nov 11 19 :46 h i s t o r y .DAT−rw−r−−−−− 1 erdem u s e r s 8192 Nov 11 18 :28 schema .DAT−rw−r−−−−− 1 erdem u s e r s 167936 Nov 11 19 :46 t e l l e r .DAT

Listing B.5: tpcb bdb 80 branches 16 drivers

. / t p c b b d b 8 0 b r a n c h 6 4 d r i v e r . t x ts t a r t e d 09 :49ended 10 :37

E s h e l l V5 . 6 . 5 ( a b o r t w i th ˆG)( mmsc@maas)1> m n e s i a t p c b : i n i t ( [ { n b r a n c h e s , 80} , { r e p l i c a t y p e , d i s c o n l y c o p i e s } ] ) ,( mmsc@maas)1> m n e s i a t p c b : run ( [ { n d r i v e r s p e r n o d e , 6 4 } ] ) .TPC−B : Tab le c o n f i g : [{ db nodes , [ mmsc@maas ]} ,

{ n r e p l i c a s , 1} ,{ r e p l i c a n o d e s , [ mmsc@maas ]} ,{ r e p l i c a t y p e , d i s c o n l y c o p i e s } ,

67

Page 80: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

{ u s e r u n n i n g m n e s i a , f a l s e } ,{ n f r a g m e n t s , 0} ,{ n b r a n c h e s , 8 0} ,{ n t e l l e r s p e r b r a n c h , 1 0} ,{ n a c c o u n t s p e r b r a n c h , 1 0 0 0 0 0} ,{ b r a n c h f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,

123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890}} ,

{ a c c o u n t f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234}} ,

{ t e l l e r f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,1234567890123456789012345678901234567890123456789012345678}} ]

TPC−B : G e n e r a t i n g 80 b r a n c h e s a 102 b y t e sTPC−B : G e n e r a t i n g 80 ∗ 10 t e l l e r s a 103 b y t e sTPC−B : G e n e r a t i n g 80 ∗ 100000 a c c o u n t s a 103 b y t e sTPC−B : G e n e r a t i n g 0 h i s t o r y r e c o r d s a 51 b y t e sTPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]TPC−B : Run c o n f i g : [{ d r i v e r n o d e s , [ mmsc@maas ]} ,

{ n d r i v e r s p e r n o d e , 6 4} ,{ u s e r u n n i n g m n e s i a , f a l s e } ,{ s t o p a f t e r , 9 0 0 0 0 0} ,{ r e p o r t i n t e r v a l , 6 0 0 0 0} ,{ u s e s t i c k y l o c k s , f a l s e } ,{ s p a w n n e a r b r a n c h , f a l s e } ,{ a c t i v i t y t y p e , t r a n s a c t i o n } ,{ r e u s e h i s t o r y i d , f a l s e } ]

TPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]TPC−B : Orphan b r a n c h e s : [ ]TPC−B : D r i v e r 49 s t a r t e d as <0.9423.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 50 s t a r t e d as <0.9424.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 51 s t a r t e d as <0.9425.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 52 s t a r t e d as <0.9426.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 53 s t a r t e d as <0.9427.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 54 s t a r t e d as <0.9428.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 55 s t a r t e d as <0.9429.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 56 s t a r t e d as <0.9430.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 57 s t a r t e d as <0.9431.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 58 s t a r t e d as <0.9432.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 59 s t a r t e d as <0.9433.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 60 s t a r t e d as <0.9434.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 61 s t a r t e d as <0.9435.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 62 s t a r t e d as <0.9436.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 63 s t a r t e d as <0.9437.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 64 s t a r t e d as <0.9438.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 48 s t a r t e d as <0.9439.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 47 s t a r t e d as <0.9440.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 45 s t a r t e d as <0.9442.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 46 s t a r t e d as <0.9441.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 44 s t a r t e d as <0.9443.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 41 s t a r t e d as <0.9446.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 42 s t a r t e d as <0.9445.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e s

68

Page 81: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

TPC−B : D r i v e r 40 s t a r t e d as <0.9447.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 43 s t a r t e d as <0.9444.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 39 s t a r t e d as <0.9448.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 38 s t a r t e d as <0.9449.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 37 s t a r t e d as <0.9450.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 36 s t a r t e d as <0.9451.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 35 s t a r t e d as <0.9452.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 34 s t a r t e d as <0.9453.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 33 s t a r t e d as <0.9454.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 32 s t a r t e d as <0.9455.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 31 s t a r t e d as <0.9456.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 30 s t a r t e d as <0.9457.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 29 s t a r t e d as <0.9458.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 28 s t a r t e d as <0.9459.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 27 s t a r t e d as <0.9460.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 26 s t a r t e d as <0.9461.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 25 s t a r t e d as <0.9462.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 24 s t a r t e d as <0.9463.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 23 s t a r t e d as <0.9464.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 22 s t a r t e d as <0.9465.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 21 s t a r t e d as <0.9466.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 20 s t a r t e d as <0.9467.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 19 s t a r t e d as <0.9468.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 18 s t a r t e d as <0.9469.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 17 s t a r t e d as <0.9470.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 16 s t a r t e d as <0.9471.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 14 s t a r t e d as <0.9473.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 15 s t a r t e d as <0.9472.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 13 s t a r t e d as <0.9474.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 12 s t a r t e d as <0.9475.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 11 s t a r t e d as <0.9476.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 10 s t a r t e d as <0.9477.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 8 s t a r t e d as <0.9479.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 9 s t a r t e d as <0.9478.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 7 s t a r t e d as <0.9480.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 6 s t a r t e d as <0.9481.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 5 s t a r t e d as <0.9482.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 4 s t a r t e d as <0.9483.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 3 s t a r t e d as <0.9484.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 2 s t a r t e d as <0.9485.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 1 s t a r t e d as <0.9486.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : 1 i t e r 0 d i f f 233 ( 2 3 2 ) t p s 274312 avg m ic r os 4511082 max m ic ros 2 .61744966442953 u n f a i r n e s sTPC−B : D r i v e r 15 ( <0.9472.0 >) on node mmsc@maas s t o p p e d : { t ime ,352 ,183 ,183 ,118446282 ,4407901}TPC−B : D r i v e r 30 ( <0.9457.0 >) on node mmsc@maas s t o p p e d : { t ime ,327 ,177 ,177 ,118448995 ,4389915}TPC−B : D r i v e r 35 ( <0.9452.0 >) on node mmsc@maas s t o p p e d : { t ime ,329 ,177 ,177 ,118916512 ,5497758}TPC−B : D r i v e r 7 ( <0.9480.0 >) on node mmsc@maas s t o p p e d : { t ime ,352 ,163 ,163 ,118914392 ,4344667}TPC−B : D r i v e r 24 ( <0.9463.0 >) on node mmsc@maas s t o p p e d : { t ime ,371 ,175 ,175 ,118916815 ,4249118}TPC−B : D r i v e r 55 ( <0.9429.0 >) on node mmsc@maas s t o p p e d : { t ime ,615 ,323 ,323 ,118916073 ,4384938}TPC−B : D r i v e r 44 ( <0.9443.0 >) on node mmsc@maas s t o p p e d : { t ime ,335 ,175 ,175 ,118920678 ,4398458}TPC−B : D r i v e r 52 ( <0.9426.0 >) on node mmsc@maas s t o p p e d : { t ime ,646 ,342 ,342 ,118917541 ,4668499}TPC−B : D r i v e r 21 ( <0.9466.0 >) on node mmsc@maas s t o p p e d : { t ime ,304 ,149 ,149 ,118921227 ,4511082}TPC−B : D r i v e r 62 ( <0.9436.0 >) on node mmsc@maas s t o p p e d : { t ime ,660 ,307 ,307 ,118918253 ,8324070}TPC−B : D r i v e r 22 ( <0.9465.0 >) on node mmsc@maas s t o p p e d : { t ime ,348 ,184 ,184 ,118922159 ,8650384}

69

Page 82: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

TPC−B : D r i v e r 3 ( <0.9484.0 >) on node mmsc@maas s t o p p e d : { t ime ,372 ,201 ,201 ,118921176 ,4384905}TPC−B : D r i v e r 2 ( <0.9485.0 >) on node mmsc@maas s t o p p e d : { t ime ,369 ,186 ,186 ,118921714 ,8642931}TPC−B : D r i v e r 8 ( <0.9479.0 >) on node mmsc@maas s t o p p e d : { t ime ,351 ,163 ,163 ,118923651 ,4419722}TPC−B : D r i v e r 49 ( <0.9423.0 >) on node mmsc@maas s t o p p e d : { t ime ,678 ,337 ,337 ,118923881 ,6260213}TPC−B : D r i v e r 46 ( <0.9441.0 >) on node mmsc@maas s t o p p e d : { t ime ,376 ,189 ,189 ,118932795 ,4423168}TPC−B : D r i v e r 23 ( <0.9464.0 >) on node mmsc@maas s t o p p e d : { t ime ,335 ,175 ,175 ,119358157 ,4414542}TPC−B : D r i v e r 27 ( <0.9460.0 >) on node mmsc@maas s t o p p e d : { t ime ,348 ,182 ,182 ,119359387 ,4727569}TPC−B : D r i v e r 16 ( <0.9471.0 >) on node mmsc@maas s t o p p e d : { t ime ,379 ,191 ,191 ,119358808 ,4349474}TPC−B : D r i v e r 57 ( <0.9431.0 >) on node mmsc@maas s t o p p e d : { t ime ,658 ,318 ,318 ,119357948 ,4289443}TPC−B : D r i v e r 34 ( <0.9453.0 >) on node mmsc@maas s t o p p e d : { t ime ,373 ,168 ,168 ,119362122 ,4403540}TPC−B : D r i v e r 50 ( <0.9424.0 >) on node mmsc@maas s t o p p e d : { t ime ,660 ,312 ,312 ,119360364 ,4321553}TPC−B : D r i v e r 40 ( <0.9447.0 >) on node mmsc@maas s t o p p e d : { t ime ,351 ,190 ,190 ,119364723 ,4329320}TPC−B : D r i v e r 64 ( <0.9438.0 >) on node mmsc@maas s t o p p e d : { t ime ,624 ,321 ,321 ,119361530 ,4633455}TPC−B : D r i v e r 45 ( <0.9442.0 >) on node mmsc@maas s t o p p e d : { t ime ,358 ,182 ,182 ,119366893 ,4325209}TPC−B : D r i v e r 41 ( <0.9446.0 >) on node mmsc@maas s t o p p e d : { t ime ,366 ,181 ,181 ,119367267 ,4433997}TPC−B : D r i v e r 10 ( <0.9477.0 >) on node mmsc@maas s t o p p e d : { t ime ,359 ,190 ,190 ,119365646 ,4485314}TPC−B : D r i v e r 5 ( <0.9482.0 >) on node mmsc@maas s t o p p e d : { t ime ,384 ,179 ,179 ,119365658 ,4353893}TPC−B : D r i v e r 33 ( <0.9454.0 >) on node mmsc@maas s t o p p e d : { t ime ,376 ,188 ,188 ,119368894 ,4391186}TPC−B : D r i v e r 39 ( <0.9448.0 >) on node mmsc@maas s t o p p e d : { t ime ,380 ,183 ,183 ,119370288 ,4386810}TPC−B : D r i v e r 4 ( <0.9483.0 >) on node mmsc@maas s t o p p e d : { t ime ,368 ,190 ,190 ,119368199 ,6471397}TPC−B : D r i v e r 60 ( <0.9434.0 >) on node mmsc@maas s t o p p e d : { t ime ,686 ,350 ,350 ,120372495 ,4191600}TPC−B : D r i v e r 13 ( <0.9474.0 >) on node mmsc@maas s t o p p e d : { t ime ,342 ,171 ,171 ,120376033 ,4501580}TPC−B : D r i v e r 1 ( <0.9486.0 >) on node mmsc@maas s t o p p e d : { t ime ,329 ,182 ,182 ,120376151 ,6285778}TPC−B : D r i v e r 43 ( <0.9444.0 >) on node mmsc@maas s t o p p e d : { t ime ,370 ,184 ,184 ,120379030 ,4236309}TPC−B : D r i v e r 36 ( <0.9451.0 >) on node mmsc@maas s t o p p e d : { t ime ,372 ,218 ,218 ,120379922 ,4287775}TPC−B : D r i v e r 59 ( <0.9433.0 >) on node mmsc@maas s t o p p e d : { t ime ,660 ,368 ,368 ,120377258 ,4619549}TPC−B : D r i v e r 17 ( <0.9470.0 >) on node mmsc@maas s t o p p e d : { t ime ,352 ,192 ,192 ,120380669 ,6277183}TPC−B : D r i v e r 56 ( <0.9430.0 >) on node mmsc@maas s t o p p e d : { t ime ,728 ,390 ,390 ,120378178 ,4719388}TPC−B : D r i v e r 61 ( <0.9435.0 >) on node mmsc@maas s t o p p e d : { t ime ,691 ,354 ,354 ,120379254 ,4587130}TPC−B : D r i v e r 19 ( <0.9468.0 >) on node mmsc@maas s t o p p e d : { t ime ,354 ,164 ,164 ,120383304 ,4389629}TPC−B : D r i v e r 58 ( <0.9432.0 >) on node mmsc@maas s t o p p e d : { t ime ,666 ,335 ,335 ,120381466 ,4422016}TPC−B : D r i v e r 48 ( <0.9439.0 >) on node mmsc@maas s t o p p e d : { t ime ,368 ,183 ,183 ,120387234 ,4165609}TPC−B : D r i v e r 53 ( <0.9427.0 >) on node mmsc@maas s t o p p e d : { t ime ,680 ,320 ,320 ,120383779 ,4372707}TPC−B : D r i v e r 18 ( <0.9469.0 >) on node mmsc@maas s t o p p e d : { t ime ,339 ,183 ,183 ,120386956 ,4496500}TPC−B : D r i v e r 51 ( <0.9425.0 >) on node mmsc@maas s t o p p e d : { t ime ,662 ,382 ,382 ,120385867 ,4400256}TPC−B : D r i v e r 29 ( <0.9458.0 >) on node mmsc@maas s t o p p e d : { t ime ,345 ,179 ,179 ,120389336 ,4334930}TPC−B : D r i v e r 31 ( <0.9456.0 >) on node mmsc@maas s t o p p e d : { t ime ,387 ,216 ,216 ,120390362 ,4202066}TPC−B : D r i v e r 47 ( <0.9440.0 >) on node mmsc@maas s t o p p e d : { t ime ,367 ,185 ,185 ,120425085 ,4392824}TPC−B : D r i v e r 14 ( <0.9473.0 >) on node mmsc@maas s t o p p e d : { t ime ,376 ,195 ,195 ,120434348 ,4048367}TPC−B : D r i v e r 38 ( <0.9449.0 >) on node mmsc@maas s t o p p e d : { t ime ,406 ,212 ,212 ,120437942 ,4291606}TPC−B : D r i v e r 32 ( <0.9455.0 >) on node mmsc@maas s t o p p e d : { t ime ,367 ,187 ,187 ,120462860 ,4426021}TPC−B : D r i v e r 20 ( <0.9467.0 >) on node mmsc@maas s t o p p e d : { t ime ,370 ,191 ,191 ,120504877 ,4517340}TPC−B : D r i v e r 63 ( <0.9437.0 >) on node mmsc@maas s t o p p e d : { t ime ,657 ,319 ,319 ,120575343 ,4649154}TPC−B : D r i v e r 6 ( <0.9481.0 >) on node mmsc@maas s t o p p e d : { t ime ,361 ,195 ,195 ,120642841 ,4438190}TPC−B : D r i v e r 9 ( <0.9478.0 >) on node mmsc@maas s t o p p e d : { t ime ,354 ,192 ,192 ,120649774 ,8308029}TPC−B : D r i v e r 25 ( <0.9462.0 >) on node mmsc@maas s t o p p e d : { t ime ,329 ,161 ,161 ,120661071 ,4592070}TPC−B : D r i v e r 42 ( <0.9445.0 >) on node mmsc@maas s t o p p e d : { t ime ,317 ,170 ,170 ,120663357 ,4490953}TPC−B : D r i v e r 37 ( <0.9450.0 >) on node mmsc@maas s t o p p e d : { t ime ,382 ,204 ,204 ,120670129 ,4194163}TPC−B : D r i v e r 54 ( <0.9428.0 >) on node mmsc@maas s t o p p e d : { t ime ,642 ,342 ,342 ,120735532 ,4305892}TPC−B : D r i v e r 28 ( <0.9459.0 >) on node mmsc@maas s t o p p e d : { t ime ,324 ,172 ,172 ,120774346 ,4497443}TPC−B : D r i v e r 11 ( <0.9476.0 >) on node mmsc@maas s t o p p e d : { t ime ,389 ,194 ,194 ,120926926 ,4390216}TPC−B : D r i v e r 26 ( <0.9461.0 >) on node mmsc@maas s t o p p e d : { t ime ,326 ,176 ,176 ,120962137 ,4940869}TPC−B : D r i v e r 12 ( <0.9475.0 >) on node mmsc@maas s t o p p e d : { t ime ,369 ,201 ,201 ,120969171 ,7665075}

70

Page 83: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

TPC−B : 1 i t e r 0 d i f f 230 ( 2 2 6 ) t p s 278105 avg m ic r os 8650384 max m ic ros 2 .4489795918367347 u n f a i r n e s sTPC−B : 231 ( 2 2 9 ) t r a n s a c t i o n s p e r second , d u r a t i o n o f l o n g e s t t r a n s a c t i o n was 8650 m i l l i s e c o n d sTPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]∗∗ e x c e p t i o n e x i t : k i l l e d( mmsc@maas)2>

Listing B.6: tpcb bdb 80 branches 64 drivers

B.2 TPC-B on DETS Back-End

. / t p c b d e t s 8 b r a n c h 8 d r i v e r . t x t Page 1E s h e l l V5 . 6 . 5 ( a b o r t w i th ˆG)( mmsc@maas)1> l ( d e t s ) .{module , d e t s }( mmsc@maas)2> m n e s i a t p c b : i n i t ( [ { n b r a n c h e s , 8} , { r e p l i c a t y p e , d i s c o n l y c o p i e s } ] ) ,( mmsc@maas)2> m n e s i a t p c b : run ( [ { n d r i v e r s p e r n o d e , 8 } ] ) .∗∗ e x c e p t i o n e r r o r : u n d e f i n e d f u n c t i o n m n e s i a t p c b : i n i t / 1( mmsc@maas)3>( mmsc@maas)3> m n e s i a t p c b : i n i t ( [ { n b r a n c h e s , 8} , { r e p l i c a t y p e , d i s c o n l y c o p i e s } ] ) ,( mmsc@maas)3> m n e s i a t p c b : run ( [ { n d r i v e r s p e r n o d e , 8 } ] ) .TPC−B : Tab le c o n f i g : [{ db nodes , [ mmsc@maas ]} ,

{ n r e p l i c a s , 1} ,{ r e p l i c a n o d e s , [ mmsc@maas ]} ,{ r e p l i c a t y p e , d i s c o n l y c o p i e s } ,{ u s e r u n n i n g m n e s i a , f a l s e } ,{ n f r a g m e n t s , 0} ,{ n b r a n c h e s , 8} ,{ n t e l l e r s p e r b r a n c h , 1 0} ,{ n a c c o u n t s p e r b r a n c h , 1 0 0 0 0 0} ,{ b r a n c h f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,

123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890}} ,

{ a c c o u n t f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234}} ,

{ t e l l e r f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,1234567890123456789012345678901234567890123456789012345678}} ]

TPC−B : G e n e r a t i n g 8 b r a n c h e s a 102 b y t e sTPC−B : G e n e r a t i n g 8 ∗ 10 t e l l e r s a 103 b y t e sTPC−B : G e n e r a t i n g 8 ∗ 100000 a c c o u n t s a 103 b y t e sTPC−B : G e n e r a t i n g 0 h i s t o r y r e c o r d s a 51 b y t e sTPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]TPC−B : Run c o n f i g : [{ d r i v e r n o d e s , [ mmsc@maas ]} ,

{ n d r i v e r s p e r n o d e , 8} ,{ u s e r u n n i n g m n e s i a , f a l s e } ,{ s t o p a f t e r , 9 0 0 0 0 0} ,{ r e p o r t i n t e r v a l , 6 0 0 0 0} ,{ u s e s t i c k y l o c k s , f a l s e } ,{ s p a w n n e a r b r a n c h , f a l s e } ,{ a c t i v i t y t y p e , t r a n s a c t i o n } ,

71

Page 84: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

{ r e u s e h i s t o r y i d , f a l s e } ]TPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]TPC−B : Orphan b r a n c h e s : [ ]TPC−B : D r i v e r 8 s t a r t e d as <0.4290.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 7 s t a r t e d as <0.4291.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 6 s t a r t e d as <0.4292.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 5 s t a r t e d as <0.4293.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 4 s t a r t e d as <0.4294.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 3 s t a r t e d as <0.4295.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 2 s t a r t e d as <0.4296.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 1 s t a r t e d as <0.4297.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : 1 i t e r 0 d i f f 174 ( 1 7 3 ) t p s 45865 avg m ic r os 6920095 max m ic ros 1 .2004850444624091 u n f a i r n e s sTPC−B : 2 i t e r +3 d i f f 177 ( 1 7 1 ) t p s 45006 avg m ic r os 5881425 max m ic ros 1 .2705984388551606 u n f a i r n e s sTPC−B : 3 i t e r −10 d i f f 167 ( 1 7 2 ) t p s 47792 avg mi c r os 5268831 max mi c r os 1 .2993907745865971 u n f a i r n e s sTPC−B : 4 i t e r −5 d i f f 162 ( 1 6 3 ) t p s 49109 avg mi c r o s 5426829 max mi c r os 1 .5362014690451207 u n f a i r n e s sTPC−B : 5 i t e r +1 d i f f 163 ( 1 6 3 ) t p s 48884 avg m ic r os 5966871 max m ic ros 1 .1666666666666667 u n f a i r n e s sTPC−B : 6 i t e r −4 d i f f 159 ( 1 5 9 ) t p s 50238 avg mi c r o s 8291998 max mi c r os 1 .1852861035422344 u n f a i r n e s sTPC−B : 7 i t e r −21 d i f f 138 ( 1 3 7 ) t p s 57968 avg mi c r os 7751213 max mi c r os 1 .197314049586777 u n f a i r n e s sTPC−B : 8 i t e r +21 d i f f 159 ( 1 5 9 ) t p s 50224 avg m ic r os 8044805 max m ic ros 1 .3993808049535603 u n f a i r n e s sTPC−B : 9 i t e r −2 d i f f 157 ( 1 5 7 ) t p s 50648 avg mi c r o s 7029287 max mi c r os 1 .6584158415841583 u n f a i r n e s sTPC−B : 10 i t e r −8 d i f f 149 ( 1 4 8 ) t p s 53336 avg mi c r o s 5437198 max mi c r os 1 .2172675521821632 u n f a i r n e s sTPC−B : 11 i t e r −2 d i f f 147 ( 1 4 8 ) t p s 54214 avg mi c r o s 7558293 max mi c r os 1 .2917082917082916 u n f a i r n e s sTPC−B : 12 i t e r +6 d i f f 153 ( 1 5 4 ) t p s 52026 avg m ic r os 6683026 max m ic ros 1 .2614770459081837 u n f a i r n e s sTPC−B : D r i v e r 4 ( <0.4294.0 >) on node mmsc@maas s t o p p e d : { t ime ,15174 ,14772 ,14772 ,762557325 ,7739825}TPC−B : D r i v e r 7 ( <0.4291.0 >) on node mmsc@maas s t o p p e d : { t ime ,15353 ,14997 ,14997 ,763033499 ,7735446}TPC−B : D r i v e r 2 ( <0.4296.0 >) on node mmsc@maas s t o p p e d : { t ime ,15214 ,14730 ,14730 ,763035993 ,8038837}TPC−B : D r i v e r 6 ( <0.4292.0 >) on node mmsc@maas s t o p p e d : { t ime ,15170 ,14745 ,14745 ,763037793 ,8041815}TPC−B : D r i v e r 1 ( <0.4297.0 >) on node mmsc@maas s t o p p e d : { t ime ,15145 ,14751 ,14751 ,763039073 ,7716362}TPC−B : D r i v e r 5 ( <0.4293.0 >) on node mmsc@maas s t o p p e d : { t ime ,14688 ,14202 ,14202 ,763046390 ,7737568}TPC−B : D r i v e r 3 ( <0.4295.0 >) on node mmsc@maas s t o p p e d : { t ime ,15013 ,14665 ,14665 ,763042202 ,7721479}TPC−B : D r i v e r 8 ( <0.4290.0 >) on node mmsc@maas s t o p p e d : { t ime ,15280 ,14842 ,14842 ,763038444 ,8291998}TPC−B : 12 i t e r −18 d i f f 135 ( 1 3 5 ) t p s 59051 avg mi c r os 6146250 max mi c r os 1 .396551724137931 u n f a i r n e s sTPC−B : 158 ( 1 5 8 ) t r a n s a c t i o n s p e r second , d u r a t i o n o f l o n g e s t t r a n s a c t i o n was 8291 m i l l i s e c o n d sTPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]∗∗ e x c e p t i o n e x i t : k i l l e droot@maas : / home / erdem / mmsc cvs / m a c a l l a n # l s − l r e l e a s e / mmsc / d a t a / db / mmsc /t o t a l 129780−rw−r−−r−− 1 erdem u s e r s 151 Nov 9 17 :42 DECISION TAB .LOG−rw−r−−r−− 1 erdem u s e r s 87 Nov 9 17 :42 LATEST .LOG−rw−r−−r−− 1 erdem u s e r s 117308972 Nov 9 17 :44 a c c o u n t .DAT−rw−r−−r−− 1 erdem u s e r s 6783 Nov 9 17 :46 b r a n c h .DAT−rw−r−−r−− 1 erdem u s e r s 15395752 Nov 9 17 :46 h i s t o r y .DAT−rw−r−−r−− 1 erdem u s e r s 8288 Nov 9 16 :39 schema .DAT−rw−r−−r−− 1 erdem u s e r s 16758 Nov 9 17 :46 t e l l e r .DAT

Listing B.7: tpcb dets 8 branches 8 drivers

. / t p c b d e t s 8 b r a n c h 6 4 d r i v e r . t x tE s h e l l V5 . 6 . 5 ( a b o r t w i th ˆG)( mmsc@maas)1> m n e s i a t p c b : i n i t ( [ { n b r a n c h e s , 8} , { r e p l i c a t y p e , d i s c o n l y c o p i e s } ] ) ,( mmsc@maas)1> m n e s i a t p c b : run ( [ { n d r i v e r s p e r n o d e , 6 4 } ] ) .TPC−B : Tab le c o n f i g : [{ db nodes , [ mmsc@maas ]} ,

{ n r e p l i c a s , 1} ,{ r e p l i c a n o d e s , [ mmsc@maas ]} ,

72

Page 85: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

{ r e p l i c a t y p e , d i s c o n l y c o p i e s } ,{ u s e r u n n i n g m n e s i a , f a l s e } ,{ n f r a g m e n t s , 0} ,{ n b r a n c h e s , 8} ,{ n t e l l e r s p e r b r a n c h , 1 0} ,{ n a c c o u n t s p e r b r a n c h , 1 0 0 0 0 0} ,{ b r a n c h f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,

123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890}} ,

{ a c c o u n t f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234}} ,

{ t e l l e r f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,1234567890123456789012345678901234567890123456789012345678}} ]

TPC−B : G e n e r a t i n g 8 b r a n c h e s a 102 b y t e sTPC−B : G e n e r a t i n g 8 ∗ 10 t e l l e r s a 103 b y t e sTPC−B : G e n e r a t i n g 8 ∗ 100000 a c c o u n t s a 103 b y t e sTPC−B : G e n e r a t i n g 0 h i s t o r y r e c o r d s a 51 b y t e sTPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]TPC−B : Run c o n f i g : [{ d r i v e r n o d e s , [ mmsc@maas ]} ,

{ n d r i v e r s p e r n o d e , 6 4} ,{ u s e r u n n i n g m n e s i a , f a l s e } ,{ s t o p a f t e r , 9 0 0 0 0 0} ,{ r e p o r t i n t e r v a l , 6 0 0 0 0} ,{ u s e s t i c k y l o c k s , f a l s e } ,{ s p a w n n e a r b r a n c h , f a l s e } ,{ a c t i v i t y t y p e , t r a n s a c t i o n } ,{ r e u s e h i s t o r y i d , f a l s e } ]

TPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]TPC−B : Orphan b r a n c h e s : [ ]TPC−B : D r i v e r 8 s t a r t e d as <0.4449.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 7 s t a r t e d as <0.4450.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 6 s t a r t e d as <0.4451.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 5 s t a r t e d as <0.4452.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 4 s t a r t e d as <0.4453.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 3 s t a r t e d as <0.4454.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 2 s t a r t e d as <0.4455.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 1 s t a r t e d as <0.4456.0> on node mmsc@maas wi th 1 l o c a l b r a n c h e sTPC−B : D r i v e r 9 s t a r t e d as <0.4457.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 10 s t a r t e d as <0.4458.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 11 s t a r t e d as <0.4459.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 12 s t a r t e d as <0.4460.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 13 s t a r t e d as <0.4461.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 14 s t a r t e d as <0.4462.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 15 s t a r t e d as <0.4463.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 16 s t a r t e d as <0.4464.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 17 s t a r t e d as <0.4465.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 18 s t a r t e d as <0.4466.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 19 s t a r t e d as <0.4467.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 20 s t a r t e d as <0.4468.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 21 s t a r t e d as <0.4469.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 22 s t a r t e d as <0.4470.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e s

73

Page 86: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

TPC−B : D r i v e r 23 s t a r t e d as <0.4471.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 24 s t a r t e d as <0.4472.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 25 s t a r t e d as <0.4473.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 26 s t a r t e d as <0.4474.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 27 s t a r t e d as <0.4475.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 28 s t a r t e d as <0.4476.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 29 s t a r t e d as <0.4477.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 30 s t a r t e d as <0.4478.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 31 s t a r t e d as <0.4479.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 33 s t a r t e d as <0.4481.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 32 s t a r t e d as <0.4480.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 34 s t a r t e d as <0.4482.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 35 s t a r t e d as <0.4483.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 36 s t a r t e d as <0.4484.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 37 s t a r t e d as <0.4485.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 38 s t a r t e d as <0.4486.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 39 s t a r t e d as <0.4487.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 40 s t a r t e d as <0.4488.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 41 s t a r t e d as <0.4489.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 42 s t a r t e d as <0.4490.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 43 s t a r t e d as <0.4491.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 44 s t a r t e d as <0.4492.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 45 s t a r t e d as <0.4493.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 46 s t a r t e d as <0.4494.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 47 s t a r t e d as <0.4495.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 48 s t a r t e d as <0.4496.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 49 s t a r t e d as <0.4497.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 50 s t a r t e d as <0.4498.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 51 s t a r t e d as <0.4499.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 52 s t a r t e d as <0.4500.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 53 s t a r t e d as <0.4501.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 54 s t a r t e d as <0.4502.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 55 s t a r t e d as <0.4503.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 56 s t a r t e d as <0.4504.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 57 s t a r t e d as <0.4505.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 58 s t a r t e d as <0.4506.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 59 s t a r t e d as <0.4507.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 60 s t a r t e d as <0.4508.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 61 s t a r t e d as <0.4509.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 62 s t a r t e d as <0.4510.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 63 s t a r t e d as <0.4511.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : D r i v e r 64 s t a r t e d as <0.4512.0> on node mmsc@maas wi th 8 l o c a l b r a n c h e sTPC−B : 1 i t e r 0 d i f f 188 ( 1 7 6 ) t p s 339270 avg m ic r os 13219900 max m ic ros 3 .611111111111111 u n f a i r n e s sTPC−B : 2 i t e r −8 d i f f 180 ( 1 9 2 ) t p s 354653 avg mi c r os 10540748 max mi c r os 4 .225806451612903 u n f a i r n e s sTPC−B : 3 i t e r −11 d i f f 169 ( 1 6 9 ) t p s 377152 avg mi c r os 9785783 max mi c r os 4 .538461538461538 u n f a i r n e s sTPC−B : 4 i t e r +4 d i f f 173 ( 1 6 4 ) t p s 369935 avg m ic r os 9542666 max m ic ros 5 .081632653061225 u n f a i r n e s sTPC−B : 5 i t e r −18 d i f f 155 ( 1 5 3 ) t p s 412410 avg mi c r os 11350581 max mi c r os 3 .982456140350877 u n f a i r n e s sTPC−B : 6 i t e r +1 d i f f 156 ( 1 6 3 ) t p s 408356 avg m ic r os 12816597 max m ic ros 3 .901639344262295 u n f a i r n e s sTPC−B : 7 i t e r +10 d i f f 166 ( 1 6 3 ) t p s 384052 avg m ic r os 12963576 max m ic ros 4 .636363636363637 u n f a i r n e s sTPC−B : 8 i t e r −7 d i f f 159 ( 1 5 9 ) t p s 401355 avg mi c r os 12930106 max mi c r os 5 .229166666666667 u n f a i r n e s sTPC−B : 9 i t e r −12 d i f f 147 ( 1 4 4 ) t p s 433607 avg mi c r os 11653493 max mi c r os 4 .666666666666667 u n f a i r n e s sTPC−B : 10 i t e r +11 d i f f 158 ( 1 5 2 ) t p s 403223 avg m ic r os 15852778 max m ic ros 4 .576923076923077 u n f a i r n e s sTPC−B : 11 i t e r −5 d i f f 153 ( 1 5 6 ) t p s 415723 avg mi c r o s 12443191 max mi c r o s 4 .568627450980392 u n f a i r n e s s

74

Page 87: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

TPC−B : D r i v e r 28 ( <0.4476.0 >) on node mmsc@maas s t o p p e d : { t ime ,2072 ,1988 ,1988 ,759814663 ,10537728}TPC−B : D r i v e r 62 ( <0.4510.0 >) on node mmsc@maas s t o p p e d : { t ime ,2255 ,2147 ,2147 ,759809767 ,11582330}TPC−B : D r i v e r 19 ( <0.4467.0 >) on node mmsc@maas s t o p p e d : { t ime ,2186 ,2086 ,2086 ,759812251 ,11454920}TPC−B : D r i v e r 37 ( <0.4485.0 >) on node mmsc@maas s t o p p e d : { t ime ,2033 ,1977 ,1977 ,759814944 ,12412484}TPC−B : D r i v e r 41 ( <0.4489.0 >) on node mmsc@maas s t o p p e d : { t ime ,2016 ,1918 ,1918 ,760491524 ,11666971}TPC−B : D r i v e r 63 ( <0.4511.0 >) on node mmsc@maas s t o p p e d : { t ime ,2095 ,2035 ,2035 ,760488649 ,12491317}TPC−B : D r i v e r 53 ( <0.4501.0 >) on node mmsc@maas s t o p p e d : { t ime ,2226 ,2150 ,2150 ,761229662 ,11971723}TPC−B : D r i v e r 31 ( <0.4479.0 >) on node mmsc@maas s t o p p e d : { t ime ,2147 ,2035 ,2035 ,761231798 ,13219900}TPC−B : D r i v e r 44 ( <0.4492.0 >) on node mmsc@maas s t o p p e d : { t ime ,2165 ,2028 ,2028 ,761231457 ,11963334}TPC−B : D r i v e r 7 ( <0.4450.0 >) on node mmsc@maas s t o p p e d : { t ime ,826 ,790 ,790 ,761257071 ,11942427}TPC−B : D r i v e r 13 ( <0.4461.0 >) on node mmsc@maas s t o p p e d : { t ime ,1985 ,1904 ,1904 ,761236870 ,13523474}TPC−B : D r i v e r 38 ( <0.4486.0 >) on node mmsc@maas s t o p p e d : { t ime ,2054 ,1965 ,1965 ,761234266 ,11970021}TPC−B : D r i v e r 12 ( <0.4460.0 >) on node mmsc@maas s t o p p e d : { t ime ,2152 ,2091 ,2091 ,761235435 ,13806786}TPC−B : D r i v e r 4 ( <0.4453.0 >) on node mmsc@maas s t o p p e d : { t ime ,840 ,802 ,802 ,761259111 ,12773245}TPC−B : D r i v e r 11 ( <0.4459.0 >) on node mmsc@maas s t o p p e d : { t ime ,2059 ,1971 ,1971 ,761237145 ,11350581}TPC−B : D r i v e r 24 ( <0.4472.0 >) on node mmsc@maas s t o p p e d : { t ime ,2029 ,1963 ,1963 ,761238018 ,11944642}TPC−B : D r i v e r 25 ( <0.4473.0 >) on node mmsc@maas s t o p p e d : { t ime ,2137 ,2081 ,2081 ,761235995 ,12729465}TPC−B : D r i v e r 34 ( <0.4482.0 >) on node mmsc@maas s t o p p e d : { t ime ,2183 ,2133 ,2133 ,761234687 ,11661981}TPC−B : D r i v e r 56 ( <0.4504.0 >) on node mmsc@maas s t o p p e d : { t ime ,2184 ,2125 ,2125 ,761232906 ,13211382}TPC−B : D r i v e r 29 ( <0.4477.0 >) on node mmsc@maas s t o p p e d : { t ime ,2092 ,1996 ,1996 ,761236173 ,11386568}TPC−B : D r i v e r 45 ( <0.4493.0 >) on node mmsc@maas s t o p p e d : { t ime ,2114 ,2034 ,2034 ,761236698 ,12816597}TPC−B : D r i v e r 20 ( <0.4468.0 >) on node mmsc@maas s t o p p e d : { t ime ,2253 ,2138 ,2138 ,761235427 ,9875910}TPC−B : D r i v e r 57 ( <0.4505.0 >) on node mmsc@maas s t o p p e d : { t ime ,2084 ,2000 ,2000 ,761236985 ,9957542}TPC−B : D r i v e r 21 ( <0.4469.0 >) on node mmsc@maas s t o p p e d : { t ime ,2166 ,2083 ,2083 ,761236261 ,15302615}TPC−B : D r i v e r 46 ( <0.4494.0 >) on node mmsc@maas s t o p p e d : { t ime ,2112 ,2024 ,2024 ,761236802 ,12750224}TPC−B : D r i v e r 30 ( <0.4478.0 >) on node mmsc@maas s t o p p e d : { t ime ,2100 ,1991 ,1991 ,761239367 ,11604151}TPC−B : D r i v e r 32 ( <0.4480.0 >) on node mmsc@maas s t o p p e d : { t ime ,2101 ,1991 ,1991 ,761239247 ,12888029}TPC−B : D r i v e r 49 ( <0.4497.0 >) on node mmsc@maas s t o p p e d : { t ime ,2037 ,1972 ,1972 ,761240007 ,15852778}TPC−B : D r i v e r 48 ( <0.4496.0 >) on node mmsc@maas s t o p p e d : { t ime ,1971 ,1856 ,1856 ,761240259 ,12262834}TPC−B : D r i v e r 60 ( <0.4508.0 >) on node mmsc@maas s t o p p e d : { t ime ,1979 ,1909 ,1909 ,761238683 ,15297971}TPC−B : D r i v e r 2 ( <0.4455.0 >) on node mmsc@maas s t o p p e d : { t ime ,850 ,813 ,813 ,761263275 ,12905944}TPC−B : D r i v e r 64 ( <0.4512.0 >) on node mmsc@maas s t o p p e d : { t ime ,2022 ,1950 ,1950 ,761240269 ,10507109}TPC−B : D r i v e r 26 ( <0.4474.0 >) on node mmsc@maas s t o p p e d : { t ime ,1986 ,1888 ,1888 ,761243068 ,13189503}TPC−B : D r i v e r 5 ( <0.4452.0 >) on node mmsc@maas s t o p p e d : { t ime ,771 ,744 ,744 ,761266882 ,12505434}TPC−B : D r i v e r 39 ( <0.4487.0 >) on node mmsc@maas s t o p p e d : { t ime ,2150 ,2041 ,2041 ,761241929 ,11394304}TPC−B : D r i v e r 6 ( <0.4451.0 >) on node mmsc@maas s t o p p e d : { t ime ,752 ,720 ,720 ,761269180 ,12743801}TPC−B : D r i v e r 43 ( <0.4491.0 >) on node mmsc@maas s t o p p e d : { t ime ,2060 ,1984 ,1984 ,761244946 ,10406367}TPC−B : D r i v e r 16 ( <0.4464.0 >) on node mmsc@maas s t o p p e d : { t ime ,2153 ,2065 ,2065 ,761245507 ,10084387}TPC−B : D r i v e r 58 ( <0.4506.0 >) on node mmsc@maas s t o p p e d : { t ime ,2079 ,2003 ,2003 ,761245121 ,12963576}TPC−B : D r i v e r 15 ( <0.4463.0 >) on node mmsc@maas s t o p p e d : { t ime ,2177 ,2111 ,2111 ,761245368 ,11587467}TPC−B : D r i v e r 27 ( <0.4475.0 >) on node mmsc@maas s t o p p e d : { t ime ,2178 ,2122 ,2122 ,761246726 ,12768032}TPC−B : D r i v e r 51 ( <0.4499.0 >) on node mmsc@maas s t o p p e d : { t ime ,2232 ,2127 ,2127 ,761244637 ,11097089}TPC−B : D r i v e r 52 ( <0.4500.0 >) on node mmsc@maas s t o p p e d : { t ime ,2004 ,1930 ,1930 ,761249816 ,13817279}TPC−B : D r i v e r 10 ( <0.4458.0 >) on node mmsc@maas s t o p p e d : { t ime ,2116 ,2090 ,2090 ,761250553 ,13818144}TPC−B : D r i v e r 3 ( <0.4454.0 >) on node mmsc@maas s t o p p e d : { t ime ,729 ,698 ,698 ,761306716 ,12894790}TPC−B : D r i v e r 54 ( <0.4502.0 >) on node mmsc@maas s t o p p e d : { t ime ,2073 ,1960 ,1960 ,761353968 ,11599209}TPC−B : D r i v e r 35 ( <0.4483.0 >) on node mmsc@maas s t o p p e d : { t ime ,2135 ,2039 ,2039 ,761405986 ,10296426}TPC−B : D r i v e r 47 ( <0.4495.0 >) on node mmsc@maas s t o p p e d : { t ime ,1826 ,1758 ,1758 ,761513416 ,12908931}TPC−B : D r i v e r 23 ( <0.4471.0 >) on node mmsc@maas s t o p p e d : { t ime ,2133 ,2003 ,2003 ,761549486 ,11354158}TPC−B : D r i v e r 42 ( <0.4490.0 >) on node mmsc@maas s t o p p e d : { t ime ,2067 ,1991 ,1991 ,761559103 ,11556302}TPC−B : D r i v e r 36 ( <0.4484.0 >) on node mmsc@maas s t o p p e d : { t ime ,2211 ,2120 ,2120 ,761582699 ,12496255}TPC−B : D r i v e r 18 ( <0.4466.0 >) on node mmsc@maas s t o p p e d : { t ime ,2163 ,2059 ,2059 ,761652812 ,9454125}TPC−B : D r i v e r 17 ( <0.4465.0 >) on node mmsc@maas s t o p p e d : { t ime ,2052 ,1969 ,1969 ,761669946 ,12881065}

75

Page 88: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

TPC−B : D r i v e r 40 ( <0.4488.0 >) on node mmsc@maas s t o p p e d : { t ime ,2176 ,2081 ,2081 ,761702637 ,10929355}TPC−B : D r i v e r 59 ( <0.4507.0 >) on node mmsc@maas s t o p p e d : { t ime ,2133 ,2047 ,2047 ,761739423 ,12943559}TPC−B : D r i v e r 61 ( <0.4509.0 >) on node mmsc@maas s t o p p e d : { t ime ,2209 ,2120 ,2120 ,761746684 ,11400020}TPC−B : D r i v e r 9 ( <0.4457.0 >) on node mmsc@maas s t o p p e d : { t ime ,2090 ,2011 ,2011 ,761764593 ,11537689}TPC−B : D r i v e r 55 ( <0.4503.0 >) on node mmsc@maas s t o p p e d : { t ime ,2021 ,1945 ,1945 ,761833869 ,12924429}TPC−B : D r i v e r 33 ( <0.4481.0 >) on node mmsc@maas s t o p p e d : { t ime ,2221 ,2120 ,2120 ,761844381 ,13458935}TPC−B : D r i v e r 1 ( <0.4456.0 >) on node mmsc@maas s t o p p e d : { t ime ,832 ,795 ,795 ,762000891 ,11597326}TPC−B : D r i v e r 22 ( <0.4470.0 >) on node mmsc@maas s t o p p e d : { t ime ,2088 ,2009 ,2009 ,761999461 ,11617986}TPC−B : D r i v e r 50 ( <0.4498.0 >) on node mmsc@maas s t o p p e d : { t ime ,2254 ,2162 ,2162 ,762046904 ,12426088}TPC−B : D r i v e r 8 ( <0.4449.0 >) on node mmsc@maas s t o p p e d : { t ime ,769 ,734 ,734 ,762135062 ,13566868}TPC−B : D r i v e r 14 ( <0.4462.0 >) on node mmsc@maas s t o p p e d : { t ime ,1987 ,1878 ,1878 ,762121975 ,11526726}TPC−B : 11 i t e r −10 d i f f 143 ( 1 6 9 ) t p s 445306 avg mi c r os 13818144 max mi c r os 5 .269230769230769 u n f a i r n e s sTPC−B : 163 ( 1 6 3 ) t r a n s a c t i o n s p e r second , d u r a t i o n o f l o n g e s t t r a n s a c t i o n was 15852 m i l l i s e c o n d sTPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]∗∗ e x c e p t i o n e x i t : k i l l e d

root@maas : / home / erdem / mmsc cvs / m a c a l l a n # l s − l r e l e a s e / mmsc / d a t a / db / mmsc /t o t a l 130204−rw−r−−r−− 1 erdem u s e r s 151 Nov 9 18 :48 DECISION TAB .LOG−rw−r−−r−− 1 erdem u s e r s 87 Nov 9 18 :48 LATEST .LOG−rw−r−−r−− 1 erdem u s e r s 117308728 Nov 9 18 :48 a c c o u n t .DAT−rw−r−−r−− 1 erdem u s e r s 6448 Nov 9 18 :48 b r a n c h .DAT−rw−r−−r−− 1 erdem u s e r s 15832000 Nov 9 18 :48 h i s t o r y .DAT−rw−r−−r−− 1 erdem u s e r s 8288 Nov 9 17 :48 schema .DAT−rw−r−−r−− 1 erdem u s e r s 15894 Nov 9 18 :48 t e l l e r .DAT

Listing B.8: tpcb dets 8 branches 64 drivers

. / t p c b d e t s 3 2 b r a n c h 1 6 d r i v e r . t x terdem@maas : / home / erdem / mmsc cvs / m a c a l l a n $ . / r e l e a s e / mmsc / b i n / mmscE r l a n g (BEAM) e m u l a t o r v e r s i o n 5 . 6 . 5 [ s o u r c e ] [ smp : 4 ] [ async−t h r e a d s : 1 0 ] [ h i p e ] [ k e r n e l−p o l l : f a l s e ]

E s h e l l V5 . 6 . 5 ( a b o r t w i th ˆG)( mmsc@maas)1> m n e s i a t p c b : i n i t ( [ { n b r a n c h e s , 32} , { r e p l i c a t y p e , d i s c o n l y c o p i e s } ] ) ,( mmsc@maas)1> m n e s i a t p c b : run ( [ { n d r i v e r s p e r n o d e , 1 6 } ] ) .TPC−B : Tab le c o n f i g : [{ db nodes , [ mmsc@maas ]} ,

{ n r e p l i c a s , 1} ,{ r e p l i c a n o d e s , [ mmsc@maas ]} ,{ r e p l i c a t y p e , d i s c o n l y c o p i e s } ,{ u s e r u n n i n g m n e s i a , f a l s e } ,{ n f r a g m e n t s , 0} ,{ n b r a n c h e s , 3 2} ,{ n t e l l e r s p e r b r a n c h , 1 0} ,{ n a c c o u n t s p e r b r a n c h , 1 0 0 0 0 0} ,{ b r a n c h f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,

123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890}} ,

{ a c c o u n t f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234}} ,

{ t e l l e r f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,1234567890123456789012345678901234567890123456789012345678}} ]

TPC−B : G e n e r a t i n g 32 b r a n c h e s a 102 b y t e s

76

Page 89: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

TPC−B : G e n e r a t i n g 32 ∗ 10 t e l l e r s a 103 b y t e sTPC−B : G e n e r a t i n g 32 ∗ 100000 a c c o u n t s a 103 b y t e sTPC−B : G e n e r a t i n g 0 h i s t o r y r e c o r d s a 51 b y t e sTPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]TPC−B : Run c o n f i g : [{ d r i v e r n o d e s , [ mmsc@maas ]} ,

{ n d r i v e r s p e r n o d e , 1 6} ,{ u s e r u n n i n g m n e s i a , f a l s e } ,{ s t o p a f t e r , 2700000} ,{ r e p o r t i n t e r v a l , 6 0 0 0 0} ,{ u s e s t i c k y l o c k s , f a l s e } ,{ s p a w n n e a r b r a n c h , f a l s e } ,{ a c t i v i t y t y p e , t r a n s a c t i o n } ,{ r e u s e h i s t o r y i d , f a l s e } ]

TPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]TPC−B : Orphan b r a n c h e s : [ ]TPC−B : D r i v e r 1 s t a r t e d as <0.32295.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 2 s t a r t e d as <0.32296.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 3 s t a r t e d as <0.32297.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 4 s t a r t e d as <0.32298.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 5 s t a r t e d as <0.32299.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 6 s t a r t e d as <0.32300.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 7 s t a r t e d as <0.32301.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 8 s t a r t e d as <0.32302.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 10 s t a r t e d as <0.32304.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 11 s t a r t e d as <0.32305.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 9 s t a r t e d as <0.32303.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 12 s t a r t e d as <0.32306.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 13 s t a r t e d as <0.32307.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 14 s t a r t e d as <0.32308.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 15 s t a r t e d as <0.32309.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : D r i v e r 16 s t a r t e d as <0.32310.0> on node mmsc@maas wi th 2 l o c a l b r a n c h e sTPC−B : 1 i t e r 0 d i f f 163 ( 1 5 8 ) t p s 97862 avg m ic r os 12207687 max m ic ros 1 .388235294117647 u n f a i r n e s sTPC−B : 2 i t e r −33 d i f f 130 ( 1 3 4 ) t p s 122205 avg mi c r os 8741270 max mi c r os 1 .547979797979798 u n f a i r n e s sTPC−B : 3 i t e r +25 d i f f 155 ( 1 5 4 ) t p s 103096 avg m ic r os 8254171 max m ic ros 1 .528301886792453 u n f a i r n e s sTPC−B : 4 i t e r −19 d i f f 136 ( 1 3 7 ) t p s 116981 avg mi c r os 7361093 max mi c r os 1 .4288939051918736 u n f a i r n e s sTPC−B : 5 i t e r +20 d i f f 156 ( 1 5 4 ) t p s 102435 avg m ic r os 8818696 max m ic ros 1 .3143939393939394 u n f a i r n e s sTPC−B : 6 i t e r −13 d i f f 143 ( 1 4 4 ) t p s 111112 avg mi c r os 8561138 max mi c r os 1 .8225352112676056 u n f a i r n e s sTPC−B : 7 i t e r +1 d i f f 144 ( 1 4 4 ) t p s 110587 avg m ic r os 13716403 max m ic ros 1 .3726315789473684 u n f a i r n e s sTPC−B : 8 i t e r 0 d i f f 144 ( 1 4 5 ) t p s 110875 avg m ic r os 10408017 max m ic ros 1 .4334038054968288 u n f a i r n e s sTPC−B : 9 i t e r −9 d i f f 135 ( 1 3 5 ) t p s 118060 avg mi c r os 15317047 max mi c r os 1 .4305882352941177 u n f a i r n e s sTPC−B : 10 i t e r +8 d i f f 143 ( 1 4 2 ) t p s 111152 avg m ic r os 8755148 max m ic ros 1 .2140221402214022 u n f a i r n e s sTPC−B : 11 i t e r +23 d i f f 166 ( 1 6 7 ) t p s 96300 avg m ic r os 13620642 max m ic ros 1 .4095940959409594 u n f a i r n e s sTPC−B : 12 i t e r −40 d i f f 126 ( 1 2 1 ) t p s 126092 avg mi c r os 9589811 max mi c r os 1 .7659574468085106 u n f a i r n e s sTPC−B : 13 i t e r +9 d i f f 135 ( 1 4 1 ) t p s 118274 avg m ic r os 11395629 max m ic ros 1 .5357142857142858 u n f a i r n e s sTPC−B : 14 i t e r −7 d i f f 128 ( 1 2 1 ) t p s 124986 avg mi c r o s 8979579 max mi c r os 1 .5958005249343832 u n f a i r n e s sTPC−B : 15 i t e r +8 d i f f 136 ( 1 4 1 ) t p s 117170 avg m ic r os 11057299 max m ic ros 1 .5921375921375922 u n f a i r n e s sTPC−B : 16 i t e r −3 d i f f 133 ( 1 3 2 ) t p s 119823 avg mi c r o s 10670347 max mi c r o s 1 .5282555282555284 u n f a i r n e s sTPC−B : 17 i t e r +8 d i f f 141 ( 1 4 3 ) t p s 113003 avg m ic r os 9463431 max m ic ros 1 .3258196721311475 u n f a i r n e s sTPC−B : 18 i t e r −8 d i f f 133 ( 1 3 2 ) t p s 119423 avg mi c r o s 15663590 max mi c r o s 1 .3242630385487528 u n f a i r n e s sTPC−B : 19 i t e r +5 d i f f 138 ( 1 3 9 ) t p s 115799 avg m ic r os 9849096 max m ic ros 1 .5876543209876544 u n f a i r n e s sTPC−B : 20 i t e r +1 d i f f 139 ( 1 3 4 ) t p s 114754 avg m ic r os 10220879 max m ic ros 2 .104294478527607 u n f a i r n e s sTPC−B : 21 i t e r −11 d i f f 128 ( 1 2 9 ) t p s 124308 avg mi c r os 9722276 max mi c r os 1 .8415300546448088 u n f a i r n e s sTPC−B : 22 i t e r +9 d i f f 137 ( 1 4 2 ) t p s 116226 avg m ic r os 13097239 max m ic ros 1 .6618705035971224 u n f a i r n e s s

77

Page 90: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

TPC−B : 23 i t e r −11 d i f f 126 ( 1 2 5 ) t p s 126208 avg mi c r os 13898104 max mi c r os 1 .3403263403263403 u n f a i r n e s sTPC−B : 24 i t e r +1 d i f f 127 ( 1 2 9 ) t p s 125186 avg m ic r os 10745660 max m ic ros 1 .351981351981352 u n f a i r n e s sTPC−B : 25 i t e r −11 d i f f 116 ( 1 1 5 ) t p s 137105 avg mi c r os 9572160 max mi c r os 1 .481578947368421 u n f a i r n e s sTPC−B : 26 i t e r +22 d i f f 138 ( 1 3 6 ) t p s 115219 avg m ic r os 19460371 max m ic ros 1 .5166666666666666 u n f a i r n e s sTPC−B : 27 i t e r −25 d i f f 113 ( 1 1 5 ) t p s 140481 avg mi c r os 13927205 max mi c r os 1 .6676737160120847 u n f a i r n e s sTPC−B : 28 i t e r +15 d i f f 128 ( 1 2 8 ) t p s 124946 avg m ic r os 11836509 max m ic ros 1 .3846153846153846 u n f a i r n e s sTPC−B : 29 i t e r +1 d i f f 129 ( 1 2 3 ) t p s 123503 avg m ic r os 9814347 max m ic ros 1 .4568181818181818 u n f a i r n e s sTPC−B : 30 i t e r −15 d i f f 114 ( 1 0 5 ) t p s 139203 avg mi c r os 20997563 max mi c r os 1 . 4 5 u n f a i r n e s sTPC−B : 31 i t e r +10 d i f f 124 ( 1 4 1 ) t p s 128469 avg m ic r os 11874534 max m ic ros 1 .85286783042394 u n f a i r n e s sTPC−B : 32 i t e r +11 d i f f 135 ( 1 3 3 ) t p s 118369 avg m ic r os 10979086 max m ic ros 1 .6675324675324674 u n f a i r n e s sTPC−B : 33 i t e r −12 d i f f 123 ( 1 2 2 ) t p s 129673 avg mi c r os 9412095 max mi c r os 1 .4532019704433496 u n f a i r n e s sTPC−B : 34 i t e r +11 d i f f 134 ( 1 3 5 ) t p s 118602 avg m ic r os 15598606 max m ic ros 1 .5147392290249433 u n f a i r n e s sTPC−B : D r i v e r 5 ( <0.32299.0 >) on node mmsc@maas s t o p p e d : { t ime ,18606 ,18568 ,18568 ,2164515192 ,13716403}TPC−B : D r i v e r 1 ( <0.32295.0 >) on node mmsc@maas s t o p p e d : { t ime ,17912 ,17885 ,17885 ,2164526413 ,11840002}TPC−B : D r i v e r 9 ( <0.32303.0 >) on node mmsc@maas s t o p p e d : { t ime ,18084 ,18045 ,18045 ,2164524150 ,20995858}TPC−B : D r i v e r 16 ( <0.32310.0 >) on node mmsc@maas s t o p p e d : { t ime ,18337 ,18309 ,18309 ,2164521568 ,20997563}TPC−B : D r i v e r 2 ( <0.32296.0 >) on node mmsc@maas s t o p p e d : { t ime ,18001 ,17980 ,17980 ,2164528191 ,13097239}TPC−B : D r i v e r 6 ( <0.32300.0 >) on node mmsc@maas s t o p p e d : { t ime ,18761 ,18731 ,18731 ,2164515816 ,11121336}TPC−B : D r i v e r 15 ( <0.32309.0 >) on node mmsc@maas s t o p p e d : { t ime ,18621 ,18596 ,18596 ,2164518484 ,15663590}TPC−B : D r i v e r 3 ( <0.32297.0 >) on node mmsc@maas s t o p p e d : { t ime ,18809 ,18777 ,18777 ,2164524841 ,15598606}TPC−B : D r i v e r 4 ( <0.32298.0 >) on node mmsc@maas s t o p p e d : { t ime ,18218 ,18188 ,18188 ,2164580639 ,11443104}TPC−B : D r i v e r 12 ( <0.32306.0 >) on node mmsc@maas s t o p p e d : { t ime ,18657 ,18628 ,18628 ,2164577799 ,11842124}TPC−B : D r i v e r 8 ( <0.32302.0 >) on node mmsc@maas s t o p p e d : { t ime ,18641 ,18611 ,18611 ,2164638945 ,19460371}TPC−B : D r i v e r 7 ( <0.32301.0 >) on node mmsc@maas s t o p p e d : { t ime ,17822 ,17778 ,17778 ,2164661310 ,15661070}TPC−B : D r i v e r 11 ( <0.32305.0 >) on node mmsc@maas s t o p p e d : { t ime ,18171 ,18134 ,18134 ,2164752956 ,15312219}TPC−B : D r i v e r 13 ( <0.32307.0 >) on node mmsc@maas s t o p p e d : { t ime ,18545 ,18518 ,18518 ,2164817544 ,18615451}TPC−B : D r i v e r 14 ( <0.32308.0 >) on node mmsc@maas s t o p p e d : { t ime ,17891 ,17854 ,17854 ,2164898409 ,11834487}TPC−B : D r i v e r 10 ( <0.32304.0 >) on node mmsc@maas s t o p p e d : { t ime ,17894 ,17865 ,17865 ,2164981280 ,13927205}TPC−B : 34 i t e r −56 d i f f 78 ( 9 3 ) t p s 205008 avg mi c r os 4686083 max mi c r os 2 .0952380952380953 u n f a i r n e s sTPC−B : 135 ( 1 3 5 ) t r a n s a c t i o n s p e r second , d u r a t i o n o f l o n g e s t t r a n s a c t i o n was 20997 m i l l i s e c o n d sTPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]∗∗ e x c e p t i o n e x i t : k i l l e d( mmsc@maas)2> q ( ) .ok( mmsc@maas)3> erdem@maas : / home / erdem / mmsc cvs / m a c a l l a n $erdem@maas : / home / erdem / mmsc cvs / m a c a l l a n / r e l e a s e / mmsc / d a t a / db / mmsc$ l s − lt o t a l 507948−rw−r−−r−− 1 erdem u s e r s 151 Nov 15 16 :27 DECISION TAB .LOG−rw−r−−r−− 1 erdem u s e r s 87 Nov 15 16 :27 LATEST .LOG−rw−r−−r−− 1 erdem u s e r s 482254082 Nov 15 16 :29 a c c o u n t .DAT−rw−r−−r−− 1 erdem u s e r s 9514 Nov 15 16 :26 b r a n c h .DAT−rw−r−−r−− 1 erdem u s e r s 37270556 Nov 15 16 :30 h i s t o r y .DAT−rw−r−−r−− 1 erdem u s e r s 8288 Nov 15 11 :06 schema .DAT−rw−r−−r−− 1 erdem u s e r s 53892 Nov 15 16 :26 t e l l e r .DAT

Listing B.9: tpcb dets 32 branches 16 drivers

. / t p c b d e t s 6 4 b r a n c h 1 6 d r i v e r . t x terdem@maas : / home / erdem / mmsc cvs / m a c a l l a n $ . / r e l e a s e / mmsc / b i n / mmsc e r lE r l a n g (BEAM) e m u l a t o r v e r s i o n 5 . 6 . 5 [ s o u r c e ] [ smp : 4 ] [ async−t h r e a d s : 1 0 ] [ h i p e ] [ k e r n e l−p o l l : f a l s e ]

E s h e l l V5 . 6 . 5 ( a b o r t w i th ˆG)( mmsc@maas)1> m n e s i a t p c b : i n i t ( [ { n b r a n c h e s , 64} , { r e p l i c a t y p e , d i s c o n l y c o p i e s } ] ) ,( mmsc@maas)1> m n e s i a t p c b : run ( [ { n d r i v e r s p e r n o d e , 1 6 } ] ) .

78

Page 91: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

TPC−B : Tab le c o n f i g : [{ db nodes , [ mmsc@maas ]} ,{ n r e p l i c a s , 1} ,{ r e p l i c a n o d e s , [ mmsc@maas ]} ,{ r e p l i c a t y p e , d i s c o n l y c o p i e s } ,{ u s e r u n n i n g m n e s i a , f a l s e } ,{ n f r a g m e n t s , 0} ,{ n b r a n c h e s , 6 4} ,{ n t e l l e r s p e r b r a n c h , 1 0} ,{ n a c c o u n t s p e r b r a n c h , 1 0 0 0 0 0} ,{ b r a n c h f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,

123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890}} ,

{ a c c o u n t f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234}} ,

{ t e l l e r f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,1234567890123456789012345678901234567890123456789012345678}} ]

TPC−B : G e n e r a t i n g 64 b r a n c h e s a 102 b y t e sTPC−B : G e n e r a t i n g 64 ∗ 10 t e l l e r s a 103 b y t e sTPC−B : G e n e r a t i n g 64 ∗ 100000 a c c o u n t s a 103 b y t e sTPC−B : G e n e r a t i n g 0 h i s t o r y r e c o r d s a 51 b y t e sTPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]TPC−B : Run c o n f i g : [{ d r i v e r n o d e s , [ mmsc@maas ]} ,

{ n d r i v e r s p e r n o d e , 1 6} ,{ u s e r u n n i n g m n e s i a , f a l s e } ,{ s t o p a f t e r , 2700000} ,{ r e p o r t i n t e r v a l , 6 0 0 0 0} ,{ u s e s t i c k y l o c k s , f a l s e } ,{ s p a w n n e a r b r a n c h , f a l s e } ,{ a c t i v i t y t y p e , t r a n s a c t i o n } ,{ r e u s e h i s t o r y i d , f a l s e } ]

TPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]TPC−B : Orphan b r a n c h e s : [ ]TPC−B : D r i v e r 1 s t a r t e d as <0.3332.2> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 2 s t a r t e d as <0.3333.2> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 3 s t a r t e d as <0.3334.2> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 4 s t a r t e d as <0.3335.2> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 5 s t a r t e d as <0.3336.2> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 6 s t a r t e d as <0.3337.2> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 7 s t a r t e d as <0.3338.2> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 8 s t a r t e d as <0.3339.2> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 9 s t a r t e d as <0.3340.2> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 10 s t a r t e d as <0.3341.2> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 11 s t a r t e d as <0.3342.2> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 12 s t a r t e d as <0.3343.2> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 13 s t a r t e d as <0.3344.2> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 14 s t a r t e d as <0.3345.2> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 15 s t a r t e d as <0.3346.2> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : D r i v e r 16 s t a r t e d as <0.3347.2> on node mmsc@maas wi th 4 l o c a l b r a n c h e sTPC−B : 1 i t e r 0 d i f f 145 ( 1 4 4 ) t p s 109721 avg m ic r os 13168114 max m ic ros 1 .4779582366589328 u n f a i r n e s sTPC−B : 2 i t e r +4 d i f f 149 ( 1 4 2 ) t p s 106667 avg m ic r os 20429459 max m ic ros 1 .3518518518518519 u n f a i r n e s sTPC−B : 3 i t e r −11 d i f f 138 ( 1 4 5 ) t p s 115427 avg mi c r os 9475857 max mi c r os 1 .5673289183222958 u n f a i r n e s s

79

Page 92: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

TPC−B : 4 i t e r +4 d i f f 142 ( 1 4 3 ) t p s 111921 avg m ic r os 6982536 max m ic ros 1 .4260869565217391 u n f a i r n e s sTPC−B : 5 i t e r −11 d i f f 131 ( 1 2 9 ) t p s 121761 avg mi c r os 14200001 max mi c r os 1 .6347150259067358 u n f a i r n e s sTPC−B : 6 i t e r +12 d i f f 143 ( 1 4 5 ) t p s 111364 avg m ic r os 16241141 max m ic ros 1 .6377171215880892 u n f a i r n e s sTPC−B : 7 i t e r −4 d i f f 139 ( 1 3 9 ) t p s 114354 avg mi c r os 15255844 max mi c r os 1 .571078431372549 u n f a i r n e s sTPC−B : 8 i t e r +3 d i f f 142 ( 1 3 6 ) t p s 112204 avg m ic r os 11582788 max m ic ros 1 .347457627118644 u n f a i r n e s sTPC−B : 9 i t e r −7 d i f f 135 ( 1 3 9 ) t p s 118386 avg mi c r os 9274384 max mi c r o s 1 .4956896551724137 u n f a i r n e s sTPC−B : 10 i t e r +12 d i f f 147 ( 1 3 1 ) t p s 108133 avg m ic r os 17619116 max m ic ros 1 .4067796610169492 u n f a i r n e s sTPC−B : 11 i t e r −7 d i f f 140 ( 1 5 8 ) t p s 113777 avg mi c r o s 11661241 max mi c r o s 1 .471057884231537 u n f a i r n e s sTPC−B : 12 i t e r −18 d i f f 122 ( 1 2 4 ) t p s 130218 avg mi c r os 15684219 max mi c r os 1 .4892086330935252 u n f a i r n e s sTPC−B : 13 i t e r +18 d i f f 140 ( 1 4 2 ) t p s 114194 avg m ic r os 13191871 max m ic ros 1 .387308533916849 u n f a i r n e s sTPC−B : 14 i t e r −23 d i f f 117 ( 1 1 7 ) t p s 135841 avg mi c r os 10763162 max mi c r os 1 .6551724137931034 u n f a i r n e s sTPC−B : 15 i t e r +18 d i f f 135 ( 1 3 5 ) t p s 117816 avg m ic r os 11870063 max m ic ros 1 .6224256292906178 u n f a i r n e s sTPC−B : 16 i t e r +10 d i f f 145 ( 1 4 6 ) t p s 109912 avg m ic r os 15856571 max m ic ros 1 .5733634311512414 u n f a i r n e s sTPC−B : 17 i t e r −16 d i f f 129 ( 1 2 9 ) t p s 123981 avg mi c r os 11608180 max mi c r os 1 .4844559585492227 u n f a i r n e s sTPC−B : 18 i t e r +4 d i f f 133 ( 1 2 1 ) t p s 119984 avg m ic r os 12784210 max m ic ros 1 .4522144522144522 u n f a i r n e s sTPC−B : 19 i t e r −1 d i f f 132 ( 1 4 2 ) t p s 120551 avg mi c r o s 12807536 max mi c r o s 1 .498960498960499 u n f a i r n e s sTPC−B : 20 i t e r −4 d i f f 128 ( 1 3 0 ) t p s 124559 avg mi c r o s 16521808 max mi c r o s 1 .4955357142857142 u n f a i r n e s sTPC−B : 21 i t e r −8 d i f f 120 ( 1 2 0 ) t p s 133089 avg mi c r o s 11292430 max mi c r o s 1 .4525745257452574 u n f a i r n e s sTPC−B : 22 i t e r +15 d i f f 135 ( 1 2 9 ) t p s 118092 avg m ic r os 11317524 max m ic ros 1 .937669376693767 u n f a i r n e s sTPC−B : 23 i t e r −13 d i f f 122 ( 1 1 2 ) t p s 130755 avg mi c r os 15923187 max mi c r os 1 .4197530864197532 u n f a i r n e s sTPC−B : 24 i t e r +6 d i f f 128 ( 1 3 0 ) t p s 124844 avg m ic r os 15204092 max m ic ros 1 .5544554455445545 u n f a i r n e s sTPC−B : 25 i t e r −10 d i f f 118 ( 1 2 1 ) t p s 135246 avg mi c r os 12324102 max mi c r os 1 .5211970074812968 u n f a i r n e s sTPC−B : D r i v e r 4 ( <0.3335.2 >) on node mmsc@maas s t o p p e d : { t ime ,14625 ,14341 ,14341 ,1662519171 ,15291832}TPC−B : D r i v e r 15 ( <0.3346.2 >) on node mmsc@maas s t o p p e d : { t ime ,13428 ,13156 ,13156 ,1662539413 ,15297985}TPC−B : D r i v e r 6 ( <0.3337.2 >) on node mmsc@maas s t o p p e d : { t ime ,13414 ,13177 ,13177 ,1662540492 ,20427941}TPC−B : D r i v e r 13 ( <0.3344.2 >) on node mmsc@maas s t o p p e d : { t ime ,13492 ,13220 ,13220 ,1662539452 ,15294864}TPC−B : D r i v e r 8 ( <0.3339.2 >) on node mmsc@maas s t o p p e d : { t ime ,13609 ,13331 ,13331 ,1662537698 ,16513821}TPC−B : D r i v e r 12 ( <0.3343.2 >) on node mmsc@maas s t o p p e d : { t ime ,13890 ,13682 ,13682 ,1662534203 ,20429459}TPC−B : D r i v e r 9 ( <0.3340.2 >) on node mmsc@maas s t o p p e d : { t ime ,13872 ,13557 ,13557 ,1662534704 ,15289011}TPC−B : D r i v e r 10 ( <0.3341.2 >) on node mmsc@maas s t o p p e d : { t ime ,13881 ,13635 ,13635 ,1662534811 ,15293953}TPC−B : D r i v e r 5 ( <0.3336.2 >) on node mmsc@maas s t o p p e d : { t ime ,14228 ,13944 ,13944 ,1662528291 ,20427421}TPC−B : D r i v e r 1 ( <0.3332.2 >) on node mmsc@maas s t o p p e d : { t ime ,13991 ,13677 ,13677 ,1662533655 ,15296632}TPC−B : D r i v e r 14 ( <0.3345.2 >) on node mmsc@maas s t o p p e d : { t ime ,14418 ,14196 ,14196 ,1662525317 ,17619116}TPC−B : D r i v e r 3 ( <0.3334.2 >) on node mmsc@maas s t o p p e d : { t ime ,14424 ,14114 ,14114 ,1662620781 ,15923187}TPC−B : D r i v e r 16 ( <0.3347.2 >) on node mmsc@maas s t o p p e d : { t ime ,13319 ,12966 ,12966 ,1662900149 ,16240409}TPC−B : D r i v e r 7 ( <0.3338.2 >) on node mmsc@maas s t o p p e d : { t ime ,13794 ,13544 ,13544 ,1662974009 ,16516665}TPC−B : D r i v e r 2 ( <0.3333.2 >) on node mmsc@maas s t o p p e d : { t ime ,14348 ,14012 ,14012 ,1663082424 ,16521808}TPC−B : D r i v e r 11 ( <0.3342.2 >) on node mmsc@maas s t o p p e d : { t ime ,14069 ,13767 ,13767 ,1663416766 ,15297367}TPC−B : 25 i t e r −10 d i f f 108 ( 1 2 5 ) t p s 147938 avg mi c r os 13238286 max mi c r os 1 .6971153846153846 u n f a i r n e s sTPC−B : 134 ( 1 3 3 ) t r a n s a c t i o n s p e r second , d u r a t i o n o f l o n g e s t t r a n s a c t i o n was 20429 m i l l i s e c o n d sTPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]∗∗ e x c e p t i o n e x i t : k i l l e d( mmsc@maas)2> q ( ) .ok( mmsc@maas)3> erdem@maas : / home / erdem / mmsc cvs / m a c a l l a n $

erdem@maas : / home / erdem / mmsc cvs / m a c a l l a n / r e l e a s e / mmsc / d a t a / db / mmsc$ l s − lt o t a l 1063864−rw−r−−r−− 1 erdem u s e r s 151 Nov 19 20 :51 DECISION TAB .LOG−rw−r−−r−− 1 erdem u s e r s 87 Nov 19 20 :51 LATEST .LOG−rw−r−−r−− 1 erdem u s e r s 1059880234 Nov 19 20 :54 a c c o u n t .DAT−rw−r−−r−− 1 erdem u s e r s 14216 Nov 19 20 :54 b r a n c h .DAT

80

Page 93: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

−rw−r−−r−− 1 erdem u s e r s 28298736 Nov 19 20 :54 h i s t o r y .DAT−rw−r−−r−− 1 erdem u s e r s 8288 Nov 19 11 :00 schema .DAT−rw−r−−r−− 1 erdem u s e r s 101665 Nov 19 20 :54 t e l l e r .DAT

Listing B.10: tpcb dets 64 branches 16 drivers

. / t p c b d e t s 8 0 b r a n c h 1 6 d r i v e r . t x t( mmsc@maas)3> erdem@maas : / home / erdem / mmsc cvs / m a c a l l a n $ . / r e l e a s e / mmsc / b i n / mmsc e r lE r l a n g (BEAM) e m u l a t o r v e r s i o n 5 . 6 . 5 [ s o u r c e ] [ smp : 4 ] [ async−t h r e a d s : 1 0 ] [ h i p e ] [ k e r n e l−p o l l : f a l s e ]

E s h e l l V5 . 6 . 5 ( a b o r t w i th ˆG)( mmsc@maas)1> m n e s i a t p c b : i n i t ( [ { n b r a n c h e s , 80} , { r e p l i c a t y p e , d i s c o n l y c o p i e s } ] ) ,( mmsc@maas)1> m n e s i a t p c b : run ( [ { n d r i v e r s p e r n o d e , 1 6 } ] ) .TPC−B : Tab le c o n f i g : [{ db nodes , [ mmsc@maas ]} ,

{ n r e p l i c a s , 1} ,{ r e p l i c a n o d e s , [ mmsc@maas ]} ,{ r e p l i c a t y p e , d i s c o n l y c o p i e s } ,{ u s e r u n n i n g m n e s i a , f a l s e } ,{ n f r a g m e n t s , 0} ,{ n b r a n c h e s , 8 0} ,{ n t e l l e r s p e r b r a n c h , 1 0} ,{ n a c c o u n t s p e r b r a n c h , 1 0 0 0 0 0} ,{ b r a n c h f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,

123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890}} ,

{ a c c o u n t f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234}} ,

{ t e l l e r f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,1234567890123456789012345678901234567890123456789012345678}} ]

TPC−B : G e n e r a t i n g 80 b r a n c h e s a 102 b y t e sTPC−B : G e n e r a t i n g 80 ∗ 10 t e l l e r s a 103 b y t e sTPC−B : G e n e r a t i n g 80 ∗ 100000 a c c o u n t s a 103 b y t e sTPC−B : G e n e r a t i n g 0 h i s t o r y r e c o r d s a 51 b y t e sTPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]TPC−B : Run c o n f i g : [{ d r i v e r n o d e s , [ mmsc@maas ]} ,

{ n d r i v e r s p e r n o d e , 1 6} ,{ u s e r u n n i n g m n e s i a , f a l s e } ,{ s t o p a f t e r , 2700000} ,{ r e p o r t i n t e r v a l , 6 0 0 0 0} ,{ u s e s t i c k y l o c k s , f a l s e } ,{ s p a w n n e a r b r a n c h , f a l s e } ,{ a c t i v i t y t y p e , t r a n s a c t i o n } ,{ r e u s e h i s t o r y i d , f a l s e } ]

TPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]TPC−B : Orphan b r a n c h e s : [ ]TPC−B : D r i v e r 16 s t a r t e d as <0.31174.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 15 s t a r t e d as <0.31175.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 12 s t a r t e d as <0.31178.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 14 s t a r t e d as <0.31176.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 11 s t a r t e d as <0.31179.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 10 s t a r t e d as <0.31180.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 9 s t a r t e d as <0.31181.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e s

81

Page 94: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

TPC−B : D r i v e r 13 s t a r t e d as <0.31177.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 7 s t a r t e d as <0.31183.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 8 s t a r t e d as <0.31182.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 6 s t a r t e d as <0.31184.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 5 s t a r t e d as <0.31185.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 4 s t a r t e d as <0.31186.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 3 s t a r t e d as <0.31187.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 1 s t a r t e d as <0.31189.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 2 s t a r t e d as <0.31188.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : 1 i t e r 0 d i f f 140 ( 1 3 6 ) t p s 113990 avg m ic r os 9066395 max m ic ros 1 .519916142557652 u n f a i r n e s sTPC−B : 2 i t e r +13 d i f f 153 ( 1 5 2 ) t p s 104368 avg m ic r os 7240474 max m ic ros 1 .5735930735930737 u n f a i r n e s sTPC−B : 3 i t e r −16 d i f f 137 ( 1 4 1 ) t p s 116088 avg mi c r os 11250423 max mi c r os 1 .4026845637583893 u n f a i r n e s sTPC−B : 4 i t e r +3 d i f f 140 ( 1 2 3 ) t p s 114031 avg m ic r os 14507587 max m ic ros 1 .3596673596673596 u n f a i r n e s sTPC−B : 5 i t e r +1 d i f f 141 ( 1 6 1 ) t p s 112834 avg m ic r os 15118876 max m ic ros 1 .5534979423868314 u n f a i r n e s sTPC−B : 6 i t e r 0 d i f f 141 ( 1 4 1 ) t p s 113323 avg m ic r os 14450678 max m ic ros 1 .538265306122449 u n f a i r n e s sTPC−B : 7 i t e r −19 d i f f 122 ( 1 1 9 ) t p s 130236 avg mi c r os 12282659 max mi c r os 2 .0688524590163935 u n f a i r n e s sTPC−B : 8 i t e r +30 d i f f 152 ( 1 5 3 ) t p s 104723 avg m ic r os 11861102 max m ic ros 1 .3119092627599245 u n f a i r n e s sTPC−B : 9 i t e r −34 d i f f 118 ( 1 1 7 ) t p s 134735 avg mi c r os 9811310 max mi c r os 1 .6657223796033995 u n f a i r n e s sTPC−B : 10 i t e r +31 d i f f 149 ( 1 5 4 ) t p s 107231 avg m ic r os 12522497 max m ic ros 1 .6896551724137931 u n f a i r n e s sTPC−B : 11 i t e r −41 d i f f 108 ( 1 0 8 ) t p s 146798 avg mi c r os 17167443 max mi c r os 1 .4450261780104712 u n f a i r n e s sTPC−B : 12 i t e r +16 d i f f 124 ( 1 2 2 ) t p s 128028 avg m ic r os 10981688 max m ic ros 1 .7076167076167077 u n f a i r n e s sTPC−B : 13 i t e r +12 d i f f 136 ( 1 3 9 ) t p s 117082 avg m ic r os 12965957 max m ic ros 1 .3731019522776573 u n f a i r n e s sTPC−B : 14 i t e r −29 d i f f 107 ( 1 0 6 ) t p s 149227 avg mi c r os 25195084 max mi c r os 1 .8676470588235294 u n f a i r n e s sTPC−B : 15 i t e r +10 d i f f 117 ( 1 1 8 ) t p s 136093 avg m ic r os 10124333 max m ic ros 1 .728125 u n f a i r n e s sTPC−B : 16 i t e r +8 d i f f 125 ( 1 2 5 ) t p s 127683 avg m ic r os 14866867 max m ic ros 1 .4365482233502538 u n f a i r n e s sTPC−B : 17 i t e r −4 d i f f 121 ( 1 2 1 ) t p s 131256 avg mi c r o s 12173816 max mi c r o s 1 .5013477088948788 u n f a i r n e s sTPC−B : 18 i t e r +18 d i f f 139 ( 1 3 5 ) t p s 114884 avg m ic r os 9727183 max m ic ros 1 .5748792270531402 u n f a i r n e s sTPC−B : 19 i t e r −10 d i f f 129 ( 1 3 2 ) t p s 124019 avg mi c r os 14565698 max mi c r os 1 .797872340425532 u n f a i r n e s sTPC−B : 20 i t e r −15 d i f f 114 ( 1 1 3 ) t p s 139693 avg mi c r os 13015436 max mi c r os 1 .6307692307692307 u n f a i r n e s sTPC−B : 21 i t e r +2 d i f f 116 ( 1 1 7 ) t p s 136783 avg m ic r os 10831801 max m ic ros 1 .6843657817109146 u n f a i r n e s sTPC−B : 22 i t e r +13 d i f f 129 ( 1 1 7 ) t p s 123197 avg m ic r os 18105057 max m ic ros 2 . 0 u n f a i r n e s sTPC−B : D r i v e r 8 ( <0.31182.3 >) on node mmsc@maas s t o p p e d : { t ime ,11085 ,10931 ,10931 ,1414164285 ,13743206}TPC−B : D r i v e r 3 ( <0.31187.3 >) on node mmsc@maas s t o p p e d : { t ime ,11458 ,11363 ,11363 ,1414159193 ,16019902}TPC−B : D r i v e r 9 ( <0.31181.3 >) on node mmsc@maas s t o p p e d : { t ime ,11441 ,11401 ,11401 ,1414159074 ,14162533}TPC−B : D r i v e r 6 ( <0.31184.3 >) on node mmsc@maas s t o p p e d : { t ime ,11300 ,11167 ,11167 ,1414163208 ,25195084}TPC−B : D r i v e r 1 ( <0.31189.3 >) on node mmsc@maas s t o p p e d : { t ime ,11712 ,11580 ,11580 ,1414155925 ,14551705}TPC−B : D r i v e r 12 ( <0.31178.3 >) on node mmsc@maas s t o p p e d : { t ime ,11951 ,11799 ,11799 ,1414151846 ,18105057}TPC−B : D r i v e r 5 ( <0.31185.3 >) on node mmsc@maas s t o p p e d : { t ime ,11501 ,11370 ,11370 ,1414159895 ,14866867}TPC−B : D r i v e r 4 ( <0.31186.3 >) on node mmsc@maas s t o p p e d : { t ime ,11556 ,11421 ,11421 ,1414158501 ,14507587}TPC−B : D r i v e r 10 ( <0.31180.3 >) on node mmsc@maas s t o p p e d : { t ime ,11435 ,11355 ,11355 ,1414161757 ,17776360}TPC−B : D r i v e r 7 ( <0.31183.3 >) on node mmsc@maas s t o p p e d : { t ime ,11710 ,11592 ,11592 ,1414156833 ,16024770}TPC−B : D r i v e r 14 ( <0.31176.3 >) on node mmsc@maas s t o p p e d : { t ime ,11475 ,11363 ,11363 ,1414166378 ,14565698}TPC−B : D r i v e r 11 ( <0.31179.3 >) on node mmsc@maas s t o p p e d : { t ime ,11001 ,10878 ,10878 ,1414248488 ,17167443}TPC−B : D r i v e r 2 ( <0.31188.3 >) on node mmsc@maas s t o p p e d : { t ime ,11710 ,11653 ,11653 ,1414243747 ,15101057}TPC−B : D r i v e r 13 ( <0.31177.3 >) on node mmsc@maas s t o p p e d : { t ime ,11254 ,11178 ,11178 ,1414813157 ,17790736}TPC−B : D r i v e r 16 ( <0.31174.3 >) on node mmsc@maas s t o p p e d : { t ime ,12291 ,12135 ,12135 ,1414882359 ,15531262}TPC−B : D r i v e r 15 ( <0.31175.3 >) on node mmsc@maas s t o p p e d : { t ime ,11593 ,11474 ,11474 ,1415049427 ,17399869}TPC−B : 22 i t e r −6 d i f f 123 ( 2 1 1 ) t p s 129705 avg mi c r o s 8012730 max mi c r os 3 . 9 u n f a i r n e s sTPC−B : 130 ( 1 3 0 ) t r a n s a c t i o n s p e r second , d u r a t i o n o f l o n g e s t t r a n s a c t i o n was 25195 m i l l i s e c o n d sTPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]∗∗ e x c e p t i o n e x i t : k i l l e d( mmsc@maas)2>

82

Page 95: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

( mmsc@maas)3> erdem@maas : / home / erdem / mmsc cvs / m a c a l l a n $ . / r e l e a s e / mmsc / b i n / mmsc e r lE r l a n g (BEAM) e m u l a t o r v e r s i o n 5 . 6 . 5 [ s o u r c e ] [ smp : 4 ] [ async−t h r e a d s : 1 0 ] [ h i p e ] [ k e r n e l−p o l l : f a l s e ]

E s h e l l V5 . 6 . 5 ( a b o r t w i th ˆG)( mmsc@maas)1> m n e s i a t p c b : i n i t ( [ { n b r a n c h e s , 80} , { r e p l i c a t y p e , d i s c o n l y c o p i e s } ] ) ,( mmsc@maas)1> m n e s i a t p c b : run ( [ { n d r i v e r s p e r n o d e , 1 6 } ] ) .TPC−B : Tab le c o n f i g : [{ db nodes , [ mmsc@maas ]} ,

{ n r e p l i c a s , 1} ,{ r e p l i c a n o d e s , [ mmsc@maas ]} ,{ r e p l i c a t y p e , d i s c o n l y c o p i e s } ,{ u s e r u n n i n g m n e s i a , f a l s e } ,{ n f r a g m e n t s , 0} ,{ n b r a n c h e s , 8 0} ,{ n t e l l e r s p e r b r a n c h , 1 0} ,{ n a c c o u n t s p e r b r a n c h , 1 0 0 0 0 0} ,{ b r a n c h f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,

123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890}} ,

{ a c c o u n t f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234}} ,

{ t e l l e r f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,1234567890123456789012345678901234567890123456789012345678}} ]

TPC−B : G e n e r a t i n g 80 b r a n c h e s a 102 b y t e sTPC−B : G e n e r a t i n g 80 ∗ 10 t e l l e r s a 103 b y t e sTPC−B : G e n e r a t i n g 80 ∗ 100000 a c c o u n t s a 103 b y t e sTPC−B : G e n e r a t i n g 0 h i s t o r y r e c o r d s a 51 b y t e sTPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]TPC−B : Run c o n f i g : [{ d r i v e r n o d e s , [ mmsc@maas ]} ,

{ n d r i v e r s p e r n o d e , 1 6} ,{ u s e r u n n i n g m n e s i a , f a l s e } ,{ s t o p a f t e r , 2700000} ,{ r e p o r t i n t e r v a l , 6 0 0 0 0} ,{ u s e s t i c k y l o c k s , f a l s e } ,{ s p a w n n e a r b r a n c h , f a l s e } ,{ a c t i v i t y t y p e , t r a n s a c t i o n } ,{ r e u s e h i s t o r y i d , f a l s e } ]

TPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]TPC−B : Orphan b r a n c h e s : [ ]TPC−B : D r i v e r 16 s t a r t e d as <0.31174.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 15 s t a r t e d as <0.31175.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 12 s t a r t e d as <0.31178.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 14 s t a r t e d as <0.31176.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 11 s t a r t e d as <0.31179.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 10 s t a r t e d as <0.31180.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 9 s t a r t e d as <0.31181.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 13 s t a r t e d as <0.31177.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 7 s t a r t e d as <0.31183.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 8 s t a r t e d as <0.31182.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 6 s t a r t e d as <0.31184.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 5 s t a r t e d as <0.31185.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 4 s t a r t e d as <0.31186.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e s

83

Page 96: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

TPC−B : D r i v e r 3 s t a r t e d as <0.31187.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 1 s t a r t e d as <0.31189.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : D r i v e r 2 s t a r t e d as <0.31188.3> on node mmsc@maas wi th 5 l o c a l b r a n c h e sTPC−B : 1 i t e r 0 d i f f 140 ( 1 3 6 ) t p s 113990 avg m ic r os 9066395 max m ic ros 1 .519916142557652 u n f a i r n e s sTPC−B : 2 i t e r +13 d i f f 153 ( 1 5 2 ) t p s 104368 avg m ic r os 7240474 max m ic ros 1 .5735930735930737 u n f a i r n e s sTPC−B : 3 i t e r −16 d i f f 137 ( 1 4 1 ) t p s 116088 avg mi c r os 11250423 max mi c r os 1 .4026845637583893 u n f a i r n e s sTPC−B : 4 i t e r +3 d i f f 140 ( 1 2 3 ) t p s 114031 avg m ic r os 14507587 max m ic ros 1 .3596673596673596 u n f a i r n e s sTPC−B : 5 i t e r +1 d i f f 141 ( 1 6 1 ) t p s 112834 avg m ic r os 15118876 max m ic ros 1 .5534979423868314 u n f a i r n e s sTPC−B : 6 i t e r 0 d i f f 141 ( 1 4 1 ) t p s 113323 avg m ic r os 14450678 max m ic ros 1 .538265306122449 u n f a i r n e s sTPC−B : 7 i t e r −19 d i f f 122 ( 1 1 9 ) t p s 130236 avg mi c r os 12282659 max mi c r os 2 .0688524590163935 u n f a i r n e s sTPC−B : 8 i t e r +30 d i f f 152 ( 1 5 3 ) t p s 104723 avg m ic r os 11861102 max m ic ros 1 .3119092627599245 u n f a i r n e s sTPC−B : 9 i t e r −34 d i f f 118 ( 1 1 7 ) t p s 134735 avg mi c r os 9811310 max mi c r os 1 .6657223796033995 u n f a i r n e s sTPC−B : 10 i t e r +31 d i f f 149 ( 1 5 4 ) t p s 107231 avg m ic r os 12522497 max m ic ros 1 .6896551724137931 u n f a i r n e s sTPC−B : 11 i t e r −41 d i f f 108 ( 1 0 8 ) t p s 146798 avg mi c r os 17167443 max mi c r os 1 .4450261780104712 u n f a i r n e s sTPC−B : 12 i t e r +16 d i f f 124 ( 1 2 2 ) t p s 128028 avg m ic r os 10981688 max m ic ros 1 .7076167076167077 u n f a i r n e s sTPC−B : 13 i t e r +12 d i f f 136 ( 1 3 9 ) t p s 117082 avg m ic r os 12965957 max m ic ros 1 .3731019522776573 u n f a i r n e s sTPC−B : 14 i t e r −29 d i f f 107 ( 1 0 6 ) t p s 149227 avg mi c r os 25195084 max mi c r os 1 .8676470588235294 u n f a i r n e s sTPC−B : 15 i t e r +10 d i f f 117 ( 1 1 8 ) t p s 136093 avg m ic r os 10124333 max m ic ros 1 .728125 u n f a i r n e s sTPC−B : 16 i t e r +8 d i f f 125 ( 1 2 5 ) t p s 127683 avg m ic r os 14866867 max m ic ros 1 .4365482233502538 u n f a i r n e s sTPC−B : 17 i t e r −4 d i f f 121 ( 1 2 1 ) t p s 131256 avg mi c r o s 12173816 max mi c r o s 1 .5013477088948788 u n f a i r n e s sTPC−B : 18 i t e r +18 d i f f 139 ( 1 3 5 ) t p s 114884 avg m ic r os 9727183 max m ic ros 1 .5748792270531402 u n f a i r n e s sTPC−B : 19 i t e r −10 d i f f 129 ( 1 3 2 ) t p s 124019 avg mi c r os 14565698 max mi c r os 1 .797872340425532 u n f a i r n e s sTPC−B : 20 i t e r −15 d i f f 114 ( 1 1 3 ) t p s 139693 avg mi c r os 13015436 max mi c r os 1 .6307692307692307 u n f a i r n e s sTPC−B : 21 i t e r +2 d i f f 116 ( 1 1 7 ) t p s 136783 avg m ic r os 10831801 max m ic ros 1 .6843657817109146 u n f a i r n e s sTPC−B : 22 i t e r +13 d i f f 129 ( 1 1 7 ) t p s 123197 avg m ic r os 18105057 max m ic ros 2 . 0 u n f a i r n e s sTPC−B : D r i v e r 8 ( <0.31182.3 >) on node mmsc@maas s t o p p e d : { t ime ,11085 ,10931 ,10931 ,1414164285 ,13743206}TPC−B : D r i v e r 3 ( <0.31187.3 >) on node mmsc@maas s t o p p e d : { t ime ,11458 ,11363 ,11363 ,1414159193 ,16019902}TPC−B : D r i v e r 9 ( <0.31181.3 >) on node mmsc@maas s t o p p e d : { t ime ,11441 ,11401 ,11401 ,1414159074 ,14162533}TPC−B : D r i v e r 6 ( <0.31184.3 >) on node mmsc@maas s t o p p e d : { t ime ,11300 ,11167 ,11167 ,1414163208 ,25195084}TPC−B : D r i v e r 1 ( <0.31189.3 >) on node mmsc@maas s t o p p e d : { t ime ,11712 ,11580 ,11580 ,1414155925 ,14551705}TPC−B : D r i v e r 12 ( <0.31178.3 >) on node mmsc@maas s t o p p e d : { t ime ,11951 ,11799 ,11799 ,1414151846 ,18105057}TPC−B : D r i v e r 5 ( <0.31185.3 >) on node mmsc@maas s t o p p e d : { t ime ,11501 ,11370 ,11370 ,1414159895 ,14866867}TPC−B : D r i v e r 4 ( <0.31186.3 >) on node mmsc@maas s t o p p e d : { t ime ,11556 ,11421 ,11421 ,1414158501 ,14507587}TPC−B : D r i v e r 10 ( <0.31180.3 >) on node mmsc@maas s t o p p e d : { t ime ,11435 ,11355 ,11355 ,1414161757 ,17776360}TPC−B : D r i v e r 7 ( <0.31183.3 >) on node mmsc@maas s t o p p e d : { t ime ,11710 ,11592 ,11592 ,1414156833 ,16024770}TPC−B : D r i v e r 14 ( <0.31176.3 >) on node mmsc@maas s t o p p e d : { t ime ,11475 ,11363 ,11363 ,1414166378 ,14565698}TPC−B : D r i v e r 11 ( <0.31179.3 >) on node mmsc@maas s t o p p e d : { t ime ,11001 ,10878 ,10878 ,1414248488 ,17167443}TPC−B : D r i v e r 2 ( <0.31188.3 >) on node mmsc@maas s t o p p e d : { t ime ,11710 ,11653 ,11653 ,1414243747 ,15101057}TPC−B : D r i v e r 13 ( <0.31177.3 >) on node mmsc@maas s t o p p e d : { t ime ,11254 ,11178 ,11178 ,1414813157 ,17790736}TPC−B : D r i v e r 16 ( <0.31174.3 >) on node mmsc@maas s t o p p e d : { t ime ,12291 ,12135 ,12135 ,1414882359 ,15531262}TPC−B : D r i v e r 15 ( <0.31175.3 >) on node mmsc@maas s t o p p e d : { t ime ,11593 ,11474 ,11474 ,1415049427 ,17399869}TPC−B : 22 i t e r −6 d i f f 123 ( 2 1 1 ) t p s 129705 avg mi c r o s 8012730 max mi c r os 3 . 9 u n f a i r n e s sTPC−B : 130 ( 1 3 0 ) t r a n s a c t i o n s p e r second , d u r a t i o n o f l o n g e s t t r a n s a c t i o n was 25195 m i l l i s e c o n d sTPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]∗∗ e x c e p t i o n e x i t : k i l l e d( mmsc@maas)2>

erdem@maas : / home / erdem / mmsc cvs / m a c a l l a n / r e l e a s e / mmsc / d a t a / db / mmsc$ l s − lt o t a l 1356012−rw−r−−r−− 1 erdem u s e r s 151 Nov 22 22 :38 DECISION TAB .LOG−rw−r−−r−− 1 erdem u s e r s 87 Nov 22 22 :38 LATEST .LOG−rw−r−−r−− 1 erdem u s e r s 1363612330 Nov 22 22 :39 a c c o u n t .DAT−rw−r−−r−− 1 erdem u s e r s 16862 Nov 22 22 :39 b r a n c h .DAT

84

Page 97: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

−rw−r−−r−− 1 erdem u s e r s 23397400 Nov 22 22 :39 h i s t o r y .DAT−rw−r−−r−− 1 erdem u s e r s 8288 Nov 22 10 :02 schema .DAT−rw−r−−r−− 1 erdem u s e r s 124454 Nov 22 22 :39 t e l l e r .DAT

Listing B.11: tpcb dets 80 branches 16 drivers

. / t p c b d e t s 8 0 b r a n c h 6 4 d r i v e r . t x ts t a r t e d 10 :42 ( schema c r e a t e d )ended 22 :10

E s h e l l V5 . 6 . 5 ( a b o r t w i th ˆG)( mmsc@maas)1> m n e s i a t p c b : i n i t ( [ { n b r a n c h e s , 80} , { r e p l i c a t y p e , d i s c o n l y c o p i e s } ] ) ,( mmsc@maas)1> m n e s i a t p c b : run ( [ { n d r i v e r s p e r n o d e , 6 4 } ] ) .TPC−B : Tab le c o n f i g : [{ db nodes , [ mmsc@maas ]} ,

{ n r e p l i c a s , 1} ,{ r e p l i c a n o d e s , [ mmsc@maas ]} ,{ r e p l i c a t y p e , d i s c o n l y c o p i e s } ,{ u s e r u n n i n g m n e s i a , f a l s e } ,{ n f r a g m e n t s , 0} ,{ n b r a n c h e s , 8 0} ,{ n t e l l e r s p e r b r a n c h , 1 0} ,{ n a c c o u n t s p e r b r a n c h , 1 0 0 0 0 0} ,{ b r a n c h f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,

123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890}} ,

{ a c c o u n t f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234}} ,

{ t e l l e r f i l l e r ,{123456789012345678901234567890123456789012345678901234567890 ,123456789012345678901234567890123456789012345678901234567890 ,1234567890123456789012345678901234567890123456789012345678}} ]

TPC−B : G e n e r a t i n g 80 b r a n c h e s a 102 b y t e sTPC−B : G e n e r a t i n g 80 ∗ 10 t e l l e r s a 103 b y t e sTPC−B : G e n e r a t i n g 80 ∗ 100000 a c c o u n t s a 103 b y t e sTPC−B : G e n e r a t i n g 0 h i s t o r y r e c o r d s a 51 b y t e sTPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]TPC−B : Run c o n f i g : [{ d r i v e r n o d e s , [ mmsc@maas ]} ,

{ n d r i v e r s p e r n o d e , 6 4} ,{ u s e r u n n i n g m n e s i a , f a l s e } ,{ s t o p a f t e r , 9 0 0 0 0 0} ,{ r e p o r t i n t e r v a l , 6 0 0 0 0} ,{ u s e s t i c k y l o c k s , f a l s e } ,{ s p a w n n e a r b r a n c h , f a l s e } ,{ a c t i v i t y t y p e , t r a n s a c t i o n } ,{ r e u s e h i s t o r y i d , f a l s e } ]

TPC−B : V e r i f y i n g t a b l e s : [ branch , t e l l e r , accoun t , h i s t o r y ]∗∗ e x c e p t i o n e x i t : k i l l e d( mmsc@maas)2>

erdem@maas : / home / erdem / mmsc cvs / m a c a l l a n / r e l e a s e / mmsc / d a t a / db / mmsc$ l s − lt o t a l 1333112−rw−r−−r−− 1 erdem u s e r s 148 Nov 10 22 :07 DECISION TAB .LOG−rw−r−−r−− 1 erdem u s e r s 87 Nov 10 22 :07 LATEST .LOG−rw−r−−r−− 1 erdem u s e r s 1363591758 Nov 10 22 :10 a c c o u n t .DAT

85

Page 98: Large Scale Multimedia Messaging Service Center with ...uu.diva-portal.org/smash/get/diva2:570386/FULLTEXT02.pdf · Large Scale Multimedia Messaging Service Center with Optimized

−rw−r−−r−− 1 erdem u s e r s 16138 Nov 10 22 :11 b r a n c h .DAT−rw−r−−r−− 1 erdem u s e r s 5752 Nov 10 10 :45 h i s t o r y .DAT−rw−r−−r−− 1 erdem u s e r s 8288 Nov 10 10 :42 schema .DAT−rw−r−−r−− 1 erdem u s e r s 122800 Nov 10 22 :11 t e l l e r .DAT

Listing B.12: tpcb dets 80 branches 64 drivers

86


Recommended