Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Windows 7 V2 Vineet


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Windows 7 V2 Vineet

  1. 1. Back to the OS<br />Vineet Gupta<br />GM – Software Engineering, Directi<br /><br />
  2. 2. It’s Commodity – Why Bother!<br />
  3. 3. Meet the New PC<br />Apple Mac Pro<br />3.0 GHz Intel Xeon<br />8 Cores<br />
  4. 4. Intel TeraScale – 80 Cores in 5 years<br />Source:<br />
  5. 5. Welcome to Many-Core<br />
  6. 6. The Free Lunch is Over<br />No more “Old apps get faster on newer hardware”<br />To make apps take advantage of new hardware, you need to utilize more cores<br />99% of code is serial!<br />Impact is even higher on Desktop<br />
  7. 7. Disk Is Tape<br />The straw to disk is getting skinnier<br />Each generation:<br />Capacity increases with areal density<br />Read/Write time with linear density<br />10+ Terabyte disks projected for 2010 ( $100 or so)<br />5-15 hours read sequentially<br />15-150 days to read randomly<br />Need to Treat Most of Disk as Cold Storage<br />
  8. 8. SATA Disks 40XCheaper per GB (2007)<br />A Fat Straw RemainingFat as Capacity Rises<br />Flash Is Disk<br />Current TrendsShow Price<br />Crossoverin 2012 or so…(SATA = Flash)<br />Flash capacity doubled each year since 1995<br />Market driven by phone, camera, iPod<br />Low entry-cost  $30/chip  $3/chip<br />Flash makes a better “disk” than disk<br />5000 I/Os per second<br />Read 20MB/sec; Write 10MB/sec (per chip)<br />N chips  N * Bandwidth<br />8 chips plus controller  1 Watt !<br />Flash Is COOL!<br />2010: 128GB Flash disk for $40<br />
  9. 9. Storage Is Changing<br />Flash Is Disk…<br />Disk Is Tape…<br />Tape Is Dead…<br />Flash Is Cool…<br />
  10. 10. The OS is far from being commodityPlease do bother!<br />
  11. 11. Agenda<br />Parallelism<br />Storage<br />User Interaction<br />Power<br />Security<br />Management<br />
  12. 12. Parallelism<br />
  13. 13. Concurrency is Hard<br />
  14. 14. Applications<br />Automotive control system <br />Internet – based photo services<br />Applications<br />Robotics-based manufacturing assembly line<br />Silverlight Olympics viewer<br />IFx / CCR<br />Task Concurrency<br />WCF<br />Agents<br />Maestro<br />TPL / PPL<br />WF<br />Local Computing<br />Distributed Cloud Computing<br />Applications<br />Ultrasound imaging equipment <br />Media encode/decode<br />Image processing/ enhancement<br />Data visualization<br />Applications<br />Enterprise search, OLTP, collab<br />Animation / CGI rendering<br />Weather forecasting<br />Seismic monitoring<br />Oil exploration<br />Data Parallelism<br />Cluster SOA<br />PLINQ<br />D-PLINQ<br />TPL / PPL<br />OpenMP<br />D-TPL<br />MPI / MPI.Net<br />CDS<br />Parallel Technologies from Microsoft<br />
  15. 15. Parallelism and the Software Stack<br />Constructing Parallel <br />Applications <br />Applications<br />Libraries<br />Efficiently Executing<br />Parallel Applications<br />Languages, Compilersand Tools<br />Concurrency Runtime<br />CoordinatingSystem Resources and Services <br />OS/Hypervisor<br />OS/Hypervisor<br />Hardware<br />
  16. 16. Windows 7 Proccessing Unit Scaling<br />128 Logical Processor System<br />Group <br />(up to 64 logical processors)<br />NUMA Node<br />Socket <br />Core<br />Logical Processor<br />
  17. 17. Windows 7 Processing Unit Scaling<br />Segmented specification – “groups” of CPUs<br />CPUs identified in software by Group#: CPU# <br />Allows backward compatibility with 64-bit affinity<br />New applications have full CPU range using new APIs<br />Permits better locality during scheduling than a “flat” specification<br />
  18. 18. Enabling Concurrency Runtimes<br />Reducing kernel intervention in thread scheduling with User Mode Scheduling (UMS)<br />User<br />Thread<br />4<br />User<br />Thread<br />3<br />User<br />Thread<br />5<br />User<br />Thread<br />6<br />Core 2<br />Core 2<br />Core 1<br />Core 1<br />Thread<br />4<br />Thread<br />5<br />User<br />Thread<br />1<br />Thread<br />3<br />Thread<br />1<br />Thread<br />2<br />Thread<br />6<br />User<br />Thread<br />2<br />Kernel<br />Thread<br />1<br />Kernel<br />Thread<br />2<br />Non-running threads<br />Kernel<br />Thread<br />4<br />Kernel<br />Thread<br />3<br />Kernel<br />Thread<br />5<br />Kernel<br />Thread<br />6<br />
  19. 19. Storage<br />
  20. 20. Storage Technologies<br />Growing gap between HDD and DRAM<br />FLASH is here today – “solid state storage”<br />No mechanics like HDD<br />Persistent unlike DRAM<br />Flash performance is complementary to HDD and DRAM<br />PCM is potentially a new layer<br />30x faster than today’s FLASH<br />No write limit <br />Being developed – future is not yet clear<br />IOPS<br />$/GB<br />HDD<br />PCM<br />DRAM<br />?<br />70s EEPROM($10K/GB)<br />1997 Digital photo – killer application ($1K/GB)<br />2005 Mobile applications($20/GB) <br />Flash<br />1987 FLASH invented($5K/GB)<br />2003 Digital music ($100/GB)<br />2006 Computing UFDs($5/GB)<br />
  21. 21. Windows 7 Enables Improved Endurance for SSD Technology <br />SSD can identify itself differently from HDD in ATA<br />Reporting non-rotating media will allow Windows 7to set Defrag off as default; improving device endurance by reducing writes<br />
  22. 22. Best Of Both Worlds<br />Small cache with different characteristics than Primary Store<br /><ul><li>Flash has faster random performance than HDD</li></ul>Caching benefit determined by <br /><ul><li>Type & speed of cache
  23. 23. Cache management method</li></ul>I/F (SATA)<br />Buffer (DRAM)<br />Cache (Flash)<br />Performance & Power defined by Size & RPM<br /><ul><li>Incremental improvements gen-to-gen
  24. 24. Fast sequential performance
  25. 25. Random performance limited by mechanical latency</li></ul>Delivers Affordable Capacity<br />Primary Store (disc)<br /><ul><li>Reliability gains come with integrating the flash-cache into the drive</li></li></ul><li>User Interaction - Touch<br />
  26. 26. Multi-Touch Capable PCs Are Available Today<br />HP TouchSmart<br />All-in-one PC with 2-touch digitizer from NextWindow<br />Dell Latitude XT<br />Laptop with Multi-touch and pen digitizer from N-Trig<br />
  27. 27. Key Scenarios:<br /><ul><li>Navigating and consuming the web
  28. 28. Reading & sorting email
  29. 29. Viewing photos
  30. 30. Playing casual games
  31. 31. Consuming music and video
  32. 32. Navigating files & arranging windows
  33. 33. Using Office applications
  34. 34. All focused on consumption</li></ul>Touch Scenarios And Windows 7<br />Areas of investment:<br />Developer Platform: At the root is the touch developer platform that exposes touch APIs for any application <br />UI Enhancements: Focusing on the core scenarios, many parts of the core UI have been optimized for touch experiences. <br />Gestures: Multi-touch gestures have been added to enable consistent panning and zooming in most applications.<br />Applications: A set of multi-touch focused applications that demonstrate the power of touch. These will ship separate from Win7.<br />
  35. 35. Windows 7 Release<br />NET 4.0 / Surface 2.0 Release<br />Native<br />Win32<br />Application<br />WinFormsApplication<br />WPF Application<br />Surface Application<br />Surface SDK<br />1.0<br />Surface SDK 2.0<br />Multi-Touch Controls<br />Surface <br />Multi-Touch Controls & API<br />Multi-Touch API<br />WPF 3.5 SP1<br />WPF 4.0<br />WPF 3.5<br />Managed Wrapper and Interop<br />Managed Wrapper and Interop<br />Multi-Touch API and Controls<br />Surface Hardware<br />Windows 7<br />Surface Hardware<br />Windows Vista<br />Windows 7<br />Multi-Touch API<br />Touch Development Roadmap<br />
  36. 36. Touch Platform Overview<br />
  37. 37. User Interaction - Readability<br />
  38. 38. Unexploited High Resolution Displays<br />Users with Max Resolution of 1600X1200<br />Details<br />Almost half of all of users are not configuring their display to maximum resolution (!)<br />Users are lowering their screen resolution to get larger text…<br />
  39. 39. High DPI Issues<br />Clipped Text<br />Layout Issues & Image Size Issues<br />WinForms Issues<br />Pixilated Bitmaps<br />Blurry UI<br />Mismatched Font Sizes<br />
  40. 40. Configure DPI via Display CPL<br />Windows 7 uses Scaling percentage instead of a raw DPI value<br />This is because most users don’t understand DPI<br />100% = 96 DPI, 125% = 120 DPI, 150% = 144 DPI<br />
  41. 41. DPI Settings Change System Metrics<br />Font and Text<br />When the DPI increases the UI uses more pixels to draw icons, UI controls (e.g. scrollbars), and Text.<br />
  42. 42. System Text Size Increases with DPI<br />This is the letter “N” blown at 1300% using a magnifier.<br />Notice the number of pixels used increases with DPI. <br />Also notice the sub-pixel coloration from ClearType, which is why native resolution is important.<br />96 DPI<br />(11 pixels)<br />120 DPI<br />(13 pixels)<br />144 DPI<br />(16 pixels)<br />
  43. 43. Desktop Composition Primer (DWM)<br />DWM Composes the Desktop<br />With DWM, all apps render off-screen and are composed by DWM at the screen refresh rate. <br />These off-screen surfaces are also used for Thumbnails and for Flip 3D<br />Off-screen Memory Surface<br />
  44. 44. DPI Virtualization (Automatic Scaling)<br />DWM Scales A at composition time<br />A is not DPI Aware, and renders in a 96-DPI virtualized context<br />System metrics for A are in a 96-DPI virtualized space.<br />A is given a 96-DPI surface to render into (smaller).<br />B is DPI-Aware<br />
  45. 45. DPI Virtualization Compatibility<br />Can be disabled per-application by right-clicking the app and selecting Properties -&gt; compatibility.<br />Note that DPI virtualization is only on by default if the DPI is set to 144 or greater.<br />This can also be disabled globally via the “custom DPI” dialog (below).<br />
  46. 46. DirectWrite<br />Modern Typography<br />Works with any rendering technology<br />Hardware accelerated text with Direct2D<br />ClearType filter and blend performed in hardware<br />Enables app-level hardware caching optimizations<br />Reduced CPU usage in Windows OS components when drawing glyphs<br />
  47. 47. DirectWrite Script Support<br />الْعَرَبِيَّة<br /> Հայերէն<br /> বাংলা<br /> ㄓㄨˋ ㄧㄣㄈㄨˊ ㄏㄠˋ <br />ᐃᓄᒃᑎᑐᑦ<br /> ᏣᎳᎩ<br />简体汉字<br />繁体漢字<br />Кириллица<br />𐐔𐐯𐑅𐐨𐑉𐐯𐐻<br />देवनागरी<br />ግዕዝ<br />მხედრული<br />Ελληνικό<br />ગુજરાતી<br />ਗੁਰਮੁਖੀ<br />עִבְרִית<br />ひらがな、カタカナ、漢字<br />ಕನ್ನಡ<br />អក្ខរក្រមខេមរភាសា<br />ශුද්ධ සිංහල<br />ܠܫܢܐ ܣܘܪܝܝܐ<br />ᥖᥭᥰᥖᥬᥳᥑᥨᥒᥰ<br />தமிழ்<br />తెలుగు<br />ތާނަ<br />ⵜⵉⴼⵉⵏⴰⵖ<br />อักษรไทย<br />དབུ་ཅན་<br />ꕙꔤ<br />ꆈꌠꁱꂷ<br />한글<br />ພາສາລາວ<br />Latin<br />മലയാളം<br />ᠮᠣᠩᠭᠣᠯ ᠪᠢᠴᠢᠻ<br />ᦟᦹᧅ ᦎᦷ ᦑᦺ<br />ߒߞߏ<br />𐒋𐒘𐒈𐒑𐒛𐒒𐒕𐒀<br />ଓଡ଼ିଆ<br />ꡍꡂꡛꡌ<br />
  48. 48. DirectWrite – Precise Glyph Shapes<br />
  49. 49. Power<br />
  50. 50. Deep Focus on Idle<br />
  51. 51. Frequent Idle Activity<br />Specific Windows 7 improvements<br />Eliminate TCP DPC timer on every system timer interrupt<br />Reduce frequency of USB driver maintenance timers<br />Intelligent Timer Tick Distribution (ITTD)<br />Timer Coalescing<br />Eliminate idle activity in drivers and applications<br />Target average idle period greater than 100ms<br />
  52. 52. Background Process Management<br />Background activity on the macro scale (minutes, hours) also important for power<br />E.g., disk defragmentation, AV scans<br />Prevents low-power idle and sleep modes<br />Unified Background Process Manager (UBPM)<br />New Windows 7 infrastructure<br />Drives scheduling of services and scheduled tasks<br />Transparent to users, IT pros, and existing APIs<br />Enables trigger-starting services<br />Delivers usage data and metrics to Microsoft via CEIP<br />
  53. 53. Trigger-Start Services<br />Many services configured to Autostart and wait for rare events<br />UBPM enables Trigger-Start services based on environmental changes<br />Device arrival/removal, IP address change, domain join, etc.<br />Examples<br />Bluetooth service is started only if a Bluetooth radio is currently attached<br />BitLocker encryption service started only when new volumes detected<br />Call to Action<br />Leverage trigger-start capability for value-add services<br />Validate performance impact with XPerf tools<br />
  54. 54. Security<br />
  55. 55. Why Data Protection Matters<br />“Some of the largest and medium-sized U.S. airports report close to 637,000 laptops lost each year, according to the Ponemon Institute survey released Monday.”<br />—PC World June 2008<br />“More than 100 USB memory sticks, some containing secret information, have been lost or stolen from the Ministry of Defense since 2004, it has emerged.”<br />—BBC News July 2008<br />
  56. 56. BitLocker ArchitectureStatic root of trust measurement of early boot components<br />
  57. 57. Disk Layout and Key Storage<br />Operating System Volume <br />Contains<br />Encrypted OS<br />Encrypted page file<br />Encrypted temp files<br />Encrypted data<br />Encrypted hibernation file<br />Where’s the Encryption Key?<br />SRK (Storage Root Key) contained in TPM <br />SRK encrypts the VMK (Volume Master Key)<br />VMK encrypts FVEK (Full Volume Encryption Key) – used for the actual data encryption<br />FVEK and VMK are stored encrypted on the Operating System Volume<br />VMK<br />FVEK<br />SRK<br />2<br />3<br />Operating System Volume<br />1<br />4<br />System Volume <br />Contains<br /> MBR<br /> Boot Manager<br /> Boot Utilities<br />System<br />
  58. 58. BitLocker in Windows 7<br />
  59. 59. The UAC Prompt<br />They allow the user<br />to do privileged<br />operations when<br />needed<br />These are UAC elevations<br />Things an Administrator<br />Can do<br />Things a standard<br />User can do<br />Things a real user<br />Needs to do<br />While highlighting<br />that these are privileged<br />operations that you don’t want<br />to happen without your consent<br />
  60. 60. What Are These Elevations?<br />Some are necessary<br />Install or uninstall software<br />Change firewall settings<br />Change system time<br />Don’t want malware doing this …<br />Some are not so necessary<br />Applications making unnecessary use of registry keys<br />Change time zone (a Vista enhancement)<br />Viewing (not changing) system settings<br />
  61. 61. Management<br />
  62. 62. Federated Search<br />Enterprise information is growing at 40% annually<br />Data is moving off desktops and into central document management systems<br />Collaboration<br />Information sharing <br />Client search of remote Enterprise data repositories is a compelling need<br />
  63. 63. Federated Search<br />Rich client experience<br />Previews, metadata, drag-and-drop<br />Familiar Windows Explorer paradigms<br />Simple and lightweight integration<br />No client code<br />Any server platform<br />Standards-based<br />OpenSearch 1.1<br />RSS and ATOM<br />Authentication<br />Windows Integrated <br />2. Windows sends search terms as HTTP request<br />1. Search Connector (.osdx) Installed<br />3. RSS results returned from server<br />
  64. 64. Manageability<br />
  65. 65. In Summary<br />Parallelism<br />Storage<br />User Interaction<br />Power<br />Security<br />Management<br />
  66. 66. Questions?<br />
  67. 67. Thanks!<br />