Windows NT Performance Notebook

Shared by: Levone
-
Stats
views:
6
posted:
11/14/2009
language:
English
pages:
30
Document Sample
scope of work template
							Windows XP Performance and Tuning: An Update
Demand Technology Software
1020 Eighth Avenue South, Suite 6, Naples, FL 34102 phone: (941) 261-8945 fax: (941) 261-5456 e-mail: markf@demandtech.com http://www.demandtech.com

 Demand Technology Software, Inc.

Windows XP


Designed to provide an upgrade path from Windows (9x, ME) to Windows NT
 

Conceived with usability, not performance, in mind Unified desktop permits MS apps to exploit native NT technology



Multithreading, file cache, NTFS, etc. Another new UI to get used to…



A minor, maintenance release of Windows NT Server (internally, version 5.1)


Synchronized with Windows XP – 64 bit support

Demand Technology Software, Inc.

Windows XP: Introduction

2

Windows XP


No major changes in the way the OS works!


New Power Management-related Processor utilization Counters Several changes designed to enhance scalability Prefetching to speed-up program loading (including the boot process) New Volume snapshot copy APIs for backing up Open files with integrity
Windows XP: Introduction



Many incremental improvements:
  

Demand Technology Software, Inc.

3

Windows NT evolution: new in WinXP
New Processor Object Counters
Supports Intel SpeedStep processor that run at different speeds to save power

Disk prefetching
System virtual memory changes Volume shadow copy service

Designed to speedup the boot process and program image file loading
Overcome a variety of “large system” deficiencies, most noticeable with large Terminal Services environments: Registry size limits, accessing very large mapped files, very large device drivers Supports file Cache flush and freeze so that volume snapshots can be easily created with integrity

Demand Technology Software, Inc.

Windows XP: Introduction

4

Windows NT evolution: new in WinXP


Boot and image file prefetch:
(An attempt to answer criticisms leveled at OS designers by Jeffrey Raskin in his influential book, The Humane Interface)

Demand Technology Software, Inc.

Windows XP: Introduction

5

Windows NT evolution: new in WinXP


Volume shadow copy:

IOCTL_VOLSNAP_FLUSH_AND_HOLD_WRITES, IOCTL_VOLSNAP_RELEASE_WRITES

Demand Technology Software, Inc.

Windows XP: Introduction

6

Windows NT evolution: new in WinXP


New Networking tab in Taskman

Demand Technology Software, Inc.

Windows XP: Introduction

7

Windows NT evolution: new in WinXP


Some new Counters:

Demand Technology Software, Inc.

Windows XP: Introduction

8

Windows NT evolution: new in WinXP


New built-in security profiles
 



SYSTEM LOCAL SERVICE NETWORK SERVICE

Demand Technology Software, Inc.

Windows XP: Introduction

9

Windows NT evolution: new in WinXP


Improved disk defragger

Demand Technology Software, Inc.

Windows XP: Introduction

10

Windows XP – 64 bit support


Major new version of the OS to support new Intel 64bit processors




P7 chips 64-bit virtual addressing



Matches look-and-feel of Windows XP 32-bit desktop and applications
Windows XP: Introduction

Demand Technology Software, Inc.

11

Intel 786 IA-64 architecture


EPIC: Explicitly Parallel Instruction Execution

  

Explicit parallelism Predication Speculation Massive Resources
First generation Itanium chips: 800 MHz




10 GHz by 2010
 

.013 micron fabrication process Clocked at 1.2 GHz and higher 400 MHz X 128 bit internal system bus

Second generation Itanium chips (McKinley):




Demand Technology Software, Inc.

Windows XP: Introduction

12

Intel 786 IA-64 architecture


Very difficult to compare performance of the P7 to the P6


Significant architectural differences
 

New instruction set Parallel programming model



Massive microprocessor designed for high-end applications


Currently, requires Intel compiler optimizations that exploit its major architectural features



Far superior Floating Point performance

Demand Technology Software, Inc.

Windows XP: Introduction

13

Intel 786 IA-64 architecture


Parallel Execution Resources
  



2 Memory Units 2 Integer Units 2 Floating Point Units 3 Branch Units

all designed to execute up to six separate instructions in parallel

Demand Technology Software, Inc.

Windows XP: Introduction

14

Intel 786 IA-64 architecture


Massive Resources: extended Register set



64-bit Instruction Pointer (IP) 128 64-bit GPRs, plus an associated Not a Thing (NaT) bit


some GPRs have reserved meanings;
– –

GR 0 is hardwired to always contains a Zero value GR 1 is a global data pointer (gp) for the currently addressable global data segment



Register stacking functions for loop optimization

   

128 82-bit Floating Point Registers 128 64-bit dedicated Application Registers


e.g., 8 dedicated Kernel registers (AR0-AR7)

64 1-bit Predicate Registers 8 64-bit Branch Registers
Windows XP: Introduction

Demand Technology Software, Inc.

15

Intel 786 IA-64 architecture


VLIW: Very Long Instruction Word
  

16-byte Instruction Bundles (aligned on 16-byte boundaries) 5-bit template, followed by 3 41-bit instruction slots


Can be filled out with No Ops



Compiler optimization:
 

Match Instruction Bundles to Execution Resources Instruction dispersal

Demand Technology Software, Inc.

Windows XP: Introduction

16

Intel 786 IA-64 architecture


Memory Latency


Instructions executing in parallel all stall during memory waits
Cache level L1 L2 L3 RAM Size 32 KB 96 KB 4 MB Integer latency (cycles) 2 6 22 176 Floating point latency n/a 9 24 178

Demand Technology Software, Inc.

Windows XP: Introduction

17

Intel 786 IA-64 architecture


Strategies to minimize memory latency


Instructions executing in parallel all stall during memory waits



Utilizes a Register stack for passing parameters to and from functions
 

Function arguments do not have to be loaded from memory Register stack overflows into process virtual memory



Speculative Loads from memory
Windows XP: Introduction

Demand Technology Software, Inc.

18

Intel 786 IA-64 architecture


Speculation


Data speculation
   

Advanced Load with an associated Check to ensure that there was no intermediate store instruction ld8.a r6=[r8] makes an entry in the ALAT (Advanced Load Address Table) ld8.c r6=[r8] is a zero cycle Check instruction that must be issued prior to using the data loaded in r6 speculatively Store into memory at [r8] sets the NaT Register bit & invalidates the ALAT entry, causing the processor to recover the Load Advanced Load in front of a Branch instruction with an associated Check to ensure the Branch was taken ld8.s r6=[r8]
Windows XP: Introduction



Control speculation
 

Demand Technology Software, Inc.

19

Intel 786 IA-64 architecture


Predication


Conditional execution of an instruction based on a qualifying predicate value


Contained in a Predicate Register If conversion: remove branches from IF-THEN-ELSE constructs and execute in-line predicated instructions Loop optimizations (control parallel execution)



Uses:
 

Demand Technology Software, Inc.

Windows XP: Introduction

20

HP i2000 Itanium Workstation


Uses first generation Itanium chip:
  


 

733 MHz 4.2 GB/sec system bus 1 GB RAM DVD/CD drive Ethernet port Etc.

Demand Technology Software, Inc.

Windows XP: Introduction

21

HP i2000 Itanium Workstation


Uses first generation Itanium chip:
 

Install Evaluation copy of Windows XP – 64 bit from bootable CD-ROM Test Performance SeNTry collection agent

Demand Technology Software, Inc.

Windows XP: Introduction

22

64-bit Address Space




One uniform 64-bit Virtual address space 7152 GB Process address spaces are built on demand

0 6fc 0000 0000 1fff ff00 0000 0000 2000 0000 0000 0000 3fff ff00 0000 0000 e000 0000 0000 0000 e000 0600 0000 0000

User Mode User Space
Kernel Mode User Space

User Page Tables Session Space
Session Space Page Tables

System Space
System Space Page Tables

ffff ff00 0000 0000

Demand Technology Software, Inc.

Windows XP: Introduction

23

64-bit Address Space
Resource
Physical Memory (RAM)

Win32
64 GB 256 MB 470 MB 960 MB 2 or 3 GB 2 GB 16 GB

Win64
128 GB 128 GB 128 GB 1024 GB 7152 GB 128 GB 32 TB
24

Nonpaged pool Paged pool System file cache User Address Space System space Paging File size (max)
Demand Technology Software, Inc.

Windows XP: Introduction

64-bit Windows Applications


WOW64 provides emulation services for 32-bit applications


Thunking in User mode is performed to extract arguments from the 32-bit stack, extend them to 64 bits, then make the native 64-bit system call to ntdll.dll.




WOW64.dll, WOW64cpu.dll, and WOW64win.dll increase the size of the application’s working set significantly System calls redirected to %systemroot%\SysWOW64 for 32-bit DLLs
Windows XP: Introduction

Demand Technology Software, Inc.

25

64-bit Windows Applications


WOW64.dll, WOW64cpu.dll, and WOW64win.dll increase the size of the application’s working set significantly

Demand Technology Software, Inc.

Windows XP: Introduction

26

64-bit Windows Programming


New data types

        

DWORD32 DWORD64 INT32 INT64 LONG32 LONG64 UINT32 UINT64 ULONG32 ULONG64

32-bit unsigned integer 64-bit unsigned integer 32-bit signed integer 64-bit signed integer 32-bit signed integer 64-bit signed integer Unsigned INT32 Unsigned INT64 Unsigned LONG32 Unsigned LONG64

Demand Technology Software, Inc.

Windows XP: Introduction

27

64-bit Windows Programming


New Pointers:


POINTER_32


A 32-bit pointer. On 32-bit Windows, this is a native pointer. On 64-bit Windows, this is a truncated 64-bit pointer. A 64-bit pointer. On 64-bit Windows, this is a native pointer. On 32-bit Windows, this is a sign-extended 32-bit pointer.



POINTER_64


Demand Technology Software, Inc.

Windows XP: Introduction

28

64-bit Windows Programming


New 64-bit compiler


macros:
 



_WIN64 – 64-bit platform. _WIN32 – 32-bit platform. This value is also defined by the 64bit compiler for backward compatibility. _WIN16 – 16-bit platform



Inline Helper functions to convert from one data type to another


E.g., UIntToPtr

Demand Technology Software, Inc.

Windows XP: Introduction

29

Where to get more information


“Windows XP: Kernel improvements create a more robust, powerful, and scalable OS”
by David Solomon and Mark Russinovich, MSDN Magazine, December 2001.



Itanium Processor Microarchitecture Reference
http://developer.intel.com/design/itanium/downloads/245474.htm



Programming Itanium-based Systems
By Triebel, Bissell and Booth (Intel Press)



TechNet or the Microsoft Developer Network (MSDN) CD
Windows XP: Introduction

Demand Technology Software, Inc.

30


						
Related docs
Other docs by Levone
Within an Hours Drive
Views: 23  |  Downloads: 0
Recruitment and Selection Policy
Views: 15  |  Downloads: 0
RIT International Student Services
Views: 43  |  Downloads: 0
Contents Checklist
Views: 11  |  Downloads: 0
Le Château de Caen
Views: 58  |  Downloads: 0