Introduction inf-2202 Concurrent and Data-intensive Programming

Slides:



Advertisements
Similar presentations
Operating Systems Mehdi Naghavi Winter 1385.
Advertisements

Chapter 2 Processes and Threads
CS/CMPE 535 – Machine Learning Outline. CS Machine Learning (Wi ) - Asim LUMS2 Description A course on the fundamentals of machine.
CS 331 / CMPE 334 – Intro to AI CS 531 / CMPE AI Course Outline.
CS101- Lecture 11 CS101 Fall 2004 Course Introduction Professor Douglas Moody –Monday – 12:00-1:40 – – –Web Site: websupport1.citytech.cuny.edu.
CS : Artificial Intelligence: Representation and Problem Solving Fall 2002 Prof. Tuomas Sandholm Computer Science Department Carnegie Mellon University.
MATE-EC2: A Middleware for Processing Data with Amazon Web Services Tekin Bicer David Chiu* and Gagan Agrawal Department of Compute Science and Engineering.
Dr Rong Qu Module Introduction.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
(1) ECE 8823: GPU Architectures Sudhakar Yalamanchili School of Electrical and Computer Engineering Georgia Institute of Technology NVIDIA Keplar.
1 Introduction to Operating Systems 9/16/2008 Lecture #1.
0.1 BBUS22070 MIS Take 1 from each of the 4 stacks as you enter 1.Unit Outline 2.Unit Schedule 3.Assignment 1 – Does IT Matter? 4.Nicholas Carr HBR Article.
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 2 Processes and Threads Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
Java Programming Computer Engineering Department JAVA Programming Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014.
1DT057 Distributed Information Systems Dr. Edith C.-H. Ngai Department of Information Technology Uppsala University.
Chapter 4 – Threads (Pgs 153 – 174). Threads  A "Basic Unit of CPU Utilization"  A technique that assists in performing parallel computation by setting.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
Distributed Systems and Web Services (CE 353) Fall 2013 Prof. Dr: Saleh El Shehaby Lecture 1 1 FACULTY OF ENGINEERING COMPUTER ENGINEERING.
Operating Systems Inter-Process Communications. Lunch time in the Philosophy Department. Dining Philosophers Problem (1)
Homework Assignment #2 J. H. Wang Nov. 1, Homework #2 Chap.5: 5.8, 5.19, 5.22 Chap.6: 6.11, 6.12, *6.35 (Optional: End-of-chapter project for Chap.
PDAC-10 Middleware Solutions for Data- Intensive (Scientific) Computing on Clouds Gagan Agrawal Ohio State University (Joint Work with Tekin Bicer, David.
Threads. Readings r Silberschatz et al : Chapter 4.
Guided tour of Econometrics by Example Damodar Gujarati Website overview.
Lecture 1 Introductions, Overviews, Operating Systems.
Jongwook Woo Computer Information Systems CIS 528 Introduction to Big Data Computing and Analysis (Syllabus) Jongwook Woo, PhD California.
Parallel programs Inf-2202 Concurrent and Data-intensive Programming Fall 2016 Lars Ailo Bongo
HOW TO PREPARE FOR EXAMS
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
COMPSCI 110 Operating Systems
Introduction to Operating Systems
Welcome to the Course of Advanced Algorithm Design
CSE 704 Data Center Computing Intro
Interprocess Communication Race Conditions
Classical IPC Problems
CS 450/550 Operating Systems Loc & Time: MW 1:40pm-4:20pm, 101 ENG
Operating Systems Dr. Sadi Seker.
Homework Assignment #2 J. H. Wang Oct. 25, 2016.
Introduction to EGR115 Welcome! Your instructors Class format
Computer Networks CNT5106C
Introduction inf-2202 Concurrent and Data-intensive Programming
March 27 – Course introductions; Adts; Stacks and Queues
COMPSCI 110 Operating Systems
CPE741: Distributed Systems Course Introduction
Homework Assignment #2 J. H. Wang Oct. 24, 2017.
Chapter 4: Multithreaded Programming
2.4 Classic IPC Problems Dining philosophers Readers and writers
Data Communications and Networking
CSC215 Lecture Orientation.
Principles of Computing – UFCFA Lecture-1
Assoc. Prof. Veli Hakkoymaz
Welcome to CS 1010! Algorithmic Problem Solving.
MODERN OPERATING SYSTEMS Third Edition ANDREW S
Computer Networks CNT5106C
Lecture 1 - Introduction
PSYC 2301 Introduction to Psychology
IS 651: Distributed Systems
Hello Welcome to Statistics I – STAB22 Section: LEC01 Tuesdays and Fridays: 12 to 1 pm. Room: IC 130 Fall 2014.
Computer Networks and Operating Systems UFCFQ Lecture-1
ECE 8823: GPU Architectures
Concurrency: Processes CSE 333 Summer 2018
Human Media Multicore Computing Lecture 1 : Course Overview
Lecture 5: Writing Page
Principles of Computing – UFCFA Week 1
ITEC 202 Operating Systems
Summary Inf-2202 Concurrent and Data-Intensive Programming Fall 2016
CS-240 Course Overview Dr. Wilkerson.
Introduction Andrew Whitaker
ITEC 202 Operating Systems
Parallel Programming Exercise Session 11
Threads CSE 2431: Introduction to Operating Systems
Presentation transcript:

Introduction inf-2202 Concurrent and Data-intensive Programming Fall 2016 Lars Ailo Bongo (larsab@cs.uit.no)

Outline Why? What? How?

Motivation “The core is the logic gate of the 21st century” Anant Agarwal, MIT The number of cores will double every 18th month Figure from a lecture by Bruce Shriver, Feb 2012, UiT Figure from a lecture by Bruce Shriver, Feb 2012, UiT

Slide from a lecture by Bruce Shriver, Feb 2012, UiT

Slide from a lecture by Bruce Shriver, Feb 2012, UiT

What can we do with all the cores? Sources: http://engineering.stanford.edu/news/stanford-researchers-break-million-core-supercomputer-barrier http://techcrunch.com/2012/08/22/how-big-is-facebooks-data-2-5-billion-pieces-of-content-and-500-terabytes-ingested-every-day/

Motivation - summary Application pull Technology push Supercomputing Data-intensive computing Games Robotics … Technology push How to utilize 1000’s of cores?

Teaching staff Associate Prof. Lars Ailo Bongo Teaching Assistant Tim Alexander Teige PhD student Morten Grønnesby?

Information sources and contact info Web page: http://www.cs.uit.no/kursinfo/inf2202 Or http://uit-inf-2202-f16.github.io Mailing list: inf-2202-f16@list.uit.no Github organization: https://github.com/uit-inf-2202-f16 We will not use Fronter/ It’s Learning

TODO list 1: Make sure you are subscribed to the mailing list https://list.uit.no/sympa/info/inf-2202-f16 Can use non-UiT email Create github account Request membership to github organization

Course content 3 main topics: Not included: No textbook Concurrent programming Data-intensive computing Performance evaluation Not included: In-depth study of systems and approaches GPU/ accelerator programming Concurrency theory No textbook

Lecture plan https://uit-inf-2202-f16.github.io/ Most lectures on Fridays 10:15-11:00 Thursdays 14:15-16:00 will usually be for exercises But some lectures require 2 hours Colloquium on Tuesdays 14:15-16:00

Mandatory assignments B-tree Concurrent data structure C Deduplication Compression system Go 100s of GB of data PageRank Amazon AWS/ EC2 Spark Scala or Python TBs of data

Exercises Note! This is a programming course. You need to spend a significant amount of time designing, implementing, testing, and evaluating programs. Note! Concurrent and data-intensive programming is easy if: It is a simple problem There is a library for it You do not care about performance/ scalability You do not care about correctness Someone tells you how to do it But, usually this is not the case

TODO list 2 Read: Modern operating systems, 3ed, Andrew S. Tanenbaum. Prentice Hall. 2007. Chapters: 2.2, 2.3, 2.5, 10.3, 11.4 Alternative to MOS: another operating systems textbook: the chapters about threading, IPC mechanisms, and classical IPC problems. Do: Compare the overhead of forking a process vs. creating a Pthread Compare the overhead of forking a process vs. creating a Python thread Implement a solution the following classical IPC problems using pthreads/Python threads and semaphores/condition variables. Note that you also need to generate a use case, test data, and useful output: Producer/ consumer Reader/ writer Sleeping barber Dining philosophers Modify the code in c) to use message passing.