Windows Server 2008 R2 Dev Session 02
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Windows Server 2008 R2 Dev Session 02

on

  • 2,321 views

Windows Server 2008 R2 for Developers Session 2 from the New Efficiency launch tour.

Windows Server 2008 R2 for Developers Session 2 from the New Efficiency launch tour.

Statistics

Views

Total Views
2,321
Views on SlideShare
2,080
Embed Views
241

Actions

Likes
0
Downloads
60
Comments
0

11 Embeds 241

http://pullareddy-wargal.blogspot.com 120
http://pullareddy-wargal.blogspot.in 41
http://www.notsotrivial.net 32
http://hosup2.blogspot.kr 15
http://hosup2.blogspot.com 14
http://www.slideshare.net 8
http://pullareddy-wargal.blogspot.com.au 4
http://hosup2.textcube.com 2
http://pullareddy-wargal.blogspot.co.uk 2
http://pullareddy-wargal.blogspot.ca 2
http://hosup2.blogspot.ca 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Multi-core and many-core systems In general, a “multi-core” chip refers to eight or less homogeneous cores in one microprocessor package, whereas a “many-core” chip has more than eight possibly heterogeneous cores in one microprocessor package. In a many-core system, all cores share the resources and services, including memory and disk access, provided by the Operating System. Microsoft and industry partners anticipate the advent of affordable general-purpose “many-core” systems in a few years.
  • Herb Sutter, Microsoft Software Architect and C++ Standards Committee Chairman, made this statement in a recent Dr. Dobb’s Journal article: http://www.ddj.com/architect/208200273)What Herb meant is that developer can no longer count upon processor speed improvements (i.e. Moore’s Law) to effectively speed-up their serial applications. Developers must now deal with Parallel Computing in order to achieve application scaling.This talk is about how Windows Server 2008 R2 and complementary tools within Visual Studio 2010 dramatically improve the situation for developers new to Parallel Computing concepts.
  • Many-core systems hold the promise of delivering 10 to100 times the processing power in the next few years. Developing applications that harness the full power of many-core systems is difficult and requires software developers to transition from writing serial programs to writing parallel programs. Applications must scale up or down according to the capabilities of the system and must adapt to changing resources and power availability.
  • Let’s start with the Platform.
  • A primary platform technology enhancement is Scalability. R2 is the first Windows release to run on more than 64 processors. No previous Windows Operating System could run on greater than 64 processors at once.Here you see a snapshot of Task Manager from a system with 256 processors. This is the biggest system we could find to test with. But, systems of this size are going to be commodity in the near future. R2 is the platform of choice when that hardware trend comes to fruition.What this means for developers is that you’ll have a great Parallel Computing Platform upon which to build new and powerful solutions. Our second session today addresses this topic in much more detail.And yes, you can tell the difference in performance… even on systems with much less resources. R2 is very fast.
  • The primary motivating factor for general-purpose parallel computing is that commodity computing hardware has changed. Multi-core systems are now available at commodity prices and the trend is that even more ‘many-core‘ systems will be available in the near future.The Operating System is now tasked with much greater system resource management requirements.And Programmers are now tasked with making the most of multi-core Systems.

Windows Server 2008 R2 Dev Session 02 Presentation Transcript

  • 1. Windows® Server 2008 R2: Develop With New Parallel Computing Technologies
    Clint Edmonson
    Architect Evangelist
    clinted@microsoft.com
  • 2. Agenda
    The Shift!
    • Why parallel computing?
    The Platform!
    The Process!
    The Tools!
  • 3. Moore’s LawOur Old Friend Gordon Moore
    From http://www.intel.com/technology/mooreslaw/
    “The number of transistors on a chip will double about every 2 years”
    Typically manifested as clock-speed increases
    We mistakenly associate Moore’s Law with CPU speed
  • 4. Why Can’t We Continue to Scale Up?Heat!
    Increased clock speed == increases power usage
    Increased power usage == increased heat output
    Image courtesy of http://www.phys.ncku.edu.tw/~htsu/humor/fry_egg.html
  • 5. Solution: Scale OutMulti-core / Many-core
    Multi-core
    Two or more independent cores (or CPUs)
    Homogenous architecture
    May be integrated onto a single integrated circuit die
    May be integrated onto multiple dies in a single chip package
    Many-core
    Number of processors exceeds traditional multi-processor techniques
    Heterogeneous architecture
    All cores share resource and services like memory and disk access
  • 6. The Free Lunch is Over
  • 7. How to Program for Parallel ComputingThe “Many-core Shift”
    Platform must manage resources effectively
    Programs must be written differently
    More than just managing threads
    Applications must scale up or down
  • 8. Agenda
    The Platform!
    • Parallel computing platform
    The Process!
    The Tools!
    The Shift!
  • 9. Got CPUs? Get R2… Your Apps Will Fly!
  • 10. Windows Server 2008 R2Platform Hardware Trends
    Power Efficiency
    Multicore & NUMA
    64-bit
    Virtualization
  • 11. Helpful Terminology
    Logical processor (a.k.a. thread execution engine)
    Core
    A processing unit
    With hyper-threading, it can consists of 2 or 4 logical processors
    Socket(a.k.a. processor, package, CPU)
    Physical processor
    Consists of one or more cores
    NUMA node
    Set of logical processors and cache that are close to one another
    Group
    1 or more NUMA nodes
    Set of up to 64 processors
  • 12. Windows Organizes Many-Cores via GroupNew with Windows 7 and Windows Server 2008 R2
    Group
    NUMA = Non-Uniform Memory Access
    LP = Logical Processor
    NUMA Node
    Socket
    Socket
    Core
    Core
    LP
    LP
    LP
    LP
    Core
    Core
    NUMA Node
  • 13. Processor GroupsGroups, 4 Nodes, 8 Sockets, 32 Cores, 4 LPs/Core = 128 LPs
    Group
    Group
    NUMA Node
    NUMA Node
    NUMA Node
    NUMA Node
    Socket
    Socket
    Socket
    Socket
    Socket
    Socket
    Socket
    Socket
    Core
    Core
    Core
    Core
    Core
    Core
    Core
    Core
    Core
    Core
    Core
    Core
    Core
    Core
    Core
    Core
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    Core
    Core
    Core
    Core
    Core
    Core
    Core
    Core
    Core
    Core
    Core
    Core
    Core
    Core
    Core
    Core
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
    LP
  • 14. Windows on 256 Processors
    A SQL Server Transaction Processing Workload
    video
  • 15. Agenda
    The Process!
    • Introducing parallelism into your applications
    The Tools!
    The Shift!
    The Platform!
  • 16. Visual Studio 2010 (.NET Developer)Tools, Programming Models, Runtimes
    Tools
    Programming Models
    Parallel LINQ
    (PLINQ)
    Task ParallelLibrary
    Parallel
    Debugger Tool Windows
    Data Structures
    .NET Parallel Extensions
    Parallel
    Profiler
    Analysis
    Task Scheduler
    Resource Manager
    .NET Runtime
    Threads Pools
    Managed Library
    Tools
  • 17. Demystifying Parallel Programming
    Parallel Extensions Make It Easy
    demo
  • 18. 3 Ways to Express Parallelism in Your Apps
    Imperative Task Parallelism (fine grained)
    Imperative Data Parallelism (structured)
    Declarative Data Parallelism (PLINQ)
  • 19. Imperative Task Parallelism
    Fine-grained parallelism
    Express potential parallelism via expressions and statements that take the form of lightweight tasks
    You have fine-grained control
    Semantic is similar to how threads and the threadpool work today
  • 20. Imperative Data Parallelism
    Structured parallelism
    Mechanisms used to express common imperative data-oriented operations
    For loops
    For each loop
    Invoke
    Think in terms of blocks of code
    Parallelize loops
  • 21. Declarative Data Parallelism
    PLINQ
    Implementation of LINQ-to-objects that execute queries in parallel
    Express what you want to accomplish, rather than how you want to accomplish it
    Minimal impact to existing queries
  • 22. Visual Studio 2010 (C++ Developer)Tools, Programming Models, Runtimes
    Tools
    Programming Models
    Agents
    Library
    Parallel PatternLibrary
    Parallel
    Debugger Tool Windows
    Data Structures
    C++ Concurrency Runtime
    Parallel
    Profiler
    Analysis
    Task Scheduler
    Resource Manager
    Operating System
    Threads
    Win7/R2: UMS Threads
    Native Library
    Tools
  • 23. Agenda
    The Tools!
    • Visual Studio 2010
    The Shift!
    The Platform!
    The Process!
  • 24. Debugging Parallel ApplicationsNew in Visual Studio®2010
    Two new debugger tool windows:
    “Parallel Tasks”
    “Parallel Stacks”
  • 25. Demystifying Parallel Programming
    Debugging A Parallel Application
    demo
  • 26. Parallel Performance AnalyzerCore Utilization View
    Profiling tools support multi-core/parallel execution
    Identify parallelism opportunities
    Enable performance tuning for parallel apps
    Improving the productivity of parallel development and performance tuning
    Integrated with the IDE
    Providing better visualizations
    Showing temporal relationships
    Illustrating Interactions with OS, libraries and I/O
    Exposing causes of inefficiency
    Providing actionable data by linking behavior to source code whenever possible
    Analysis Views
    Core utilization and concurrency
    Thread blocking
    Cross-core thread migration
    Platforms
    Windows Vista ®, Server 2008, and Windows 7
    32 and 64-bit
    Native and managed environments
    Core Utilization / Concurrency
    View
    Other processes
    Number of cores
    Idle time
    Your process
  • 27. Parallel Performance AnalyzerThread Blocking View
    Measure time for interesting segments
    Hide uninteresting threads
    Zoom in and out
    Detailed thread analysis
    (one channel per thread)
    Legend
    Thread execution
    breakdown
  • 28. Parallel Performance AnalyzerCore Execution / Thread Migration View
    Each core in a swim lane
    One color per thread
    This thread migrates across all four cores
    Red indicates cross-core migrations
  • 29. SummaryCall-to-Action
    Start learning to think in parallel
    Consider how your solution will scale on multi-core systems
    Utilize the parallel programming platform and tools to maximize your application scalability
  • 30. Learn More About Windows Server 2008 R2
    Resources
    • Microsoft.com
    • 31. http://www.microsoft.com/windowsserver2008/en/us/R2.aspx
    • 32. MSDN Concurrency Developer Center
    • 33. http://msdn.microsoft.com/concurrency
    • 34. Developer Team Blogs
    • 35. http://blogs.msdn.com/nativeconcurrency
    • 36. http://blogs.msdn.com/pfxteam
    • 37. http://blogs.technet.com/winserverperformance
    • 38. http://www.danielmoth.com/Blog/labels/ParallelComputing.html
  • Visual Studio 2010 with MSDNand The Ultimate Offer
    Presenter Name Jerry Flynn
    Presenter Title Developer Solution Specialist
    Microsoft Corporation
    presenter Email jerryfl@microsoft.com
  • 39. © 2009 Microsoft Corporation. All rights reserved.
    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.