Teach Parallelism Using Video Games

Slides:



Advertisements
Similar presentations
Programming in Occam-pi: A Tutorial By: Zain-ul-Abdin
Advertisements

School of Engineering & Technology Computer Architecture Pipeline.
Class CS 775/875, Spring 2011 Amit H. Kumar, OCCS Old Dominion University.
Real-time Systems Lab, Computer Science and Engineering, ASU Please Standby Galileo Tech Talk at ASU Will Begin Shortly.
CS 443 Advanced OS Fabián E. Bustamante, Spring 2005 Resource Containers: A new Facility for Resource Management in Server Systems G. Banga, P. Druschel,
1 Undergraduate Curriculum Revision Department of Computer Science February 10, 2010.
Computer Architecture Introduction to MIMD architectures Ola Flygt Växjö University
Weekly Report Ph.D. Student: Leo Lee date: Oct. 9, 2009.
University of Michigan Electrical Engineering and Computer Science 1 Polymorphic Pipeline Array: A Flexible Multicore Accelerator with Virtualized Execution.
CS533 Concepts of Operating Systems Class 20 Summary.
Havok Physics May Ang CS 164. Overview Developed by Havok Also make several other development tools Version 1.0 SDK released in 2000 Currently on Version.
Chapter Hardwired vs Microprogrammed Control Multithreading
CS Distributed Computing Systems Chin-Chih Chang, An Introduction to Threads.
Hyper-Threading Neil Chakrabarty William May. 2 To Be Tackled Review of Threading Algorithms Hyper-Threading Concepts Hyper-Threading Architecture Advantages/Disadvantages.
1 Programming systems for distributed applications Seif Haridi KTH/SICS.
User-Level Interprocess Communication for Shared Memory Multiprocessors Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented.
1 I/O Management in Representative Operating Systems.
Threads Chapter 4. Modern Process & Thread –Process is an infrastructure in which execution takes place  (address space + resources) –Thread is a program.
By Steven Taylor.  Basically a video game engine is a software system designed for the creation and development of video games.  There are many game.
Introduction to Parallel Processing 3.1 Basic concepts 3.2 Types and levels of parallelism 3.3 Classification of parallel architecture 3.4 Basic parallel.
Computer Architecture Parallel Processing
Introduction to Software Visualization CS Computer Science Seminar.
Multi-core Programming Thread Profiler. 2 Tuning Threaded Code: Intel® Thread Profiler for Explicit Threads Topics Look at Intel® Thread Profiler features.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
Uncovering the Multicore Processor Bottlenecks Server Design Summit Shay Gal-On Director of Technology, EEMBC.
Design Game Gopal Kaushik Kushal Sukthankar. Initial Idea  Using physics engine to create a Virtual Carrom Game.
COMPUTER SYSTEMS An Integrated Approach to Architecture and Operating Systems Chapter 1 Introduction ©Copyright 2008 Umakishore Ramachandran and William.
Circuit Game Answers.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Academic and pedagogical options in CIM laboratory CIM in universities.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
CS 484 Designing Parallel Algorithms Designing a parallel algorithm is not easy. There is no recipe or magical ingredient Except creativity We can benefit.
Multi-Semester Effort and Experience to Integrate NSF/IEEE-TCPP PDC into Multiple Department- wide Core Courses of Computer Science and Technology Department.
Presentation 31 – Multicore, Multiprocessing, Multithreading, and Multitasking. When discussing modern PCs, the term “Multi” is thrown around a lot as.
CS- 492 : Distributed system & Parallel Processing Lecture 7: Sun: 15/5/1435 Foundations of designing parallel algorithms and shared memory models Lecturer/
CENTRAL PROCESSING UNIT. CPU Does the actual processing in the computer. A single chip called a microprocessor. Composed of an arithmetic and logic unit.
Academic and pedagogical options in CIM laboratory CIM in universities.
HyperThreading ● Improves processor performance under certain workloads by providing useful work for execution units that would otherwise be idle ● Duplicates.
CDP Tutorial 3 Basics of Parallel Algorithm Design uses some of the slides for chapters 3 and 5 accompanying “Introduction to Parallel Computing”, Addison.
Computer Science at USF Greg Benson Professor and Chair.
Threads. Readings r Silberschatz et al : Chapter 4.
INEL6067 Parallel Architectures Why build parallel machines? °To help build even bigger parallel machines °To help solve important problems °Speed – more.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 4: Threads.
Parallel Computing Presented by Justin Reschke
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 April 28, 2005 Session 29.
Processes Chapter 3. Processes in Distributed Systems Processes and threads –Introduction to threads –Distinction between threads and processes Threads.
CS380 Operating Systems Real-Time Concurrent Simulation Programming Assignment Roger Webster, Ph.D. D&E Communications Computer.
CS/CE/TE 6378 Advanced Operating Systems
Microarchitecture.
Parallel Programming By J. H. Wang May 2, 2017.
Chapter 4: Multithreaded Programming
CS 584 Lecture 3 How is the assignment going?.
Rigid Body Dynamics Simulation
CS490 Windows Internals Quiz 2 09/27/2013.
Operating System Concepts
UNCW Computer Science Jack Tompkins Daniel Heywood
Symmetric Multiprocessing (SMP)
Concurrent Programming
CS 501: Software Engineering Fall 1999
CS 584.
Chapter 1 Introduction.
Virtualization Charles Warren.
EE 4xx: Computer Architecture and Performance Programming
Virtualization Charles Warren.
CS510 Operating System Foundations
Basic organizations and memories in distributed computer systems
Process Management -Compiled for CSIT
CS561 Computer Architecture Hye Yeon Kim
TJHSST Systems Lab Rigid Body Dynamics Simulation
CS Introduction to Operating Systems
Presentation transcript:

Teach Parallelism Using Video Games

3D Engine Demo Separate Rendering Game Logic and Collision Detection into three threads and perform thread synchronization CS 3XX – Introduction to OS

Maze Demo Dynamic thread creation and destruction, perform optimal switching and processor scaling CS 3XX – Data Structures/Algorithms

Target Practice Demo Multiple Consumers and Atomic Operators V-tune integration for concurrency Data partitioning CS 3XX – Computer Architecture

Bouncing Ball Demo Integration of all the above concepts Plug into real game engine development Combine data parallel, many consumers and producers CS 4xx Capstone