ProMCore 2008 Technical Prorgamme
Programming on Multi Core Processors (ProMCore 2008)  
(Performance Enhancement through Software Multi-threading)
More.......download about ProMCore 2008

Download pdf file
Day-1 (Tuesday February 05, 2008)  
Time (Hrs)  Title / Activity
0800~0845 ProMCore - 2008 Registration
0900~0930 Inauguration of ProMCore 2008
  • Prof. Seyed E.Hasnain, Vice-Chancellor, University of Hyderabad,
  • Shri S.Ramakrishnan, Director General, C-DAC,India,
  • Prof. Arun Agarwal, Director, CSMD, University of Hyderabad,
  • Dr.N. Sarat Chandra Babu, Director,C-DAC, Hyderabad,
  • Dr.VCV.Rao,In-Charge, ProMCore 2008, C-DAC,Pune .
  • Day 1 - Session : 1 Multi-Core: Architecture & Prog. Env Tea & Refreshments Break: 1030 Hrs ~1045 Hrs
    0930~0945 An Overview of ProMCore 2008 & Hands-on Session
    0945~1030 Multi Core Architectures & System Overview (Part-I) : Introduction; An Overview of Multi Core Architectures; Multi-Core Architectures versus Hyper-Threading; Multi-Threading on Single /Multiple Core Platforms; Understanding Performance – Amdahl’s Law and Gustafson’s Law

    Day 1 - Session : 2 Multi-Core: POSIX-Threads/OpenMP Lunch Break: 1300 Hrs ~1400 Hrs
    1100~1145 Multi Core: Multi-Threaded Prog - Pthreads (Part-I): Introduction to Multithreading; Thread Basics; why Threads; Conventional Multithreading; The POSIX Thread APIs; Thread Basics ; Creation and Termination; Synchronization Primitives ; Designing Asynchronous Programs
    1145~1300 Multi Core: Multi-Threaded Prog - OpenMP (Part-I) : How to write Multi-threaded programs on Multi-Core Systems? Example programs using Pthreads; Role of Compilers on UNIX/Linux environments & Windows? Application Prog Models & Threading – Prog. Languages;
    Day 1 Session 3: Multi Core Processors Hands-on Tea & Refreshments Break: 1630 Hrs~1645 Hrs
    1400~1800 Hands-on Session: Compilation and Execution on Dual Core /Quad Core Processor Systems; Example programs on PThreads & OpenMP programs;Thread Programs on Vector-vector,Matrix-Vector Computation, Tuning & Performance Issues
    Day-2 (Wednesday February 06, 2008)  
    Time (Hrs)  Title / Activity
    Day 2 Session 1: Multi-Core: Architecture & Prog. Env. Tea & Refreshments Break: 1030 Hrs ~1045 Hrs
    0900~0945 Multi Core Architectures & System Overview (Part-II) : System Overview of Threading; Threads inside the OS/the Hardware, threading above the OS; Thread Creation; Thread Stack Size; Thread Stack allocation; Dual Core / Quad Core Processors; Memory Interconnect; Understanding Performance Issues
    0945~1030 Multi-Cores: Multi-Threaded Prog - OpenMP (Part-II) : Shared Memory Prog. Model, OpenMP Constructs, Parallel for Loops, - Critical Sections; Reductions; Functional Parallelism;
    Day 2 Session 2: Multi-Core: System Overview Lunch Break: 1300 Hrs~1400 Hrs
    1100~1200 Multi Cores: Multi-Threaded Prog - Pthreads ( Part-II ): Managing Threads; Thread Synchronization; Mutex Variables; Condition Variables, Critical Section, Deadlock; Synchronization Primitives - Semaphores, Locks; Messages; & Performance
    1200~1300 Multi Cores: Multi-threaded Prog. - MPI 2.0 : Introduction to Multithreading; Conventional Multithreading; An Overview of MPI1.0/2.0 om MUlti-COre Processors; MPI-Pthreads / MPI-OPenMP
    Day 2 Session 3: Multi Core Processors - Hands-on Tea & Refreshments Break: 1630 Hrs~1645 Hrs
    1400~1430 Multi Core: Multi-Threaded Prog - Pthreads (Part-III): Multithreading Performance Issues; Common Errors in Multit-Threading; Data Races, Deadlocks, and Live Locks; Synchronization Constructs; Memory Issues - Memory Contention, Memory Consistency, Memory Allocation; Bandwidth
    1430~1730 Hands-on Session: Understanding Performance for Example Programs on MPI/Threads / OpenMP - Thread Programs on Matrix-Vector, Producer-Consumer Problem; Search Algorithms; Sorting Algorithms & Performance Issues of Thread APIs used in Examples; Assignment Work-Outs; Compilation and Execution on Multi Core Systems and Performance Issues; Threads/Java Threads; OpenMP programs
    Day-3 (Thursday February 07, 2008)  
    Time (Hrs)  Title / Activity
    Day 3 Session 1: Multi-Core: Tuning & Performance Tea & Refreshments Break: 1030 Hrs ~1045 Hrs
    0900~0945 Multi Cores : Tuning & Performance (Part-I) : Multi Threaded Environment – Compiler Optimization and Cache Optimization on Multiple Cores
    0945~1030 Multi Core Architectures & System Overview (Part-III) : Conventional Multithreading; An Overview of SMP; Superthreading & Hyperthreading ; Implementation Issues; Caching & Simultaneous Multithreading (SMT) (Hyperthreading)
    Day 3 Session 2: Multi-Core: Multi-Threaded Programming Lunch Break: 1300 Hrs~1400 Hrs
    1100~1200 Multi-Cores: An Overview of Multi-threading - OpenMP (Part-III) : Advanced Feature of OpenMP: Performance Issues of OpenMP Programs; OpenMP –Critical Sections; Functional Parallelism; Performance Issues - Scalability - Using larger number of Threads
    1200~1300 Multi-Cores : Prog. Env & Algorithms Design : An overview of Algorithmic Paradigms for Threads; Programming Models; Implicit /Explicit Parallelism; Types of Parallelism; Decomposition techniques for Threads; Static and Dynamic load balancing techniques – Threads; Overheads in algorithm design – Synchronization, Communication, Load balancing,
    Day 3 Session 3: Multi Core Processors - Hands-on Tea & Refreshments Break: 1630 Hrs~1645 Hrs
    1400~1430 Multi Core - Programming Environment : Java Multi-Threaded & Performance Issues
    1430~1730 Hands-on Session: Understanding Performance for Example Programs on MPI/Threads / OpenMP - Thread Programs on Matrix-Vector, Vector-Vector Multiplication algorithms; Producer-Consumer Problem; Performance Issues of Thread APIs used in Examples; Assignment Work-Outs; Compilation and Execution and Performance Issues; Threads/Java Threads; OpenMP programs; Performance Visualization tools; Thread Checker Tools; Thread Profiler Tools
    Day-4 (Friday February 08, 2008)  
    Time (Hrs)  Title / Activity
    Day 4 Session 1: Multi-Core: Prog. Env/Tools Tea & Refreshments Break: 1045 Hrs ~1100 Hrs
    0900~0945 Multi Cores: Tuning & Performance (Part-II) : Multi Threaded Environment – Compiler Optimization and Cache Optimization - MPI /OpenMP/Pthreads; An overview of Code Restructuring techniques & Optimization of Programs on Multi-Cores
    0945~1030 Multi Core: Multi-Threaded Prog - Pthreads (Part-IV): Multithreading Performance Issues; Synchronization /Non Synchronization Issues; Memory and Cache related Issues - False Sharing of Data; Thread Safe Function; Example Programs and Performance Issues
    Day 4 Session 2: Multi Core Prog. Env / Tools Hands-on Lunch Break: 1300 Hrs~1400 Hrs
    1100~1200 Multi-Core: Intel Programming Environment - I: Intel VTune Performance Analyzer & Multi-threaded performance ; Intel Thread Checker adn the Intel Debugger , Intel Thread Profiler - POSIX-based multi-threaded applications & OpenMP applications; Intel Math Kernel Library and Intel Integrated Prog. Performance Primitives; by Intel India Development Center (IIDC) , Bangalore
    1200~1300 Multi-Core: Intel Programming Environment - II: Intel VTune Performance Analyzer & Multi-threaded performance ; Intel Thread Checker adn the Intel Debugger , Intel Thread Profiler - POSIX-based multi-threaded applications & OpenMP applications; Intel Math Kernel Library and Intel Integrated Prog. Performance Primitives; by Intel India Development Center (IIDC) , Bangalore
    Day 4 Session 3: Multi Core Processors - Hands-on Tea & Refreshments Break: 1630 Hrs~1645 Hrs
    1400~1730 Hands-on Session: Performance for Example Programs on Threads / OpenMP /MPI 2.0 Programs; Use of Performance Tools & Libraries; Thread Programs on Numerical and Non-Numerical Algorithms; Performance Visualization tools for Parallel Programs; MPI’s Profiling Interface; Performance Visualization tools; Thread Checker Tools; Thread Profiler Tools; Upshot; Performance Analysis tool – PAPI
    Day-5 (Saturday February 09, 2008)  
    Time (Hrs)  Title / Activity
    Day 5 Session 1: Multi-Core: Prog. Env/Benchmarks Tea & Refreshments Break: 1030 Hrs ~1045 Hrs
    0900~0945 Multi Cores - Programming Environment (Part-II: MPI-2.0): An Overview of MPI 2.0; Remote Memory Operations; MPI 2.0 –Threads & Performance Issues
    0945~1030 Multi-Cores: Tools & Performance: PAPI (Performance Application Programming Interface); hardware performance counters; performance metrics on all platforms; Events related to cache misses and floating point operations; Sustained Performance Issues of Benchmarks
    Day 5 Session 2: Multi-Core: Prog. Env /Performance Lunch Break: 1300 Hrs~1400 Hrs
    1100~1200 Multi Core :Tuning and Performance & Benchmarks (Part-I): Performance of Micro & Macro Benchmarks on Multi-Core Systems ; I/O Threads & MPI I/O; MPI -Threads & Performance
    1200~1300 Multi Cores : Tuning and Performance & Benchmarks (part-II): Performance of Micro & Macro Benchmarks on Multi-Core Systems; Tuning MPI Applications on Multi-Cores; Common problems with Parallel Programming Problems – Application Perspective; Cost-Performance trade-Offs; Explicit Threads versus OpenMP Based Programming on Multi-Cores
    Day 5 Session 3: Multi Core Processors - Hands-on Tea & Refreshments Break: 1630 Hrs~1700 Hrs
    1400~1600 Hands-on Session: Performance for Example Programs on Threads / OpenMP /MPI 2.0 Programs; Use of Performance Tools & Libraries; Thread Programs on Numerical and Non-Numerical Algorithms; Performance Visualization tools for threads / MPI Programs; Performance of Thread I/O test suites
    1600~1630 Open Discussions and Conclusions of ProMCore 2008
    Tea & Refreshments Break: 1630 Hrs~1700 Hrs

    The Betatesting Group, C-DAC, Pune;     About this web site contact .