16 junio 2006

RV: Optimización de la memoria virtual de Windows (3ra. parte)

Un monitoreo regular de la evolución del archivo de paginación (o pagefile) de Windows nos dará una idea acerca de cómo el sistema operativo está manejando la memoria virtual, dándonos además algunas pistas sobre cómo podríamos cambiar el tamaño de dicho archivo para lograr un uso óptimo del mismo. En esta anteúltima entrega del tutorial sobre la memoria virtual de Windows veremos también un truco para modificar el pagefile pasando por alto la opción del panel de control.

Para determinar el tamaño óptimo del archivo de paginación (pagefile) de Windows, lo más indicado es monitorear el sistema durante algún tiempo (una semana debería ser suficiente) para ver cuánta memoria RAM y cuánta memoria virtual utiliza. Durante ese período debe verificarse cuál es la mayor cantidad de memoria que el sistema utilizó.

En caso de que la memoria utilizada nunca se acerque a la totalidad de memoria RAM instalada, entonces no hay que preocuparse, puesto que en tal caso el pagefile prácticamente no se utiliza. Si, por el contrario, el sistema siempre usa más memoria de la que posee físicamente, quiere decir que el pagefile se utiliza habitualmente.

Determinando el tamaño ideal del pagefile

Una forma de averiguar qué parte de la memoria que usa el sistema se encuentra almacenada en disco consiste en observar el porcentaje de uso del pagefile, utilizando la consola de monitoreo de rendimiento que ofrece Windows.

Para ello abra la opción Rendimiento, dentro del grupo Herramientas administrativas del Panel de control. Una vez dentro de la consola de monitoreo, haga clic en el botón Agregar (el que aparece con un signo “+”) para agregar un objeto de monitoreo.

Aparecerá el cuadro de diálogo Agregar contadores. Despliegue la lista Objetos de rendimiento y seleccione Archivo de paginación. Luego en el cuadro inferior seleccione % Uso y haga clic en Agregar. A partir de allí, podrá ver en el gráfico de la consola cómo evoluciona el uso del pagefile, detectando si se mantiene constante o si crece continuamente. Utilizando la opción de registro de contadores se puede crear un archivo de log que almacene la información a lo largo de un período de tiempo.

Una forma más rápida de analizar el uso del pagefile consiste en utilizar el administrador de tareas. Sólo deben entenderse las cifras que aparecen en la sección Performance de esta herramienta.

Obsérvese el recuadro Memoria física. En él se observa la cantidad total de memoria RAM instalada y la cantidad disponible. Por otra parte, en el recuadro Carga de transacciones, se observa el uso total de memoria virtual utilizado por el sistema. La cantidad Total representa la memoria virtual utilizada actualmente; la cantidad Límite indica la totalidad de la memoria virtual existente con el t

 

RV: Optimización de la memoria virtual de Windows (2da. parte)

Habiendo entendido cómo Windows maneja la memoria física de la PC y su memoria virtual, es el momento de analizar el manejo del archivo de paginación, o pagefile. En esta segunda entrega del tutorial veremos algunos consejos que logran un uso optimizado de dicho archivo. Para aplicarlos, simplemente se utiliza la herramienta estándar que Windows pone en nuestras manos para determinar los tamaños y las ubicaciones del archivo de paginación a lo largo de las unidades físicas de la PC.

La ubicación y los tamaños inicial y máximo de memoria virtual de Microsoft Windows se pueden modificar haciendo clic con el botón secundario en el ícono Mi PC y seleccionando la opción Propiedades. En la ventana de Propiedades, seleccione la sección Avanzado y haga clic en Opciones de rendimiento. En la parte inferior de la ventana Opciones de rendimiento se muestra un marco donde se informa el tamaño total del archivo de paginación. Haciendo clic en el botón Cambiar... se pueden hacer modificaciones en la forma de administrar dicho archivo.

En la ventana de propiedades de la memoria virtual se muestran todas las unidades locales de la PC y los tamaños (inicial y máximo) del archivo de paginación en cada una de estas unidades. No es posible eliminar unidades de esta lista, si no se las desea utilizar para hacer intercambio de páginas de memoria, pero sí se pueden establecer tamaños de 0 MB, logrando el mismo efecto.

Las siguientes son algunas reglas básicas que deben seguirse para lograr el mejor rendimiento posible de Windows mediante un uso optimizado del archivo de paginación (pagefile):

* Instalar una cantidad suficiente de memoria RAM. Si Windows utiliza constantemente una cantidad x de memoria, hay que asegurarse de que la PC tenga por lo menos esa cantidad de memoria RAM disponible. De esta forma se logra que la memoria utilizada por las aplicaciones siempre esté en RAM, y no necesite ser suplementada por el pagefile.

* Colocar el pagefile fuera del disco que contiene al sistema operativo y a la partición de arranque, y llevarlo a un disco dedicado y veloz. De todas maneras se debe dejar una cierta cantidad de espacio libre en la partición de arranque (un máximo de 50 MB) para utilizar en caso de emergencia.

* Formatear el disco en donde reside el pagefile con NTFS y un tamaño de clúster de 4 KB (el valor predeterminado para las particiones NTFS).

* Determinar el tamaño inicial del pagefile en un valor igual a 1,5 veces el tamaño de la memoria RAM. Nunca debe definirse un pagefile de menor tamaño que la memoria RAM.

* Determinar el tamaño inicial del pagefile igual al tamaño máximo. Si bien esto causa que el pagefile ocupe más espacio en disco, evita la necesidad de que crezca constantemente. Además, un crecimiento gradual del pagefile puede provocar la fragmentación del mismo, agregando más complicaciones al manejo de este archivo en disco.

* No repartir el pagefile entre diferentes particiones del mismo disco físico.

* Si se cuenta con un array RAID-0 (Stripe Set), usarlo para almacenar el pagefile.

* No colocar el pagefile en un disco con tolerancia a fallas, como por ejemplo un volumen espejado (RAID-1) o un volumen RAID-5. Los pagefiles no necesitan tolerancia a fallas, y algunos sistemas tolerantes a fallas sufren de lentitud en la escritura debido a la necesidad de grabar los datos en distintos lugares al mismo tiempo.

Una consideración especial para Windows XP y la funcionalidad de Fast User Switching: cuando un usuario no está activo, existe una necesidad de espacio disponible en el pagefile para almacenar el contenido de la memoria de su sesión. Por lo tanto, el pagefile debe ser más grande de lo normal. Experimentando en situaciones normales de uso se puede determinar qué tan grande debe ser, pero para empezar se puede establecer como la mitad del tamaño de la memoria RAM multiplicada por la cantidad de usuarios logueados.

En la próxima entrega de este tutorial veremos cómo monitorear el uso del pagefile y algunos otros trucos y consejos para optimizar aún más la memoria virtual de Windows.

 

RV: Optimización de la memoria virtual de Windows (1ra. parte)

El manejo incorrecto de la memoria virtual de Windows es comúnmente la causa de importantes pérdidas de performance de las PCs, particularmente cuando la RAM no está dimensionada de acuerdo a las necesidades de las aplicaciones en ejecución o cuando el archivo de intercambio (swapfile o pagefile) no se encuentra optimizado. En esta serie de notas veremos algunas técnicas para maximizar la performance mediante un aprovechamiento óptimo de la memoria virtual de Windows.

En una computadora de 32 bits, las direcciones de memoria poseen una longitud de 32 bits y se almacenan como números binarios. Hay algo más de 4 mil millones (2^32) de números binarios diferentes de 32 bits, lo cual determina la limitación de 4 GB de memoria que puede direccionarse en un sistema de 32 bits.

Una instrucción de programa de un procesador Intel 386 o posterior puede direccionar hasta 4 GB de memoria, utilizando todos sus 32 bits. A cada proceso que corre sobre el procesador se le asigna un espacio de direccionamiento de 4 GB de memoria virtual, independientemente de la cantidad de memoria física disponible. Esto significa que el límite de direccionamiento de 4 GB se aplica a cada proceso en forma independiente, y no a todo el conjunto de aplicaciones que corren en forma concurrente.

Si se suma la memoria virtual destinada a cada proceso, el total resulta mucho mayor que el tamaño total de la RAM de la máquina, de lo cual se deduce que la cantidad de memoria física de la computadora no guarda relación alguna con la cantidad total de memoria direccionable. Si una computadora posee 256 MB de memoria física, de todos modos cada proceso tendrá un espacio de 4 GB de memoria direccionable, y si una computadora tiene 8 GB de memoria física, también cada proceso contará con un espacio de direcciones de 4 GB.

A las aplicaciones no se les permite acceder directamente a la memoria física. Cuando una aplicación requiere más memoria, Windows mapea cierta cantidad de memoria física (siempre y cuando haya disponibilidad) en el espacio de direcciones del proceso en cuestión.

El hardware permite a los programas operar utilizando cuanto deseen de su memoria virtual de 4 GB. Aquellas partes de un programa y sus datos que están en uso en un momento determinado se cargan en la memoria RAM física. Windows mantiene numerosas tablas que registran el uso de la memoria por los programas, y cada aplicación sólo conoce su espacio de direcciones virtual.

El procesador se encarga de traducir (mapear) las direcciones virtuales de una instrucción en sus direcciones equivalentes de la memoria física, haciéndolo al momento de ejecutar la instrucción. El procesador administra este mapeo en términos de páginas de 4 KB cada una.

Las páginas de la memoria virtual de un proceso que no están cargadas en la memoria física son guardadas por Windows en un archivo de páginas (pagefile o swapfile) en el disco rígido. Cuando toda la memoria RAM física de una computadora se encuentra en uso, Windows comienza a usar el disco rígido como si fuera RAM adicional. Dado que la memoria RAM es mucho más veloz que el disco, siempre que la computadora comienza a utilizar el pagefile para quitar presión a la memoria RAM, la computadora comienza a experimentar una degradación drástica de la performance.

Una de las formas más efectivas de evitar esto es asegurarse de que haya suficiente memoria RAM disponible para cubrir las necesidades de los procesos a ejecutar y de esta forma evitar el intercambio (swapping) frecuente de la memoria virtual entre la RAM y el pagefile.

El límite real de la memoria utilizada por todas las aplicaciones es la cantidad de RAM instalada más el tamaño máximo del pagefile. Para determinar cuánto espacio hace falta para destinar al pagefile, hay que considerar la cantidad de memoria RAM instalada y la memoria requerida por los programas a utilizar. Comúnmente, y a modo de regla rudimentaria, se considera que el espacio requerido para el pagefile debe ser igual a una vez y media la cantidad de memoria RAM física, a menos que se someta al sistema a una carga de trabajo muy alta.

Además de esta regla rudimentaria, existen muchas formas de optimizar el manejo de la memoria virtual en una máquina para lograr una performance máxima; las cuales iremos viendo en próximas entregas de este tutorial.

 

14 junio 2006

ABA Wi-Fi

Internet

Cantv introduce Zona ABA Wi-Fi Con EvDO estábamos matando un mosquito con un cañón Desde ya está disponible, para los suscriptores de ABA -el servicio fijo de banda ancha de Cantv-, la conexión Wi-Fi en 50 puntos específicos de la capital y 2 de otras regiones. La empresa admite que la conexión inalámbrica paga (EvDO) solo es requerida por un segmento específico


Según aseveraciones de Ramón Ramírez, gerente general de Empresas e Instituciones de Cantv, la operadora habría estado "matando un mosquito con un camión" durante el lapso de tiempo en que ofreció –a través de su filial de telefonía móvil, Movilnet- servicio de banda ancha solo a través del sistema EvDO.

"Quizá llegamos un poco tarde", admite. El ejecutivo explicó que identificaron, en términos de portabilidad, la existencia de "un segmento del mercado que se desplaza y eventualmente requiere conectarse. Actualmente esa necesidad está siendo satisfecha por los cibercafés", delimita Ramírez y añade que "la portabilidad puede ser mejorada, hay gente que tiene un laptop y no quiere ir a un cibercafé.

Por el EvDO pagas el servicio de la movilidad". Un remitido de prensa de la empresa puntualiza que "Wi-Fi está orientado a usuarios nómadas, profesionales que por naturaleza de su negocio deben estar en la calle o realizar tareas itinerantes, como ventas, consultoría y soporte técnico.

El servicio es útil para los viajeros de negocios y estudiantes". ¿Para qué pagar más?Realmente, el servicio de EvDO ofrecido por Movilnet es requerido por un "determinado número de clientes", y los costos operativos que supone para la operadora instalar el servicio hacen imperativo su cobro.

En términos generales, EvDO es un servicio de cobertura total, que solamente necesita un segmento determinado del mercado, mientras que la nueva zona ABA Wi-Fi, ofrece a los clientes de ABA fija la conexión en 52 puntos específicos -de momento-, que han sido seleccionados con un criterio de "tráfico de gente", precisa Ramírez, y han sido ubicados en zonas como universidades, hospitales, hoteles, aeropuertos y centros comerciales.

La inversión –aseguró el especialista- es moderada, y alcanza los 15 millones de dólares. De los 52 puntos –esperan llegar a 100 hostpost al cierre de 2006-, 50 están en Caracas, 1 en el Aeropuerto Internacional de Maiquetía y 1 en la ciudad de Valencia (Auyama Café). "No es un tema tecnológico, (la planeación del servicio) era más de negociaciones con las localidades donde íbamos a estar y de mercadeo del producto", redondea Ramírez.

En Caracas algunos hostpost están en centros comerciales como el San Ignacio, Tamanaco, Sambil, Las Cúpulas, Vizcaya, Concresa y Tolón, y en el Centro Médico Docente La Trinidad. Asimismo, en comercios de La Mercedes, La Castellana, El Rosal, Chuao, Los Palos Grandes, Plaza Venezuela y las avenidas Francisco de Miranda y México.

Las ciudades con cobertura serán: Maracay, Valencia, Barquisimeto, Maracaibo, Puerto Ordaz y Puerto La Cruz. Para ofrecer este servicio, Cantv estableció una alianza con Urbalink, que provee los hostpost de manera exclusiva, además de la instalación, mantenimiento, atención al cliente y soporte de los mismos.

Precisiones técnicas
La conexión gratuita a suscriptores de ABA podrá hacerse a través de laptops o asistentes personales digitales (PDA, tarjetas, teléfonos).

Se podrá acceder también a través de un sistema prepago, mediante la compra de las mismas tarjetas Única que sirven para los celulares.

El servicio se basa en la colocación de pequeñas antenas en los sitios de conexión –con un costo de entre 2 mil y 10 mil dólares- que están directamente eslabonadas al sistema de banda ancha sobre ADSL (ABA).

En Venezuela hay más de 300 mil clientes con ABA fija. Los otros sistemas de conexión inalámbrica, además de EvDO (Movilnet y Movistar), son UMTS/GPRS/EDGE (Digitel) y W: MAX (ninguno).

Alejandro Ramírez Morón

12 junio 2006

Google presenta software para programar en AJAX

Es gratuito y permite convertir clases de Java en ficheros HTML y JavaScript que componen nuestra aplicación web, trabajando con nuestro IDE habitual 

 

Guillem Alsina  - Ajax es el último grito en programación web, una fusión de tecnologías como el HTML, CSS (Cascading Style Sheets), o DOM (Document Object Model), que permite la creación de aplicaciones altamente interactivas basadas en la Web. Es también la herramienta que está permitiendo a Google hacer realidad el concepto que hace unos años impulsó Sun Microsystems con su filosofía "The network is the computer", gracias a aplicaciones como Google Talk integrado en Gmail, su procesador de textos online o la más reciente hoja de cálculo.

Siendo famosa por sus herramientas gratuitas y por facilitar una alta interacción con sus productos, era lógico pensar que Google también facilitaría de una forma u otra la vida de los programadores, y así ha sido mediante la introducción de su Web Toolkit.

Google Web Toolkit (GWT) consiste en una herramienta que permite a los programadores en Java convertir sus clases a módulos HTML y JavaScript compatibles con la gran mayoría de navegadores del mercado gracias al uso de estándares abiertos con los que trabajan la mayoría de estos programas.

El nuevo software de Google, que consiste realmente en un compilador, permite al programador trabajar con su IDE favorito, pasando después a convertir su programa en una serie de páginas HTML y JavaScript que pueden ser subidas a cualquier servidor.

GWT también incluye una serie de elementos gráficos de interfaz de usuario, llamados Widgets, que se disponen dentro de elementos contenedores llamados Panels.

Web Toolkit también facilita al programador la reutilización del código fuente en forma de módulos para otros proyectos, y naturalmente Google ha dispuesto una serie de ayudas online en el sitio web del producto.


Más información:

Google Web Toolkit - Build AJAX apps in the Java language
http://code.google.com/webtoolkit/