Development of Technique for Healing Data Races based on Software Transactional Memory
|
|
- Garey Harper
- 6 years ago
- Views:
Transcription
1 , pp Development of Technique for Healing Data Races based on Software Transactional Memory Eu-Teum Choi 1,, Kun Su Yoon 2, Ok-Kyoon Ha 3, Yong-Kee Jun 1 1 Department of Informatics, Gyeongsang National University, Jinju, 52828, Republic of Korea 2 Aviation Campus of Korea Polytechnic, Sacheon, 52549, Republic of Korea, 3 Department of Aeronautics & Software Engineering, Kyungwoon University, Gumi, 39160, Republic of Korea etchoi@gnu.ac.kr, unikyoon@kopo.ac.kr, okha@ikw.ac.kr, jun@gnu.ac.kr Abstract. Data races in multi-threaded programs may occur when multiple accesses on different threads access a shared location without proper synchronization, and one of them is a store. It is difficult to develop data race free programs and to manually fix existing data races in the programs, because they may lead to unpredictable results to the programmer. This paper presents a technique that heals data races using software transactional memory. This technique consists of Transactional Region Specifier, which localizes the incorrect code blocks including shared variables, and Instrumentor, which inserts transactional memory codes to heal data races. We evaluate the accuracy of our healing technique using a set of synthetic programs. Keywords: data races, software transactional memory, multi-threaded programs 1 Introduction Data races [1, 2] in multi-threaded programs is a kind of concurrency bugs that may occur when two concurrent threads access a shared location without proper synchronization, and at least one of these accesses is a store. It is difficult to develop data race free programs due to a complex interaction among threads, and to manually fix existing data races in the programs. Data race detection techniques [3-6], which use either static analysis or dynamic analysis, have some limitations. The static analysis reports many false alarms, and the dynamic analysis requires heavy additional overheads for detecting data races. This paper presents a technique that heals data races using software transactional memory (STM) [13, 14] during an execution of a targer program which is implemented using multi-threaded APIs, such as Pthread. This technique consists of two modules, Transactional Region Specifier (TRS) and Instrumentor (INS). TRS module localizes the incorrect code blocks considering shared variables, such as iteration statement and conditional statement. INS module inserts transactional memory codes to heal data races occurred during an execution of the target program. ISSN: ASTL Copyright 2016 SERSC
2 To evluate the accuracy of our technique, we developed a set of synthetic programs that considers iteration statements and conditional statements, and shared variables. 2 Background 2.1 Techniques for Healing Data Races In multi-threaded programs, data races is one of the common and the dangerous concurrency bugs due to the non-deterministic results of the program executions. Previous work has presented serveral approaches to develop and manually fix data races. However, these detecting approaches are inefficient because static analysis reports many false alarms, and dynamic analysis needs additional overheads for detecting data races. Thus, recent works have being introduced the techniques of healing data races rather than detecting the bugs. Existing techniques that heal data races [7-11] can be categorized into three approaches: always-on, failure-recovery, and post-mortem. Always-on approach constrains program execution all the time to prevent potential manifestations of some concurrency bugs [10]. Failure-recovery approach rolls back program execution to a recent checkpoint when failures or errors occur, and relies on re-execution for automated recovery. Post-mortem approach aims to prevent future manifestations of a concurrency bug, after triaging earlier manifestations of the bug. Our healing technique that based on STM belongs to the failure-recovery approach. 2.2 Software Transactional Memory The basic idea of transactional memory is simple. The properties of transactions provide a convenient abstraction for coordinating concurrency reads and writes of shared variables in the multi-threaded programs. Generally, a simple transactional memory interface is comprised operation for managing transactions and performing memory accesses. STM is a concurrency synchronization mechanism only by software approach without hardware support. Unlike lock mechanism, STM is non-blocking characteristic that can perform by simultaneous approach of several threads. Therefore, STM is free from concurrency bugs, such as data races, deadlocks, and priority inversion. STM provides a set of operations for managing transactions, such as StartTX, CommitTX, and AbortTX. StartTX operation begins a new transaction in the current thread. CommitTX attempts to commit the current transaction. If there is no conflict, the operation returns a true value and continuously executes the program, whereas it returns a false value and aborts the current transaction of the program. AbortTX is used to trigger an abort or to re-execute failed transactions. Also, STM provides a set of operations for data access, such as ReadTX and WirteTX. ReadTX takes the address of the value of a variable and returns the Copyright 2016 SERSC 483
3 transaction s view of the data at that address. WriteTX takes an address of the value of a variable and a new value of the variable, writing the value to the transaction s view of that address. SW Framework for Healing Data Races Target Applications Transactional Region Specifier Localization incorrect block of codes Instrumentor Insertion STM codes Instrumented Target Applications JIT Compiler Healing Logs Fig. 1. The Overall Architecture of healing data races based on STM. 3 Our Technique for Healing Data Races To heal data races using transactional memory, we need to insert proper transactional regions and the codes of STM on target programs considering code blocks and shared variables. Therefore, our technique for healing data races consists of two modules: Transactional Region Specifier (TRS), which collects the information of target progam execution considering iteration statement, conditional statement, and shared variables, and Instrumentor (INS), which inserts transactional memory codes into specified transaction regions of target program by TRS module. Fig. 1 shows the overall architecture of our technique for healing data races. During an execution of a multi-threaded program, TRS module localizes incorrect code blocks considering iteration statements, conditional statements, and shared variables. The module collects the information of shared variables in the target program. TRS classifies collected shared variables into an incorrect synchronization set if the shared variables are not protected a same lock. Otherwise, it classifies a correct synchronization set. The TRS also collects the information of control flow in the target program, such as iteration statements and conditional statements, considering the incorrect synchronization set. INS module dynamically inserts the managing operations of STM, such as StartTX, CommitTX, and AbortTX, to specified transactional regions of the target program. If a shared variable of the incorrect synchronization set is located in the region of an 484 Copyright 2016 SERSC
4 iteration statement, StartTX operation is inserted into immediately before the start point of the iteration statement, and CommitTX and AbortTX also are inserted into immediately after the end point of the region. If a shared variable is placed in a conditional block with a conditional statement, StartTX is inserted into before a statement which includes the shared variable, and both CommitTX and AbortTX are also inserted into after the statement, respectively. Finally, INS applies ReadTX and WriteTX considering the accesses, such as load or store, to the shared variable. Thread 1 Thread 2 Thread 1 Thread 2 Thread 1 Thread 2 lock lock lock iteration statement region conditional statement region (a) R01 (Incorrect type) (b) R02 (Incorrect type) (c) N01 (Correct type) Fig. 2. The Example of Synthetic Programs. 4 Evaluation To evaluate the accuracy of our technique, we used synthetic programs considering either involving data races or not. We developed the synthetic programs considering three criteria such as iteration statement, conditional statement, and none of them. Fig. 2 graphically shows the execution of synthetic programs. We implemented our technique as a Pin-tool on top of the Pin binary instrumentation framework [12] which uses a just-in-time (JIT) compiler to recompile target program binaries for dynamic instrumentation. For STM, we introduced TinySTM, version Our implementation and experimentation were carried on a system with Intel Xeon Processor E5620 (4 core and 8 threads) and 48GB main memory under the kernel 2.6 of Linux operating system. The syntheses were compiled with GCC compiler The results of healing data races under the synthetic programs appear in Table 1. From the table, the original runs for R01 and R02 incurred data races related to control flow, such as iteration statements and conditional statements, whereas no data races were occurred during the execution of the syntheses, R01 and R02, with our technique using STM. As the results, our technique shows that data races effectively heal to the multi-threaded programs. So, it is useful for the programs that are needed data race free execution. Copyright 2016 SERSC 485
5 Table 1. The Result of Experimentation. Statement Original run of synthetic programs Run of synthetic programs with our technique R01 R02 N01 R01 R02 N01 None Iteration Conditional 4 Conclusion This paper presented a technique that consists of Transactional Region Specifier and Instrumentor to heal data races in multi-threaded programs using STM. We evaluated the accuracy of our healing technique using a set of synthetic programs that considers iteration statements and conditional statements, and shared variables. The technique shows that data races effectively heal to the multi-threaded programs. In the future works, we will verify the effectivity of our technique with the veriaty of data race patterns using real-world programs which are widely used in several open source projects. Acknowledgments. This research was supported by the Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education (NRF-2014R1A1A ) and also was supported by the Agency for Defense Development, South Korea, under Grant (UD160014DD). References 1. Netzer, R. H., Miller, B. P.: What are race conditions?: Some issues and formalizations: ACM Letters on Programming Languages and Systems, pp ACM Press, New York (1992) 2. Lu, S., Park S., Seo, E., Zhou, Y.: Learning from mistakes: a comprehensive study on real world concurrency bug characteristics: Proceedings of the 13th international conference on Architectural support for Programming language and operating systems, pp , ACM Press, New York (2008) 3. Savage, S., Burrows, M., Nelson, G. Sobalvarro, P. Anderson, T.: Eraser: a dynamic data race detector for multithreaded programs: ACM Transactions on Computer Systems, pp ACM Press, New York (1997) 4. Jannesari, A., Tichy, W. F.: On-the-fly race detection in multi-threaded programs: Proceedings of the 6th workshop on Parallel and distributed systems: testing, analysis, and debugging, ACM Press, New York (2008) 5. Ha, O.-K., Jun, Y.-K.: An efficient algorithm for on-the-fly data race detection using an epoch-based technique: Scientific Programming, ACM Press, New York (2015) 6. Flanagan, C., Freund, S. N.: FastTrack: efficient and precise dynamic race detection: Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation, pp ACM Press, New York (2009) 486 Copyright 2016 SERSC
6 7. Tchamgoue, G. M., Ha, O.-K., Kim, K.-H., Jun, Y.-K.: A Framework for On-the-fly Race Healing in ARINC 653 Applications: International Journal of Hybrid Information Technology, pp , (2011) 8. Krena, B., Letko, Z., Tzoref, R., Ur, S., Vojnar, T.: Healing data races on-the-fly: Proceedings of the 2007 ACM workshop on Parallel and distributed systems: testing and debugging, pp ACM Press, New York (2007) 9. Zhang, W., Kruijf, M., Li A., Lu S., Sankaralingam, K.: ConAir: Featherweight Concurrency Bug Recovery via Single-Threaded Idempotent Execution: Proceedings of the eighteenth international conference on Architectural support for programming languages and operating systems, pp ACM Press, New York (2013) 10. Zhang, M., Wu, Y., Lu, S., Qi, S., Ren, J., Zheng, W.: AI: A Lightweight System for Tolerating Concurrency Bugs: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp ACM Press, New York (2014) 11. Zhang, L., Wang, C.: Runtime Prevention of Concurrency Related Type-State Violations in Multithreaded Applications: Proceedings of the 2014 International Symposium on Software Testing and Analysis, pp ACM Press, New York (2014) 12. Reddi, V. J., Settle, A., Connors, D. A., Cohn, R. S.: PIN: A Binary Instrumentation Tool for Computer Architecture Research and Education: Proceedings of the 2004 workshop on Computer architecture education: held in conjunction with the 31st International Symposium on Computer Architecture, ACM Press, New York (2004) 13. Harris, T., Larus, J., Rajwar, R.: Transactional Memory, 2nd edition (2010) 14. Felber, P., Fetzer, C., Riegel, T.: Dynamic Performance Tuning of Word-Based Software Transactional Memory: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming, pp ACM Press, New York (2008) Copyright 2016 SERSC 487
Dynamic Monitoring Tool based on Vector Clocks for Multithread Programs
, pp.45-49 http://dx.doi.org/10.14257/astl.2014.76.12 Dynamic Monitoring Tool based on Vector Clocks for Multithread Programs Hyun-Ji Kim 1, Byoung-Kwi Lee 2, Ok-Kyoon Ha 3, and Yong-Kee Jun 1 1 Department
More informationCalFuzzer: An Extensible Active Testing Framework for Concurrent Programs Pallavi Joshi 1, Mayur Naik 2, Chang-Seo Park 1, and Koushik Sen 1
CalFuzzer: An Extensible Active Testing Framework for Concurrent Programs Pallavi Joshi 1, Mayur Naik 2, Chang-Seo Park 1, and Koushik Sen 1 1 University of California, Berkeley, USA {pallavi,parkcs,ksen}@eecs.berkeley.edu
More informationGENERAL MESSAGE RACES IN DATA DISTRIBUTION SERVICE PROGRAMS FOR AIRBORNE SOFTWARE
GENERAL MESSAGE RACES IN DATA DISTRIBUTION SERVICE PROGRAMS FOR AIRBORNE SOFTWARE Hyun-Ji Kim*, Ok-Kyoon Ha*, and Yong-Kee Jun* *Gyeongsang National University, South Korea hecho3927@gmail.com; jassmin@gnu.ac.kr;
More informationMonitoring System of Marine Engine Using Dynamic ID priority Allocation base on CAN
, pp.460-465 http://dx.doi.org/10.14257/astl.2016.139.91 Monitoring System of Marine Engine Using Dynamic ID priority Allocation base on CAN Hyun Lee 1 and Kun Su Yoon 1 1 Seongnam Campus of Korea Polytechnic,
More informationLock vs. Lock-free Memory Project proposal
Lock vs. Lock-free Memory Project proposal Fahad Alduraibi Aws Ahmad Eman Elrifaei Electrical and Computer Engineering Southern Illinois University 1. Introduction The CPU performance development history
More informationReal-Time Automatic Detection of Stuck Transactions
Real-Time Automatic Detection of Stuck Transactions Diploma thesis subject of Peter Hofer (0855349) in cooperation with Compuware Austria GmbH September 2012 Abstract The execution of business transactions
More informationAnalysis and Monitoring of Transactional Memory Programs STSM Scientific Report
Analysis and Monitoring of Transactional Memory Programs STSM Scientific Report Jan Fiedor FIT, Brno University of Technology, Czech Republic ifiedor@fit.vutbr.cz Reference Number COST-STSM-IC1001-14636
More informationTransactional Memory. Concurrency unlocked Programming. Bingsheng Wang TM Operating Systems
Concurrency unlocked Programming Bingsheng Wang TM Operating Systems 1 Outline Background Motivation Database Transaction Transactional Memory History Transactional Memory Example Mechanisms Software Transactional
More informationDetecting Data Races in Multi-Threaded Programs
Slide 1 / 22 Detecting Data Races in Multi-Threaded Programs Eraser A Dynamic Data-Race Detector for Multi-Threaded Programs John C. Linford Slide 2 / 22 Key Points 1. Data races are easy to cause and
More informationDBT Tool. DBT Framework
Thread-Safe Dynamic Binary Translation using Transactional Memory JaeWoong Chung,, Michael Dalton, Hari Kannan, Christos Kozyrakis Computer Systems Laboratory Stanford University http://csl.stanford.edu
More informationConfiguration Tool for ARINC 653 Operating Systems. {etchoi, jassmin, Abstract
, pp.73-84 http://dx.doi.org/10.14257/ijmue.2014.9.4.08 Configuration Tool for ARINC 653 Operating Systems Eu-Teum Choi 1, Ok-Kyoon Ha 2 and Yong-Kee Jun 1 1 Department of Informatics, Gyeongsang National
More informationTrajectory Planning for Mobile Robots with Considering Velocity Constraints on Xenomai
, pp.1-5 http://dx.doi.org/10.14257/astl.2014.49.01 Trajectory Planning for Mobile Robots with Considering Velocity Constraints on Xenomai Gil Jin Yang and Byoung Wook Choi *, Seoul National University
More informationDynamic Race Detection with LLVM Compiler
Dynamic Race Detection with LLVM Compiler Compile-time instrumentation for ThreadSanitizer Konstantin Serebryany, Alexander Potapenko, Timur Iskhodzhanov, and Dmitriy Vyukov OOO Google, 7 Balchug st.,
More informationHybrid Static-Dynamic Analysis for Statically Bounded Region Serializability
Hybrid Static-Dynamic Analysis for Statically Bounded Region Serializability Aritra Sengupta, Swarnendu Biswas, Minjia Zhang, Michael D. Bond and Milind Kulkarni ASPLOS 2015, ISTANBUL, TURKEY Programming
More informationA Case for System Support for Concurrency Exceptions
A Case for System Support for Concurrency Exceptions Luis Ceze, Joseph Devietti, Brandon Lucia and Shaz Qadeer University of Washington {luisceze, devietti, blucia0a}@cs.washington.edu Microsoft Research
More informationHEAT: An Integrated Static and Dynamic Approach for Thread Escape Analysis
HEAT: An Integrated Static and Dynamic Approach for Thread Escape Analysis Qichang Chen and Liqiang Wang Department of Computer Science University of Wyoming {qchen2, wang@cs.uwyo.edu Zijiang Yang Department
More informationYuxi Chen, Shu Wang, Shan Lu, and Karthikeyan Sankaralingam *
Yuxi Chen, Shu Wang, Shan Lu, and Karthikeyan Sankaralingam * * 2 q Synchronization mistakes in multithreaded programs Thread 1 Thread 2 If(ptr){ tmp = *ptr; ptr = NULL; } Segfault q Common q Hard to diagnose
More informationAutomatically Repairing Concurrency Bugs with ARC MUSEPAT 2013 Saint Petersburg, Russia
Automatically Repairing Concurrency Bugs with ARC MUSEPAT 2013 Saint Petersburg, Russia David Kelk, Kevin Jalbert, Jeremy S. Bradbury Faculty of Science (Computer Science) University of Ontario Institute
More informationEraser : A dynamic data race detector for multithreaded programs By Stefan Savage et al. Krish 9/1/2011
Eraser : A dynamic data race detector for multithreaded programs By Stefan Savage et al. Krish 9/1/2011 MOTIVATION. Only parallel programs can benefit from today s multi-core processors Multithreading
More informationA Personal Information Retrieval System in a Web Environment
Vol.87 (Art, Culture, Game, Graphics, Broadcasting and Digital Contents 2015), pp.42-46 http://dx.doi.org/10.14257/astl.2015.87.10 A Personal Information Retrieval System in a Web Environment YoungDeok
More informationDo you have to reproduce the bug on the first replay attempt?
Do you have to reproduce the bug on the first replay attempt? PRES: Probabilistic Replay with Execution Sketching on Multiprocessors Soyeon Park, Yuanyuan Zhou University of California, San Diego Weiwei
More informationEmpowering Software Debugging Through Architectural Support for Program Rollback
Empowering Software Debugging Through Architectural Support for Program Rollback Radu Teodorescu and Josep Torrellas Department of Computer Science University of Illinois at Urbana-Champaign http://iacoma.cs.uiuc.edu
More informationSoftware Analysis Techniques for Detecting Data Race
Software Analysis Techniques for Detecting Data Race [CS 5204 OS Course Project: Fall 2004] Pilsung Kang Department of Computer Science Virginia Tech kangp@vt.edu ABSTRACT Data races are a multithreading
More informationRobot localization method based on visual features and their geometric relationship
, pp.46-50 http://dx.doi.org/10.14257/astl.2015.85.11 Robot localization method based on visual features and their geometric relationship Sangyun Lee 1, Changkyung Eem 2, and Hyunki Hong 3 1 Department
More informationLDetector: A low overhead data race detector for GPU programs
LDetector: A low overhead data race detector for GPU programs 1 PENGCHENG LI CHEN DING XIAOYU HU TOLGA SOYATA UNIVERSITY OF ROCHESTER 1 Data races in GPU Introduction & Contribution Impact correctness
More informationIdentifying Ad-hoc Synchronization for Enhanced Race Detection
Identifying Ad-hoc Synchronization for Enhanced Race Detection IPD Tichy Lehrstuhl für Programmiersysteme IPDPS 20 April, 2010 Ali Jannesari / Walter F. Tichy KIT die Kooperation von Forschungszentrum
More informationRedflag: A Framework for Analysis of Kernel-Level Concurrency
Redflag: A Framework for Analysis of Kernel-Level Concurrency Justin Seyster, Prabakar Radhakrishnan, Samriti Katoch, Abhinav Duggal, Scott D. Stoller, and Erez Zadok Department of Computer Science, Stony
More informationOptimization of thread affinity and memory affinity for remote core locking synchronization in multithreaded programs for multicore computer systems
Optimization of thread affinity and memory affinity for remote core locking synchronization in multithreaded programs for multicore computer systems Alexey Paznikov Saint Petersburg Electrotechnical University
More informationA Transaction Processing Technique in Real-Time Object- Oriented Databases
122 IJCSNS International Journal of Computer Science and Network Security, VOL.8 No.1, January 2008 A Transaction Processing Technique in Real-Time Object- Oriented Databases Woochun Jun Dept. of Computer
More informationVulcan: Hardware Support for Detecting Sequential Consistency Violations Dynamically
Vulcan: Hardware Support for Detecting Sequential Consistency Violations Dynamically Abdullah Muzahid, Shanxiang Qi, and University of Illinois at Urbana-Champaign http://iacoma.cs.uiuc.edu MICRO December
More informationCSE 5331 DBMS Models and Implementation Techniques Dr. Sharma Chakravarthy (Spring 2005) Project 3: A Simple Transaction Manager
CSE 5331 DBMS Models and Implementation Techniques Dr. Sharma Chakravarthy (Spring 2005) Project 3: A Simple Transaction Manager Deadline: May 2 nd, 2005 at 23:59. No late submissions are permitted. Check
More informationEfficient Data Race Detection for Unified Parallel C
P A R A L L E L C O M P U T I N G L A B O R A T O R Y Efficient Data Race Detection for Unified Parallel C ParLab Winter Retreat 1/14/2011" Costin Iancu, LBL" Nick Jalbert, UC Berkeley" Chang-Seo Park,
More informationFastTrack: Efficient and Precise Dynamic Race Detection (+ identifying destructive races)
FastTrack: Efficient and Precise Dynamic Race Detection (+ identifying destructive races) Cormac Flanagan UC Santa Cruz Stephen Freund Williams College Multithreading and Multicore! Multithreaded programming
More informationAn Update on Haskell H/STM 1
An Update on Haskell H/STM 1 Ryan Yates and Michael L. Scott University of Rochester TRANSACT 10, 6-15-2015 1 This work was funded in part by the National Science Foundation under grants CCR-0963759, CCF-1116055,
More informationAutomatically Classifying Benign and Harmful Data Races Using Replay Analysis
Automatically Classifying Benign and Harmful Data Races Using Replay Analysis Satish Narayanasamy, Zhenghao Wang, Jordan Tigani, Andrew Edwards, Brad Calder Microsoft University of California, San Diego
More informationEliminate Threading Errors to Improve Program Stability
Introduction This guide will illustrate how the thread checking capabilities in Intel Parallel Studio XE can be used to find crucial threading defects early in the development cycle. It provides detailed
More informationA Serializability Violation Detector for Shared-Memory Server Programs
A Serializability Violation Detector for Shared-Memory Server Programs Min Xu Rastislav Bodík Mark Hill University of Wisconsin Madison University of California, Berkeley Serializability Violation Detector:
More informationEmbedded System Programming
Embedded System Programming Multicore ES (Module 40) Yann-Hang Lee Arizona State University yhlee@asu.edu (480) 727-7507 Summer 2014 The Era of Multi-core Processors RTOS Single-Core processor SMP-ready
More informationChimera: Hybrid Program Analysis for Determinism
Chimera: Hybrid Program Analysis for Determinism Dongyoon Lee, Peter Chen, Jason Flinn, Satish Narayanasamy University of Michigan, Ann Arbor - 1 - * Chimera image from http://superpunch.blogspot.com/2009/02/chimera-sketch.html
More informationEliminate Threading Errors to Improve Program Stability
Eliminate Threading Errors to Improve Program Stability This guide will illustrate how the thread checking capabilities in Parallel Studio can be used to find crucial threading defects early in the development
More informationImplementing Atomic Section by Using Hybrid Concurrent Control
2007 IFIP International Conference on Network and Parallel Computing - Workshops Implementing Atomic Section by Using Hybrid Concurrent Control Lei Zhao, Yu Zhang Department of Computer Science & Technology
More informationAUTOMATICALLY INFERRING STRUCTURE CORRELATED VARIABLE SET FOR CONCURRENT ATOMICITY SAFETY
AUTOMATICALLY INFERRING STRUCTURE CORRELATED VARIABLE SET FOR CONCURRENT ATOMICITY SAFETY Long Pang 1, Xiaohong Su 2, Peijun Ma 3 and Lingling Zhao 4 School of Computer Science and Technology, Harbin Institute
More informationPost-Classification Change Detection of High Resolution Satellite Images Using AdaBoost Classifier
, pp.34-38 http://dx.doi.org/10.14257/astl.2015.117.08 Post-Classification Change Detection of High Resolution Satellite Images Using AdaBoost Classifier Dong-Min Woo 1 and Viet Dung Do 1 1 Department
More informationA taxonomy of race. D. P. Helmbold, C. E. McDowell. September 28, University of California, Santa Cruz. Santa Cruz, CA
A taxonomy of race conditions. D. P. Helmbold, C. E. McDowell UCSC-CRL-94-34 September 28, 1994 Board of Studies in Computer and Information Sciences University of California, Santa Cruz Santa Cruz, CA
More informationRemote Direct Storage Management for Exa-Scale Storage
, pp.15-20 http://dx.doi.org/10.14257/astl.2016.139.04 Remote Direct Storage Management for Exa-Scale Storage Dong-Oh Kim, Myung-Hoon Cha, Hong-Yeon Kim Storage System Research Team, High Performance Computing
More informationUsing Intel VTune Amplifier XE and Inspector XE in.net environment
Using Intel VTune Amplifier XE and Inspector XE in.net environment Levent Akyil Technical Computing, Analyzers and Runtime Software and Services group 1 Refresher - Intel VTune Amplifier XE Intel Inspector
More informationProceedings of the Third Virtual Machine Research and Technology Symposium
USENIX Association Proceedings of the Third Virtual Machine Research and Technology Symposium San Jose, CA, USA May 6 7, 2004 2004 by The USENIX Association All Rights Reserved For more information about
More informationCausal Order Multicast Protocol Using Different Information from Brokers to Subscribers
, pp.15-19 http://dx.doi.org/10.14257/astl.2014.51.04 Causal Order Multicast Protocol Using Different Information from Brokers to Subscribers Chayoung Kim 1 and Jinho Ahn 1, 1 Dept. of Comp. Scie., Kyonggi
More informationTransactional Memory for Dependable Embedded Systems
al Memory for Dependable Embedded Systems Christof Fetzer Dresden University of Technology Dresden, Germany christof.fetzer@tu-dresden.de Pascal Felber University of Neuchâtel Neuchâtel, Switzerland pascal.felber@unine.ch
More informationSpeculative Parallelization Technology s only constant is CHANGE. Devarshi Ghoshal Sreesudhan
Speculative Parallelization Technology s only constant is CHANGE Devarshi Ghoshal Sreesudhan Agenda Moore s law What is speculation? What is parallelization? Amdahl s law Communication between parallely
More informationAgenda. Designing Transactional Memory Systems. Why not obstruction-free? Why lock-based?
Agenda Designing Transactional Memory Systems Part III: Lock-based STMs Pascal Felber University of Neuchatel Pascal.Felber@unine.ch Part I: Introduction Part II: Obstruction-free STMs Part III: Lock-based
More informationPrediction of Coverage of Expensive Concurrency Metrics Using Cheaper Metrics
Prediction of Coverage of Expensive Concurrency Metrics Using Cheaper Metrics Bohuslav Křena, Hana Pluháčková, Shmuel Ur, and Tomáš Vojnar IT4Innovations Centre of Excellence, FIT, Brno University of Technology,
More informationSupporting Collaborative 3D Editing over Cloud Storage
, pp.33-37 http://dx.doi.org/10.14257/astl.2015.107.09 Supporting Collaborative 3D Editing over Cloud Storage Yeoun-Ui Ha 1, Jae-Hwan Jin 2, Myung-Joon Lee 3 Department of Electrical/Electronic and Computer
More informationA Graph-based Interpretation for Finding Solution Strategies of Contradiction Problems in the Butterfly Diagram
, pp.220-224 http://dx.doi.org/10.14257/astl.2016.139.47 A Graph-based Interpretation for Finding Solution Strategies of Contradiction Problems in the Butterfly Diagram Jung Suk Hyun 1 and Chan Jung Park
More informationSSD Garbage Collection Detection and Management with Machine Learning Algorithm 1
, pp.197-206 http//dx.doi.org/10.14257/ijca.2018.11.4.18 SSD Garbage Collection Detection and Management with Machine Learning Algorithm 1 Jung Kyu Park 1 and Jaeho Kim 2* 1 Department of Computer Software
More informationFastTrack: Efficient and Precise Dynamic Race Detection By Cormac Flanagan and Stephen N. Freund
FastTrack: Efficient and Precise Dynamic Race Detection By Cormac Flanagan and Stephen N. Freund doi:10.1145/1839676.1839699 Abstract Multithreaded programs are notoriously prone to race conditions. Prior
More informationA Formal Model of Crash Recovery in Distributed Software Transactional Memory (Extended Abstract)
A Formal Model of Crash Recovery in Distributed Software Transactional Memory (Extended Abstract) Paweł T. Wojciechowski, Jan Kończak Poznań University of Technology 60-965 Poznań, Poland {Pawel.T.Wojciechowski,Jan.Konczak}@cs.put.edu.pl
More informationConstruction Scheme for Cloud Platform of NSFC Information System
, pp.200-204 http://dx.doi.org/10.14257/astl.2016.138.40 Construction Scheme for Cloud Platform of NSFC Information System Jianjun Li 1, Jin Wang 1, Yuhui Zheng 2 1 Information Center, National Natural
More informationA Parameterized Type System for Race-Free Java Programs
A Parameterized Type System for Race-Free Java Programs Chandrasekhar Boyapati Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology {chandra, rinard@lcs.mit.edu Data races
More informationDynamic Transaction Coalescing
Dynamic Transaction Coalescing Sr dan Stipić, Vasileios Karakostas, Vesna Smiljković, Vladimir Gajinov, Osman Unsal, Adrián Cristal, Mateo Valero Barcelona Supercomputing Center, Spain {srdjan.stipic,
More informationOn-the-fly Race Detection in Multi-Threaded Programs
On-the-fly Race Detection in Multi-Threaded Programs Ali Jannesari and Walter F. Tichy University of Karlsruhe 76131 Karlsruhe, Germany {jannesari,tichy@ipd.uni-karlsruhe.de ABSTRACT Multi-core chips enable
More informationRUBY IS A PURE OBJECT-ORIENTED interpreted language.
Proceedings of the Federated Conference on Computer Science and Information Systems pp. 947 952 DOI: 10.15439/2015F99 ACSIS, Vol. 5 Ruby Benchmark Tool using Docker Richard Ludvigh, Tomáš Rebok Faculty
More informationSummary: Open Questions:
Summary: The paper proposes an new parallelization technique, which provides dynamic runtime parallelization of loops from binary single-thread programs with minimal architectural change. The realization
More informationSamsara: Efficient Deterministic Replay in Multiprocessor. Environments with Hardware Virtualization Extensions
Samsara: Efficient Deterministic Replay in Multiprocessor Environments with Hardware Virtualization Extensions Shiru Ren, Le Tan, Chunqi Li, Zhen Xiao, and Weijia Song June 24, 2016 Table of Contents 1
More informationModule 6: Process Synchronization. Operating System Concepts with Java 8 th Edition
Module 6: Process Synchronization 6.1 Silberschatz, Galvin and Gagne 2009 Module 6: Process Synchronization Background The Critical-Section Problem Peterson s Solution Synchronization Hardware Semaphores
More informationEvaluating the Impact of Transactional Characteristics on the Performance of Transactional Memory Applications
Evaluating the Impact of Transactional Characteristics on the Performance of Transactional Memory Applications Fernando Rui, Márcio Castro, Dalvan Griebler, Luiz Gustavo Fernandes Email: fernando.rui@acad.pucrs.br,
More informationTime Stamp based Multiple Snapshot Management Method for Storage System
Time Stamp based Multiple Snapshot Management Method for Storage System Yunsoo Lee 1, Dongmin Shin 1, Insoo Bae 1, Seokil Song 1, Seungkook Cheong 2 1 Dept. of Computer Engineering, Korea National University
More informationOnline Version Only. Book made by this file is ILLEGAL. Design and Implementation of Binary File Similarity Evaluation System. 1.
, pp.1-10 http://dx.doi.org/10.14257/ijmue.2014.9.1.01 Design and Implementation of Binary File Similarity Evaluation System Sun-Jung Kim 2, Young Jun Yoo, Jungmin So 1, Jeong Gun Lee 1, Jin Kim 1 and
More informationApplication of Fuzzy Logic Control to Dynamic Channel Allocation of WiMedia UWB Networks
, pp.60-64 http://dx.doi.org/10.14257/astl.2015.108.14 Application of Fuzzy Logic Control to Dynamic Channel Allocation of WiMedia UWB Networks Dong-Keun Jeon 1, Yeonwoo Lee *2 1 Dept. of Mechatronics,
More informationAn Efficient Provable Data Possession Scheme based on Counting Bloom Filter for Dynamic Data in the Cloud Storage
, pp. 9-16 http://dx.doi.org/10.14257/ijmue.2016.11.4.02 An Efficient Provable Data Possession Scheme based on Counting Bloom Filter for Dynamic Data in the Cloud Storage Eunmi Jung 1 and Junho Jeong 2
More informationEfficient Data Race Detection for C/C++ Programs Using Dynamic Granularity
Efficient Data Race Detection for C/C++ Programs Using Young Wn Song and Yann-Hang Lee Computer Science and Engineering Arizona State University Tempe, AZ, 85281 ywsong@asu.edu, yhlee@asu.edu Abstract
More informationJava-MOP: A Monitoring Oriented Programming Environment for Java
Java-MOP: A Monitoring Oriented Programming Environment for Java Feng Chen and Grigore Roşu Department of Computer Science, University of Illinois at Urbana - Champaign, USA {fengchen, grosu}@uiuc.edu
More informationTERN: Stable Deterministic Multithreading through Schedule Memoization
TERN: Stable Deterministic Multithreading through Schedule Memoization Heming Cui, Jingyue Wu, Chia-che Tsai, Junfeng Yang Columbia University Appeared in OSDI 10 Nondeterministic Execution One input many
More informationCost of Concurrency in Hybrid Transactional Memory. Trevor Brown (University of Toronto) Srivatsan Ravi (Purdue University)
Cost of Concurrency in Hybrid Transactional Memory Trevor Brown (University of Toronto) Srivatsan Ravi (Purdue University) 1 Transactional Memory: a history Hardware TM Software TM Hybrid TM 1993 1995-today
More informationA METHOD FOR DETECTING FALSE POSITIVE AND FALSE NEGATIVE ATTACKS USING SIMULATION MODELS IN STATISTICAL EN- ROUTE FILTERING BASED WSNS
A METHOD FOR DETECTING FALSE POSITIVE AND FALSE NEGATIVE ATTACKS USING SIMULATION MODELS IN STATISTICAL EN- ROUTE FILTERING BASED WSNS Su Man Nam 1 and Tae Ho Cho 2 1 College of Information and Communication
More informationDoubleChecker: Efficient Sound and Precise Atomicity Checking
DoubleChecker: Efficient Sound and Precise Atomicity Checking Swarnendu Biswas, Jipeng Huang, Aritra Sengupta, and Michael D. Bond The Ohio State University PLDI 2014 Impact of Concurrency Bugs Impact
More informationChí Cao Minh 28 May 2008
Chí Cao Minh 28 May 2008 Uniprocessor systems hitting limits Design complexity overwhelming Power consumption increasing dramatically Instruction-level parallelism exhausted Solution is multiprocessor
More informationDynamically Detecting and Tolerating IF-Condition Data Races
Dynamically Detecting and Tolerating IF-Condition Data Races Shanxiang Qi (Google), Abdullah Muzahid (University of San Antonio), Wonsun Ahn, Josep Torrellas University of Illinois at Urbana-Champaign
More informationDEBUGGING: DYNAMIC PROGRAM ANALYSIS
DEBUGGING: DYNAMIC PROGRAM ANALYSIS WS 2017/2018 Martina Seidl Institute for Formal Models and Verification System Invariants properties of a program must hold over the entire run: integrity of data no
More informationPage Mapping Scheme to Support Secure File Deletion for NANDbased Block Devices
Page Mapping Scheme to Support Secure File Deletion for NANDbased Block Devices Ilhoon Shin Seoul National University of Science & Technology ilhoon.shin@snut.ac.kr Abstract As the amount of digitized
More informationModule 6: Process Synchronization
Module 6: Process Synchronization Background The Critical-Section Problem Peterson s Solution Synchronization Hardware Semaphores Classic Problems of Synchronization Monitors Synchronization Examples Atomic
More informationA study on MAC protocol for urgent data transmission in Wireless Bio Signal Monitoring Environment
, pp.93-98 http://dx.doi.org/10.14257/astl.2015.108.20 A study on MAC protocol for urgent data transmission in Wireless Bio Signal Monitoring Environment Rae Hyeon Kim, Pyung Soo Kim, Jeong Gon Kim 1 Department
More informationResearch on Autonomic Control System Connection Goal-model and Fault-tree
, pp.47-53 http://dx.doi.org/10.14257/astl.2016.129.10 Research on Autonomic Control System Connection Goal-model and Fault-tree Dongbeom Ko 1, Teayoung Kim 1, Sungjoo Kang 2, Ingeol Chun 2, Jeongmin Park
More informationLog System Based on Software Testing System Design And Implementation
4th International Conference on Mechatronics, Materials, Chemistry and Computer Engineering (ICMMCCE 2015) Log System Based on Software Testing System Design And Implementation Yan Liu1, a, Dahai Jin1,
More informationEliminate Memory Errors to Improve Program Stability
Introduction INTEL PARALLEL STUDIO XE EVALUATION GUIDE This guide will illustrate how Intel Parallel Studio XE memory checking capabilities can find crucial memory defects early in the development cycle.
More informationI. INTRODUCTION FACTORS RELATED TO PERFORMANCE ANALYSIS
Performance Analysis of Java NativeThread and NativePthread on Win32 Platform Bala Dhandayuthapani Veerasamy Research Scholar Manonmaniam Sundaranar University Tirunelveli, Tamilnadu, India dhanssoft@gmail.com
More informationAutomated Dynamic Analysis of CUDA Programs
Automated Dynamic Analysis of CUDA Programs Michael Boyer University of Virginia Dept. of Computer Science Charlottesville, VA 22904 boyer@cs.virginia.edu Kevin Skadron University of Virginia Dept. of
More informationPerformance Evaluation of Adaptivity in STM. Mathias Payer and Thomas R. Gross Department of Computer Science, ETH Zürich
Performance Evaluation of Adaptivity in STM Mathias Payer and Thomas R. Gross Department of Computer Science, ETH Zürich Motivation STM systems rely on many assumptions Often contradicting for different
More informationChapter 14 HARD: Host-Level Address Remapping Driver for Solid-State Disk
Chapter 14 HARD: Host-Level Address Remapping Driver for Solid-State Disk Young-Joon Jang and Dongkun Shin Abstract Recent SSDs use parallel architectures with multi-channel and multiway, and manages multiple
More information1 Publishable Summary
1 Publishable Summary 1.1 VELOX Motivation and Goals The current trend in designing processors with multiple cores, where cores operate in parallel and each of them supports multiple threads, makes the
More informationShin Hong. Assistant Professor Handong Global University (HGU) Pohang, Kyongbuk, South Korea (37554)
Shin Hong Assistant Professor hongshin@handong.edu +82-54-260-1409 School of Computer Science & Electrical Engineering 113 NMH, 558 Handong-ro, Buk-gu, Handong Global University (HGU) Pohang, Kyongbuk,
More informationLightweight Data Race Detection for Production Runs
Lightweight Data Race Detection for Production Runs Swarnendu Biswas, UT Austin Man Cao, Ohio State University Minjia Zhang, Microsoft Research Michael D. Bond, Ohio State University Benjamin P. Wood,
More informationAtomic Transac1ons. Atomic Transactions. Q1: What if network fails before deposit? Q2: What if sequence is interrupted by another sequence?
CPSC-4/6: Operang Systems Atomic Transactions The Transaction Model / Primitives Serializability Implementation Serialization Graphs 2-Phase Locking Optimistic Concurrency Control Transactional Memory
More informationThread Profiler 2.0 Release Notes
Thread Profiler 2.0 Release Notes Contents 1. Overview 2. Package 3. New Features 4. Requirements 5. Installation 6. Usage 7. Supported C Run-Time and Windows* APIs 8. Technical Support and Feedback 1.
More informationIntel Threading Tools
Intel Threading Tools Paul Petersen, Intel -1- INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS,
More informationImproved MAC protocol for urgent data transmission in wireless healthcare monitoring sensor networks
, pp.282-286 http://dx.doi.org/10.14257/astl.2015.116.57 Improved MAC protocol for urgent data transmission in wireless healthcare monitoring sensor networks Rae Hyeon Kim, Jeong Gon Kim 1 Department of
More informationOn Exploring Markov Chains for Transaction Scheduling Optimization in Transactional Memory
WTTM 2015 7 th Workshop on the Theory of Transactional Memory On Exploring Markov Chains for Transaction Scheduling Optimization in Transactional Memory Pierangelo Di Sanzo, Marco Sannicandro, Bruno Ciciani,
More informationActor-Based Concurrency: Implementation and Comparative Analysis With Shared Data and Locks Alex Halter Randy Shepherd
Actor-Based Concurrency: Implementation and Comparative Analysis With Shared Data and Locks Alex Halter Randy Shepherd 1. Introduction Writing correct concurrent programs using shared data and locks is
More informationA Visualization System for Multithreaded Programming
A Visualization System for Multithreaded Programming Michael Bedy, Steve Carr, Xianglong Huang and Ching-Kuang Shene Department of Computer Science Michigan Technological University Houghton, MI 49931
More informationBaoping Wang School of software, Nanyang Normal University, Nanyang , Henan, China
doi:10.21311/001.39.7.41 Implementation of Cache Schedule Strategy in Solid-state Disk Baoping Wang School of software, Nanyang Normal University, Nanyang 473061, Henan, China Chao Yin* School of Information
More information