Title :
A characteristic study on failures of production distributed data-parallel programs
Author :
Sihan Li ; Hucheng Zhou ; Haoxiang Lin ; Tian Xiao ; Haibo Lin ; Wei Lin ; Tao Xie
Author_Institution :
North Carolina State Univ., Raleigh, NC, USA
Abstract :
SCOPE is adopted by thousands of developers from tens of different product teams in Microsoft Bing for daily web-scale data processing, including index building, search ranking, and advertisement display. A SCOPE job is composed of declarative SQL-like queries and imperative C# user-defined functions (UDFs), which are executed in pipeline by thousands of machines. There are tens of thousands of SCOPE jobs executed on Microsoft clusters per day, while some of them fail after a long execution time and thus waste tremendous resources. Reducing SCOPE failures would save significant resources. This paper presents a comprehensive characteristic study on 200 SCOPE failures/fixes and 50 SCOPE failures with debugging statistics from Microsoft Bing, investigating not only major failure types, failure sources, and fixes, but also current debugging practice. Our major findings include (1) most of the failures (84.5%) are caused by defects in data processing rather than defects in code logic; (2) table-level failures (22.5%) are mainly caused by programmers´ mistakes and frequent data-schema changes while row-level failures (62%) are mainly caused by exceptional data; (3) 93% fixes do not change data processing logic; (4) there are 8% failures with root cause not at the failure-exposing stage, making current debugging practice insufficient in this case. Our study results provide valuable guidelines for future development of data-parallel programs. We believe that these guidelines are not limited to SCOPE, but can also be generalized to other similar data-parallel platforms.
Keywords :
C language; SQL; distributed databases; parallel programming; program debugging; query processing; software fault tolerance; team working; Microsoft Bing; Microsoft clusters; SCOPE failures/fixes; SCOPE job; UDF; advertisement display; code logic defects; daily Web-scale data processing; data processing defects; data processing logic; debugging practice; debugging statistics; declarative SQL-like queries; distributed storage data; failure sources; failure types; failure-exposing stage; frequent data-schema changes; imperative C# user-defined functions; index building; product teams; production distributed data-parallel program failures; programmer mistakes; row-level failures; search ranking; table-level failures; Data mining; Data models; Data processing; Debugging; Indexes; Production; Runtime;
Conference_Titel :
Software Engineering (ICSE), 2013 35th International Conference on
Conference_Location :
San Francisco, CA
Print_ISBN :
978-1-4673-3073-2
DOI :
10.1109/ICSE.2013.6606646