Tech Ed09 India Ver M New


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • If you would like to host your demo on the Virtual Server, please use the myVPC demo slide, not this slide.
  • Tech Ed09 India Ver M New

    1. 1. Rajagopal A Intel Digital Health Architect & Social Entrepreneur, Technology for Humanity
    2. 2. objective of this session Architecting & developing cool apps in this era of new trends There is a transition in the hardware industry (4 min) Look this is an opportunity for you (4 min) This session will help you discover & seize those opportunities (40 min)
    3. 3. (4 + 4 minutes)
    4. 4. Directions: PCs have changed What is common: Intel Instruction Set
    5. 5. Directions: Shift to multi-core & many-core Multi core; Many core Quad-Core Dual-Core Single-Core 2006/07 2006 Previous In 2009: Your Home PC can run 16 threads, all simultaneously !!!
    6. 6. IA Performance Evolution 14 12 10 Relative Performance 8 6 4 2 Quad Core Dual Core 65nm 45nm 0 2002 2003 2004 2005 2006 2007 2008 Intel Single Core Intel Multi Core Quad-core Benefits a Broad Range of Workloads Up to 6-12X performance over single core
    7. 7. Looking for the opportunity to ‘wow’ your users? Performance Through Multi-Core Your apps Performance can do things that wasn’t possible before! Performance Through frequency 2006 - + Your opportunity to add surprising capabilities in your apps
    8. 8. quot;thinkquot; parallel to desing quot;wowquot; in your apps capabilities Your app’s Time GHz Era Multi-core Era You apps threads needs to run in parallel instructions. With more cores in devices, you can add more processes (speech processing, media effects) in your UX. Opportunity to design your apps with surprising capabilities!!!
    9. 9. “Think” Parallel ? Concurrency vs. Parallelism Concurrency: two or more threads are in progress at the same time: Thread 1 Thread 2 Parallelism: two or more threads are executing at the same time Thread 1 Thread 2 Multiple cores needed 10
    10. 10. Your effort to Think “parallel” with your Analysis & Design of SDLC will benefit not few, but all your customers 450 400 350 300 250 200 By 2010, all PCs shipping will be multi-core 150 100 50 0 2007 2008 2009 2010 2011 2012 Single Core Dual Core Triple Core Quad Core Hex Core Octal Core 12 Core 16 Core Surprising capabilities in your apps can be experienced by all your end-users Source: PC Semiconductor Market Briefing: Re-Architecting the PC and the Migration of Value, June 2008
    11. 11. Innovating Web2.0 business mash-ups on multicore devices (7 mins)
    12. 12. What you learnt from the demo ? With more cores on the devices , You can develop web2.0 mash-ups apps to reside on the device. (not just on web servers). Silverlight cross domain asynchronous web services. Multi-threading in Rich Internet App With more cores in devices, complex mash-ups can be deployed in devices, triggering new trends in web2.0
    13. 13. New devices from intel New usage models for you Full Intel x86 ISA compatible devices. Your software skills holds good here!. Rich Internet Applications for devices on your Pocket
    14. 14. New category of devices New customer base for you Dual-core Atom Rich Internet Applications for 1st time PC users (emerging markets & children)
    15. 15. Addressing the development lifecycle to harness parallelism DESIGN Find where to start parallelizing Gain insight on where parallelism will most benefit existing source code CODE & DEBUG Introduce threads, Parallelism , Develop effective applications with a .NET Parallel Technologies/ Multithreading VERIFY Find threading and memory errors Help ensure application reliability with proactive parallel memory and threading error checking TUNE Tune iteratively Enhance applications with performance analyzer
    16. 16. Performance optimization loop Baseline u Collect Data y v Identify Test Bottlenecks x w Apply Identify Solution Alternatives
    17. 17. Parllelism Tips Distribute the work equally among threads Load balance issue Don’t use too many shared data among threads Can increase the serial code and hurt performance and scalability Acquire lock late and release it early If not can increase the serial code
    18. 18. .NET Performance Tools • Each tool has a different focus in the top down approach • Some tools may overlap and cover multiple levels VSTS (For performance Load testing) Perfmon System Level SOS VTune CLR Profiler MS* VSTS profiler Application Level Performance Analyzer Microarchitecture Level
    19. 19. Demo #2: Approach to introduce parllelism in Your App
    20. 20. Application Level Parallelism Run the serial version of Prime generation and note down the timings Run VTune™ Analyzer on Prime and do analysis Where we have to introduce parallelism Modify the code to introduce parallelism using PFX Run the parallel version of the code Measure the performance improvements
    21. 21. Run Serial Version: Baseline timing
    22. 22. VTune™ Analysis
    23. 23. VTune™ Analysis
    24. 24. Introduce Parallelism
    25. 25. Measure Performance Gain
    26. 26. Imperative Data Parallelism Parallel.ForEach foreach( Foo myfoo in data) { ProcessFoo(); } Parallel.ForEach(data, delegate(Foo myfoo) { ProcessFoo(); }); Parallel.Do void Foo() { A() ; B() ; C() ; } void Foo() { Parallel.Do ( delegate { A() ; }, delegate { B(); }, delegate { C(); } ; }
    27. 27. Presented as Demos & Code Walkthroughs
    28. 28. Enabling “WoW’ in your UX Integrate more processes level parallelism while architecting your client/RIA apps. (4 mins)
    29. 29. What you learnt from the demo ? How to enable platform awareness in your apps. You can differentiate your apps to deliver more UX if the device is more capable. How can your apps detect the capability of the device/no. of cores and dynamically adapt to deliver the best.
    30. 30. Write once, deploy anywhere, differentiate somewhere . (7 mins)
    31. 31. What you learnt from the demo ? How to enable platform awareness in your apps. You can differentiate your apps to deliver more UX if the device is more capable. How can your apps detect the capability of the device/no. of cores and dynamically adapt to deliver the best
    32. 32. © 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.