windows x64 and ipf support overview and roadmap clyde rodriguez group program manager windows core...
Post on 23-Dec-2015
216 Views
Preview:
TRANSCRIPT
Windows x64 and IPF SupportWindows x64 and IPF SupportOverview and RoadmapOverview and Roadmap
Clyde RodriguezClyde RodriguezGroup Program ManagerGroup Program ManagerWindows Core OS DivisionWindows Core OS DivisionClydeR @ microsoft.comClydeR @ microsoft.comMicrosoft CorporationMicrosoft Corporation
AgendaAgenda
64-bit Windows Mission and Roadmap
Architectural Overview
Design Goals
Riding the 64-bit wave
Call to Action and Resources
Session GoalsSession Goals
Greater awareness of Microsoft’s commitment to 64-bit computing
A better technical understanding of Windows support plans for 64-bit architectures
Knowledge and resources to help you implement support for 64-bit Windows in your own product roadmap
Windows 64-Bit MissionWindows 64-Bit Mission
Foundation: Establish the foundation for pervasive 64-bit computing
Performance: Give customers the ability to do more faster than previously possible
Security: Protect customers from malicious code with greater security enhancements than ever before
Compatibility: Ensure unprecedented compatibility that eases customer transition from 32-bit environments
Community: Enable our partners to join the transition by delivering tools, resources and 64-bit training programs
On the Brink of a Generational ShiftOn the Brink of a Generational ShiftYou Play a Profound Role in Enabling That Shift!
Our work with Itanium began laying the foundation for the emergence of pervasive 64-bit computing
New releases of Windows x64 Editions announced today will accelerate that transition
32- and 64-bit support on the same chip for the same price with greater power
Signs already evident in any major computer retailerx64 laptops and sub $1,000 PCs abound
Only the beginning
By the end of 2005, most new systems will contain x64 processors from AMD and Intel
Supported 64-Bit Processor ArchitecturesSupported 64-Bit Processor Architectures
x64(64-bit Extensions)
IPF(Itanium Processor Family)
Based on 64-bit extensions to x86 instruction set
Runs 32-bit (and even 16-bit) operating systems and applications
Runs only 64-bit code specifically compiled for x64
Does not run 64-bit code compiled for IPF
Lets customers take advantage of their 32-bit Windows application investments
Based on Explicitly Parallel Instruction Computing (EPIC) architecture
Runs 32-bit applications (but not 32-bit operating systems)
Runs only 64-bit code specifically compiled for Itanium
Does not run 64-bit code compiled for x64
Gives customers the highest levels of scalability on the Windows platform
Windows Releases by Source Code BaseWindows Releases by Source Code Base
Windows XP(Build 2600)Code Base
WindowsServer 2003Code Base
Windows XP
Windows XP SP1, SP2, …
Windows Server 2003
Windows Server 2003 SP1
Windows x64 Editions
WindowsWindows XP Professional x64 EditionXP Professional x64 EditionOverview - The Best of XP Pro and More…
Windows XP Professional FeaturesWindows Firewall
Wireless support
Bluetooth
Windows Movie Maker
Home Networking Wizard
System Restore
Wide range of peripheral support
SecurityIncludes XP SP2 enhancementsSecurity CenterBuilt on top of Windows Server 2003 code base
Stronger Security Settings and ToolsPatch GuardSafer browsing and email
New FunctionalityExploits the power of 64-bit addressing to allow up to 16 terabytes of virtual memory space
Dramatically increased physical memory support -128 GB
Greater performance due to architectural enhancements
Optimized for processors with x64 technology
Seamlessly run both 32-bit and 64-bit
Key Differences: Windows XP x86 vs. x64Key Differences: Windows XP x86 vs. x64
Code Base Servicing32-bit XP and all subsequent service packs (SP1 and SP2) created from the 2001 Windows XP Build 2600 baseWindows XP servicing updates will not work on Windows XP Professional x64 Edition (updates tagged explicitly for x64)
X64 FeaturesNo support for DOS, 16-bit applicationsRequires 64-bit native kernel mode drivers (more on this later)
Performancex64 benefits from additional registers provided by the x64 processorsx64 provides up to 4GB per 32-bit process; x86 provides at most 3GB (ignoring AWE/PAE techniques)x64 delivers on par performance with 32-bit applications
SecurityWindows XP SP2 introduces major advances in client securityWindows XP Professional x64 Edition contains all XP SP2 enhancements plus also benefits from additional security work on the Windows Server 2003 code base
Product 32-bitx86
64-bitx64
64-bit Itanium
Windows Server 2003 Datacenter Edition
Up to 32-way,
64 GB RAM
Up to 64-way,
1 TB RAM
Up to 64-way,
1 TB RAM
Windows Server 2003 Enterprise Edition
Up to 8-way,
64 GB RAM
Up to 8-way,
1 TB RAM
Up to 8-way,
1 TB RAM
Windows Server 2003 Standard Edition
Up to 4-way,
4 GB RAM
Up to 4-way,
32 GB RAMn/a
Windows Server 2003Web Edition
Up to 2-way,
2 GB RAMn/a n/a
Windows Server 2003 FamilyWindows Server 2003 Family
64-Bit Windows Localization64-Bit Windows Localization
Product Full Localization
Multi-Lingual User Interface (MUI) Pack
Windows Server 2003 for Intel Itanium
Japanese, German and
French
Japanese, German, French, Spanish, Italian and Korean
Windows XP Professional x64 Edition
Japanese Japanese, German, French, Italian, Spanish, Swedish, Korean, Simplified Chineseand Traditional Chinese
Windows Server 2003 x64 Editions
Japanese Japanese, German, French, Italian, Spanish, Korean, Simplified Chinese and Traditional Chinese
x64 Design Goal: Memory Addressabilityx64 Design Goal: Memory Addressability
1 Applications must be compiled with /LARGEADDRESSAWARE and the /3GB switch must be included in the BOOT.INI configuration file
2 Applications must be compiled with /LARGEADDRESSAWARE, but the /3GB switch is not included in the BOOT.INI configuration file
3 Extended with Windows Server 2003 SP1
General Memory Limits x86 x64 & Itanium
Total Virtual Address Space 4 GB 16 TB
Virtual Address Space per 32-bit process
2 GB / 3 GB 1 2 GB / 4 GB 2
Virtual Address Space per 64-bit process
Not Applicable 8 TB
Paged Pool 470 MB / 650 MB 3 128 GB
Non-Paged Pool 256 MB 128 GB
System Cache 1 GB 1 TB
x64 Design Goal: Securityx64 Design Goal: Security
A core part of everything we do in Windows development
Strengthening the existing code baseImproved source code scanning tools generate warnings that help focus test and development efforts
Drove hardcore discipline among engineering team in pursuing every issue identified from multiple sources
In-depth analysis of Watson data and use of improved compiler features
New practices afforded by a new platformCalling conventions provide intrinsic security
Blocks patching of kernel components by non-OS code
Improved tools
Incorporates XP SP2 security improvements
Windows XP Professional x64 further benefits from historical Windows Server code base security drives
x64 Design Goal: Performancex64 Design Goal: Performance
Greater physical memory support eliminates 32-bit bottlenecks, page faults and also gives developers greater headroom to create more efficient algorithms
Good percentage of 32-bit application code dedicated to managing memory constraints
Excellent code optimization tools such as Profile Guided Optimization
x64 Design Goal: Performance (con’t)x64 Design Goal: Performance (con’t)
Much greater system capacity and scalability1MM TCPIP connections tax only ~2.5 GB of non-paged pool
Servers can hosts vastly more applications and users (see Terminal Server talk for a great example)
No performance penalty when running 32-bit applications2GB user and system virtual address limitation has been a major bottleneck for server workloads
Benefits from 4 GB of user, unlimited system virtual address and more registers
Windows team example: reduced daily build times by 66% simply by moving to Windows on x64 hardware
Direct impact to team productivity and development costs
x64 Design Goal: Compatibilityx64 Design Goal: Compatibility
“Price” compatibility: on par with 32-bit systems
Excellent 32-bit support is paramount to enabling 64-bit computing transition
WOW64 component seamlessly presents a 32-bit environment to 32-bit applications
x64 processor architecture allows for native execution of 32-bit code with virtually zero emulation overhead
Performance on par with x86 systems and even faster for some code paths due to additional architecture resources under x64
Supports .NET Framework applications
x64 Design Goal: Compatibility (con’t)x64 Design Goal: Compatibility (con’t)
Few exceptions:32-bit processes cannot load 64-bit ones and vice versa
Example: Internet Explorer and ActiveX controls
Several programming techniques (COM, RPC) allow for cross-architecture data exchange and communication
No support for 16-bit code except for some 16-bit installers that Windows transparently swaps with compatible 32-bit versions
All kernel mode drivers must be 64-bit
How Does WoW64 Work?How Does WoW64 Work?
Intercepts system calls from 32-bit applicationsTransitions to 64-bit mode
Converts 32-bit data structure into 64-bit aligned structures
Issues the native 64-bit system call
Writes back any output data from the 64-bit system call
Returns to 32-bit mode
WoW64 core consists of:WoW64.dll – Manages process and thread initialization, exception dispatching to 32-bit code and intercepts base system calls
WoW64win.dll – Intercepts GUI system calls
WoW64cpu.dll – Manages thread contexts and has processor architecture specific support for switchingCPU modes
WoW64 RedirectionWoW64 Redirection
Windows installs and registers 64-bit and 32-bit system files
System Files32-bit system files are copied to %windir%\sysWoW64 and are identical to their 32-bit Windows counterpart
64-bit system files are copied to %windir%\system32
Program Files32-bit applications install transparently to %SystemDrive%\Program Files (x86)
64-bit applications install to %SystemDrive%\Program Files
WoW64 Redirection (con’t)WoW64 Redirection (con’t)
File System Redirection for 32-bit applications%systemroot%\system32\*.* is mapped to %systemroot%\syswow64\*.*
Registry Redirection for 32-bit applicationsAll 32-bit only keys are intercepted and mappedinto a branch under:
HKEY_LOCAL_MACHINE\Software\WOW6432Node
Case Study: Microsoft.COM
microsoft.commicrosoft.com
Fourth most visited web site on the Internet
Performance and Load Characteristics90 Internet Sites / 1100 DBs / 1000s Web Applications
130,000 Requests/Sec & 500,000 concurrent connections
40+ Gbit/Sec Network Traffic (Egress)
50M+ Downloads/Day & 20M+ Unique Users/Day
75M+ Unique Users per month
www.microsoft.com 100% Hosted on www.microsoft.com 100% Hosted on Windows Server 2003 x64 EditionWindows Server 2003 x64 Edition
SituationSituationWasted time working Wasted time working around 32-bit limitationsaround 32-bit limitations
Constantly running out of Constantly running out of virtual memoryvirtual memory
Transition ExperienceTransition ExperienceSmooth hardware/software Smooth hardware/software migrationmigration
No more memory crunchNo more memory crunch
Full benefits of x64 kernel Full benefits of x64 kernel even with 32-bit appseven with 32-bit apps
Migration ApproachMigration Approach
HardwarePurchased x64 hardware given its ability to host both 32 and 64-bit Windows
Installed 32-bit Windows first to help incrementally test software stack
Migrated to 64-bit Windows on the same hardware as each component was validated
SoftwareRely extensively on 32-bit code not yet ported to 64-bit
Required zero development effort: WOW64 supported 32-bit code right out of the box
Benefited tremendously from 4GB address space per 32-bit process
Comparative Study: Hardware SpecificationComparative Study: Hardware Specification
72 x64 4-way servers
Enables significant head room for future growth with half the servers
Significantly reduces manageability costs
Greatly improves performance and hardware availability
x86 x64
Processor 4 x 2.0 GHz 4 x 2.2 GHzRAM 4 GB 16 GBOS Version Windows Server
2003 Enterprise Edition SP1
Windows Server 2003 Enterprise x64 Edition
Average Server Response TimesAverage Server Response Times
x86 x64
RequestType
Requests/sec
ResponseTime (ms)
Requests/sec
ResponseTime (ms)
ASP 7.85 244 7.41 53
ISAPI 110.85 248 125.43 18
Static 41.9 135 31.01 3
Static(cached)
47.11 1 54.51 1
Five Longest Response Times Per PlatformFive Longest Response Times Per Platform
x86(sec)
x64(sec)
Improvement
79.3 5.1 15.5 x
53.5 4.7 11.3 x
49.4 2.8 17.7 x
47.7 2.7 17.4 x
44.8 2.6 17.4 x
CPU UtilizationCPU Utilization
x64
Average 35% CPU utilization
No process recycling required
x86
Average 65% CPU utilization
Worker processes would run out of memory; recycling required
/3GB switch not much help
x64 Design Goal: Communityx64 Design Goal: Community
Development environment virtually identical to Win32
Short learning curve makes porting easy
Single-source developmentEnabled by new data abstraction types that mask their “bitness” until compile time (search “64-bit” at msdn.microsoft.com for details)
Greatly simplifies porting and reduces development costs
ToolsDevelopment kits released to developer community (June 2002) far earlier than larger technical beta community (September 2003)
Provide the same core tools and libraries used by Windows team
64-bit Visual Studio support coming later this year
OEM Pre-Installation Kit (OPK) is virtually identical to 32-bit counterpart to ease manufacturing transition
Resources: samplingPorting labs
Route64 training events
Code Portability – Windows ExampleCode Portability – Windows Example
Windows binary versions for a given release are created from the same portable source base
A single binary version of Windows for x64 supports both AMD’s AMD64 and Intel’s EM64T architectures
Windows x64 supports the same APIs and coding practices in use by developers today
Companies can easily port 32-bit applications or device drivers to x64 using simple cross-platform coding rules
WindowsServer 2003
CodeBase
Itanium compiler Windows Server 2003 SP1 (Itanium)
x86 compiler Windows Server 2003 SP1 (x86)
x64 compiler Windows XP / Server 2003 (x64)
Driver Support – Number One Adoption BarrierDriver Support – Number One Adoption Barrier
All kernel-mode device drivers must be 64-bit
What we are doing to help:Released multiple Driver Development Kits (DDK) with every interim build drop since the first x64 alpha release in June 2002
Held training workshops
Conduct extensive evangelism throughout the industry
Publish x64 porting information http://www.microsoft.com/whdc/system/platform/64bit/default.mspx
Taking care of the end-userAnticipate many customers will attempt to install 32-bit drivers on their 64-bit systems
Key reason we implemented driver INF decoration to explicitly tag 64-bit drivers as supporting the x64 architecture
OS will block installation of non-decorated drivers and provides a more useful message to the end-user than possible without decoration
http://www.microsoft.com/whdc/driver/install/64INF_reqs.mspx for help with this requirement
Paths to 64-Bit WindowsPaths to 64-Bit Windows
32-bitServer Hardware
32-bitDevice Drivers
32-bitWindows
32-bitApplications
Pure 32-bit Stack
x64
32-bit
32-bit
32-bit
x64
x64
x64
Itanium
Itanium
Itanium
Itanium
x64
x64
x64
x64
Pure 64-bit Stack
Most of today’s server install base are purely 32-bit
With the x64 release of Windows, customers will start combining 32-bit and 64-bit applications on the same system
Over time, customers will increasingly use pure 64-bit stacks based on x64 and Itanium
Net result is a smooth transition path to 64-bit computing
32-bit
x64
Microsoft x64 Technical Readiness ProgramsMicrosoft x64 Technical Readiness Programs
Route-64 Developer Program
- Tour through cities worldwide
Talk-64 Developer Webcasts
3 day hands-on training program
Technical Beta Program Developer access to latest builds
Actively file bugs
8k participants
Customer Preview Program Broad evaluation programs for x64
350K+ participants
Technology Adoption Program 1 to 1 developer interaction
Depth program for ISVs and Customers
Produce x64 native applications
http://www.route64.net/
http://msdn.microsoft.com/
http://www.microsoft.com/windowsxp/64bit/evaluation/upgrade.mspx
Release TimelineRelease Timeline
Windows Server 2003 IPF lead the way with 64-bit support in March 2003
Windows Server 2003 SP1 for Itanium and Windows x64 Editions further that evolution
Beta: September 2003
RC 1: December 2004
RC 2: February 2005
RTM: March 30, 2005
x64 Launch: TODAY!!
Note: Due in part to single-source code model, all Windows platform versions for a given release ship simultaneously
Looking Ahead: x64 Adoption CurveLooking Ahead: x64 Adoption Curvex6
4 A
dopt
ion
(# o
f sy
stem
s)
x64 Adoption Curve
•2006•Hardware
• Broad Availability
• X64 standard on new PCs
•Applications• Wide variety and availability
• Business and consumer
• 32-bit app support
• X64 becoming default OS
•Market
• Mainstream x64 Adoption for both business and consumer
•2005•Hardware
• Availability
•Applications• Key Professional Applications
• Some PC Games
• 32-bit app support
•Market
• General adoption in Professional Workstation Market (CAD, DCC, FIN, DEV, SCI)
• Limited consumer adoption (high end gamers, video/photo editing)
CY
2006
CY
2006
CY
2007
Summary: Key PointsSummary: Key Points
We are on the brink of a major generational shift to pervasive 64-bit computing
The transition will not happen overnight...but it will happen
Microsoft is taking a lead role in enabling and accelerating that transition through current and future product plans
Each of you also plays a critical role, especially if you produce device drivers
Call to ActionCall to Action
Device manufacturers: ease customer pain in moving to 64-bit
Take advantage of the DDK and code portability model to support both 32- and 64-bit drivers
Anticipate strong customer demand for 64-bit drivers for all your devices, not just newly shipping ones
Distribute your 64-bit drivers through Windows Updates
Follow the details on www.microsoft.com/whdc to submit your device and driver for Designed for Windows logo
Take advantage of the growing 64-bit migration wave in your own product roadmaps: there is valuable upside potential here
Be ready for even greater 64-bit momentum and focus across all customer segments in Windows codenamed “Longhorn”
Community ResourcesCommunity Resources
Windows Hardware & Driver Central (WHDC)www.microsoft.com/whdc/default.mspx
Technical Communitieswww.microsoft.com/communities/products/default.mspx
Non-Microsoft Community Siteswww.microsoft.com/communities/related/default.mspx
Microsoft Public Newsgroupswww.microsoft.com/communities/newsgroups
Technical Chats and Webcastswww.microsoft.com/communities/chats/default.mspx
www.microsoft.com/webcasts
Microsoft Blogswww.microsoft.com/communities/blogs
Additional ResourcesAdditional Resources
Product Sites:Windows Server: http://www.microsoft.com/windowsserver2003/64bit/x64
Windows Client: http://www.microsoft.com/windowsxp/64bit
Whitepapers:32-bit support implementation - WOW64 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/win64/win64/wow64_implementation_details.asp
Patch guard http://www.microsoft.com/whdc/driver/kernel/64bitPatching.mspx
Device Driver INF Decoration http://www.microsoft.com/whdc/driver/install/64INF_reqs.mspx
Developer Resourcesx64 Calling Conventions http://msdn.microsoft.com/library/en-us/kmarch/hh/kmarch/64bitAMD_6ec00b51-bf75-41bf-8635-caa8653c8bd9.xml.asp
Search “x64” or “Itanium” at http://msdn.microsoft.com
top related