RaceMob: Crowdsourced Data Race Detec,on

Size: px
Start display at page:

Download "RaceMob: Crowdsourced Data Race Detec,on"

Transcription

1 RaceMob: Crowdsourced Data Race Detec,on Baris Kasikci, Cris,an Zamfir, and George Candea School of Computer & Communica3on Sciences

2 Data Races to shared memory loca,on By mul3ple threads At least one of the accesses is a write shared x Thread 1 Thread 2 x = 1 x = 2 Synchroniza3on opera3ons do not enforce an order among the accesses 2

3 Spectrum of Data Races Kept for performance??? Caused massive losses 2003 Blackout 3

4 PiLalls Programs with data races are incorrect according to POSI & C/C++ standards Compilers can break correctness of programs with data races [HotPar 11] Harmless data races can become harmful Developers need to know every true data race 4

5 How to Find All Data Races? Sta,c race detectors Dynamic race detectors Full path analysis Per- run analysis Cheap (0 run3me overhead) Expensive ( 200x) Few false nega5ves Many false nega5ves Many false posi5ves (~80%) Few false posi5ves (~0%) Exis,ng detectors are not prac,cal 5

6 How to Find All Data Races? Full path analysis Cheap (0 run3me overhead) Few false nega5ves Few false posi5ves (~0%) 6

7 RaceMob Full path analysis Cheap (0 run3me overhead) Few false nega2ves Few false posi2ves (~0%) All Memory Sta,c Detec,on Poten5ally Racing Dynamic Context Inference Likely Racing On- demand Valida,on True Races Crowdsourcing Race & Hang Race & Crash 7

8 Issues Usage Model program Applica,on Home (e.g., AppStore) Users run instrumented programs RaceMob 8

9 Insights Use sta,c race detec,on to prune memory accesses that need not be monitored Cost of dynamic detec,on can be amor,zed across many users Using the crowd, we can detect races that majer 9

10 RaceMob All Memory Sta,c Detec,on Poten5ally Racing Dynamic Context Inference Likely Racing On- demand Valida,on True Races Crowdsourcing Detected 106 real Race & Hang races in 10 Race & Crash programs with 2.3% average overhead 10

11 Sta,c Data Race Detec,on We use RELAY [FSE 07] Analyzes en3re program paths at once Computes & composes per- func3on summaries to scale Tracks locks Example Thread 1 Thread 2 x = 1 lock(l)... unlock(l) LS1 = {} lock(l)... unlock(l) x = 2 LS2 = {} x = 1 and x = 2 are poten,ally racing 11

12 RaceMob All Memory Sta,c Detec,on Poten5ally Racing Dynamic Context Inference Likely Racing On- demand Valida,on True Races Crowdsourcing Race & Hang Race & Crash 12

13 Dynamic Context Inference (DCI) Inaccuracy in sta,c data race detec,on Pointer alias analysis errors Inability to infer mul3threaded program context DCI checks at run,me: If accesses are from different threads If accesses alias } If yes, accesses are likely racing Dynamic context inference reduced the set of accesses to monitor by 53% 13

14 DCI Example Alice Thread 1 x = 1 lock(l)... unlock(l) Thread 2 lock(l)... unlock(l) x = 2 Address = 0xBEEF ThreadID = 1 Address = 0xBEEF ThreadID = 2 Proceed to on- demand data race valida,on 14

15 RaceMob All Memory Sta,c Detec,on Poten5ally Racing Dynamic Context Inference Likely Racing On- demand Valida,on True Races Crowdsourcing Race & Hang Race & Crash 15

16 On- demand Data Race Valida,on Happens- before based Track synchroniza3on Few false posi3ves Minimal tracking Thread 1 Thread 2 x=1 unlock(l) lock(l) x=2 Only memory accesses of the target data race Synchroniza3on in between these accesses Un,l enough happens- before edges form Steers thread schedule to expose races 16

17 On- demand Valida,on Example Alice Thread 1 Thread 2 x = 1 lock(l)... unlock(l) HB No Race lock(l)... unlock(l) x = 2 Bob Thread 1 Thread 2 x = 1 lock(l)... unlock(l) No HB x = 2 x = 1 lock(l)... unlock(l) Race 17

18 Detec,on Results RACE RACE & CRASH RACE & HANG NO RACE NOT ALIASING NOT MULTITHREADED NOT SEEN program Applica,on Home (AppStore, Play) RaceMob 18

19 RaceMob All Memory Sta,c Detec,on Poten5ally Racing Dynamic Context Inference Likely Racing On- demand Valida,on True Races Crowdsourcing Race & Hang Race & Crash 19

20 memcached Evalua,on Pbzip2 pfscan SPLASH-2 Detec,on effec,veness Contribu,on of techniques to reducing overhead Breakdown of overhead Comparison to other detectors Comparison to concurrency tes,ng tools Scalability analysis 20

21 memcached Evalua,on Pbzip2 pfscan SPLASH-2 Detec,on effec,veness Contribu,on of techniques to reducing overhead Breakdown of overhead Comparison to other detectors Comparison to concurrency tes,ng tools Scalability analysis 21

22 841 Detec,on Effec,veness Total Race & Crash 106 true data races 3 3 Race & Hang 100 Race Not Aliasing Not Mul,threaded No Race 84 Not seen RaceMob detected and confirmed 106 data races 22

23 How Does Each Technique Detec,on,me/ Na,ve execu,on,me Lower the Overhead? Dynamic detec,on Sta,c + dynamic detec,on RaceMob (sta,c + dynamic + DCI +on- demand valida,on) aggregate RaceMob per- user 30x 30x 26.1x 3.6x Ocean (CPU- bound) 1.01x 6.3x 5.4x Pbzip2 (I/O- bound) 1.03x All techniques are required for low overhead 23

24 Run,me overhead vs. na,ve execu,on 5.00 % 3.75 % 2.50 % 1.25 % 1.00 % 0 Breakdown of overhead Instrumenta,on Valida,on Apache SQLite Memcached Fmm Barnes Ocean Pbzip2 Knot Aget Pfscan 2.3% average run,me overhead per- user 24

25 RaceMob All Memory Sta,c Detec,on Poten5ally Racing Dynamic Context Inference Likely Racing On- demand Valida,on True Races Crowdsourcing Detected 106 real Race & Hang races in 10 programs with 2.3% Race & Crash average overhead 25

Lockout: Efficient Tes0ng for Deadlock Bugs. Ali Kheradmand, Baris Kasikci, George Candea

Lockout: Efficient Tes0ng for Deadlock Bugs. Ali Kheradmand, Baris Kasikci, George Candea Lockout: Efficient Tes0ng for Deadlock Bugs Ali Kheradmand, Baris Kasikci, George Candea 1 Deadlock Set of threads Each holding a lock needed by another thread Wai?ng for another lock to be released by

More information

RaceMob: Crowdsourced Data Race Detection

RaceMob: Crowdsourced Data Race Detection RaceMob: Crowdsourced Data Race Detection Baris Kasikci, Cristian Zamfir, and George Candea School of Computer and Communication Sciences École Polytechnique Fédérale de Lausanne (EPFL), Switzerland {baris.kasikci,cristian.zamfir,george.candea}@epfl.ch

More information

Chimera: Hybrid Program Analysis for Determinism

Chimera: 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 information

Ad Hoc Synchroniza/on Considered Harmful

Ad Hoc Synchroniza/on Considered Harmful Ad Hoc Synchroniza/on Considered Harmful Weiwei Xiong, Soyoen Park, Jiaqi Zhang, Yuanyuan Zhou and Zhiqiang Ma UC San Diego University of Illinois Intel Synchroniza/on is Important Concurrent programs

More information

Understanding the Interleaving Space Overlap across Inputs and So7ware Versions

Understanding the Interleaving Space Overlap across Inputs and So7ware Versions Understanding the Interleaving Space Overlap across Inputs and So7ware Versions Dongdong Deng, Wei Zhang, Borui Wang, Peisen Zhao, Shan Lu University of Wisconsin, Madison 1 Concurrency bug detec3on is

More information

CSE Opera,ng System Principles

CSE Opera,ng System Principles CSE 30341 Opera,ng System Principles Lecture 5 Processes / Threads Recap Processes What is a process? What is in a process control bloc? Contrast stac, heap, data, text. What are process states? Which

More information

Deterministic Replay and Data Race Detection for Multithreaded Programs

Deterministic Replay and Data Race Detection for Multithreaded Programs Deterministic Replay and Data Race Detection for Multithreaded Programs Dongyoon Lee Computer Science Department - 1 - The Shift to Multicore Systems 100+ cores Desktop/Server 8+ cores Smartphones 2+ cores

More information

Baggy bounds checking. Periklis Akri5dis, Manuel Costa, Miguel Castro, Steven Hand

Baggy bounds checking. Periklis Akri5dis, Manuel Costa, Miguel Castro, Steven Hand Baggy bounds checking Periklis Akri5dis, Manuel Costa, Miguel Castro, Steven Hand C/C++ programs are vulnerable Lots of exis5ng code in C and C++ More being wrieen every day C/C++ programs are prone to

More information

Efficient and Scalable Socware Detec2on in Online Social Networks

Efficient and Scalable Socware Detec2on in Online Social Networks Efficient and Scalable Socware Detec2on in Online Social Networks Md Sazzadur Rahman, Ting- Kai Huang, Harsha Madhyastha, Michalis Faloutsos University of California, Riverside Problem Statement Social

More information

Lightweight Data Race Detection for Production Runs

Lightweight 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 information

Dynamically Detecting and Tolerating IF-Condition Data Races

Dynamically 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 information

Berkeley Parlab 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

Berkeley Parlab 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 EECS Electrical Engineering and Computer Sciences Berkeley Parlab 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 CONCURRIT: Tes&ng Concurrent Programs with Programmable State- Space Explora&on (A

More information

MPI Performance Analysis Trace Analyzer and Collector

MPI Performance Analysis Trace Analyzer and Collector MPI Performance Analysis Trace Analyzer and Collector Berk ONAT İTÜ Bilişim Enstitüsü 19 Haziran 2012 Outline MPI Performance Analyzing Defini6ons: Profiling Defini6ons: Tracing Intel Trace Analyzer Lab:

More information

UPCRC. Illiac. Gigascale System Research Center. Petascale computing. Cloud Computing Testbed (CCT) 2

UPCRC. Illiac. Gigascale System Research Center. Petascale computing. Cloud Computing Testbed (CCT) 2 Illiac UPCRC Petascale computing Gigascale System Research Center Cloud Computing Testbed (CCT) 2 www.parallel.illinois.edu Mul2 Core: All Computers Are Now Parallel We con'nue to have more transistors

More information

Single and mul,threaded processes

Single and mul,threaded processes 1 Single and mul,threaded processes Why threads? Express concurrency Web server (mul,ple requests), Browser (GUI + network I/O + rendering), most GUI programs for(;;) { struct request *req = get_request();

More information

Do you have to reproduce the bug on the first replay attempt?

Do 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 information

Vulnerability Analysis (III): Sta8c Analysis

Vulnerability Analysis (III): Sta8c Analysis Computer Security Course. Vulnerability Analysis (III): Sta8c Analysis Slide credit: Vijay D Silva 1 Efficiency of Symbolic Execu8on 2 A Sta8c Analysis Analogy 3 Syntac8c Analysis 4 Seman8cs- Based Analysis

More information

SQLite with a Fine-Toothed Comb. John Regehr Trust-in-So1 / University of Utah

SQLite with a Fine-Toothed Comb. John Regehr Trust-in-So1 / University of Utah SQLite with a Fine-Toothed Comb John Regehr Trust-in-So1 / University of Utah Feasible states for a system we care about No execu

More information

TERN: Stable Deterministic Multithreading through Schedule Memoization

TERN: 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 information

RV: A Run'me Verifica'on Framework for Monitoring, Predic'on and Mining

RV: A Run'me Verifica'on Framework for Monitoring, Predic'on and Mining RV: A Run'me Verifica'on Framework for Monitoring, Predic'on and Mining Patrick Meredith Grigore Rosu University of Illinois at Urbana Champaign (UIUC) Run'me Verifica'on, Inc. (joint work with Dongyun

More information

Benjamin Holland, Ganesh Ram Santhanam, Payas Awadhutkar, and Suresh Kothari {bholland, gsanthan, payas,

Benjamin Holland, Ganesh Ram Santhanam, Payas Awadhutkar, and Suresh Kothari   {bholland, gsanthan, payas, Statically-informed Dynamic Analysis Tools to Detect Algorithmic Complexity Vulnerabilities 16th IEEE Interna,onal Working Conference on Source Code Analysis and Manipula,on (SCAM 2016) October 2, 2016

More information

Hints for Writing About Your Research

Hints for Writing About Your Research Hints for Writing About Your Research School of Computer & Communication Sciences Good Writing so I wait for you like a lonely house till you will see me again and live in me. Till then my windows ache.

More information

Optimistic Shared Memory Dependence Tracing

Optimistic Shared Memory Dependence Tracing Optimistic Shared Memory Dependence Tracing Yanyan Jiang1, Du Li2, Chang Xu1, Xiaoxing Ma1 and Jian Lu1 Nanjing University 2 Carnegie Mellon University 1 powered by Understanding Non-determinism Concurrent

More information

Dynamic Languages. CSE 501 Spring 15. With materials adopted from John Mitchell

Dynamic Languages. CSE 501 Spring 15. With materials adopted from John Mitchell Dynamic Languages CSE 501 Spring 15 With materials adopted from John Mitchell Dynamic Programming Languages Languages where program behavior, broadly construed, cannot be determined during compila@on Types

More information

Opera&ng Systems: Principles and Prac&ce. Tom Anderson

Opera&ng Systems: Principles and Prac&ce. Tom Anderson Opera&ng Systems: Principles and Prac&ce Tom Anderson How This Course Fits in the UW CSE Curriculum CSE 333: Systems Programming Project experience in C/C++ How to use the opera&ng system interface CSE

More information

Context based Online Configura4on Error Detec4on

Context based Online Configura4on Error Detec4on Context based Online Configura4on Error Detec4on Ding Yuan, Yinglian Xie, Rina Panigrahy, Junfeng Yang Γ, Chad Verbowski, Arunvijay Kumar MicrosoM Research, UIUC and UCSD, Γ Columbia University, 1 Mo4va4on

More information

Virtual Synchrony. Jared Cantwell

Virtual Synchrony. Jared Cantwell Virtual Synchrony Jared Cantwell Review Mul7cast Causal and total ordering Consistent Cuts Synchronized clocks Impossibility of consensus Distributed file systems Goal Distributed programming is hard What

More information

Leveraging User Session Data to Support Web Applica8on Tes8ng

Leveraging User Session Data to Support Web Applica8on Tes8ng Leveraging User Session Data to Support Web Applica8on Tes8ng Authors: Sebas8an Elbaum, Gregg Rotheermal, Srikanth Karre, and Marc Fisher II Presented By: Rajiv Jain Outline Introduc8on Related Work Tes8ng

More information

CISC327 - So*ware Quality Assurance

CISC327 - So*ware Quality Assurance CISC327 - So*ware Quality Assurance Lecture 8 Introduc

More information

Atrina: Inferring Unit Oracles from GUI Test Cases

Atrina: Inferring Unit Oracles from GUI Test Cases Atrina: Inferring Unit Oracles from GUI Test Cases Shabnam Mirshokraie Ali Mesbah Karthik Pa4abiraman University of Bri:sh Columbia @Test public void testshopcontainer() { WebElement item = driver.findelements(by.css(".merchandise"));

More information

CS 61C: Great Ideas in Computer Architecture (Machine Structures) Lecture 32: Pipeline Parallelism 3

CS 61C: Great Ideas in Computer Architecture (Machine Structures) Lecture 32: Pipeline Parallelism 3 CS 61C: Great Ideas in Computer Architecture (Machine Structures) Lecture 32: Pipeline Parallelism 3 Instructor: Dan Garcia inst.eecs.berkeley.edu/~cs61c! Compu@ng in the News At a laboratory in São Paulo,

More information

Submitted to: Dr. Sunnie Chung. Presented by: Sonal Deshmukh Jay Upadhyay

Submitted to: Dr. Sunnie Chung. Presented by: Sonal Deshmukh Jay Upadhyay Submitted to: Dr. Sunnie Chung Presented by: Sonal Deshmukh Jay Upadhyay Submitted to: Dr. Sunny Chung Presented by: Sonal Deshmukh Jay Upadhyay What is Apache Survey shows huge popularity spike for Apache

More information

Transac'onal Libraries Alexander Spiegelman *, Guy Golan-Gueta, and Idit Keidar * Technion Yahoo Research

Transac'onal Libraries Alexander Spiegelman *, Guy Golan-Gueta, and Idit Keidar * Technion Yahoo Research Transac'onal Libraries Alexander Spiegelman *, Guy Golan-Gueta, and Idit Keidar * * Technion Yahoo Research 1 Mul'-Threading is Everywhere 2 Agenda Mo@va@on Concurrent Data Structure Libraries (CDSLs)

More information

Lab 8: Firewalls & Intrusion Detec6on Systems

Lab 8: Firewalls & Intrusion Detec6on Systems Lab 8: Firewalls & Intrusion Detec6on Systems Fengwei Zhang Wayne State University CSC Course: Cyber Security Prac6ce 1 Firewall & IDS Firewall A device or applica6on that analyzes packet headers and enforces

More information

Active Testing for Concurrent Programs

Active Testing for Concurrent Programs Active Testing for Concurrent Programs Pallavi Joshi Mayur Naik Chang-Seo Park Koushik Sen 1/8/2009 ParLab Retreat ParLab, UC Berkeley Intel Research Overview Checking correctness of concurrent programs

More information

How to sleep *ght and keep your applica*ons running on IPv6 transi*on. The importance of IPv6 Applica*on Tes*ng

How to sleep *ght and keep your applica*ons running on IPv6 transi*on. The importance of IPv6 Applica*on Tes*ng How to sleep *ght and keep your applica*ons running on IPv6 transi*on The importance of IPv6 Applica*on Tes*ng About this presenta*on It presents a generic methodology to test the IPv6 func*onality of

More information

Stream and Complex Event Processing Discovering Exis7ng Systems:c- sparql

Stream and Complex Event Processing Discovering Exis7ng Systems:c- sparql Stream and Complex Event Processing Discovering Exis7ng Systems:c- sparql G. Cugola E. Della Valle A. Margara Politecnico di Milano cugola@elet.polimi.it dellavalle@elet.polimi.it Vrije Universiteit Amsterdam

More information

Scalability in a Real-Time Decision Platform

Scalability in a Real-Time Decision Platform Scalability in a Real-Time Decision Platform Kenny Shi Manager Software Development ebay Inc. A Typical Fraudulent Lis3ng fraud detec3on architecture sync vs. async applica3on publish messaging bus request

More information

Alterna(ve Architectures

Alterna(ve Architectures Alterna(ve Architectures COMS W4118 Prof. Kaustubh R. Joshi krj@cs.columbia.edu hep://www.cs.columbia.edu/~krj/os References: Opera(ng Systems Concepts (9e), Linux Kernel Development, previous W4118s Copyright

More information

Confinement (Running Untrusted Programs)

Confinement (Running Untrusted Programs) Confinement (Running Untrusted Programs) Chester Rebeiro Indian Institute of Technology Madras Untrusted Programs How to run untrusted programs and not harm your system? Answer: Confinement (some:mes called

More information

UNIT V: CENTRAL PROCESSING UNIT

UNIT V: CENTRAL PROCESSING UNIT UNIT V: CENTRAL PROCESSING UNIT Agenda Basic Instruc1on Cycle & Sets Addressing Instruc1on Format Processor Organiza1on Register Organiza1on Pipeline Processors Instruc1on Pipelining Co-Processors RISC

More information

OpenMP Programming 2 Advanced OpenMP Programming

OpenMP Programming 2 Advanced OpenMP Programming OpenMP Programming 2 Advanced OpenMP Programming Berk ONAT İTÜ Bilişim Enstitüsü 21 Haziran 2012 Outline OpenMP Synchroniza6on Constructs Single, Cri6cal, Atomic, Barrier OpenMP Data Scope Clauses Firstprivate,

More information

CISC327 - So*ware Quality Assurance

CISC327 - So*ware Quality Assurance CISC327 - So*ware Quality Assurance Lecture 12 Black Box Tes?ng CISC327-2003 2017 J.R. Cordy, S. Grant, J.S. Bradbury, J. Dunfield Black Box Tes?ng Outline Last?me we con?nued with black box tes?ng and

More information

AppSpear: Bytecode Decryp0ng and DEX Reassembling for Packed Android Malware

AppSpear: Bytecode Decryp0ng and DEX Reassembling for Packed Android Malware AppSpear: Bytecode Decryp0ng and DEX Reassembling for Packed Android Malware Yang Wenbo, Zhang Yuanyuan, Li Juanru, Shu Junliang, Li Bodong, Hu Wenjun, Gu Dawu Sudeep Nanjappa Jayakumar Agenda Introduc0on

More information

Performance Measurement

Performance Measurement ECPE 170 Jeff Shafer University of the Pacific Performance Measurement 2 Lab Schedule Ac?vi?es Today Background discussion Lab 5 Performance Measurement Wednesday Lab 5 Performance Measurement Friday Lab

More information

Founda'ons of So,ware Engineering. Lecture 11 Intro to QA, Tes2ng Claire Le Goues

Founda'ons of So,ware Engineering. Lecture 11 Intro to QA, Tes2ng Claire Le Goues Founda'ons of So,ware Engineering Lecture 11 Intro to QA, Tes2ng Claire Le Goues 1 Learning goals Define so;ware analysis. Reason about QA ac2vi2es with respect to coverage and coverage/adequacy criteria,

More information

Active Testing for Concurrent Programs

Active Testing for Concurrent Programs Active Testing for Concurrent Programs Pallavi Joshi, Mayur Naik, Chang-Seo Park, Koushik Sen 12/30/2008 ROPAS Seminar ParLab, UC Berkeley Intel Research Overview ParLab The Parallel Computing Laboratory

More information

SEDA An architecture for Well Condi6oned, scalable Internet Services

SEDA An architecture for Well Condi6oned, scalable Internet Services SEDA An architecture for Well Condi6oned, scalable Internet Services Ma= Welsh, David Culler, and Eric Brewer University of California, Berkeley Symposium on Operating Systems Principles (SOSP), October

More information

Op#mizing PGAS overhead in a mul#-locale Chapel implementa#on of CoMD

Op#mizing PGAS overhead in a mul#-locale Chapel implementa#on of CoMD Op#mizing PGAS overhead in a mul#-locale Chapel implementa#on of CoMD Riyaz Haque and David F. Richards This work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore

More information

Jinn: Synthesizing Dynamic Bug Detectors for Foreign Language Interfaces

Jinn: Synthesizing Dynamic Bug Detectors for Foreign Language Interfaces Jinn: Synthesizing Dynamic Bug Detectors for Foreign Language Interfaces Byeongcheol Lee Ben Wiedermann Mar>n Hirzel Robert Grimm Kathryn S. McKinley B. Lee, B. Wiedermann, M. Hirzel, R. Grimm, and K.

More information

Informa)on Retrieval and Map- Reduce Implementa)ons. Mohammad Amir Sharif PhD Student Center for Advanced Computer Studies

Informa)on Retrieval and Map- Reduce Implementa)ons. Mohammad Amir Sharif PhD Student Center for Advanced Computer Studies Informa)on Retrieval and Map- Reduce Implementa)ons Mohammad Amir Sharif PhD Student Center for Advanced Computer Studies mas4108@louisiana.edu Map-Reduce: Why? Need to process 100TB datasets On 1 node:

More information

Excep&ons and Threads

Excep&ons and Threads Excep&ons and Threads Excep&ons What do you do when a program encounters an anomalous, unusual event? Try to open a file and it's not there Try to convert a string to an integer and it's not a valid integer

More information

Detec%ng Wildlife in Uncontrolled Outdoor Video using Convolu%onal Neural Networks

Detec%ng Wildlife in Uncontrolled Outdoor Video using Convolu%onal Neural Networks Detec%ng Wildlife in Uncontrolled Outdoor Video using Convolu%onal Neural Networks Connor Bowley *, Alicia Andes +, Susan Ellis-Felege +, Travis Desell * Department of Computer Science * Department of

More information

Hypergraph Sparsifica/on and Its Applica/on to Par//oning

Hypergraph Sparsifica/on and Its Applica/on to Par//oning Hypergraph Sparsifica/on and Its Applica/on to Par//oning Mehmet Deveci 1,3, Kamer Kaya 1, Ümit V. Çatalyürek 1,2 1 Dept. of Biomedical Informa/cs, The Ohio State University 2 Dept. of Electrical & Computer

More information

Design Principles & Prac4ces

Design Principles & Prac4ces Design Principles & Prac4ces Robert France Robert B. France 1 Understanding complexity Accidental versus Essen4al complexity Essen%al complexity: Complexity that is inherent in the problem or the solu4on

More information

Tools zur Op+mierung eingebe2eter Mul+core- Systeme. Bernhard Bauer

Tools zur Op+mierung eingebe2eter Mul+core- Systeme. Bernhard Bauer Tools zur Op+mierung eingebe2eter Mul+core- Systeme Bernhard Bauer Agenda Mo+va+on So.ware Engineering & Mul5core Think Parallel Models Added Value Tooling Quo Vadis? The Mul5core Era Moore s Law: The

More information

Network Coding: Theory and Applica7ons

Network Coding: Theory and Applica7ons Network Coding: Theory and Applica7ons PhD Course Part IV Tuesday 9.15-12.15 18.6.213 Muriel Médard (MIT), Frank H. P. Fitzek (AAU), Daniel E. Lucani (AAU), Morten V. Pedersen (AAU) Plan Hello World! Intra

More information

Java Memory Model. Jian Cao. Department of Electrical and Computer Engineering Rice University. Sep 22, 2016

Java Memory Model. Jian Cao. Department of Electrical and Computer Engineering Rice University. Sep 22, 2016 Java Memory Model Jian Cao Department of Electrical and Computer Engineering Rice University Sep 22, 2016 Content Introduction Java synchronization mechanism Double-checked locking Out-of-Thin-Air violation

More information

Typed Assembly Language for Implementing OS Kernels in SMP/Multi-Core Environments with Interrupts

Typed Assembly Language for Implementing OS Kernels in SMP/Multi-Core Environments with Interrupts Typed Assembly Language for Implementing OS Kernels in SMP/Multi-Core Environments with Interrupts Toshiyuki Maeda and Akinori Yonezawa University of Tokyo Quiz [Environment] CPU: Intel Xeon X5570 (2.93GHz)

More information

PhD in Computer And Control Engineering XXVII cycle. Torino February 27th, 2015.

PhD in Computer And Control Engineering XXVII cycle. Torino February 27th, 2015. PhD in Computer And Control Engineering XXVII cycle Torino February 27th, 2015. Parallel and reconfigurable systems are more and more used in a wide number of applica7ons and environments, ranging from

More information

ECSE 425 Lecture 25: Mul1- threading

ECSE 425 Lecture 25: Mul1- threading ECSE 425 Lecture 25: Mul1- threading H&P Chapter 3 Last Time Theore1cal and prac1cal limits of ILP Instruc1on window Branch predic1on Register renaming 2 Today Mul1- threading Chapter 3.5 Summary of ILP:

More information

Lecture 2: Processes. CSE 120: Principles of Opera9ng Systems. UC San Diego: Summer Session I, 2009 Frank Uyeda

Lecture 2: Processes. CSE 120: Principles of Opera9ng Systems. UC San Diego: Summer Session I, 2009 Frank Uyeda Lecture 2: Processes CSE 120: Principles of Opera9ng Systems UC San Diego: Summer Session I, 2009 Frank Uyeda Announcements PeerWise accounts are now live. First PeerWise ques9ons/reviews due tomorrow

More information

FlexBulk: Intelligently Forming Atomic Blocks in Blocked-Execution Multiprocessors to Minimize Squashes

FlexBulk: Intelligently Forming Atomic Blocks in Blocked-Execution Multiprocessors to Minimize Squashes FlexBulk: Intelligently Forming Atomic Blocks in Blocked-Execution Multiprocessors to Minimize Squashes Rishi Agarwal and Josep Torrellas University of Illinois at Urbana-Champaign http://iacoma.cs.uiuc.edu

More information

Asaf Cidon, Assaf Eisenman, Mohammad Alizadeh and Sachin KaH

Asaf Cidon, Assaf Eisenman, Mohammad Alizadeh and Sachin KaH Cli$anger: Scaling Performance Cliffs in Memory Caches [NSDI 2016] Cache OS: Data Center Dynamic Cache Management Asaf Cidon, Assaf Eisenman, Mohammad Alizadeh and Sachin KaH 1 Key-Value Caches are Essen1al

More information

CISC327 - So*ware Quality Assurance

CISC327 - So*ware Quality Assurance CISC327 - So*ware Quality Assurance Lecture 12 Black Box Tes?ng CISC327-2003 2017 J.R. Cordy, S. Grant, J.S. Bradbury, J. Dunfield Black Box Tes?ng Outline Last?me we con?nued with black box tes?ng and

More information

Failure Sketching: A Technique for Automated Root Cause Diagnosis of In-Production Failures

Failure Sketching: A Technique for Automated Root Cause Diagnosis of In-Production Failures Failure Sketching: A Technique for Automated Root Cause Diagnosis of In-Production Failures Baris Kasikci, Benjamin Schubert, Cristiano Pereira, Gilles Pokam, George Candea Debugging In-Production Software

More information

Combinatorial Mathema/cs and Algorithms at Exascale: Challenges and Promising Direc/ons

Combinatorial Mathema/cs and Algorithms at Exascale: Challenges and Promising Direc/ons Combinatorial Mathema/cs and Algorithms at Exascale: Challenges and Promising Direc/ons Assefaw Gebremedhin Purdue University (Star/ng August 2014, Washington State University School of Electrical Engineering

More information

Threads. COMP 401 Fall 2017 Lecture 22

Threads. COMP 401 Fall 2017 Lecture 22 Threads COMP 401 Fall 2017 Lecture 22 Threads As a generic term Abstrac>on for program execu>on Current point of execu>on. Call stack. Contents of memory. The fundamental unit of processing that can be

More information

Search Engines. Informa1on Retrieval in Prac1ce. Annota1ons by Michael L. Nelson

Search Engines. Informa1on Retrieval in Prac1ce. Annota1ons by Michael L. Nelson Search Engines Informa1on Retrieval in Prac1ce Annota1ons by Michael L. Nelson All slides Addison Wesley, 2008 Evalua1on Evalua1on is key to building effec$ve and efficient search engines measurement usually

More information

OpenMP Tasking Concepts

OpenMP Tasking Concepts UT Aus?n TACC OpenMP Tasking Concepts TACC OpenMP Team milfeld/lars/agomez@tacc.utexas.edu Sides at:?nyurl.com/tacc-openmp or portal.tacc.utexas.edu/training click View Details Learning Objec?ve -- Tasking

More information

{HEADSHOT} In this lesson, we will look at the process that enables to leverage this source of real- world tes;ng data.

{HEADSHOT} In this lesson, we will look at the process that enables to leverage this source of real- world tes;ng data. {HEADSHOT} Despite our best efforts, even a9er extensive tes;ng, we as so9ware developers rarely put out bug- free code. In this lesson, we will look at a type of debugging technique used throughout the

More information

CSE Opera,ng System Principles

CSE Opera,ng System Principles CSE 30341 Opera,ng System Principles Synchroniza2on Overview Background The Cri,cal-Sec,on Problem Peterson s Solu,on Synchroniza,on Hardware Mutex Locks Semaphores Classic Problems of Synchroniza,on Monitors

More information

CrowdCode: A Platform for Crowd Development

CrowdCode: A Platform for Crowd Development CrowdCode: A Platform for Crowd Development Thomas D. LaToza 1, Eric Chiquillo 1, 2, W. Ben Towne 3, Christian M. Adriano 1, André van der Hoek 1 1 University of California, Irvine 2 Zynga 3 Carnegie Mellon

More information

Habanero-Java Library: a Java 8 Framework for Multicore Programming

Habanero-Java Library: a Java 8 Framework for Multicore Programming Habanero-Java Library: a Java 8 Framework for Multicore Programming PPPJ 2014 September 25, 2014 Shams Imam, Vivek Sarkar shams@rice.edu, vsarkar@rice.edu Rice University https://wiki.rice.edu/confluence/display/parprog/hj+library

More information

Proofs about Programs

Proofs about Programs Proofs about Programs Program Verification (Rosen, Sections 5.5) TOPICS Program Correctness Preconditions & Postconditions Program Verification Assignment Statements Conditional Statements Loops Composition

More information

Cross- Valida+on & ROC curve. Anna Helena Reali Costa PCS 5024

Cross- Valida+on & ROC curve. Anna Helena Reali Costa PCS 5024 Cross- Valida+on & ROC curve Anna Helena Reali Costa PCS 5024 Resampling Methods Involve repeatedly drawing samples from a training set and refibng a model on each sample. Used in model assessment (evalua+ng

More information

Opera&ng Systems ECE344

Opera&ng Systems ECE344 Opera&ng Systems ECE344 Lecture 10: Scheduling Ding Yuan Scheduling Overview In discussing process management and synchroniza&on, we talked about context switching among processes/threads on the ready

More information

Automated UI tests for Mobile Apps. Sedina Oruc

Automated UI tests for Mobile Apps. Sedina Oruc Automated UI tests for Mobile Apps Sedina Oruc What I ll be covering Ø Basics Ø What are UI tests? Ø The no@on of Emulator and Simulator Ø What are our challenges? Ø PlaForm specific UI tes@ng frameworks

More information

Data Races vs. Data Race Bugs: Telling the Difference with Portend

Data Races vs. Data Race Bugs: Telling the Difference with Portend Data Races vs. Data Race Bugs: Telling the Difference with Portend Baris Kasikci, Cristian Zamfir, and George Candea School of Computer and Communication Sciences École Polytechnique Fédérale de Lausanne

More information

OS History and OS Structures

OS History and OS Structures OS History and OS Structures Karthik Dantu CSE 421/521: Opera>ng Systems Slides adopted from CS162 class at Berkeley, CSE 451 at U-Washington and CSE 421 by Prof Kosar at UB Join Piazza Ac>on Items From

More information

Parallel programming with Java Slides 1: Introduc:on. Michelle Ku=el August/September 2012 (lectures will be recorded)

Parallel programming with Java Slides 1: Introduc:on. Michelle Ku=el August/September 2012 (lectures will be recorded) Parallel programming with Java Slides 1: Introduc:on Michelle Ku=el August/September 2012 mku=el@cs.uct.ac.za (lectures will be recorded) Changing a major assump:on So far, most or all of your study of

More information

Lecture 2: Memory in C

Lecture 2: Memory in C CIS 330:! / / / / (_) / / / / _/_/ / / / / / \/ / /_/ / `/ \/ / / / _/_// / / / / /_ / /_/ / / / / /> < / /_/ / / / / /_/ / / / /_/ / / / / / \ /_/ /_/_/_/ _ \,_/_/ /_/\,_/ \ /_/ \ //_/ /_/ Lecture 2:

More information

EECS 482 Introduction to Operating Systems

EECS 482 Introduction to Operating Systems EECS 482 Introduction to Operating Systems Winter 2018 Baris Kasikci Slides by: Harsha V. Madhyastha Naming and directories How to specify file to be accessed? File name, click on icon, or describe contents

More information

Main Points. Defini&on. Design pa9ern Example: bounded buffer. Condi&on wait/signal/broadcast

Main Points. Defini&on. Design pa9ern Example: bounded buffer. Condi&on wait/signal/broadcast Condi&on Variables Main Points Defini&on Condi&on wait/signal/broadcast Design pa9ern Example: bounded buffer Last Time lock_acquire wait un&l lock is free, then take it lock_release release lock, waking

More information

Announcements. Problem Set 3 is due this Tuesday! Midterm graded and will be returned on Friday during tutorial (average 60%)

Announcements. Problem Set 3 is due this Tuesday! Midterm graded and will be returned on Friday during tutorial (average 60%) CSC263 Week 7 Announcements Problem Set 3 is due this Tuesday! Midterm graded and will be returned on Friday during tutorial (average 60%) Amortized Analysis O"en, we perform sequences of opera.ons on

More information

Next hop in rou-ng Summary of Future Internet WP1 work. Hannu Flinck

Next hop in rou-ng Summary of Future Internet WP1 work. Hannu Flinck Next hop in rou-ng Summary of Future Internet WP1 work Hannu Flinck Original focus on Rou-ng Scalability Mo$va$on: Internet Architecture Board stated (in RFC 4984): rou-ng scalability is the most important

More information

Reminder from last <me

Reminder from last <me Concurrent systems Lecture 2: Mutual exclusion and process synchronisa

More information

Speculative Synchronization: Applying Thread Level Speculation to Parallel Applications. University of Illinois

Speculative Synchronization: Applying Thread Level Speculation to Parallel Applications. University of Illinois Speculative Synchronization: Applying Thread Level Speculation to Parallel Applications José éf. Martínez * and Josep Torrellas University of Illinois ASPLOS 2002 * Now at Cornell University Overview Allow

More information

Con$nuous Integra$on Development Environment. Kovács Gábor

Con$nuous Integra$on Development Environment. Kovács Gábor Con$nuous Integra$on Development Environment Kovács Gábor kovacsg@tmit.bme.hu Before we start anything Select a language Set up conven$ons Select development tools Set up development environment Set up

More information

Founda'ons of So,ware Engineering. Sta$c analysis (1/2) Claire Le Goues

Founda'ons of So,ware Engineering. Sta$c analysis (1/2) Claire Le Goues Founda'ons of So,ware Engineering Sta$c analysis (1/2) Claire Le Goues 1 Two fundamental concepts Abstrac'on. Elide details of a specific implementa$on. Capture seman$cally relevant details; ignore the

More information

SQL Injec*on. By Robin Gonzalez

SQL Injec*on. By Robin Gonzalez SQL Injec*on By Robin Gonzalez Some things that can go wrong Excessive and Unused Privileges Privilege Abuse Input Injec>on Malware Week Audit Trail Other things that can go wrong Storage Media Exposure

More information

Virtualization. Introduction. Why we interested? 11/28/15. Virtualiza5on provide an abstract environment to run applica5ons.

Virtualization. Introduction. Why we interested? 11/28/15. Virtualiza5on provide an abstract environment to run applica5ons. Virtualization Yifu Rong Introduction Virtualiza5on provide an abstract environment to run applica5ons. Virtualiza5on technologies have a long trail in the history of computer science. Why we interested?

More information

Research opportuni/es with me

Research opportuni/es with me Research opportuni/es with me Independent study for credit - Build PL tools (parsers, editors) e.g., JDial - Build educa/on tools (e.g., Automata Tutor) - Automata theory problems e.g., AutomatArk - Research

More information

Embedded System Programming

Embedded 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 information

Web applica*on security for dynamic

Web applica*on security for dynamic Web applica*on security for dynamic languages zane@etsy.com @zanelackey Who am I? Security Engineering Manager @ Etsy Lead AppSec/NetSec/SecEng teams Formerly @ isec Partners Books/presenta*ons primarily

More information

DoubleChecker: Efficient Sound and Precise Atomicity Checking

DoubleChecker: 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 information

Link Layer. w/ credit to Rick Graziani (Cabrillo) for some of the anima<ons

Link Layer. w/ credit to Rick Graziani (Cabrillo) for some of the anima<ons Link Layer w/ credit to Rick Graziani (Cabrillo) for some of the anima

More information

Carnegie Mellon. Synchroniza+on : Introduc+on to Computer Systems Recita+on 14: November 25, Pra+k Shah (pcshah) Sec+on C

Carnegie Mellon. Synchroniza+on : Introduc+on to Computer Systems Recita+on 14: November 25, Pra+k Shah (pcshah) Sec+on C Synchroniza+on 15-213: Introduc+on to Computer Systems Recita+on 14: November 25, 2013 Pra+k Shah (pcshah) Sec+on C 1 Topics News Shared State Race condi+ons Synchroniza+on Mutex Semaphore Readers- writers

More information

Quan'fying QoS Requirements of Network Services: A Cheat- Proof Framework

Quan'fying QoS Requirements of Network Services: A Cheat- Proof Framework Quan'fying QoS Requirements of Network Services: A Cheat- Proof Framework Kuan- Ta Chen Academia Sinica Chen- Chi Wu Na3onal Taiwan University Yu- Chun Chang Na3onal Taiwan University Chin- Laung Lei Na3onal

More information