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