Download - El Fin De La Era De Los 32 Bit
David Cervigón LunaDavid Cervigón Luna
Microsoft IT Pro EvangelistMicrosoft IT Pro Evangelist
[email protected]@microsoft.com
httphttp://://blogs.technet.comblogs.technet.com//davidcervigondavidcervigon
El fin de la era de los 32-bitBienvenido al mundo de los 64-bit
AgendaAgenda
• IntroducciónIntroducción
• Limitaciones de la arquitectura de 32-bitLimitaciones de la arquitectura de 32-bit
• Beneficios de la arquitectura de 64-bitBeneficios de la arquitectura de 64-bit
• Escenarios de usoEscenarios de uso
NomenclaturaNomenclatura• 32-bit
– CISC (Complex Instruction Set Computing). Es el conjunto de instrucciones usadas en microporcesadores x86
– IA32 (Intel Architecture 32-bit). Nombre que se les da en el argot a los “antiguos” procesadores x86
• 64-bit
– x64: Acrónimo de Microsoft para denominar a los procesadores con una extensión de la arquitectura x86, que se soportan de forma nativa, y que tienen la capacidad de llevar a cabo ciertas operaciones de 64-bit, como por ejemplo la gestión de la memoria. Usan por tanto una extensión del CISC.
• AMD64: Familia de procesadores con extensiones de 64-bit de AMD. Incluyen procesadores Opteron y Athlon64.
• EM64T (Extended Memory 64 Technology): Familia de procesadores con extensiones de 64-bit de Intel. Incluye a los procesadores Xeon y Pentium 4
– IA64: Intel Architecture 64-bit. Familia “Itanium” de procesadores de 64-bit que incluyen las generaciones Itanium I e Itanium II.
• EPIC (Explicitly Parallel Instruction Computing): Arquitectura con un conjunto de instrucciones desarrollado por Intel y Hewlett Packard para la familia de procesadores Itanium. Incompatible con CISC.
– RISC (Reduced Instruction Set Computer). Arquitectura en la que se basan procesadores como ARM, DEC Alpha, PA-RISC, SPARC, MIPS, y PowerPC.
– Mas información: http://en.wikipedia.org/wiki/64-bit
IntroducciónIntroducción• Movimiento desde RISC/CISC a Industry Standard Servers:Movimiento desde RISC/CISC a Industry Standard Servers:
– La arquitectura de 32-bit basada en x86 representa el 90% de la base instalada.
– IDC estima que el 90% de los nuevos ISS tendrán capacidades de 64-bit antes de fin de año
• Las tareas en las TI aumentan su complejidad y su volumen:Las tareas en las TI aumentan su complejidad y su volumen:
– La arquitectura de 32-bit basada en x86 esta alcanzando sus límites
– Aumentar el numero de servidores para cumplir SLAs incrementa drásticamente los costes
• Se han hecho inversiones muy significativas en 32-bit que no deben ser abandonadas:Se han hecho inversiones muy significativas en 32-bit que no deben ser abandonadas:
– Hardware
– Conocimientos de Administración y de Desarrollo
– Aplicaciones
• Windows Server 2003 x64 y Windows XP Professional x64 Edition:Windows Server 2003 x64 y Windows XP Professional x64 Edition:
– Pueden ejecutar nuevas aplicaciones de 64-bit
– Pueden continuar ejecutando las aplicaciones de 32-bit existentes con, a veces, un mejor rendimiento
– Plataforma “familiar”, pero con capacidades mejoradas
• Windows Server 2003 for Itanium Processor Family:Windows Server 2003 for Itanium Processor Family:
– Ofrece el mayor nivel de escalabilidad
IntroducciónIntroducción• Itaniums vs. RISC (IDC)Itaniums vs. RISC (IDC)
– Los sistemas basados en RISC continuarán dominando el segmento medio-alto durante 2006
– IA64 tendrá el mayor crecimiento, alcanzando el 15% del segmento medio del mercado en 2006
– El crecimiento de IA64 será sobre todo a costa del RISC
• Itaniums vs. EM64T & OpteronItaniums vs. EM64T & Opteron
– Itanium es una arquitectura pura de 64-bit (EPIC), y tendrá su mayor impacto en los segmentos medio y alto del mercado
– Opteron & EM64T competirán más con los actuales procesadores Xeon que con Itanium
Windows Server 2003 - 64 bitWindows Server 2003 - 64 bit
• Para Sistemas 32-bit x86
• Para despliegues en sistemas para los que no existen aplicaciones o drivers de 64-bit.
• Común en servidores con 1-4 CPUs
• Para Sistemas 64-bit x64
• Para combinaciones de aplicaciones de 32-bit y 64-bit, o para aplicaciones de 64-bit puras en HW x64
• Común en servidores con 1-4 CPUs
• Para Sistemas 64-bit Itanium
• Para pilas puras de 64-bit soportando grandes bases de datos y aplicaciones de negocio y misisón crítica en HW basado en IPF.
• Común en servidores con 8 o más procesadores
Posicionamiento de cada plataformaPosicionamiento de cada plataforma
EscalabilidadEscalabilidad
Am
plit
ud
de
Ap
lica
cio
nes
Am
plit
ud
de
Ap
lica
cio
nes
32-bit x8632-bit x86
64-bit x6464-bit x64
64-bit IPF64-bit IPF
Más Implementado
VersatilidadVersatilidad
Mayor EscalabilidadMayor Escalabilidad
Mismo Código Fuente.Mismo Código Fuente.• Todos los binarios de una distribución dada son generados a partir de un Todos los binarios de una distribución dada son generados a partir de un
mismo código fuente base que sigue reglas de programación multi-mismo código fuente base que sigue reglas de programación multi-plataforma y que se compilan para cada conjunto específico de plataforma y que se compilan para cada conjunto específico de instrucciones.instrucciones.
• Eso no significa que cada binario tenga las mismas características.Eso no significa que cada binario tenga las mismas características.• Cada binario de Windows para x64 soporta tanto AMD64 como EM64TCada binario de Windows para x64 soporta tanto AMD64 como EM64T
Released March 2003Released March 200332-Bit – Windows Server 2003 (Web, 32-Bit – Windows Server 2003 (Web, STD, ENT, DTCSTD, ENT, DTC1 1 ))64-Bit – Windows Server 2003 (ENT, 64-Bit – Windows Server 2003 (ENT, DTC) Windows XP 64-Bit Edition v2003; DTC) Windows XP 64-Bit Edition v2003; all for Itanium 1, Itanium 2 and greaterall for Itanium 1, Itanium 2 and greater
Released March 2005Released March 200532-bit – Service Pack 1 for 2003 32-bit – Service Pack 1 for 2003 releasesreleases64-bit – Service Pack 1 for 2003 64-bit – Service Pack 1 for 2003 releases and full releases of releases and full releases of Windows Server 2003 (STD, ENT, Windows Server 2003 (STD, ENT, DTC) x64 Editions and Windows XP DTC) x64 Editions and Windows XP Professional x64 EditionProfessional x64 Edition
Windows Server 2003Windows Server 2003Windows XP 64- Bit Windows XP 64- Bit Edition (Itanium)Edition (Itanium)
Windows Server 2003 SP 1 Windows Server 2003 SP 1 (x86, X64, Itanium)(x86, X64, Itanium)Windows XPWindows XPProfessional x64 EditionProfessional x64 Edition
Windows Windows Server 2003Server 2003Code BaseCode Base
LÍMITES DE LA ARQUITECTURA DE 32-bitLÍMITES DE LA ARQUITECTURA DE 32-bit
Arquitectura de la Memoria de WindowsArquitectura de la Memoria de Windows• Memoria VirtualMemoria Virtual
– Extiende la memoria física a través del uso de un archivo de paginación• Archivo de PaginaciónArchivo de Paginación
– Archivo que extiende la memoria física mediante el intercambio de “páginas” de memoria
• HyperspaceHyperspace– Región especial de la memoria usado para mapear el working set de un proceso.
• Paged PoolPaged Pool– Region de la memoria del sistema usado por componentes en modo Kernel alojar
memoria del sistema.– La memoria Paged pool puede ser paginada (almacenada en el fichero de
paginación)• Non-paged PoolNon-paged Pool
– Memoria utilizada en modo Kernel que no puede ser paginada• System CacheSystem Cache
– Usada para mapear ficheros abiertos• System PTEsSystem PTEs
– Las System Page Table Entries se usan para mapear la pila del kernel, los memory descriptors y el espacio de I/O
Limitaciones de la arquitectura de 32-bit (x86)Limitaciones de la arquitectura de 32-bit (x86)
• Solo podemos direccionar 2Solo podemos direccionar 232 32 bits = 4 GB espacio de bits = 4 GB espacio de direccionamiento virtualdireccionamiento virtual
• Los procesos usan solamente las primeras 2 GB (3GB si usamos Los procesos usan solamente las primeras 2 GB (3GB si usamos /3GB)/3GB)
• El paso entre memoria virtual y memoria física impacta el El paso entre memoria virtual y memoria física impacta el rendimientorendimiento
• ¿Que hacemos con la memoria adicional en sistemas de mas de ¿Que hacemos con la memoria adicional en sistemas de mas de 4GB de memoria física?4GB de memoria física?– Ocuparla con más procesos– Address Windowing Extensions (AWE)– Physical Address Extension (PAE)
System Service Dispatcher
Task ManagerExplorer
SvcHost.ExeWinMgt.Ex
eSpoolSv.Exe
ServiceControl
Mgr.LSASS
Ob
ject
Mg
r.
WindowsUSER,GDIF
ile S
yste
m C
ach
e
I/O Mgr
Environment Subsystems
UserApplication
Subsystem DLLs
OS/2
System Processes
Services
Applications
SystemThreads
UserMode
KernelMode
Windows
NTDLL.DLL
Device &File Sys.Drivers
WinLogon
Session Manager
Services.Exe
POSIX
Plu
g a
nd
Pla
y M
gr.
Pow
er
Mg
r.
Secu
rityR
efe
ren
ce
Mon
itor
Virtu
al
Mem
ory
Pro
cesses
&Th
read
s
Local
Pro
ced
ure
Call Graphic
sDrivers
Kernel
Hardware Abstraction Layer (HAL)
(kernel mode callable interfaces)
Arquitectura de WindowsArquitectura de Windows
Con
fig
ura
-tio
n M
gr
(reg
istry
)
Code: EXE/DLLsData: EXE/DLL static storage, per-thread user
mode stacks, process heaps,
etc.
Code: EXE/DLLsData: EXE/DLL static storage, per-thread user
mode stacks, process heaps,
etc.
00000000
7FFFFFFF
Code: NTOSKRNL, HAL, driversData: kernel stacks,
File system cacheNon-paged pool,Paged pool
Code: NTOSKRNL, HAL, driversData: kernel stacks,
File system cacheNon-paged pool,Paged pool
FFFFFFFF
80000000
Process page tables,hyperspace
C0000000
Las 4GB de Espacio de Direccionamiento Virtual en 32-bitLas 4GB de Espacio de Direccionamiento Virtual en 32-bit
• 2 GB por proceso2 GB por proceso• El espacio de direcciones El espacio de direcciones
de un proceso no es de un proceso no es accesible por los demásaccesible por los demás
• 2 GB para el sistema2 GB para el sistema– El Sistema Operativo se
carga aquí, y aparece en el espacio de direcciones de cada proceso
– El Sistema Operativo NO es un proceso
Unico por Unico por proceso, proceso,
accesible en accesible en modo kernel modo kernel
o usero user
Para todo el Para todo el sistema,sistema,
Accesible Accesible solo en modo solo en modo
kernelkernel
Por proceso, Por proceso, accesible accesible
solo en solo en modo kernelmodo kernel
Physical Address Extensions (PAE)Physical Address Extensions (PAE)• Modelo de mapeo de memoria introducido por el procesador Intel Modelo de mapeo de memoria introducido por el procesador Intel
Pentium Pro x86Pentium Pro x86
• Permite el acceso del procesador a memoria física RAM por encima Permite el acceso del procesador a memoria física RAM por encima de:de:
– 64 GB en x86
– 128 GB en x64 (en teoría podría ser hasta 1024 GB)
• Hay una versión especial del Kernel de 32-bit (NTkrnlpa.exe) que se Hay una versión especial del Kernel de 32-bit (NTkrnlpa.exe) que se inboca ciando ponemos el modificador /PAE en el boot.iniinboca ciando ponemos el modificador /PAE en el boot.ini
• El sistema representa las direcciones físicas de memoria con 25 bitsEl sistema representa las direcciones físicas de memoria con 25 bits
• Esta capacidad se logra porque se incrementa el tamaño de las PDE Esta capacidad se logra porque se incrementa el tamaño de las PDE y las PTE de 32-bit a 64-bity las PTE de 32-bit a 64-bit
• Es decir, sin /PAE el sistema no será capaz de acceder a RAM por Es decir, sin /PAE el sistema no será capaz de acceder a RAM por encima de 4GB aunque esté presente físicamente en el equipoencima de 4GB aunque esté presente físicamente en el equipo
Address Windowing Extensions (AWE)Address Windowing Extensions (AWE)• Conjunto de funciones que permiten a los Conjunto de funciones que permiten a los
procesos de 32-bit reservar y acceder a procesos de 32-bit reservar y acceder a memoria de la que puede ser representada memoria de la que puede ser representada en su espacio de memoria virtual.en su espacio de memoria virtual.
• Para ello la aplicaciónPara ello la aplicación– Reserva la memoria que va a usar– Crea una región del espacio virtual de
direcciones que actúa como una “ventana” en la que mapear vistas de la memoria física
– Mapea vistas de la memoria física en la ventana
• Ejemplos de funciones:Ejemplos de funciones:– AllocateUserPhysicalPages,
VistualAlloc con la flag MEM_PHYSICAL, MapUserPhysicalPages, etc.
• La aplicación debe por tanto estar La aplicación debe por tanto estar desarrollada explícitamente para hacer uso desarrollada explícitamente para hacer uso de estas extensiones y compilada con la de estas extensiones y compilada con la opción /LARGEADDRESSAWARE opción /LARGEADDRESSAWARE
Server App Address Space
Physical Memory
4 GB
12 GB
AWE Window AWE Memory
Por tanto:Por tanto:
• Para que el equipo y el Sistema Operativo puedan acceder y Para que el equipo y el Sistema Operativo puedan acceder y gestionar más de 4GB de memoria física necesitamos PAEgestionar más de 4GB de memoria física necesitamos PAE
• Para que una aplicación pueda direccionar mas de 2GB de Para que una aplicación pueda direccionar mas de 2GB de memoria Virtual debe usar AWE.memoria Virtual debe usar AWE.
– Solo así se podrá beneficiar de /3GB
– Solo así podrá poner grandes cantidades de datos en las “ventanas” correspondientes a memoria física por encima de 4GB
• Por tanto, es necesario consultar con el fabricante de las Por tanto, es necesario consultar con el fabricante de las aplicaciones las capacidades de las mismas en lo tocante a la aplicaciones las capacidades de las mismas en lo tocante a la gestión de la memoria. NO es algo que afecte solamente al sistema gestión de la memoria. NO es algo que afecte solamente al sistema operativooperativo
• Pero todo esto no es gratis. Tiene un impacto que puede llegar a Pero todo esto no es gratis. Tiene un impacto que puede llegar a ser importanteser importante
Unique per process(= per appl.),user mode
.EXE codeGlobals
Per-thread user mode stacks
.DLL codeProcess heaps
Exec, kernel, HAL,drivers, etc.
00000000
BFFFFFFF
FFFFFFFF
C0000000
Unico por Unico por proceso, proceso,
accesible en accesible en modo kernel modo kernel
o usero user
Efectos de /3GB (también conocido como 4GT) sobre el SistemaEfectos de /3GB (también conocido como 4GT) sobre el Sistema
• /3GB en el BOOT.INI/3GB en el BOOT.INI
– Windows 2003 soporta configuraciones intermedias entre 2GB y 3GB (/USERVA=)
– Solo disponible en:• Windows 2003 Server Enterprise
Edition & Win2000 Advanced Server• Memoria física limitada a 16 GB
• Ofrece 3 GB de direccionamiento por procesoOfrece 3 GB de direccionamiento por proceso
– Usado generalmente en servidores de bases de datos (para mapeo de ficheros en RAM)
– .EXE debe tener la flag “large address space aware” o son limitados a los 2GB por defecto (/LARGEADDRESSAWARE )
– El principal “sacrificado” es la file system cache
– Mejor solución: AWE
– Aún mejor solución: 64-bit Windows
Por proceso, Por proceso, accesible accesible
solo en solo en modo kernelmodo kernel
Process page tables,hyperspacePara todo el Para todo el
sistema,sistema,Accesible Accesible
solo en modo solo en modo kernelkernel
Comparativa x86 – x64Comparativa x86 – x64
Límites de la MemoriaLímites de la Memoria 32-bit32-bit 64-bit64-bit
Total Virtual Address SpaceTotal Virtual Address Space 4 GB 4 GB 16 TB16 TB
Espacio Virtual de Memoria por proceso de Espacio Virtual de Memoria por proceso de 32-bit32-bit
2GB (3 GB si el sistema arrancó 2GB (3 GB si el sistema arrancó con el modificador /3GB)con el modificador /3GB)
4GB si se compiló con 4GB si se compiló con /LARGEADDRESSAWARE /LARGEADDRESSAWARE
2GB si no2GB si no
Espacio Virtual de Memoria por proceso de Espacio Virtual de Memoria por proceso de 64-bit64-bit
-- 8 TB8 TB
Paged PoolPaged Pool 470 MB470 MB 128 GB128 GB
Non-Paged PoolNon-Paged Pool 256 MB256 MB 128 GB128 GB
System PTEsSystem PTEs Entre 660 y 900 MBEntre 660 y 900 MB 128 GB128 GB
System CacheSystem Cache 1 GB1 GB 1 TB1 TB
Límites de Memoria Física y CPULímites de Memoria Física y CPU 32-bit32-bit 64-bit64-bit
Windows XP ProfessionalWindows XP Professional 4 GB / 1-2 CPUs4 GB / 1-2 CPUs 32 GB / 1-2 CPUs32 GB / 1-2 CPUs
Windows Server 2003 Standard EditionWindows Server 2003 Standard Edition 4 GB / 1-4 CPUs4 GB / 1-4 CPUs 32 GB / 1-4 CPUs32 GB / 1-4 CPUs
Windows Server 2003 Enterprise EditionWindows Server 2003 Enterprise Edition 64 GB / 1-8 CPUs64 GB / 1-8 CPUs 1 TB / 1-8 CPUs1 TB / 1-8 CPUs
Windows Server 2003 Datacenter EditionWindows Server 2003 Datacenter Edition 64 GB / 1-32 CPUs64 GB / 1-32 CPUs 1 TB / 1-64 CPUs1 TB / 1-64 CPUs
BENEFICIOS DE LA ARQUITECTURA DE 64-BitBENEFICIOS DE LA ARQUITECTURA DE 64-Bit
Beneficios de la Arquitectura de 64-bit (x64)Beneficios de la Arquitectura de 64-bit (x64)
• Ejecuta Aplicaciones de 32-bit con Ejecuta Aplicaciones de 32-bit con un mejor rendimientoun mejor rendimiento– Ofrece los 4GB de
Direccionamiento virtual para los procesos “Large Memory Aware”
• Ejecuta aplicaciones de 64-bitEjecuta aplicaciones de 64-bit– 8 TB Espacio de
direccionamiento virtual– Reducción en el mapeo de
memoria y de los fallos de página en la mayoría de los casos
• Facilita la migración a Facilita la migración a infraestructuras de 64-bit purasinfraestructuras de 64-bit puras
• Elimina la necesidad de complejos Elimina la necesidad de complejos “workarounds” a los límites de “workarounds” a los límites de memoria de los 32-bitmemoria de los 32-bit
32-bit Process Address Space (2GB)
64-bit Process Address Space (8TB)
¿Se ejecutará más rápidamente una aplicación en 64-bit?¿Se ejecutará más rápidamente una aplicación en 64-bit?
• Quizás... Depende de muchos de factoresQuizás... Depende de muchos de factores– ¿Es la memoria un cuello de botella?– ¿Tiene la aplicación dependencia de la CPU?– ¿Hay punteros en el Working Set?– Tiene la aplicación dependencia de las instrucciones de
la cache?– ¿Hace mucho uso de operaciones de coma flotante?– ¿Usa la aplicación excepciones para control del flujo?
Rumbo a los 64-bitRumbo a los 64-bit
32-bit32-bitHardwareHardware
32-bit32-bitDriversDrivers
32-bit32-bitWindows ServerWindows Server
32-bit32-bitAplicacionesAplicaciones
Pila 32-bit pura
x64
32-bit
32-bit
32-bit
x64x64
x64x64
x64x64
ItaniumItanium
ItaniumItanium
ItaniumItanium
ItaniumItanium
x64x64
x64x64
x64x64
x64x64
Pila 64-bit pura
• Migración del HardwareMigración del Hardware
• Migración del Sistema Operativo + Drivers de dispositivosMigración del Sistema Operativo + Drivers de dispositivos
• Migración de las aplicacionesMigración de las aplicaciones
• Plataformas x64 o IA64 purasPlataformas x64 o IA64 puras
32-bit32-bit
x64x64
32-bit32-bitx86x86
64-bit64-bitx64x64
64-bit 64-bit ItaniumItanium
32 CPU,32 CPU,
64 GB RAM64 GB RAM
64 CPU,64 CPU,
1 TB RAM1 TB RAM
64 CPU,64 CPU,
1 TB RAM1 TB RAM
8 CPU,8 CPU,
32 GB RAM32 GB RAM
8 CPU,8 CPU,
1 TB RAM1 TB RAM
8 CPU,8 CPU,
1 TB RAM1 TB RAM
4 CPU,4 CPU,
4 GB RAM4 GB RAM
4 CPU,4 CPU,
32 GB RAM32 GB RAMn/an/a
2 CPU,2 CPU,
2 GB RAM2 GB RAMn/an/a n/an/a
Familia de Windows Server 2003Familia de Windows Server 2003
Soporte a aplicaciones de 32-bitSoporte a aplicaciones de 32-bit
Windows Windows 32-bit32-bit
Windows 64-bitWindows 64-bit
64-bit 64-bit ApplicationApplication
32-bit 32-bit ApplicationApplication
Windows 64-bitWindows 64-bit
64-bit 64-bit ApplicationApplication
32-bit 32-bit ApplicationApplication
Exec. LayerExec. Layer
Windows Windows 32-bit32-bit
Ejecución directa en x6432-bit convertidos a 64-bit por la
Execution layer en IA64
Aplicaciones que usan instaladores de 16-bitAplicaciones que usan instaladores de 16-bit Windows x64 no ejecuta código de 16-bit Windows x64 no ejecuta código de 16-bit
Detecta muchos instaladores de 16-bit y de Detecta muchos instaladores de 16-bit y de forma transparente instancia una version de 32-forma transparente instancia una version de 32-bitbit
Windows x64 soporta código de 32-bit code Windows x64 soporta código de 32-bit code via Windows on Windows 64 (WOW64)via Windows on Windows 64 (WOW64)
La mayor parte de las aplicaciones de 32-bit La mayor parte de las aplicaciones de 32-bit funcionan normalmentefuncionan normalmente
¿Que es WoW64?¿Que es WoW64?
• Capa de emulación de aplicaciones Windows de 32-bit en Windows Capa de emulación de aplicaciones Windows de 32-bit en Windows 64-bit (x64)64-bit (x64)
• Instalado como parte de Windows x64Instalado como parte de Windows x64• Windows instala archivos de sistema de 64-bit y 32-bitWindows instala archivos de sistema de 64-bit y 32-bit
– Los archivos del sistema de 32-bit se copian a %windir%\sysWoW64
– Se crea %SystemDrive%\Program Files (x86) para aplicaciones de 32-bit
• Las variables de entorno se duplicanLas variables de entorno se duplican– ProgramFiles y ProgramFiles(x86)– CommonProgramFiles y CommonProgramFiles(x86)
WoW64: Redirección del registroWoW64: Redirección del registro
• Existen dos vistas del registro: 64-bit y Existen dos vistas del registro: 64-bit y WoW64WoW64
• Ciertas partes del registro están Ciertas partes del registro están separadasseparadas– HKEY_LOCAL_MACHINE\Software
– HKEY_CLASSES_ROOT
• WoW6432Node es creado para la vista WoW6432Node es creado para la vista de 32-bitde 32-bit
• Los procesos de WoW64 son redirigidos Los procesos de WoW64 son redirigidos de forma transparente.de forma transparente.
• ¿Para que dos vistas?. Compatibilidad¿Para que dos vistas?. Compatibilidad
– Separa el estado de las aplicaciones de 32-bit de las de 64-bit
– Ofrece una ejecución más segura para ambos tipos de aplicaciones (p.e. un valor del registro que da el path a una DLL
WoW64: Redirección del Sistema de ArchivosWoW64: Redirección del Sistema de Archivos
• Redirige los accesos a nivel de archivo de %windir%\system32 a Redirige los accesos a nivel de archivo de %windir%\system32 a
%windir%\syswow64%windir%\syswow64
– Muchas aplicaciones de 32-bit tienen hard-coded %windir%\system32
– Las aplicaciones de 32-bit que abren o crean archivos bajo %windir%\system32\... Son automáticamente redirigidas a %windir%\syswow64\...
• Algunos directorios son excluidos de la redirección.Algunos directorios son excluidos de la redirección.
– No contienen datos que dependan de la arquitectura
• %windir%\system32\spool
• %windir%\system32\catroot
• %windir%\system32\catroot2
• %windir%\system32\drivers\etc
SeguridadSeguridad
• Los procesadores x64 soportan el Los procesadores x64 soportan el “No Execution” o “Execute “No Execution” o “Execute Disable” bit que controla las áreas Disable” bit que controla las áreas de memoria que pueden ser de memoria que pueden ser utilizadas para ejecutar código.utilizadas para ejecutar código.
• ““Data Execution Prevention” evita Data Execution Prevention” evita la propagación de gusanos y la propagación de gusanos y malware que utilicen malware que utilicen vulnerabilidades del tipo vulnerabilidades del tipo “desbordamiento de buffer”.“desbordamiento de buffer”.
• DEP habilitado por defecto en el DEP habilitado por defecto en el sistema operativo para sistemas sistema operativo para sistemas x64x64
Seguridad (cont.)Seguridad (cont.)
• Los Sistemas Operativos de Microsoft para x64 Los Sistemas Operativos de Microsoft para x64 soportan la Tecnología PatchGuard (no disponible en soportan la Tecnología PatchGuard (no disponible en x86)x86)
• Evita que aplicaciones que no provengan de Microsoft Evita que aplicaciones que no provengan de Microsoft manipulen y modifiquen estructuras internas del manipulen y modifiquen estructuras internas del sistema:sistema:– System Service Dispatch Tables– Interrupt Descriptor Tables (IDT)– Global Descriptor Table (GDT)
• Con esto se elimina uno de los mayores vectores de Con esto se elimina uno de los mayores vectores de ataque del peor tipo de malware existente, los rootkitsataque del peor tipo de malware existente, los rootkits
Para qué utilizar Servidores x64Para qué utilizar Servidores x64
Technical ComputingEspecialmente:
Compute Clusters
Active DirectoryEspecialmente si
ntds.dit es mayor de 2 GB
Web Serving (IIS 6.0)Mejora la fiabilidad
reduciendo el reciclaje de la cache
DatabaseEspecialmente: OLTP,
OLAP, Data Warehouse, Business
Intelligence
Business ApplicationsEspecialmente: ERP, SCM, CRM, y LOB a
medida
Terminal ServicesEspecialmente:
Aplicaciones cliente de 32-bit
Bases de Datos Bases de Datos
• Las bases de datos grandes no Las bases de datos grandes no encuentran suficiente encuentran suficiente direccionamiento de memoria en direccionamiento de memoria en sistemas de 32-bit, lo que limita su sistemas de 32-bit, lo que limita su rendimiento y escalabilidadrendimiento y escalabilidad
• Windows Server 2003 x64 soluciona Windows Server 2003 x64 soluciona este problema ofreciendo:este problema ofreciendo:– Un especio de memoria virtual
casi ilimitado (x 4000 mayor)• Incluso la bases de datos de 32-
bit se beneficiarán del mismo
• Soporta más memoria física por lo que Soporta más memoria física por lo que porciones más grande de la base de porciones más grande de la base de datos podrán residir en elladatos podrán residir en ella
Case Study
• Problem
– Fortune 100 company needed to analyze ongoing effects to revenue caused by discounting, foreign exchange rates, etc.
– Data spanned 20 million historic price points and 14 million sales line items
– Relatively simple queries took 8 hours to process on 2-way 32-bit server
• Solution
– Windows Server 2003 x64 Edition with SQL Server Yukon on 4-way x64 server
• Impact: – Query time reduced from 8
hours to 5 minutes
Aplicaciones de Línea de Negocio Aplicaciones de Línea de Negocio
• Según crecen las aplicaciones de Según crecen las aplicaciones de negocio suelen necesitar más negocio suelen necesitar más capacidad de procesamiento y más capacidad de procesamiento y más memoriamemoria
• En un entorno de 32-bit esto suele En un entorno de 32-bit esto suele producir limitaciones de I/O lo que producir limitaciones de I/O lo que limita el numero de usuarios limita el numero de usuarios simultáneos a los que podemos simultáneos a los que podemos ofrecer servicio.ofrecer servicio.
• Windows Server 2003 x64 soluciona Windows Server 2003 x64 soluciona este problema ofreciendo:este problema ofreciendo:– Un espacio de memoria virtual
casi ilimitado (x4000 mayor)– Soporta hasta 1TB de memoria
física– Soporta más usuarios por servidor
Case Study
• Problem
– Fortune 100 company needed to speed daily batch processing of their SAP implementation
– IT needed to make rapid upgrade without extensive disruption
• Solution
– Migrated 2-way 32-bit server to 4-way x64 server running Windows Server 2003 x64 and x64 version of SAP R/3
• Impact: – Batch processing times
reduced by 67% (from 180 minutes to 60 minutes)
Terminal ServicesTerminal Services
• Los despliegues de Terminal Services Los despliegues de Terminal Services están limitados por la disponibilidad de están limitados por la disponibilidad de recursos de kernel en los sistemas de recursos de kernel en los sistemas de 32-bit32-bit– Esto recorta la cantidad de
usuarios simultáneos independientemente de la Memoria o CPU disponibles en el sistema
• Windows Server 2003 x64 elimina este Windows Server 2003 x64 elimina este problema ofreciendo mayores problema ofreciendo mayores recursos en el Kernelrecursos en el Kernel– x170 más PTE– x272 más paged pool– X500 más non-paged pool
Benchmark
• Using identical 4-way, dual-core servers with 16 GB RAM, Windows Server 2003 x64 supported 170% more users170% more users than 32-bit Windows Server 2003
• Workload simulates information workers using Microsoft Office
0
100
200
300
400
500
600
700
800
32-bit x64
Servicios Web con IIS 6.0Servicios Web con IIS 6.0
• Cada vez más, los servidores Web Cada vez más, los servidores Web albergan grandes aplicaciones albergan grandes aplicaciones distribuidas que requieren altas distribuidas que requieren altas demandas de I/O.demandas de I/O.
• De vez en cuando, los worker De vez en cuando, los worker processes se quedan sin espacio de processes se quedan sin espacio de direccionamiento virtual, forzando que direccionamiento virtual, forzando que la cache se recicle.la cache se recicle.– El usuario final sufre retrasos y
errores.• Windows Server 2003 x64 con IIS 6.0 Windows Server 2003 x64 con IIS 6.0
reduce drásticamente la ocurrencia de reduce drásticamente la ocurrencia de estas situacionesestas situaciones
Case Study
• Problem
– Fortune 100 company with large international website found worker process uptimes were just 5 minutes during peak loads
– IT needed rapid solution that would preserve their investment in 32-bit ASP.net code
• Solution
– Migrated to Windows Server 2003 x64 running IIS 6.0 with 32-bit ASP.net
• Impact: – Improved process uptimes from
5 minutes to several weeks– No code changes to ASP.net
applications required
Controladores de Dominio de Directorio ActivoControladores de Dominio de Directorio Activo
• Las Bases de Datos de Directorio Las Bases de Datos de Directorio Activo mayores de 2GB (aprox. 10.000 Activo mayores de 2GB (aprox. 10.000 objetos) deben almacenarse en disco objetos) deben almacenarse en disco en sistemas de 32-bit, reduciendo el en sistemas de 32-bit, reduciendo el rendimiento de forma significativa.rendimiento de forma significativa.
• Se pueden necesitar mas Se pueden necesitar mas Controladores de Dominio para seguir Controladores de Dominio para seguir cumpliendo con con los SLAs.cumpliendo con con los SLAs.
• Windows Server 2003 x64 permite que Windows Server 2003 x64 permite que las bases de datos de Directorio Activo las bases de datos de Directorio Activo residan totalmente en RAM, residan totalmente en RAM, mejorando el rendimiento de forma mejorando el rendimiento de forma significativa.significativa.– buffering I/O mejorado– Reducción de carga en el
subsistema de I/O– Replicación mas rápida de los
cambios
Case Study• Large multinational dedicated nine
Active Directory domain controllers to their Exchange 2003 implementation to support rich query load
• Scale out required to maintain desired performance levels
• Company migrated to Windows Server 2003 x64 Editions
• Impact: – Consolidated 9 domain
controllers down to 4 with equal or better performance
Technical ComputingTechnical Computing
• Technical Computing, y los High-Technical Computing, y los High-Performance Computing Clusters Performance Computing Clusters (HPCC) en particular, requieren tanto (HPCC) en particular, requieren tanto un uso intensivo de memoria como de un uso intensivo de memoria como de CPUCPU– Las limitaciones de memoria
inherentes a los sistemas de 32-bit son la barrera para el rendimiento de los HPC clusters
• Windows Server 2003 x64 elimina el Windows Server 2003 x64 elimina el problema al ofrecer un problema al ofrecer un direccionamiento virtual casi ilimitadodireccionamiento virtual casi ilimitado– Windows Compute Cluster Edition
esta en Beta2
Case Study
• Problem
– Fortune 100 company using 32-bit software to analyze portfolio risk unable to complete queries rapidly
• As assets outgrew 32-bit server capacity, data needed to be split and queries would take up to 40 hours to complete
• Solution
– Migrate existing 32-bit analysis software to Windows Server 2003 x64 Editions
• Impact: – Query times reduced by 67%
(from 40 hours to 13 hours)
Windows x64 – Una idea de lo que puede suponer la mejoraWindows x64 – Una idea de lo que puede suponer la mejora
EscenarioEscenario RendimientoRendimiento
Base de Datos 32-bitBase de Datos 32-bit + 17%+ 17%
32-bit LOB32-bit LOB SAP + 10% usuarios másSAP + 10% usuarios más
RedRed Record 7Gbit/sec xferRecord 7Gbit/sec xfer
ArchivosArchivos +111% de capacidad de +111% de capacidad de usuariosusuarios
Active DirectoryActive Directory x2 throughputx2 throughput
Terminal ServicesTerminal Services 50% usuarios más50% usuarios más
REFERENCIASREFERENCIAS
• Microsoft Windows Internals (Fourth Edition)Microsoft Windows Internals (Fourth Edition)– Mark Russinovich & David Solomon– Incluido en el Resource Kit de Windows Server 2003
• http://www.microsoft.com/whdc/system/platform/64bit/default.mspxhttp://www.microsoft.com/whdc/system/platform/64bit/default.mspx • http://www.microsoft.com/windowsserversystem/64bit/default.mspxhttp://www.microsoft.com/windowsserversystem/64bit/default.mspx• http://www.microsoft.com/windowsserver2003/64bit/x64/overview.mhttp://www.microsoft.com/windowsserver2003/64bit/x64/overview.m
spxspx
• Resource and Memory Management Technologies (en el Windows Resource and Memory Management Technologies (en el Windows Server System TechCenter)Server System TechCenter)– http://technet2.microsoft.com/WindowsServer/en/Library/ed991fc
e-6a5d-45cb-9ab6-93c1198bffae1033.mspx
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
David Cervigón LunaDavid Cervigón Luna
Microsoft IT Pro EvangelistMicrosoft IT Pro Evangelist
[email protected]@microsoft.com
http://blogs.technet.com/davidcervigonhttp://blogs.technet.com/davidcervigon