Paratrac: a Fine-Grained Profiler for Data-Intensive Workflows
Total Page:16
File Type:pdf, Size:1020Kb
ParaTrac: A Fine-Grained Profiler for Data-Intensive Workflows Nan Dun Kenjiro Taura Akinori Yonezawa Department of Computer Department of Information and Department of Computer Science Communication Engineering Science The University of Tokyo The University of Tokyo The University of Tokyo 7-3-1 Hongo, Bunkyo-Ku 7-3-1 Hongo, Bunkyo-Ku 7-3-1 Hongo, Bunkyo-Ku Tokyo, 113-5686 Japan Tokyo, 113-5686 Japan Tokyo, 113-5686 Japan [email protected] [email protected] [email protected] tokyo.ac.jp tokyo.ac.jp tokyo.ac.jp ABSTRACT 1. INTRODUCTION The realistic characteristics of data-intensive workflows are With the advance of high performance distributed com- critical to optimal workflow orchestration and profiling is puting, users are able to execute various data-intensive an effective approach to investigate the behaviors of such applications by harnessing massive computing resources [1]. complex applications. ParaTrac is a fine-grained profiler Though workflow management systems have been developed for data-intensive workflows by using user-level file system to alleviate the difficulties of planning, scheduling, and exe- and process tracing techniques. First, ParaTrac enables cuting complex workflows in distributed environments [2{5], users to quickly understand the I/O characteristics of from optimal workflow management still remains a challenge entire application to specific processes or files by examining because of the complexity of applications. Therefore, one low-level I/O profiles. Second, ParaTrac automatically of important and practical demands is to understand and exploits fine-grained data-processes interactions in workflow characterize the data-intensive applications to help workflow to help users intuitively and quantitatively investigate management systems (WMS) refine their orchestration for realistic execution of data-intensive workflows. Experiments workflow execution. Research has been conducted to on thoroughly profiling Montage workflow demonstrate both elaborate the characterization of a wide variety of scientific the scalability and effectiveness of ParaTrac. The overhead workflows using synthetic approaches [6, 7]. However, these of tracing thousands of processes is around 16%. We use methods require application knowledge from domain re- low-level I/O profiles and informative workflow DAGs to searchers and do not include runtime information extracted illustrate the vantage of fine-grained profiling by helping from realistic execution. Thus, it will be helpful for workflow users comprehensively understand the application behaviors researchers if they can acquire the workflow essentials simply and refine the scheduling for complex workflows. Our study by running their own original applications. also suggests that current workflow management systems Profiling is an effective dynamic analysis approach to may use fine-grained profiles to provide more flexible control investigate complex applications in practice. By using for optimal workflow execution. user-level file system and process tracing techniques, we designed and implemented a fine-grained profiler called ParaTrac, for data-intensive workflows. ParaTrac allows Categories and Subject Descriptors users to trace unmodified applications and investigate them D.2.5 [Software]: Testing and Debugging|tracing; D.4.8 in different aspects by automatically generated workflow [Software]: Performance|modeling and prediction profiles. First, ParaTrac produces valuable low-level I/O profiles that allow users to quickly understand the I/O General Terms characteristics of from entire application to specific processes or files. In addition, ParaTrac is novel because it can exploit Performance fine-grained data-process interactions in realistic execution to help users intuitively and quantitatively investigate data- Keywords intensive workflows. ParaTrac automatically generates workflow DAGs annotated with runtime information and Profiling, workflow, tracing the characteristics of workflow can be explored by applying graph manipulations and graph-theoretic algorithms to cor- responding DAGs. Besides, users are allowed to customize those profiles or create new ones by querying raw trace logs Permission to make digital or hard copies of all or part of this work for stored in SQL database. personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies The significance of this work is twofold. First, Para- bear this notice and the full citation on the first page. To copy otherwise, to Trac provides an effortless way to extract and generate republish, to post on servers or to redistribute to lists, requires prior specific informative and comprehensive workflow profiles from fine- permission and/or a fee. grained profiling data, which enables users to intuitively HPDC ’10 Chicago, Illinois USA and quantitatively analysis, debug, and refine their own Copyright 200X ACM X-XXXXX-XX-X/XX/XX ...$10.00. 1 workflows. Second, fine-grained profiling implies its po- processing power or by striping data for transfer instead of tential support for fine-grained and realistic scheduling of passing the whole data. Besides, fine-grained scheduling is workflows. Therefore, fine-grained profiling by ParaTrac demonstrated to be able to improve the execution accuracy suggests not only the vantage of more accurate study of in high volatility environments [22]. workflows, but also the feasilbility of enabling more flexible As the abstract of workflow execution, profile can be used workflow controls for future workflow management systems. for head-to-head comparisons between different workflows for many purposes. For example, a public repository 2. RELATED WORK of scientific workflow benchmarks will contribute to the evaluation of workflow systems [6]. For this reason, profile File system tracing, either in kernel-level or user-level, data generated by ParaTrac is designed to be portable and is widely used for file system performance and application extensible so they can be reused by other researchers. I/O analysis [8{11]. Though kernel-level tracing provides a deeper probe of file system status with less overhead, user-level tracing demonstrates more advantages in practice. 3. PROFILING APPROACHES First, user-level approaches can be used by non-privilege users. Second, user-level interfaces (e.g., FUSE APIs [12]) 3.1 User-Level Tracing Techniques are more portable than kernel-level interfaces in most ParaTrac traces all file system calls invoked during the architectures. For example, DFSTrace [8] and Tracefs [10] workflow execution, as well as files and processes that refer uses kernel trace module that has to be modified when the to these file system calls. Table 1 summarized the logged kernel changes. Third, kernel approaches target on tracing runtime information by ParaTrac. the activities of the whole file systems thus introducing overhead to the whole file system. Different from DFSTrace 3.1.1 File System Call Tracing and Tracefs, ParaTrac is designed for tracing individual FUSE (Filesystem in Userspace) [12] is a framework that user applications and is non-obtrusive for other users in lets users develop their own user-level file systems without the time-sharing system. Additionally, ParaTrac logs both touching the kernel. By implementing FUSE APIs, users file system calls and process runtime to generate various can map file system calls to specific userspace interfaces workflow profiles, which distinguishes itself from other user- and unmodified binaries can run above the corresponding level file system tracer, such as LoggedFS [11]. FUSE file systems. For example, the read file system call The understanding of I/O characterization of workloads in ParaTrac is implemented as shown in Figure 1, where can benefit many areas of data-intensive computing prac- logging procedures are shown in lines marked with \+". tice [13{16]. The static analysis [14] can be used if the However, there are two limitations when using FUSE to knowledge of application (e.g., source code, documentation, trace file system calls. First, only those file system calls data structure and algorithms, etc.) is available. However, accessing files or directories under the directory mounted this approach requires non-trivial effort and even users may by FUSE program (i.e, FUSE mount point) can be traced. not be able to acquire enough knowledge of applications Files outside the trace directory (e.g., shared libraries (e.g., no source code but only binaries). Instead, the and header files) are out of the tracing coverage. Using dynamic approach, generally trace-based, is more practical chroot [23] is a straightforward workaround, but it usually and effective even for parallel applications [13, 15]. requires superuser privileges. For non-privileged users, Data-job interactions in workflow execution are critical to fakechroot [24] and fakeroot [25] utilities can be used scheduling and management of data-intensive workflows [17{ instead. Second, old FUSE implementation (version < 19]. Besides the problem of acquiring application knowledge, 2.7.x) [12] does not allow accesses of character devices static analysis is unable to capture the runtime behaviors (e.g., /dev/null) from user-space. CUSE (Character Device of workflow, especially with constraints encountered in in Userspace) [26] coming with latest versions of FUSE dynamic environments, such as data congestion due to unex- 2.8.0 [12] enables the control of character devices in user pected usages of shared network links by other applications. space and thus solves this problem. In response to this problem, recent