Agus Kurniawan Microsoft MVP. Blog
|
|
- Gervais McKenzie
- 6 years ago
- Views:
Transcription
1 Agus Kurniawan Microsoft MVP Blog
2 Agenda Reasons The Paradigm The Technology The People Code Parallel Processing PLINQ Data and Synchronization Tools Debugging Profiling
3 Why? Because Single-Core Is Slow (Single-Threaded)
4 Power Density (W/cm 2 ) The Paradigm Hardware limitations due to heat increases Moore's Law implies more Cores not higher speeds 10,000 Sun s Surface 1,000 Rocket Nozzle 100 Nuclear Reactor Hot Plate 486 Pentium processors
5 GOPS The Shift More Cores More Parallel Computing 32,768 2, Parallelism Opportunity 80X
6 The Technology Intel (C) (software.intel.com)
7 The People "Everyone does it"
8 Writing Parallel Code is Hard (Multi-Threaded & Multi-Core)
9 Multi- Threaded Programming It's not easy Error Prone From Race conditions to data sharing Hard to Debug Very hard to reproduce Easy to break (on newer hardware) Dedication and perseverance Businesses want business value not hardcore developers writing threads
10 Simple Maths Demo 1, 2, 3, 5, 7, 11, 13, 17, 19, 23...
11 Calculating Prime Numbers List<int> primes = new List<int>(); for (int i = 2; i < upper; i++) { if (SieveOfEratosthenes.IsPrime(i)) primes.add(i); }
12 "My" Parallel int corecount = Environment.ProcessorCount; int partitionsize = upper / corecount; ManualResetEvent endevent = new ManualResetEvent(false); List<int> result = new List<int>(); object lockobject = new object(); int runninginstances = corecount; for (int i = 0; i < corecount; i++) { // partition per core ThreadPool.QueueUserWorkItem(c => { int core = (int)c; int partitionstart = core * partitionsize; int partitionend = ((core + 1) * partitionsize) - 1; for (int j = partitionstart; j < partitionend; j++) { if (SieveOfEratosthenes.IsPrime(j)) { lock (lockobject) { result.add(j); } } } if (Interlocked.Decrement(ref runninginstances) == 0) { endevent.set(); } }, i); } endevent.waitone(); Static Work Distribution Potential scalability bottleneck Error Prone Error Prone Manual locking Manual Synchronization
13 Parallel Prime Numbers var result = new ConcurrentBag<int>(); Parallel.For(2, upper, (x) => { if (SieveOfEratosthenes.IsPrime(x)) { result.add(x); } }); var result = new List<int>(); for (int i = 2; i < upper; i++) { if (SieveOfEratosthenes.IsPrime(i)) result.add(i); }
14 Ray tracer Boids
15 Architecture public static void Main(string[] args) {... } Declarative Parallel Queries Imperative Parallel Algorithms Compiler (F#, C#, VB...) PLINQ Execution Engine Task Parallel Library Parallel Constructs Task Scheduling Data Structures and Coordination Concurrent Collections Synchronization & Coordination T1 T2 T1 T2 CPU CPU
16 Library - Parallel Parallel.For & Parallel.ForEach Drop in replacement for for/foreach loop Core Partitioning Scalable Cancellable Parallel.Invoke Action Invoker Cancelation API Cooperative Cancellation
17 Coordination Structures Collections ConcurrentBag<T> ConcurrentStack<T> BlockingCollection Locks & Signals SpinLock & SpinWain SemaphoreSlim Barrier CountdownEvent
18 Blend Images
19 Library - Tasks Task & Task<T> Asynchronous Execution (Blocking) Value on competition Parent & Child Relationships Continuations on success, failure or cancellation Task Scheduler Scheduler on top of the ThreadPool Abstract implementation
20 Tasks Custom Scheduling Task Stealing Priority Scheduling Round Robin IO Scheduler
21 Fractals Putting Tasks to do some work
22 Library - PLINQ LINQ but Parallel IEnumerable<T>.AsParallel() Standard Operators Parallel Extensions Partitioning and Merging API Extensions.AsParallel() Direct Use: ParallelEnumerable.Select/Where...
23 PLINQ Partitioning: Range & Stride IList<T> Range Continuous ranges Stripped Round Robin, designed for Skip&Take
24 PLINQ Partitioning: Chunk & Hash IEnumerable<T> Chunk Single Enumerator (locked), chunks of increasing size handled Hash Used for Join, GroupJoin, GroupBy, Distinct, Except, Union and Intersect
25 PLINQ Ray Tracer
26 Task Debugging Parallel Tasks All scheduled tasks All running tasks Parallel Stacks Call graphs Call stacks
27 Parallel + MS Excel 2010
28
29 Resources Sessions On-Demand & Community Microsoft Certification & Training Resources Resources for IT Professionals Resources for Developers
30 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
An Introduction to What s Available in.net 4.0 PARALLEL PROGRAMMING ON THE.NET PLATFORM
An Introduction to What s Available in.net 4.0 PARALLEL PROGRAMMING ON THE.NET PLATFORM About Me Jeff Barnes.NET Software Craftsman @ DAXKO Microsoft MVP in Connected Systems ALT.NET Supporter jeff@jeffbarnes.net
More informationSupercomputing and Mass Market Desktops
Supercomputing and Mass Market Desktops John Manferdelli Microsoft Corporation This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
More informationParallelism Marco Serafini
Parallelism Marco Serafini COMPSCI 590S Lecture 3 Announcements Reviews First paper posted on website Review due by this Wednesday 11 PM (hard deadline) Data Science Career Mixer (save the date!) November
More informationVS08 This One Goes to Going Parallel with PFX, PLINQ, TPL and Async Keywords
VS08 This One Goes to Going Parallel with PFX, PLINQ, TPL and Async Keywords Brian Noyes Chief Architect, IDesign Inc (www.idesign.net) brian.noyes@idesign.net, @briannoyes About Brian Chief Architect
More informationDNParallel - Version: 3. TPL Dataflow
DNParallel - Version: 3 TPL Dataflow TPL Dataflow DNParallel - Version: 3 4 days Course Description: In this course, you will learn how to use the new.net 4+ features to parallelize existing code, to utilize
More informationMCSA Universal Windows Platform. A Success Guide to Prepare- Programming in C# edusum.com
70-483 MCSA Universal Windows Platform A Success Guide to Prepare- Programming in C# edusum.com Table of Contents Introduction to 70-483 Exam on Programming in C#... 2 Microsoft 70-483 Certification Details:...
More informationDatabase Architectures
Database Architectures CPS352: Database Systems Simon Miner Gordon College Last Revised: 11/15/12 Agenda Check-in Centralized and Client-Server Models Parallelism Distributed Databases Homework 6 Check-in
More informationMultiple processes can run in parallel on a single computer and multiple threads can run in parallel in a single process.
EE 356 Notes on Threading A process is a program in execution. In an operating system a process has a well-defined state. A five-state model of a process includes: New a process is admitted for high-level
More informationPatterns of Parallel Programming with.net 4. Ade Miller Microsoft patterns & practices
Patterns of Parallel Programming with.net 4 Ade Miller (adem@microsoft.com) Microsoft patterns & practices Introduction Why you should care? Where to start? Patterns walkthrough Conclusions (and a quiz)
More informationImplementing and Supporting Windows Intune
Implementing and Supporting Windows Intune Module 3: Computer Administration by Using Windows Intune Module Overview Understanding Groups Creating and Populating Groups The Windows Intune Update Process
More informationManoj Agarwal Senior Development Lead BizTalk Server Product Team Microsoft India Development Center
Manoj Agarwal Senior Development Lead BizTalk Server Product Team Microsoft India Development Center Objectives Techniques for optimizing the infrastructure of the BizTalk Server System How to increase
More informationComputation Abstractions. Processes vs. Threads. So, What Is a Thread? CMSC 433 Programming Language Technologies and Paradigms Spring 2007
CMSC 433 Programming Language Technologies and Paradigms Spring 2007 Threads and Synchronization May 8, 2007 Computation Abstractions t1 t1 t4 t2 t1 t2 t5 t3 p1 p2 p3 p4 CPU 1 CPU 2 A computer Processes
More informationCOMP 633 Parallel Computing.
COMP 633 Parallel Computing http://www.cs.unc.edu/~prins/classes/633/ Parallel computing What is it? multiple processors cooperating to solve a single problem hopefully faster than a single processor!
More informationCIT 668: System Architecture
CIT 668: System Architecture Computer Systems Architecture I 1. System Components 2. Processor 3. Memory 4. Storage 5. Network 6. Operating System Topics Images courtesy of Majd F. Sakr or from Wikipedia
More informationThe Various Faces of the.net Task Parallel Library
The Various Faces of the.net Task Parallel Library Luc Bläser Hochschule für Technik Rapperswil Multicore@Siemens 2015 5 Feb 2015, Nuremberg The.NET Task Parallel Library (TPL) State of the art in.net
More informationThe Beauty and Joy of Computing
The Beauty and Joy of Computing Lecture #8 : Concurrency UC Berkeley Teaching Assistant Yaniv Rabbit Assaf Friendship Paradox On average, your friends are more popular than you. The average Facebook user
More informationDBArtisan 8.6 New Features Guide. Published: January 13, 2009
Published: January 13, 2009 Embarcadero Technologies, Inc. 100 California Street, 12th Floor San Francisco, CA 94111 U.S.A. This is a preliminary document and may be changed substantially prior to final
More informationXiaoying Guo Program Manager Microsoft Server and Tools China Session Code: DEV377
Xiaoying Guo Program Manager Microsoft Server and Tools China Session Code: DEV377 Agenda Why building Business Application in Silverlight How to build Business Applications with: Silverlight Silverlight
More informationConcurrency & Parallelism, 10 mi
The Beauty and Joy of Computing Lecture #7 Concurrency Instructor : Sean Morris Quest (first exam) in 5 days!! In this room! Concurrency & Parallelism, 10 mi up Intra-computer Today s lecture Multiple
More informationLe L c e t c ur u e e 7 To T p o i p c i s c t o o b e b e co c v o e v r e ed e Multithreading
Course Name: Advanced Java Lecture 7 Topics to be covered Multithreading Thread--An Introduction Thread A thread is defined as the path of execution of a program. It is a sequence of instructions that
More informationPro.NET 4 Parallel Programming in C#
Pro.NET 4 Parallel Programming in C# Adam Freeman Pro.NET 4 Parallel Programming in C# Copyright 2010 by Adam Freeman All rights reserved. No part of this work may be reproduced or transmitted in any form
More informationAn Introduction to Parallel Programming
An Introduction to Parallel Programming Ing. Andrea Marongiu (a.marongiu@unibo.it) Includes slides from Multicore Programming Primer course at Massachusetts Institute of Technology (MIT) by Prof. SamanAmarasinghe
More informationNicholas Dritsas Principal Program Manager Microsoft Corporation Microsoft Corporation. All rights reserved
Nicholas Dritsas Principal Program Manager Microsoft Corporation Who is SQL Customer Advisory Team (SQL CAT) Overview of large AS projects Lessons Learned People and Infrastructure Performance Improving
More informationTHREADS & CONCURRENCY
27/04/2018 Sorry for the delay in getting slides for today 2 Another reason for the delay: Yesterday: 63 posts on the course Piazza yesterday. A7: If you received 100 for correctness (perhaps minus a late
More informationVirtualization And High Availability. Howard Chow Microsoft MVP
Virtualization And High Availability Howard Chow Microsoft MVP Session Objectives And Agenda Virtualization and High Availability Types of high availability enabled by virtualization Enabling a highly
More informationSaranya Sriram Developer Evangelist Microsoft Corporation India
Saranya Sriram Developer Evangelist Microsoft Corporation India Microsoft s Cloud ReCap Azure Services Platform Agenda Data is King Motivation? Why data outside your premise? Microsoft s Data Storage offerings
More informationBreak Through Your Software Development Challenges with Microsoft Visual Studio 2008
Break Through Your Software Development Challenges with Microsoft Visual Studio 2008 White Paper November 2007 For the latest information, please see www.microsoft.com/vstudio This is a preliminary document
More informationAndrew Coates Microsoft Australia Session Code: OFC343
Andrew Coates Microsoft Australia http://blogs.msdn.com/acoat Session Code: OFC343 Once upon a time I wrote VFP Code I interacted with Office I wrote DDE code! I automated Word Excel Outlook I output HTML
More informationMartin Kruliš, v
Martin Kruliš 1 Optimizations in General Code And Compilation Memory Considerations Parallelism Profiling And Optimization Examples 2 Premature optimization is the root of all evil. -- D. Knuth Our goal
More information2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or
2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The
More informationMultithreading and Interactive Programs
Multithreading and Interactive Programs CS160: User Interfaces John Canny. Last time Model-View-Controller Break up a component into Model of the data supporting the App View determining the look of the
More informationConcurrency, Thread. Dongkun Shin, SKKU
Concurrency, Thread 1 Thread Classic view a single point of execution within a program a single PC where instructions are being fetched from and executed), Multi-threaded program Has more than one point
More informationThreads & Concurrency
2 Due date of A7 Due d About A5-A6 We have changed the due date of A7 Friday, 28 April. Threads & Concurrency But the last date to submit A7 remains the same: 29 April. We make the last date be 29 April
More informationThreads & Concurrency
Threads & Concurrency Lecture 24 CS2110 Spring 2017 Due date of A7 Due d About A5-A6 2 We have changed the due date of A7 Friday, 28 April. But the last date to submit A7 remains the same: 29 April. We
More informationProgramming C# 5.0. Ian Griffiths O'REILLY' Beijing Cambridge * Farnham Kbln Sebastopol Tokyo
Programming C# 5.0 Ian Griffiths O'REILLY' Beijing Cambridge * Farnham Kbln Sebastopol Tokyo Preface xvii 1. Introducing C# 1 Why C#? 1 Why Not C#? 3 C#'s Defining Features 5 Managed Code and the CLR 7
More informationMultithreading and Interactive Programs
Multithreading and Interactive Programs CS160: User Interfaces John Canny. This time Multithreading for interactivity need and risks Some design patterns for multithreaded programs Debugging multithreaded
More informationIntel Parallel Studio 2011
THE ULTIMATE ALL-IN-ONE PERFORMANCE TOOLKIT Studio 2011 Product Brief Studio 2011 Accelerate Development of Reliable, High-Performance Serial and Threaded Applications for Multicore Studio 2011 is a comprehensive
More informationDatabase Architectures
Database Architectures CPS352: Database Systems Simon Miner Gordon College Last Revised: 4/15/15 Agenda Check-in Parallelism and Distributed Databases Technology Research Project Introduction to NoSQL
More informationMicrosoft Visual C# Step by Step. John Sharp
Microsoft Visual C# 2013 Step by Step John Sharp Introduction xix PART I INTRODUCING MICROSOFT VISUAL C# AND MICROSOFT VISUAL STUDIO 2013 Chapter 1 Welcome to C# 3 Beginning programming with the Visual
More informationAvailability and Performance for Tier1 applications
Assaf Fraenkel Senior Architect (MCA+MCM SQL 2008) MCS Israel Availability and Performance for Tier1 applications Agenda and Takeaways Agenda: Introduce the new SQL Server High Availability and Disaster
More informationManage program flow. Have you read page xxi? Objectives in this chapter:
CHAPTER 1 Manage program flow If you could build only programs that execute all their logic from top to bottom, it would not be feasible to build complex applications. Fortunately, C# and the.net Framework
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 informationFractal: A Software Toolchain for Mapping Applications to Diverse, Heterogeneous Architecures
Fractal: A Software Toolchain for Mapping Applications to Diverse, Heterogeneous Architecures University of Virginia Dept. of Computer Science Technical Report #CS-2011-09 Jeremy W. Sheaffer and Kevin
More informationOptimize an Existing Program by Introducing Parallelism
Optimize an Existing Program by Introducing Parallelism 1 Introduction This guide will help you add parallelism to your application using Intel Parallel Studio. You will get hands-on experience with our
More informationWhat s new in ASP.NET 3.5? Mike Ormond Developer & Platform Group Microsoft Ltd
What s new in ASP.NET 3.5? Mike Ormond Developer & Platform Group Microsoft Ltd Mike.Ormond@microsoft.com http://mikeo.co.uk What we ll look at... ASP.NET AJAX Data Access Silverlight ASP.NET Futures Release
More informationChapter 4: Threads. Operating System Concepts. Silberschatz, Galvin and Gagne
Chapter 4: Threads Silberschatz, Galvin and Gagne Chapter 4: Threads Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Linux Threads 4.2 Silberschatz, Galvin and
More informationThreads and Too Much Milk! CS439: Principles of Computer Systems January 31, 2018
Threads and Too Much Milk! CS439: Principles of Computer Systems January 31, 2018 Last Time CPU Scheduling discussed the possible policies the scheduler may use to choose the next process (or thread!)
More informationAdministration. Prerequisites. Website. CSE 392/CS 378: High-performance Computing: Principles and Practice
CSE 392/CS 378: High-performance Computing: Principles and Practice Administration Professors: Keshav Pingali 4.126 ACES Email: pingali@cs.utexas.edu Jim Browne Email: browne@cs.utexas.edu Robert van de
More informationIn-memory data pipeline and warehouse at scale using Spark, Spark SQL, Tachyon and Parquet
In-memory data pipeline and warehouse at scale using Spark, Spark SQL, Tachyon and Parquet Ema Iancuta iorhian@gmail.com Radu Chilom radu.chilom@gmail.com Big data analytics / machine learning 6+ years
More informationHigh Performance Computing Course Notes Shared Memory Parallel Programming
High Performance Computing Course Notes 2009-2010 2010 Shared Memory Parallel Programming Techniques Multiprocessing User space multithreading Operating system-supported (or kernel) multithreading Distributed
More informationEfficiently Introduce Threading using Intel TBB
Introduction This guide will illustrate how to efficiently introduce threading using Intel Threading Building Blocks (Intel TBB), part of Intel Parallel Studio XE. It is a widely used, award-winning C++
More informationHigh-Performance Parallel Computing
High-Performance Parallel Computing P. (Saday) Sadayappan Rupesh Nasre Course Overview Emphasis on algorithm development and programming issues for high performance No assumed background in computer architecture;
More informationAgenda Process Concept Process Scheduling Operations on Processes Interprocess Communication 3.2
Lecture 3: Processes Agenda Process Concept Process Scheduling Operations on Processes Interprocess Communication 3.2 Process in General 3.3 Process Concept Process is an active program in execution; process
More informationShared Memory Programming with OpenMP (3)
Shared Memory Programming with OpenMP (3) 2014 Spring Jinkyu Jeong (jinkyu@skku.edu) 1 SCHEDULING LOOPS 2 Scheduling Loops (2) parallel for directive Basic partitioning policy block partitioning Iteration
More informationOverview. CMSC 330: Organization of Programming Languages. Concurrency. Multiprocessors. Processes vs. Threads. Computation Abstractions
CMSC 330: Organization of Programming Languages Multithreaded Programming Patterns in Java CMSC 330 2 Multiprocessors Description Multiple processing units (multiprocessor) From single microprocessor to
More informationUser Space Multithreading. Computer Science, University of Warwick
User Space Multithreading 1 Threads Thread short for thread of execution/control B efore create Global During create Global Data Data Executing Code Code Stack Stack Stack A fter create Global Data Executing
More informationKarthik Bharathy Program Manager, SQL Server Microsoft
Karthik Bharathy Program Manager, SQL Server Microsoft Key Session takeaways Understand the many views of SQL Server Look at hardening SQL Server At the network level At the access level At the data level
More informationHeckaton. SQL Server's Memory Optimized OLTP Engine
Heckaton SQL Server's Memory Optimized OLTP Engine Agenda Introduction to Hekaton Design Consideration High Level Architecture Storage and Indexing Query Processing Transaction Management Transaction Durability
More informationThreads and Too Much Milk! CS439: Principles of Computer Systems February 6, 2019
Threads and Too Much Milk! CS439: Principles of Computer Systems February 6, 2019 Bringing It Together OS has three hats: What are they? Processes help with one? two? three? of those hats OS protects itself
More informationNew Challenges in Microarchitecture and Compiler Design
New Challenges in Microarchitecture and Compiler Design Contributors: Jesse Fang Tin-Fook Ngai Fred Pollack Intel Fellow Director of Microprocessor Research Labs Intel Corporation fred.pollack@intel.com
More informationIntroduction to Multicore architecture. Tao Zhang Oct. 21, 2010
Introduction to Multicore architecture Tao Zhang Oct. 21, 2010 Overview Part1: General multicore architecture Part2: GPU architecture Part1: General Multicore architecture Uniprocessor Performance (ECint)
More informationMicrosoft. Microsoft Visual C# Step by Step. John Sharp
Microsoft Microsoft Visual C#- 2010 Step by Step John Sharp Table of Contents Acknowledgments Introduction xvii xix Part I Introducing Microsoft Visual C# and Microsoft Visual Studio 2010 1 Welcome to
More informationChapter 4: Threads. Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads
Chapter 4: Threads Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads Chapter 4: Threads Objectives To introduce the notion of a
More informationParallel Functional Programming Lecture 1. John Hughes
Parallel Functional Programming Lecture 1 John Hughes Moore s Law (1965) The number of transistors per chip increases by a factor of two every year two years (1975) Number of transistors What shall we
More information03 Features of C#, Part 2. Jerry Nixon Microsoft Developer Evangelist Daren May President & Co-founder, Crank211
03 Features of C#, Part 2 Jerry Nixon Microsoft Developer Evangelist Daren May President & Co-founder, Crank211 Module Overview Controlling Programmatic Flow Manipulating Types and Strings Controlling
More informationParallelizing Ocean plug-in computations using the Background Worker + PFX pattern
Parallelizing Ocean plug-in computations using the Background Worker + PFX pattern Dmitriy Repin Program Architect, Schlumberger PTS Ocean Development Framework User Meeting Houston, October 24, 2014 2014
More informationTHREADS AND CONCURRENCY
THREADS AND CONCURRENCY Lecture 22 CS2110 Spring 2013 Graphs summary 2 Dijkstra: given a vertex v, finds shortest path from v to x for each vertex x in the graph Key idea: maintain a 5-part invariant on
More informationOptimizing Performance for Partitioned Mappings
Optimizing Performance for Partitioned Mappings 1993-2015 Informatica LLC. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording or otherwise)
More informationMultithreading Deep Dive. my twitter. a deep investigation on how.net multithreading primitives map to hardware and Windows Kernel.
Multithreading Deep Dive a deep investigation on how.net multithreading primitives map to hardware and Windows Kernel Gaël Fraiteur PostSharp Technologies Founder & Principal Engineer my twitter Objectives
More informationMulti-Core Programming
Multi-Core Programming Increasing Performance through Software Multi-threading Shameem Akhter Jason Roberts Intel PRESS Copyright 2006 Intel Corporation. All rights reserved. ISBN 0-9764832-4-6 No part
More informationПовышение энергоэффективности мобильных приложений путем их распараллеливания. Примеры. Владимир Полин
Повышение энергоэффективности мобильных приложений путем их распараллеливания. Примеры. Владимир Полин Legal Notices This presentation is for informational purposes only. INTEL MAKES NO WARRANTIES, EXPRESS
More informationIntel Thread Building Blocks, Part II
Intel Thread Building Blocks, Part II SPD course 2013-14 Massimo Coppola 25/03, 16/05/2014 1 TBB Recap Portable environment Based on C++11 standard compilers Extensive use of templates No vectorization
More informationMultithreaded Programming
Multithreaded Programming The slides do not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams. September 4, 2014 Topics Overview
More informationGrand Central Dispatch
A better way to do multicore. (GCD) is a revolutionary approach to multicore computing. Woven throughout the fabric of Mac OS X version 10.6 Snow Leopard, GCD combines an easy-to-use programming model
More informationHuge market -- essentially all high performance databases work this way
11/5/2017 Lecture 16 -- Parallel & Distributed Databases Parallel/distributed databases: goal provide exactly the same API (SQL) and abstractions (relational tables), but partition data across a bunch
More informationJava s Implementation of Concurrency, and how to use it in our applications.
Java s Implementation of Concurrency, and how to use it in our applications. 1 An application running on a single CPU often appears to perform many tasks at the same time. For example, a streaming audio/video
More informationName: Vijay Rajagopalan Title : Principal Architect Company : Microsoft Corporation Session Code:
Name: Vijay Rajagopalan Title : Principal Architect Company : Microsoft Corporation Session Code: Agenda Microsoft Interoperability Strategy Multifaceted Approach to Interoperability Microsoft and PHP
More informationIntroduction to parallel Computing
Introduction to parallel Computing VI-SEEM Training Paschalis Paschalis Korosoglou Korosoglou (pkoro@.gr) (pkoro@.gr) Outline Serial vs Parallel programming Hardware trends Why HPC matters HPC Concepts
More informationThe Future of Parallel Programming in the.net Framework. Igor Ostrovsky Software Engineer Microsoft Corporation
The Future of Parallel Programming in the.net Framework Igor Ostrovsky Software Engineer Microsoft Corporation DISCLAIMER This is a talk about the near future All content is subject to change. The technology
More informationCSC 447: Parallel Programming for Multi- Core and Cluster Systems
CSC 447: Parallel Programming for Multi- Core and Cluster Systems Why Parallel Computing? Haidar M. Harmanani Spring 2017 Definitions What is parallel? Webster: An arrangement or state that permits several
More informationWhat is a thread anyway?
Concurrency in Java What is a thread anyway? Smallest sequence of instructions that can be managed independently by a scheduler There can be multiple threads within a process Threads can execute concurrently
More informationmultiprocessing HPC Python R. Todd Evans January 23, 2015
multiprocessing HPC Python R. Todd Evans rtevans@tacc.utexas.edu January 23, 2015 What is Multiprocessing Process-based parallelism Not threading! Threads are light-weight execution units within a process
More informationUPGRADING DEVELOPMENT SKILLS
RSM TECHNOLOGY ACADEMY Syllabus and Agenda UPGRADING DEVELOPMENT SKILLS FOR MICROSOFT DYNAMICS 365 FOR OPERATIONS Course Details 3 Audience 3 At Course Completion 3 Course Cancellation Policy 4 Guaranteed
More informationPrashant Kumar Program Manager Microsoft Session Code:
dpminfo@microsoft.com Prashant Kumar Program Manager Microsoft Session Code: Agenda Introduction to Microsoft System Center Data Protection Manager (DPM) 2007 Deep dive Demo How does DPM do efficient protection?
More informationShared-Memory Programming Models
Shared-Memory Programming Models Parallel Programming Concepts Winter Term 2013 / 2014 Dr. Peter Tröger, M.Sc. Frank Feinbube Cilk C language combined with several new keywords Different approach to OpenMP
More informationCIS233J Java Programming II. Threads
CIS233J Java Programming II Threads Introduction The purpose of this document is to introduce the basic concepts about threads (also know as concurrency.) Definition of a Thread A thread is a single sequential
More informationParallel Programming Principle and Practice. Lecture 7 Threads programming with TBB. Jin, Hai
Parallel Programming Principle and Practice Lecture 7 Threads programming with TBB Jin, Hai School of Computer Science and Technology Huazhong University of Science and Technology Outline Intel Threading
More information2012 Microsoft Corporation. All rights reserved. Microsoft, Active Directory, Excel, Lync, Outlook, SharePoint, Silverlight, SQL Server, Windows,
2012 Microsoft Corporation. All rights reserved. Microsoft, Active Directory, Excel, Lync, Outlook, SharePoint, Silverlight, SQL Server, Windows, Windows Server, and other product names are or may be registered
More informationMost real programs operate somewhere between task and data parallelism. Our solution also lies in this set.
for Windows Azure and HPC Cluster 1. Introduction In parallel computing systems computations are executed simultaneously, wholly or in part. This approach is based on the partitioning of a big task into
More informationCS 261 Fall Mike Lam, Professor. Threads
CS 261 Fall 2017 Mike Lam, Professor Threads Parallel computing Goal: concurrent or parallel computing Take advantage of multiple hardware units to solve multiple problems simultaneously Motivations: Maintain
More informationC# 6.0 in a nutshell / Joseph Albahari & Ben Albahari. 6th ed. Beijin [etc.], cop Spis treści
C# 6.0 in a nutshell / Joseph Albahari & Ben Albahari. 6th ed. Beijin [etc.], cop. 2016 Spis treści Preface xi 1. Introducing C# and the.net Framework 1 Object Orientation 1 Type Safety 2 Memory Management
More informationOperating Systems 2 nd semester 2016/2017. Chapter 4: Threads
Operating Systems 2 nd semester 2016/2017 Chapter 4: Threads Mohamed B. Abubaker Palestine Technical College Deir El-Balah Note: Adapted from the resources of textbox Operating System Concepts, 9 th edition
More informationProject management - integrated into Outlook
Project management - integrated into Outlook InLoox PM 6.x update to InLoox PM 7.x An InLoox Whitepaper Published: October 2012 Copyright: 2012 InLoox GmbH. You can find up-to-date information at http://www.inloox.com
More informationINF 212 ANALYSIS OF PROG. LANGS CONCURRENCY. Instructors: Crista Lopes Copyright Instructors.
INF 212 ANALYSIS OF PROG. LANGS CONCURRENCY Instructors: Crista Lopes Copyright Instructors. Basics Concurrent Programming More than one thing at a time Examples: Network server handling hundreds of clients
More informationJim Tsui Sr. Solution Manager Mobile Communications Business Microsoft Corporation WMB202
Jim Tsui Sr. Solution Manager Mobile Communications Business Microsoft Corporation WMB202 Agenda Microsoft Mobility Vision Windows Mobile for You Windows Mobile for Your Customers What s New in 6.5 and
More informationSynchronisation in Java - Java Monitor
Synchronisation in Java - Java Monitor -Every object and class is logically associated with a monitor - the associated monitor protects the variable in the object/class -The monitor of an object/class
More informationHA150. SAP HANA 2.0 SPS03 - SQL and SQLScript for SAP HANA COURSE OUTLINE. Course Version: 15 Course Duration:
HA150 SAP HANA 2.0 SPS03 - SQL and SQLScript for SAP HANA. COURSE OUTLINE Course Version: 15 Course Duration: SAP Copyrights and Trademarks 2018 SAP SE or an SAP affiliate company. All rights reserved.
More informationWritten Presentation: JoCaml, a Language for Concurrent Distributed and Mobile Programming
Written Presentation: JoCaml, a Language for Concurrent Distributed and Mobile Programming Nicolas Bettenburg 1 Universitaet des Saarlandes, D-66041 Saarbruecken, nicbet@studcs.uni-sb.de Abstract. As traditional
More informationProgramming in.net. Microsoft Development Center Serbia programming course. Lesson 8 Parallelism and Threading in.net
Programming in.net Microsoft Development Center Serbia programming course Lesson 8 Parallelism and Threading in.net Example 1 Our first example shows basics about threading in C#. It covers basic thread
More informationCS 498RK FALL RESTFUL APIs
CS 498RK FALL 2017 RESTFUL APIs Designing Restful Apis blog.mwaysolutions.com/2014/06/05/10-best-practices-for-better-restful-api/ www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api Resources
More information