Parallel Programming with OmniThreadLibrary

Slides:



Advertisements
Similar presentations
Continuous integration, delivery and deployment Primož Gabrijelčič thedelphigeek.com Primož Gabrijelčič thedelphigeek.com.
Advertisements

H IGH - LEVEL M ULTITHREADED P ROGRAMMING [P ART I] Primož Gabrijelčič.
Developing for Windows and OS X Primož Gabrijelčič.
H IGH - LEVEL M ULTITHREADED P ROGRAMMING [P ART II] Primož Gabrijelčič.
H IGH - LEVEL M ULTITHREADED P ROGRAMMING [P ART III] Primož Gabrijelčič.
Smart Mobile Studio today
Dependence Precedence. Precedence & Dependence Can we execute a 1000 line program with 1000 processors in one step? What are the issues to deal with in.
Optimizing single thread performance Dependence Loop transformations.
Multithreading Made Simple with OmniThreadLibrary
Parallel Programming Made Easy Primož Gabrijelčič,
Instruction Level Parallelism (ILP) Colin Stevens.
Ceng Operating Systems Chapter 2.5 : Threads Process concept  Process scheduling  Interprocess communication  Deadlocks  Threads.
Give an example to show the advantages to using multithreaded Clients See page 142 of the core book (Tanebaum 2002).
Threading in Java – a Tutorial QMUL IEEE SB. Why Threading When we need to run two tasks concurrently So multiple parts (>=2) of a program can run simultaneously.
Pleasures and Pitfalls of Profiling Primož Gabrijelčič.
G ETTING F ULL S PEED WITH D ELPHI Primož Gabrijelčič otl.17slon.com [W HY S INGLE -T HREADING I S N OT E.
Sadegh Aliakbary Sharif University of Technology Spring 2011.
As you arrive… Get you laptop out and get ready to program some python Go to the course website and load all the example programs that are posted there.
Sadegh Aliakbary. Copyright ©2014 JAVACUP.IRJAVACUP.IR All rights reserved. Redistribution of JAVACUP contents is not prohibited if JAVACUP.
Sadegh Aliakbary Sharif University of Technology Fall 2010.
Building Multithreaded Solutions with OmniThreadLibrary
Windows Web Xbox Mobile … and WakeUpAndCode.com.
Regular Expressions – Friend or Foe? Primož Gabrijelčič.
Threaded Applications Introducing additional threads in a Delphi application is easy.
1 Multi-core processors 12/1/09. 2 Multiprocessors inside a single chip It is now possible to implement multiple processors (cores) inside a single chip.
Threads are units of work that are created by a parent process to perform some task. By utilizing multiple threads, an application can delegate the work.
Send An with an Attachment in Microsoft Outlook Use Skype to Talk with Others Communicate with Windows Live Messenger on Mobile Create a Signature.
SIMPLE PARALLEL PROGRAMMING WITH PATTERNS AND OMNITHREADLIBRARY PRIMOŽ GABRIJELČIČ SKYPE: GABR42
FastMM in Depth Primož Gabrijelčič,
Copyright ©: University of Illinois CS 241 Staff1 Threads Systems Concepts.
Concurrent Programming and Threads Threads Blocking a User Interface.
ADAPTING YOUR ETL SOLUTION TO USE SSIS 2012 Presentation by Devin Knight
Upcoming Presentations ILM Professional Service – Proprietary and Confidential ( DateTimeTopicPresenter March PM Distributed.
An operating system is the software that makes everything in the computer work together smoothly and efficiently. What is an Operating System?
CS- 492 : Distributed system & Parallel Processing Lecture 7: Sun: 15/5/1435 Foundations of designing parallel algorithms and shared memory models Lecturer/
11111 Delphi XE2 DataSnap FireMonkey Clients XE IDE Cloud Web secure Data Agile.
Chapter 8 (Horstmann’s Book) Frameworks Hwajung Lee.
Simplify Parallel Programming with Patterns Primož Gabrijelčič R&D Manager, FAB.
1 Chapter 2.5 : Threads Process concept  Process concept  Process scheduling  Process scheduling  Interprocess communication  Interprocess communication.
Delphi first steps. How to create a project Open – File – New – VCL Forms Application.
CGS 3763 Operating Systems Concepts Spring 2013 Dan C. Marinescu Office: HEC 304 Office hours: M-Wd 11: :30 AM.
What the Course is About 1 Welcome to Adv. Visual Programming using C#
Multithreading The objectives of this chapter are: To understand the purpose of multithreading To describe Java's multithreading mechanism.
Multithreaded Programming in Java David Meredith Aalborg University.
APAS Ariel Performance Analysis System Installation Instructions.
Are you familiar with Microsoft word 2010 ?? Well this time it is all about the world of MSW 2010.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
VIRTUAL NETWORK PIPELINE PROCESSOR Design and Implementation Department of Communication System Engineering Presented by: Mark Yufit Rami Siadous.
Upgrade Your VCL Applications Bob Swart (aka “Dr.Bob”) Bob Swart Training & Consultancy (eBob42) Delphi.
6 eCommerce Development Trends 2017
Best practices for E-Commerce websites in 2017
JavaScripts.
Node.Js Server Side Javascript
Faster parallel programs with improved FastMM
Writing a Simple DSL Compiler with Delphi
Multi-core processors
Async or Parallel? No they aren’t the same thing!
Node.Js Server Side Javascript
Microprocessors Chapter 4.
CIS16 Application Development – Programming with Visual Basic
Parallel Programming Done Right with OTL and PPL
Writing High Performance Delphi Application
Threads Chapter 4.
OpenGL on Linux with Delphi
Android Topics UI Thread and Limited processing resources
Setting up your dev environment
Building Web Applications with Microsoft ASP
Multithreaded Programming in Java
What is a Thread? A thread is similar to a process, but it typically consists of just the flow of control. Multiple threads use the address space of a.
Presentation transcript:

Parallel Programming with OmniThreadLibrary Primož Gabrijelčič

programmer, consultant, speaker, trainer Delphi / Smart Mobile Studio Primož Gabrijelčič programmer, consultant, speaker, trainer Delphi / Smart Mobile Studio Email: primoz@gabrijelcic.org Twitter: @thedelphigeek Skype: gabr42 The Delphi Geek – http://www.thedelphigeek.com Smart Programmer – http://www.smartprogrammer.org Links to this presentation and sample code will be available on the blog, link “Presentation” on the top right

What is OmniThreadLibrary?

OmniThreadLibrary is … … VCL for multithreading … released under an open license … actively developed … frequently used … available in Delphis from 2007 to XE3 Windows 32- or 64-bit, VCL only

How do I learn more?

OmniThreadLibrary on the web Home: otl.17slon.com Code: omnithreadlibrary.googlecode.com Book: leanpub.com/omnithreadlibrary Wiki: otl.17slon.com/book Support: otl.17slon.com/forum

How do I execute long operation in background and run some code in the main thread after the long operation has finished?

Async/Await Initialization Long operation Cleanup

How do I run long calculation in background and process the result in the main thread?

Future Long calculation Use result

How do I run same background operation in multiple simultaneous copies processing an input?

Background Worker Data Process Process Process Process Process Result

How do I parallelize a process that executes in multiple stages?

Pipeline Data Stage 1 Stage 2 Stage 3 Stage 4 Result

How do I work with databases in multithreaded environment?

Databases GUI Frame Frame Database Access Readonly is simple; read/write is harder (apply updated) Redone fishfacts demo Database Access

Questions?