Mapreduce: Simplified Data Processing on Large Clusters Jeffry Dean and Sanjay Ghemawat ODSI 2004 Presented by Anders Miltner Problem

Total Page:16

File Type:pdf, Size:1020Kb

Mapreduce: Simplified Data Processing on Large Clusters Jeffry Dean and Sanjay Ghemawat ODSI 2004 Presented by Anders Miltner Problem MapReduce: Simplified Data Processing on Large Clusters Jeffry Dean and Sanjay Ghemawat ODSI 2004 Presented by Anders Miltner Problem • When applied on to big data, simple algorithms beCome more complicated • Parallelized Computations • Distributed data • Failure handling • How Can we abstraCt away these Common diffiCulties, allowing the programmer to be able to write simple Code for their simple algorithms? Core Ideas • Require the programmer to state their problem in terms of two funCtions, map and reduCe • Handle the sCalability ConCerns inside the system, instead of requiring the programmer to handle them • Require the programmer to only write Code about the easy to understand functionality Map, Reduce, and MapReduce • map: (k1,v1) -> list (k2, v2) • reduCe: (k2, list v2) -> list (v2) • mapreduCe: list (k1,v1) -> list (k2, list v2) for a rewrite of our production indexing system. Sec- 2.2 Types tion 7 discusses related and future work. Even though the previous pseudo-code is written in terms of string inputs and outputs, conceptually the map and for a rewrite of our production indexing system.2 PrSec-ogramming2.2 TModelypes tion 7 discusses related and future work. reduce functions supplied by the user have associated types: The computationEvtakenesthougha set oftheinputpreviouskey/valuepseudo-codepairs, andis written in terms map (k1,v1) list(k2,v2) produces a setofofstringoutputinputskey/valueand pairs.outputs,Theconceptuallyuser of the map and → 2 Programming Model reduce (k2,list(v2)) list(v2) the MapReducereducelibraryfunctionsexpresses thesuppliedcomputationby theas twusero have associated → functions: Maptypes:and Reduce. I.e., the input keys and values are drawn from a different The computation takes a set of input key/value pairs, and domain than the output keys and values. Furthermore, Map, written by mapthe user, tak(k1,v1)es an input pair and pro- list(k2,v2) produces a set of output key/value pairs. The user of → the intermediate keys and values are from the same do- duces a set of intermediatereduce ke(k2,list(v2))y/value pairs. The MapRe- list(v2) the MapReduce library expresses the computationduceaslibrarytwo groups together all intermediate values asso-→ main as the output keys and values. functions: Map and Reduce. ciated with theI.e.,sametheintermediateinput keyskandey I vandaluespassesare drathemwn fromOura difC++ferentimplementation passes strings to and from Map, written by the user, takes an input pairtoandthepro-Reduce function.domain than the output keys and values. theFurthermore,user-defined functions and leaves it to the user code duces a set of intermediate key/value pairs. The MapRe-The Reduce thefunction,intermediatealso writtenkeysbyandthe vuseralues, acceptsare fromtotheconsamevert betweendo- strings and appropriate types. duce library groups together all intermediate valuesan intermediateasso- mainkey Iasandtheaoutputset of vkalueseys andfor vthatalues.key. It ciated with the same intermediate key I and passesmergesthemtogether theseOur C++valuesimplementationto form a possiblypassessmallerstrings to and from to the Reduce function. set of values. Ttheypicallyuser-definedjust zerofunctionsor one outputand leavaluevesisit to 2.3the userMorcodee Examples The Reduce function, also written by the userproduced, acceptsper Reduce invocation. The intermediate val- to convert between strings and appropriate Heretypes.are a few simple examples of interesting programs an intermediate key I and a set of values for thatueskareey. suppliedIt to the user’s reduce function via an iter- ator. This allows us to handle lists of values that are too that can be easily expressed as MapReduce computa- merges together these values to form a possibly smaller large to fit in memory. tions. set of values. Typically just zero or one output value is 2.3 More Examples produced per Reduce invocation. The intermediate val- ues are supplied to the user’s reduce function via2.1an iterExample- Here are a few simple examples of interestingDistribprogramsuted Grep: The map function emits a line if it that can be easily expressed as MapReducematchescomputa-a supplied pattern. The reduce function is an ator. This allows us to handle lists of values thatConsiderare toothe problem of counting the number of oc- identity function that just copies the supplied intermedi- large to fit in memory. currences of eachtions.word in a large collection of docu- ate data to the output. ments. The user would write code similar to the follow- ing pseudo-code: 2.1 Example Distributed Grep: The map function emits a line if it Example Count of URL Access Frequency: The map func- map(Stringmatcheskey, Stringa suppliedvalue):pattern. The reduce function is an Consider the problem of counting the number of oc- tion processes logs of web page requests and outputs // key:identitydocumentfunctionnamethat just copies the supplied intermedi- URL, 1 . The reduce function adds together all values currences of each word in a large collection of docu-// value: document contents ⟨ ⟩ • Word Count in a lot of doCuments ate data to the output. for the same URL and emits a URL, total count ments. The user would write code similar to the folloforw- each word w in value: ⟨ ⟩ ing pseudo-code: EmitIntermediate(w, "1"); pair. Count of URL Access Frequency: The map func- map(String key, String value): reduce(String key, Iterator values): tion processes logs of web page requests and outputs // key: document name // key: a word Reverse Web-Link Graph: The map function outputs URL, 1 . The reduce function adds togethertargetall values, source pairs for each link to a target // value: document contents // values:⟨ a list⟩ of counts ⟨ ⟩ int resultfor the= 0;same URL and emits a URL, totalURL countfound in a page named source. The reduce for each word w in value: ⟨ ⟩ EmitIntermediate(w, "1"); for eachpairv. in values: function concatenates the list of all source URLs as- result += ParseInt(v); sociated with a given target URL and emits the pair: Emit(AsString(result)); target, list(source) reduce(String key, Iterator values): ⟨ ⟩ Reverse Web-Link Graph: The map function outputs // key: a word The map function emits each word plus an associated // values: a list of counts target, source pairs for each link to a target count of occurrences⟨ (just ‘1’ in this⟩ simple example). Term-Vector per Host: A term vector summarizes the int result = 0; URL found in a page named source. The reduce The reduce function sums together all counts emitted most important words that occur in a document or a set for each v in values: function concatenates the list of all source URLs as- for a particular word. of documents as a list of word, frequency pairs. The result += ParseInt(v); ⟨ ⟩ In addition, thesociateduser writeswithcodea gitovenfilltaringeta maprURLeduceand emitsmap thefunctionpair: emits a hostname, term vector Emit(AsString(result)); target, list(source) ⟨ ⟩ specification object⟨ with the names of the input⟩ and out- pair for each input document (where the hostname is The map function emits each word plus an associatedput files, and optional tuning parameters. The user then extracted from the URL of the document). The re- invokes the MapReduce function, passing it the specifi- duce function is passed all per-document term vectors count of occurrences (just ‘1’ in this simple example). cation object. TheTerm-Vuser’sectorcodeperis linkHost:ed togetherA termwithvectorthe summarizesfor a giventhehost. It adds these term vectors together, The reduce function sums together all countsMapReduceemitted librarymost(implementedimportant wordsin C++).that Appendixoccur in aAdocumentthrowingor aawsetay infrequent terms, and then emits a final for a particular word. of documents as a list of word, frequency pairs. The contains the full program text for this example.⟨ hostname⟩ , term vector pair. In addition, the user writes code to fill in a mapreduce map function emits a hostname, term⟨ vector ⟩ ⟨ ⟩ specification object with the names of the input and out- pair for each input document (where the hostname is 2 put files, and optional tuning parameters. The userTo appearthen in eOSDIxtracted2004from the URL of the document). The re- invokes the MapReduce function, passing it the specifi- duce function is passed all per-document term vectors cation object. The user’s code is linked together with the for a given host. It adds these term vectors together, MapReduce library (implemented in C++). Appendix A throwing away infrequent terms, and then emits a final contains the full program text for this example. hostname, term vector pair. ⟨ ⟩ To appear in OSDI 2004 2 User Program (1) fork (1) fork (1) fork Master Architecture (2) (2) assign assign reduce map worker split 0 (6) write output split 1 worker (5) remote read file 0 • Large Clusters of Commodity PCs split 2 (3) read (4) local write worker output split 3 worker file 1 • Input files partitioned into M splits split 4 worker Input Map Intermediate files Reduce Output • Intermediate keys partitioned into R files phase (on local disks) phase files distributions Figure 1: Execution overview Inverted Index: The map function parses each docu- large clusters of commodity PCs connected together with ment, and emits a sequence of word, document ID switched Ethernet [4]. In our environment: • Written to disk, remotely read by ⟨ ⟩ pairs. The reduce function accepts all pairs for a given (1) Machines are typically dual-processor x86 processors word, sorts the corresponding document IDs and emits a running Linux, with 2-4 GB of memory per machine. word, list(document
Recommended publications
  • Improving Efficiency of Map Reduce Paradigm with ANFIS for Big Data (IJSTE/ Volume 1 / Issue 12 / 015)
    IJSTE - International Journal of Science Technology & Engineering | Volume 1 | Issue 12 | June 2015 ISSN (online): 2349-784X Improving Efficiency of Map Reduce Paradigm with ANFIS for Big Data Gor Vatsal H. Prof. Vatika Tayal Department of Computer Science and Engineering Department of Computer Science and Engineering NarNarayan Shashtri Institute of Technology Jetalpur , NarNarayan Shashtri Institute of Technology Jetalpur , Ahmedabad , India Ahmedabad , India Abstract As all we know that map reduce paradigm is became synonyms for computing big data problems like processing, generating and/or deducing large scale of data sets. Hadoop is a well know framework for these types of problems. The problems for solving big data related problems are varies from their size , their nature either they are repetitive or not etc., so depending upon that various solutions or way have been suggested for different types of situations and problems. Here a hybrid approach is used which combines map reduce paradigm with anfis which is aimed to boost up such problems which are likely to repeat whole map reduce process multiple times. Keywords: Big Data, fuzzy Neural Network, ANFIS, Map Reduce, Hadoop ________________________________________________________________________________________________________ I. INTRODUCTION Initially, to solve problem various problems related to large crawled documents, web requests logs, row data , etc a computational processing model is suggested by jeffrey Dean and Sanjay Ghemawat is Map Reduce in 2004[1]. MapReduce programming model is inspired by map and reduce primitives which are available in Lips and many other functional languages. It is like a De Facto standard and widely used for solving big data processing and related various operations.
    [Show full text]
  • Character-Word LSTM Language Models
    Character-Word LSTM Language Models Lyan Verwimp Joris Pelemans Hugo Van hamme Patrick Wambacq ESAT – PSI, KU Leuven Kasteelpark Arenberg 10, 3001 Heverlee, Belgium [email protected] Abstract A first drawback is the fact that the parameters for infrequent words are typically less accurate because We present a Character-Word Long Short- the network requires a lot of training examples to Term Memory Language Model which optimize the parameters. The second and most both reduces the perplexity with respect important drawback addressed is the fact that the to a baseline word-level language model model does not make use of the internal structure and reduces the number of parameters of the words, given that they are encoded as one-hot of the model. Character information can vectors. For example, ‘felicity’ (great happiness) is reveal structural (dis)similarities between a relatively infrequent word (its frequency is much words and can even be used when a word lower compared to the frequency of ‘happiness’ is out-of-vocabulary, thus improving the according to Google Ngram Viewer (Michel et al., modeling of infrequent and unknown words. 2011)) and will probably be an out-of-vocabulary By concatenating word and character (OOV) word in many applications, but since there embeddings, we achieve up to 2.77% are many nouns also ending on ‘ity’ (ability, com- relative improvement on English compared plexity, creativity . ), knowledge of the surface to a baseline model with a similar amount of form of the word will help in determining that ‘felic- parameters and 4.57% on Dutch. Moreover, ity’ is a noun.
    [Show full text]
  • Study and Analysis of Different Cloud Storage Platform
    International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395 -0056 Volume: 03 Issue: 06 | June-2016 www.irjet.net p-ISSN: 2395-0072 Study And Analysis Of Different Cloud Storage Platform S Aditi Apurva, Dept. Of Computer Science And Engineering, KIIT University ,Bhubaneshwar, India. ---------------------------------------------------------------------***--------------------------------------------------------------------- Abstract - Cloud Storage is becoming the most sought 1.INTRODUCTION after storage , be it music files, videos, photos or even The term cloud is the metaphor for internet. The general files people are switching over from storage on network of servers and connection are collectively their local hard disks to storage in the cloud. known as Cloud .Cloud computing emerges as a new computing paradigm that aims to provide reliable, Google Cloud Storage offers developers and IT customized and quality of service guaranteed organizations durable and highly available object computation environments for cloud users. storage. Cloud storage is a model of data storage in Applications and databases are moved to the large which the digital data is stored in logical pools, the centralized data centers, called cloud. physical storage spans multiple servers (and often locations), and the physical environment is typically owned and managed by a hosting company. Analysis of cloud storage can be problem specific such as for one kind of files like YouTube or generic files like google drive and can have different performances measurements . Here is the analysis of cloud storage based on Google’s paper on Google Drive,One Drive, Drobox, Big table , Facebooks Cassandra This will provide an overview of Fig 2: Cloud storage working. how the cloud storage works and the design principle .
    [Show full text]
  • Large-Scale Youtube-8M Video Understanding with Deep Neural Networks
    Large-Scale YouTube-8M Video Understanding with Deep Neural Networks Manuk Akopyan Eshsou Khashba Institute for System Programming Institute for System Programming ispras.ru ispras.ru [email protected] [email protected] many hand-crafted approaches to video-frame feature Abstract extraction, such as Histogram of Oriented Gradients (HOG), Histogram of Optical Flow (HOF), Motion Video classification problem has been studied many Boundary Histogram (MBH) around spatio-temporal years. The success of Convolutional Neural Networks interest points [9], in a dense grid [10], SIFT [11], the (CNN) in image recognition tasks gives a powerful Mel-Frequency Cepstral Coefficients (MFCC) [12], the incentive for researchers to create more advanced video STIP [13] and the dense trajectories [14] existed. Set of classification approaches. As video has a temporal video-frame features then encoded to video-level feature content Long Short Term Memory (LSTM) networks with bag of words (BoW) approach. The problem with become handy tool allowing to model long-term temporal BoW is that it uses only static video-frame information clues. Both approaches need a large dataset of input disposing of the time component, the frame ordering. data. In this paper three models provided to address Recurrent Neural Networks (RNN) show good results in video classification using recently announced YouTube- modeling with time-based input data. A few papers [15, 8M large-scale dataset. The first model is based on frame 16] describe solving video classification problem using pooling approach. Two other models based on LSTM Long Short-Term Memory (LSTM) networks and achieve networks. Mixture of Experts intermediate layer is used in good results.
    [Show full text]
  • Sector and Sphere: the Design and Implementation of a High Performance Data Cloud Yunhong Gu University of Illinois at Chicago
    Sector and Sphere: The Design and Implementation of a High Performance Data Cloud Yunhong Gu University of Illinois at Chicago Robert L Grossman University of Illinois at Chicago and Open Data Group ABSTRACT available, the data is moved to the processors. To simplify, this is the supercomputing model. An alternative Cloud computing has demonstrated that processing very approach is to store the data and to co-locate the large datasets over commodity clusters can be done computation with the data when possible. To simplify, simply given the right programming model and this is the data center model. infrastructure. In this paper, we describe the design and implementation of the Sector storage cloud and the Cloud computing platforms (GFS/MapReduce/BigTable Sphere compute cloud. In contrast to existing storage and and Hadoop) that have been developed thus far have been compute clouds, Sector can manage data not only within a designed with two important restrictions. First, clouds data center, but also across geographically distributed data have assumed that all the nodes in the cloud are co- centers. Similarly, the Sphere compute cloud supports located, i.e., within one data center, or that there is User Defined Functions (UDF) over data both within a relatively small bandwidth available between the data center and across data centers. As a special case, geographically distributed clusters containing the data. MapReduce style programming can be implemented in Second, these clouds have assumed that individual inputs Sphere by using a Map UDF followed by a Reduce UDF. and outputs to the cloud are relatively small, although the We describe some experimental studies comparing aggregate data managed and processed is very large.
    [Show full text]
  • Cloud Computing Synopsis and Recommendations
    Special Publication 800-146 Cloud Computing Synopsis and Recommendations Recommendations of the National Institute of Standards and Technology Lee Badger Tim Grance Robert Patt-Corner Jeff Voas NIST Special Publication 800-146 Cloud Computing Synopsis and Recommendations Recommendations of the National Institute of Standards and Technology Lee Badger Tim Grance Robert Patt-Corner Jeff Voas C O M P U T E R S E C U R I T Y Computer Security Division Information Technology Laboratory National Institute of Standards and Technology Gaithersburg, MD 20899-8930 May 2012 U.S. Department of Commerce John Bryson, Secretary National Institute of Standards and Technology Patrick D. Gallagher, Under Secretary of Commerce for Standards and Technology and Director CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS Reports on Computer Systems Technology The Information Technology Laboratory (ITL) at the National Institute of Standards and Technology (NIST) promotes the U.S. economy and public welfare by providing technical leadership for the nation’s measurement and standards infrastructure. ITL develops tests, test methods, reference data, proof of concept implementations, and technical analysis to advance the development and productive use of information technology. ITL’s responsibilities include the development of management, administrative, technical, and physical standards and guidelines for the cost-effective security and privacy of other than national security-related information in Federal information systems. This Special Publication 800-series reports on ITL’s research, guidance, and outreach efforts in computer security and its collaborative activities with industry, government, and academic organizations. National Institute of Standards and Technology Special Publication 800-146 Natl. Inst. Stand. Technol. Spec. Publ.
    [Show full text]
  • Mapreduce: Simplified Data Processing On
    MapReduce: Simplified Data Processing on Large Clusters Jeffrey Dean and Sanjay Ghemawat [email protected], [email protected] Google, Inc. Abstract given day, etc. Most such computations are conceptu- ally straightforward. However, the input data is usually MapReduce is a programming model and an associ- large and the computations have to be distributed across ated implementation for processing and generating large hundreds or thousands of machines in order to finish in data sets. Users specify a map function that processes a a reasonable amount of time. The issues of how to par- key/value pair to generate a set of intermediate key/value allelize the computation, distribute the data, and handle pairs, and a reduce function that merges all intermediate failures conspire to obscure the original simple compu- values associated with the same intermediate key. Many tation with large amounts of complex code to deal with real world tasks are expressible in this model, as shown these issues. in the paper. As a reaction to this complexity, we designed a new Programs written in this functional style are automati- abstraction that allows us to express the simple computa- cally parallelized and executed on a large cluster of com- tions we were trying to perform but hides the messy de- modity machines. The run-time system takes care of the tails of parallelization, fault-tolerance, data distribution details of partitioning the input data, scheduling the pro- and load balancing in a library. Our abstraction is in- gram's execution across a set of machines, handling ma- spired by the map and reduce primitives present in Lisp chine failures, and managing the required inter-machine and many other functional languages.
    [Show full text]
  • Big Data Challenges and Hadoop As One of the Solution of Big Data with Its Modules Tapan P
    International Journal of Scientific & Engineering Research, Volume 5, Issue 6, June-2014 133 ISSN 2229-5518 Big Data challenges and Hadoop as one of the solution of big data with its Modules Tapan P. Gondaliya, Dr. Hiren D. Joshi Abstract— this is an era of the tools, trend and technology. And these tools, trend and technology era is mainly depending upon the information. Or this information is called the data and that information is stored in database just like a My SQL, Oracle, Access and other many more database available in different companies. But problem is in our daily life we used tools and devices for the entertainment, websites, Scientific instrument, and many more different devices that generate a large amount of data and that is in zeta bytes or in Petabytes that is called big data and that data create a big problem in our day to day life. Very tough to organize or manage this kind of big data but through Apache Hadoop it’s trouble-free. Basically in this paper we describe the main purpose of Apache Hadoop and how can Hadoop organize or manage the different kinds of data and what are the main techniques are to be used behind that. Index Terms— Big Data, Hadoop, Map Reduce, Hadoop Distributed File System, Big Data Challanges —————————— —————————— 1 INTRODUCTION his is the era of digitalization and we all live in digital T world. In this era we need more and more facility for our life is being easier. So we used different kind of new things for entertaining our life using audio video and digital images, through social stuff like a Facebook Google+ Tweeter, using mobile as well as sensor devices, we used company or gov- ernment sector that all this increases the digitalization and create a large amount of structured, semi structured and un- structured data.
    [Show full text]
  • The Pagerank Algorithm and Application on Searching of Academic Papers
    The PageRank algorithm and application on searching of academic papers Ping Yeh Google, Inc. 2009/12/9 Department of Physics, NTU Disclaimer (legal) The content of this talk is the speaker's personal opinion and is not the opinion or policy of his employer. Disclaimer (content) You will not hear physics. You will not see differential equations. You will: ● get a review of PageRank, the algorithm used in Google's web search. It has been applied to evaluate journal status and influence of nodes in a graph by researchers, ● see some linear algebra and Markov chains associated with it, and ● see some results of applying it to journal status. Outline Introduction Google and Google search PageRank algorithm for ranking web pages Using MapReduce to calculate PageRank for billions of pages Impact factor of journals and PageRank Conclusion Google The name: homophone to the word “Googol” which means 10100. The company: ● founded by Larry Page and Sergey Brin in 1998, ● ~20,000 employees as of 2009, ● spread in 68 offices around the world (23 in N. America, 3 in Latin America, 14 in Asia Pacific, 23 in Europe, 5 in Middle East and Africa). The mission: “to organize the world's information and make it universally accessible and useful.” Google Services Sky YouTube iGoogle web search talk book search Chrome calendar scholar translate blogger.com Android product news search maps picasaweb video groups Gmail desktop reader Earth Photo by mr.hero on panoramio (http://www.panoramio.com/photo/1127015)‏ 6 Google Search http://www.google.com/ or http://www.google.com.tw/ The abundance problem Quote Langville and Meyer's nice book “Google's PageRank and beyond: the science of search engine rankings”: The men in Jorge Luis Borges’ 1941 short story, “The Library of Babel”, which describes an imaginary, infinite library.
    [Show full text]
  • Mapreduce: a Flexible Data Processing Tool
    contributed articles DOI:10.1145/1629175.1629198 of MapReduce has been used exten- MapReduce advantages over parallel databases sively outside of Google by a number of organizations.10,11 include storage-system independence and To help illustrate the MapReduce fine-grain fault tolerance for large jobs. programming model, consider the problem of counting the number of by JEFFREY DEAN AND SaNjay GHEMawat occurrences of each word in a large col- lection of documents. The user would write code like the following pseudo- code: MapReduce: map(String key, String value): // key: document name // value: document contents for each word w in value: A Flexible EmitIntermediate(w, “1”); reduce(String key, Iterator values): // key: a word Data // values: a list of counts int result = 0; for each v in values: result += ParseInt(v); Processing Emit(AsString(result)); The map function emits each word plus an associated count of occurrences (just `1' in this simple example). The re- Tool duce function sums together all counts emitted for a particular word. MapReduce automatically paral- lelizes and executes the program on a large cluster of commodity machines. The runtime system takes care of the details of partitioning the input data, MAPREDUCE IS A programming model for processing scheduling the program’s execution and generating large data sets.4 Users specify a across a set of machines, handling machine failures, and managing re- map function that processes a key/value pair to quired inter-machine communication. generate a set of intermediate key/value pairs and MapReduce allows programmers with a reduce function that merges all intermediate no experience with parallel and dis- tributed systems to easily utilize the re- values associated with the same intermediate key.
    [Show full text]
  • What Bugs Live in the Cloud? a Study of 3000+ Issues in Cloud Systems
    What Bugs Live in the Cloud? A Study of 3000+ Issues in Cloud Systems HaryadiS.Gunawi,MingzheHao, JeffryAdityatama,KurniaJ. Eliazar, Tanakorn Leesatapornwongsa, Thanh Do∗∗ Agung Laksono, Jeffrey F. Lukman, and Tiratat Patana-anake Vincentius Martin, and Anang D. Satria University of University of Chicago∗ Wisconsin–Madison Surya University Abstract tectures have emerged every year in the last decade. Unlike single-server systems, cloud systems are considerably more We conduct a comprehensive study of development and de- complex as they must deal with a wide range of distributed ployment issues of six popular and important cloud systems components, hardware failures, users, and deployment sce- (Hadoop MapReduce, HDFS, HBase, Cassandra, ZooKeeper narios. It is not a surprise that cloud systems periodically ex- and Flume). From the bug repositories, we review in total perience downtimes [7]. There is much room for improving 21,399 submitted issues within a three-year period (2011- cloud systems dependability. 2014). Among these issues, we perform a deep analysis of This paper was started with a simple question: why are 3655 “vital” issues (i.e., real issues affecting deployments) cloud systems not 100% dependable? In our attempt to pro- with a set of detailed classifications. We name the product of vide an intelligent answer, the question has led us to many our one-year study Cloud Bug Study database (CBSDB) [9], more intricate questions. Why is it hard to develop a fully with which we derive numerous interesting insights unique to reliable cloud systems? What bugs “live” in cloud systems? cloud systems. To the best of our knowledge, our work is the How should we properly classify bugs in cloud systems? Are largest bug study for cloud systems to date.
    [Show full text]
  • Full Reading List
    Readings in Database Systems, 5th Edition: Full Reading List Background Joseph M. Hellerstein and Michael Stonebraker. What Goes Around Comes Around. Readings in Database Systems, 4th Edition (2005). Joseph M. Hellerstein, Michael Stonebraker, James Hamilton. Architecture of a Database System. Foundations and Trends in Databases, 1, 2 (2007). Traditional RDBMS Systems Morton M. Astrahan, Mike W. Blasgen, Donald D. Chamberlin, Kapali P. Eswaran, Jim Gray, Patricia P. Griffiths, W. Frank King III, Raymond A. Lorie, Paul R. McJones, James W. Mehl, Gianfranco R. Putzolu, Irving L. Traiger, Bradford W. Wade, Vera Watson. System R: Relational Approach to Database Management. ACM Transactions on Database Systems, 1(2), 1976, 97-137. Michael Stonebraker and Lawrence A. Rowe. The design of POSTGRES. SIGMOD, 1986. David J. DeWitt, Shahram Ghandeharizadeh, Donovan Schneider, Allan Bricker, Hui-I Hsiao, Rick Rasmussen. The Gamma Database Machine Project. IEEE Transactions on Knowledge and Data Engineering, 2(1), 1990, 44-62. Techniques Everyone Should Know Patricia G. Selinger, Morton M. Astrahan, Donald D. Chamberlin, Raymond A. Lorie, Thomas G. Price. Access path selection in a relational database management system. SIGMOD, 1979. C. Mohan, Donald J. Haderle, Bruce G. Lindsay, Hamid Pirahesh, Peter M. Schwarz. ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging. ACM Transactions on Database Systems, 17(1), 1992, 94-162. Jim Gray, Raymond A. Lorie, Gianfranco R. Putzolu, Irving L. Traiger. Granularity of Locks and Degrees of Consis- tency in a Shared Data Base. , IBM, September, 1975. Rakesh Agrawal, Michael J. Carey, Miron Livny. Concurrency Control Performance Modeling: Alternatives and Implications.
    [Show full text]