Transactional Programming EE 4984/5984

Slides:



Advertisements
Similar presentations
Slide 1 Instructor: Dr. Hong Jiang Cse.unl.edu/~jiang/cse Department of Computer Science & Engineering University of Nebraska-Lincoln.
Advertisements

CS : Artificial Intelligence: Representation and Problem Solving Fall 2002 Prof. Tuomas Sandholm Computer Science Department Carnegie Mellon University.
Winter 2008Logistics1 Advanced Computer Networks Prof. Venus W. Samawi Welcome to Time: 2pm –5pm Tuesday Winter credits.
ECE 751: Embedded Computing Systems Prof. Mikko Lipasti Lecture notes adapted from Prof. Mike Schulte Course Overview.
Computer Network Fundamentals CNT4007C
COMP Introduction to Programming Yi Hong May 13, 2015.
Computer Networks CEN 5501C Spring, 2008 Ye Xia (Pronounced as “Yeh Siah”)
CIS4930/CDA5125 Parallel and Distributed Systems Florida State University CIS4930/CDA5125: Parallel and Distributed Systems Instructor: Xin Yuan, 168 Love,
Course Introduction Software Engineering
Introduction to Data Structures
CSEP 545 Transaction Processing for E-Commerce Course Information Spring (March – May) 2007.
1 CSCI 3120: Operating Systems Summer 2003 Instructor: Kirstie Hawkey Office hours (outside Room 311): Mon: 2:30-3:30, Fri: 10:30-11:30.
1 Technologies for Electronic Commerce and EBusiness Walt Scacchi, Ph.D. FEMBA 290 Winter 2003.
Econ 110 Principles of Microeconomics Welcome!. Dr. Anwar Al-Shriaan Economics Department Office hours: Monday and Wednesday 10:00 – 10:50 am and by appt.
Multicore Computing Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang University.
11/29/2015Elke A. Rundensteiner -- CS5421 Database Management Systems CS Fall 2012 Instructor: Elke Rundensteiner
Course Overview 1 FCM 710 Architecture of Secure Operating Systems Prof. Shamik Sengupta Office 4210 N
Physics of Animation (Art/Physics 123) Prof. Alejandro Garcia Fall 2009 Class is fully enrolled and I am not allowed to add students. Sorry.
COP4610 Principles of Operating Systems Prof. Robert van Engelen Department of Computer Science Florida State University.
Computer Networks CNT5106C
Course Overview CSE5319/7319 Software Architecture and Design Spring 2016 Dr. LiGuo Huang Dept. of Computer Science and Engineering Southern Methodist.
Course Overview CSE 8340 Advanced Software Engineering Topics: Software Engineering Economics & Processes Spring 2016 Dr. LiGuo Huang Dept. of Computer.
Slide 1 Instructor: Dr. Hong Jiang Teaching Assistant: Ms. Yuanyuan Lu Department of Computer Science & Engineering University of Nebraska-Lincoln Classroom:
Multicore Computing Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang University.
Course Information EECS 2031 Fall Instructor Uyen Trang (U.T.) Nguyen Office: LAS Office hours: 
Computer Network Fundamentals CNT4007C
Welcome to CS 4390/CS5381: Introduction to Formal Methods
Andy Wang Object Oriented Programming in C++ COP 3330
Course Information EECS 2031 – Section A Fall 2017.
Computer Engineering Department Islamic University of Gaza
CPE741: Distributed Systems Course Introduction
Course Introduction 공학대학원 데이타베이스
Syllabus Introduction to Computer Science
ECE 533 Digital Image Processing
Computer Networks CNT5106C
CSE305 Software Engineering
CSE309 Computer Architecture and Organization
Introduction to Information Systems and Technology
22446: Microprocessors Introduction
CPE741: Distributed Systems Course Introduction
CPE741: Distributed Systems Course Introduction
Course Overview CSE8313 Object-Oriented Analysis and Design
CS 5565 Network Architecture and Protocols
Computer Networks CNT5106C
ECE 751: Embedded Computing Systems Prof
ECE756 Design of Lightwave Communication Systems and Networks
Engineering Physics II
ISA 562 Information Security Theory and Practice
Organizational Issues
Physics of Animation (Art/Physics 123)
CS 5204 Operating Systems Fall 2005
EE422C Software Design and Implementation II
Course Information EECS 2031 Fall 2016.
Nonlinear Dynamic Control Systems
Human Media Multicore Computing Lecture 1 : Course Overview
Organizational Issues
Human Media Multicore Computing Lecture 1 : Course Overview
Human Media Multicore Computing Lecture 1 : Course Overview
Topics in Database Systems
Orientation CSC 111.
Computer Engineering Department Islamic University of Gaza
CS 5565 Network Architecture and Protocols
Computer Networks CNT5106C
Course Overview CSE5319/7319 Software Architecture and Design
Course Overview CSE 8340 Advanced Software Engineering Topics: Software Engineering Economics & Processes Spring 2019 Dr. LiGuo Huang Dept. of Computer.
CS201 – Course Expectations
CPE 626 Advanced VLSI Design, Spring 2002 Admin
Presentation transcript:

Transactional Programming EE 4984/5984 Sandeep Hans ECE Department Virginia Tech

Who is the instructor? Sandeep Hans PhD (Technion, Israel, 2015) Joined Virginia Tech, Fall 2015 Works in SSRG group as Post Doctoral Research Associate Major focus on theoretical foundations of Transactional Memory

Course Schedule Mondays, Wednesdays, 12:30 – 1:45pm 261 Durham Hall Some guest lectures Dr. Roberto Palmieri (Res Asst Prof, SSRG) Dr. Sebastiano Peluso (Res Asst Prof, SSRG)

Contacts and GTA Instructor sandeep.hans@vt.edu, 540-449-5663 Office: 454 Durham Office hours: Wednesdays: 3:45-5pm

Course Objectives Understanding principles and practice of Transactional Memory programming How to ensure that a TM is correct? Consistency conditions How to get good performance? Progress guarantees

Course structure Principles first Practice later

Prerequisites Graduate standing Undergraduate OS or Embedded Systems course Knowledge of basic concurrent programming in Java, or in C/C++ (augmented with a threads package such as PThreads), or in C# (Can also be achieved otherwise)

Textbooks and papers Tim Harris, James Larus, Ravi Rajwar, Transactional Memory, 2nd Edition, Morgan and Claypool Publishers, 2010 Recommended: Rachid Guerraoui, Paolo Romano. Transactional Memory. Foundations, Algorithms, Tools, and Applications, Springer, 2015 Rachid Guerraoui and Michal Kapalka. Principles of Transactional Memory, Morgan & Claypool, 2010 Maurice Herlihy, Nir Shavit, The Art of Multiprocessor Programming, Revised Reprint, Morgan Kaufmann, 1st edition, 2012 Papers from literature (Canvas)

Assignments (Theory and Programming) Grading (tentative) Type of graded work Number Total % of final grade Assignments (Theory and Programming) 5 50% (10% each) Quiz 1 10% Programming Project (Max group size: 2) 20% Final Exam The course is planned to have 5 assignments, where each consists of question(s) and programming work. Each of these assignments counts as 10% of the final grade. One take-home quiz is planned to be distributed to students, and it counts as 10% of the final grade. A programming project is required, and it weights 20% of the final grade. The final exam contributes to 20% of the final grade. - Project: Substantial implementation related to, or complimentary to course topics –  A prospective topic list is TBA in Canvas –  Propose your own (e.g., related to your thesis research)

Website Course Website Canvas (canvas.vt.edu) Syllabus, lecture slide, homeworks, projects, etc. Bring lecture slides to class Discussion forum for discussions Lectures, projects, etc. Announcements The course is planned to have 5 assignments, where each consists of question(s) and programming work. Each of these assignments counts as 10% of the final grade. One take-home quiz is planned to be distributed to students, and it counts as 10% of the final grade. A programming project is required, and it weights 20% of the final grade. The final exam contributes to 20% of the final grade. - Project: Substantial implementation related to, or complimentary to course topics –  A prospective topic list is TBA in Canvas –  Propose your own (e.g., related to your thesis research)

Miscellaneous Honor code policy Special needs, feedback, suggestions? VT’s honor code is expected in all phases of course All work is expected to be the original work of individual student Special needs, feedback, suggestions? Talk to instructor See syllabus in Scholar The course is planned to have 5 assignments, where each consists of question(s) and programming work. Each of these assignments counts as 10% of the final grade. One take-home quiz is planned to be distributed to students, and it counts as 10% of the final grade. A programming project is required, and it weights 20% of the final grade. The final exam contributes to 20% of the final grade. - Project: Substantial implementation related to, or complimentary to course topics –  A prospective topic list is TBA in Canvas –  Propose your own (e.g., related to your thesis research)