blog Linux, Ubuntu, Novell, RedHat, Comunidad Linux, Open Source, noticias linux, mundo it.

Linux, Ubuntu, RedHat, Fedora, OpenSourse, Mandriva, Kubuntu, Chrome, FireFox, Suse, Open Suse.

Posts Tagged ‘ Google Chrome ’

spdy

Hace poco, Google lanzó un nuevo protocolo para internet al que bautizó SPDY (por “Speedy”), en un esfuerzo para hacer a la web más rápida. Pero, ¿hacia dónde va Google con esto?

Cuando se diseñó el protocolo HTTP, dando inicio a lo que hoy conocemos como “la web”, el tipo de contenido que se pensaba publicar era muy distinto al que se usa hoy en día, y según Google, ya es hora de pensar en un nuevo protocolo más acorde con los tiempos.

Google espera que poco a poco la comunidad de código abierto comience a contribuir con ideas, retroalimentación de código y resultados de pruebas. Mientras tanto, ya han habilitado SPDY en Chrome y en un servidor web en donde han logrado reducir hasta en un 64% el tiempo de carga de páginas usando este nuevo protocolo en vez de HTTP.

¿Qué tiene de malo HTTP?


El principal problema de HTTP es algo que se conoce como latencia, y es el tiempo en que el sistema en general está esperando a que algo suceda, por ejemplo cuando el cliente está esperando a que el servidor responda.

El efecto de la latencia no es muy conocido y casi toda la gente asocia la rapidez sólo con ancho de banda.  Para que se hagan  una idea, tener una alta latencia y un gran ancho de banda equivale a viajar en avión: El tiempo ganado en viajar se compensa con el tiempo perdido en esperar que el avión salga al inicio del viaje, más el tiempo perdido en recoger el equipaje al llegar a destino, sin mencionar el tiempo necesario para entrar y salir del aeropuerto cuando se encuentra fuera de la ciudad. Para viajes cortos, el tiempo de espera puede ser tan grande como el tiempo de viaje, y para viajes demasiado cortos, es mejor un taxi por muy rápido que sea el avión.

Para el caso de protocolos como HTTP, una gran transferencia de datos es mejor que varias transferencias pequeñas, ya que en el primer caso tenemos sólo una espera y una larga transferencia de datos, pero cuando hay varias transferencias se producen múltiples esperas para una transferencia de pocos datos: por muy rápida que sea esa transferencia, la espera será mucho tiempo perdido.

HTTP es simple y elegante, pero lento

El protocolo HTTP es bastante simple y elegante, muy fácil de implementar para un desarrollador promedio, pero tiene el inconveniente de ser lento debido a su latencia.  Estas son algunas de las razones que expone Google para su lentitud:

Sólo una petición por conexión: cuando el navegador (o agente web) quiere obtener un recurso desde el servidor web, por ejemplo una imagen, un icono, un sonido o una página web, debe realizar una petición al servidor.  Por cada conexión TCP/IP hacia el servidor se puede realizar sólo una petición a la vez, esto quiere decir que el agente web debe esperar a que el servidor responda para iniciar una segunda petición.  Desde el 2008 los navegadores abren unas seis conexiones simultáneas por dominio, pero en cada conexión persiste en problema de las esperas.

Sólo el cliente puede iniciar una petición:  en HTTP no es posible que el servidor envíe o informe algo al cliente si éste no ha realizado una petición, por lo que el servidor siempre está esperando a que el cliente pida los recursos que necesita.  Por ejemplo un webmail no puede notificar al cliente sobre un nuevo correo sin que éste haya preguntado primero.

Información adicional: por cada petición y respuesta se debe agregar información adicional (encabezados) que aumenta la cantidad de datos a enviar. Aunque parezca poco, hay que considerar que el ancho de banda de subida generalmente es menor. Por otra parte, HTTP y los servidores web obligan a enviar información que generalmente no cambia, como la identificación del browser o agente web (User-Agent) o el nombre del dominio al que se quiere acceder en el servidor web.

La compresión de datos es opcional: como una forma de simplificar la construcción de clientes y servidores HTTP se estableció que la compresión de datos sería opcional. Es decir, sólo se utiliza si ambos agentes la implementan y están de acuerdo. Por ejemplo el texto tiene una tasa de compresión muy alta, y enviarlo sin comprimir es una gran pérdida de recursos.

Hacia donde apunta SPDY

SPDY apunta a mejorar la web con un mínimo de cambios a lo que ya existe. Por ejemplo, las aplicaciones web pueden mantenerse igual y el hardware de red es totalmente compatible, sólo es necesario implementar el protocolo en los clientes y servidores web. Los cambios se enfocan en tomar HTTP y aplicar lo que sea necesario para reducir la latencia y mejorar además el uso de ancho de banda.

Google dice que estas son sus metas técnicas:

Permitir múltiples peticiones HTTP en una sola conexión (sesión TCP): de esta forma no sería necesario esperar a que llegue un recurso para solicitar el siguiente.

Usar compresión en los encabezados, ya que se trata sólo de texto y tal como dijimos, la tasa de compresión es muy alta. Además se eliminarán los encabezados redundantes. En las pruebas realizadas, esto ha reducido en más del 80% la cantidad de datos a transmitir por encabezados.

Definir un protocolo fácil de implementar y eficiente por el lado del servidor. Se espera reducir la complejidad del HTTP eliminado los casos de borde, es decir, aquellos casos especiales que complican la implementación, y definiendo un formato fácil de procesar.

Usar SSL como protocolo subyacente. Esto quiere decir que todas las conexiones serán seguras. Además de proveer seguridad, la idea es que los proxies actuales no interfieran con la comunicación via SPDY.

Permitir que el servidor inicie la comunicación, enviando datos hacia el cliente cuando sea posible.  Para esto se proponen dos mecanismos, uno es el envío de datos al browser en forma adicional al contenido que ya está pidiendo, y la otra es darle una pista al browser para que pida contenido adicional, indicándole qué debe pedir.

Cómo probarlo en casa


Desafortunadamente, aún no es posible probar la solución completa. Si bien Google ha publicado una versión de Chrome con SPDY, no ha publicado aún el servidor web compatible con SPDY.

Hasta el momento Google ha probado con unos 25 sitios seleccionados entre sus “Top100″ simulando una conexión de red casera. En estas pruebas han visto una reducción de entre un 27% a un 60% en tiempo de descarga por página usando conexiones sin SSL y desde un 39% a un 55% usando conexiones SSL.

Este protocolo se ve bastante prometedor y aunque las cifras se ven buenas, se sabe que aún hay espacio para mejorar, por ejemplo en el servidor de pruebas no han hecho todo lo que se cree que se puede hacer para que tenga un comportamiento más astuto.

Vía_fayerwayer.com
Fuente: http://dev.chromium.org/spdy/spdy-whitepaper

Popularity: 1% [?]

google-linux-copy

Aún no hay versión oficial de Google Chrome para Linux, pero al ser desarrollado en forma abierta, desde hace tiempo que se puede usar mediante las versiones que se publican diariamente de Chromium, el proyecto de código abierto detrás de Chrome.

En el grupo de discusión de los desarrolladores, uno de ellos planteó la inquietud de por qué el navegador se percibe ridículamente más rápido en Linux comparado a las versiones para Windows y Mac, lo que originó un interesante debate acerca de cómo el sistema operativo influye en una aplicación de este tipo.

En la discusión se exponen algunos detalles de implementación que hacen que en Linux algunas aplicaciones corran con ventaja gracias a decisiones de diseño tanto por el lado del sistema operativo como de la misma aplicación.  Por ejemplo indican que crear un proceso en Windows es mucho más caro en términos de uso de recursos y esto afecta la creación de nuevos tabs, ya que justamente en Chrome se trata de nuevos procesos.  En el caso de Linux, el sistema en general es más ligero y por lo tanto hace menos cosas en operaciones de este tipo.  Una de las posibles soluciones planteadas es tener siempre un proceso creado en forma anticipada, de tal forma de que cuando se necesite no tenga que esperar el proceso de inicialización.

X.org comienza a mostrar su nueva cara

Otro aspecto importante es la forma en que se manejan los gráficos.  En el caso de Windows se pueden usar dos tipos de gráficos : DIB (independientes del dispositivo) y DDB (dependientes del dispositivo).  En el primer caso se crean en memoria normal y luego se copian a la memoria de video, con el problema adicional de que se deben aplicar transformaciones desde una representación genérica a la representación física o final que se requiere y no siempre puede usar aceleración por hardware.  En el segundo caso, los DDB,  no se requiere tal transformación y una copia puede hacerse con un simple comando ejecutado por la GPU (bitblt), pero el diseño de Windows pone un límite artificial a la cantidad de gráficos que se pueden manejar como DDB, lo que lo convierte en un recurso escaso y poco apetecible por los desarrolladores de aplicaciones.

En el caso de Linux y pese a todo lo que la intuición puede decirnos acerca del tamaño y complejidad de X.org, este tipo de operaciones está muy optimizado, sobre todo en la última generación de drivers que utilizan gestión de memoria unificada en el kernel (GEM), específicamente usando la arquitectura de aceleración UXA.  En este caso las copias de bloques de memoria se reducen al mínimo, y dejar disponible un gráfico en la GPU es una operación acelerada por hardware.  Es tanto así que cuando se inició el desarrollo experimental de UXA en X.org se midieron mejoras en el rendimiento de hasta un 60%.

Por otra parte, según los mismos desarrolladores de Chromium, la forma en que se están creando los gráficos no siempre usa aceleración por hardware, mientras que en el caso de Linux, gracias a las nuevas arquitecturas de aceleración, primero EXA y luego UXA, todas las operaciones comunes se realizan con aceleración por hardware.

En el caso de Mac, los desarrolladores de Chromium dicen que aún no se han enfocado en optimizar el rendimiento, por lo que no tiene mucho sentido discutirlo en este momento.  De todas formas, los usuarios de Windows no deben preocuparse porque ya se han creado los registros en el sistema de seguimiento de bugs de Chromium para solucionar los problemas de rendimiento percibidos.

Links:

- Why is Linux Chrome so fast? (Chromium-dev)

- GEM The Graphics Execution Manager (LWN.net)

- Chrome más rápido en Linux que en Windows y Mac OS (CHW.net)

Popularity: 1% [?]

El Linux que usa Google

By agunsche on Noviembre 9, 2009

google-linux

Google es probablemente la organización en donde está corriendo la mayor cantidad de sistemas Linux.  Gracias a este sistema operativo fue posible crear un esquema de trabajo distribuido y a la medida que fuera suficientemente independiente para permitir convertir una tesis en lo que hoy es Google.
Pero hasta hace poco, no se sabía mucho de qué uso y qué tipo de problemas encontraba Google en su intensivo uso de Linux.  Digo hasta hace poco porque en el reciente Kernel Summit realizado en Japón, Mike Waychison de Google asistió para exponer a los principales hackers del kernel, el uso que este gigante informático le da a Linux.
Google usa un sistema de control de versiones del software bastante arcaico para lo que está acostumbrada la comunidad del código abierto, lo que provocó risas en los asistentes.  Se trata de Perforce, y en comparación a nuevos sistemas como Git, tiene limitaciones o modos de trabajo que uno jamás pensaría que tendrían en Google.  No es de extrañar el interés despertado en los asistentes a la presentación que hizo Linus Torvalds sobre Git en Google hace un tiempo atrás.
Y eso es sólo el comienzo, ya que Google maneja versiones bastante atrasadas de Linux.  Alrededor de 30 ingenieros trabajan sobre una única base de código, aplican cambios y aproximadamente cada 18 meses sincronizan su propia versión con una versión pública de Linux.  Al ritmo que se desarrolla el kernel, la cantidad de cambios acumulados en todo ese tiempo lo convierten en una tarea titánica.
Es tanto así, que muchas de las lineas de código que Google agrega a su propia versión son funcionalidades que se han implementado en Linux pero que no existían en la versión que usaron como base. Así sucedió por ejemplo con el soporte de 64-bit y el soporte de SATA.  Actualmente se están preparando para mezclar con 2.6.26, mientras que la versión pública ya se acerca a 2.6.32.  Los cambios de Google serán aproximadamente 300.000 líneas de código en donde un 25% corresponde a backports de nuevas características.
El código es horrible
Linus Torvalds quien obviamente estaba presente y no fue sólo a sacarse fotos a Japón, preguntó por qué Google no aplicaba sus cambios al kernel público.  Mike respondió que el código era bastante horrible y basado en versiones antiguas de Linux, además de que no tenían seguridad de que los cambios aplicados por ellos tuvieran alguna utilidad para otros y que probablemente sólo la mitad de éste sería publicable.  Hay que recordar que licencias como GPL no obligan a publicar el código que se usa internamente, por lo que Google está en su derecho de no publicar sus cambios.
Otro aspecto importante es que los estándares para aceptar código en el kernel son bastante altos, por lo tanto un cambio que Google puede hacer rápidamente se convertiría en un proyecto de largo o mediano plazo al entrar en un proceso más exigente como es el desarrollo de Linux.
Mike también habló de uno de los aspectos críticos del kernel para Google, que es la forma en que se ejecutan los procesos.  En un sistema multihilos como Linux, existe un componente que se encarga de decidir qué proceso usará la CPU en un momento determinado, este componente se llama scheduler o planificador.  Para Google se trata de un componente en donde los cambios tienen un alto impacto, ya que en sus sistemas corren unos 5000 hilos en 16 a 32 cores, mientras que en el equipo de Linux este aspecto se ataca con criterios de diseño que apuntan a un uso más tradicional.
En general Google aplica varios cambios a medida que los necesita, en forma independiente a cómo se implementan en el kernel, hasta que llega el momento de cambiar de versión. Según los asistentes, esta participación en Linux Summit fue bastante productiva ya que se puede decir que la comunidad aprendió mucho de uno de sus principales y extremos usuarios.
Fuente: fayerwayer

Popularity: 1% [?]

será coincidencia?

By agunsche on Octubre 28, 2009

google

Miren esto… el logo de Windows y el logo de Google Chrome… parecidos no? pero no se equivoquen no es que chrome nazca de Windows…. nooo por el contrario llegó a solucionar los problemas que sus navegadores tenían, o al menos eso prometen.

Que tal!

Descarga Google Chrome aquí.

Popularity: 58% [?]

La comisión europea y Microsoft llegaron a un acuerdo por el caso antimonopolio que se le aplicaba a este último,  relacionada con la integración de Internet Explorer en el Sistema Operativo Windows.

ballotscreen

Lo anterior producto de que la propuesta planteada por la compañía relacionada con una ventana de selección (”Ballot Screen“), donde el usuario pueda elegir de entre doce opciones el navegador que desea instalar en el computador, sería del total agrado de la Comisión, por lo que sólo faltaría la aprobación final del mismo.

Claro que para lograr la aprobación final de la propuesta, la Comisión realizará una serie de consultas a los fabricantes, empresas ligadas al software y consumidores; con el objeto de que se pronuncien respecto a este tema. Si los resultados de dichas consultas son positivos, se lograría sellar el acuerdo que tendría una duración de cinco años.

La propuesta de solución planteada por Microsoft consiste en una ventana de elección que ofrecerá los cinco navegadores más populares ordenados alfabéticamente, seguidos de otros siete para completar un total de doce navegadores. Una vez que el usuario seleccione el navegador de su preferencia este será instalado en el computador cambiando el ícono habitual de IE por el correspondiente al navegador seleccionado. El acuerdo establece que esta solución debe ser implementada también tanto en Windows XP como en Vista, por medio de una actualización vía Windows Update.

tuxwindows

Asi que ahora Windows tendrá que dar igualdad de oportunidades a los diferentes navegadores que existen y dejar sus prácticas monopólicas, que ya tantos años ha impartido.

.

.

.

.

.

.

.

Popularity: 1% [?]

Google Chrome, novedades en sincronización

google-chrome-navigateur-web
El navegador web de Google planea integrar un sistema que permita sincronizar nuestra actividad con la nube para así disponer siempre de los mismos marcadores, contraseñas, cookies, historial….

Google Chrome pretende que toda la información del navegador se sincronice con los servidores de Google para luego ser obtenida desde otro equipo de forma automática.

Por el momento Google ha empezado con la capacidad de sincronizar marcadores entre los navegadores instalados en diferentes ordenadores a través de una cuenta de Google. Esta funcionalidad estará previsiblemente incorporada en la próxima beta de su navegador web.

En las pruebas realizadas en el lado del cliente, esta nueva característica ha funcionado perfectamente en Windows y Linux, mientras que no se ha conseguido hacer funcionar con el sistema operativo de Apple, Mac OS X.

Con esta nueva funcionalidad Chrome sigue los pasos dados por Firefox y Opera a través de Weave o de Opera Link.

Popularity: 1% [?]

googleos1

En un artículo publicado en New Scientist, el director de ingeniería de Google, Linus Upson, ha declarado que los usuarios del sistema operativo Google Chrome OS no tendrán que preocuparse de los virus, el malware ni de las actualizaciones de seguridad.

El reconomiento de Google como una de las empresas más preparadas para hacer frente a grandes retos tecnológicos, a que el nuevo Google Chrome S.O está basado en un núcleo Linux y su uso dirigido a principalmente a Internet (Cloud Computing) lo que supone que no almacenará tantos archivos en el disco rígido sino en servidores centrales de Google, unido a la reputación ganada con servicios como Gmail que ha supuesto un alto grado de fiabilidad en la filtración de correos electrónicos no deseados (spam), dan un margen de confianza para la pretenciosa aspiración de crear un sistema operativo que deje obsoletos a los actuales virus y troyanos.

Empresas como Nvidia, Dell, Asus, Acer han confirmado ya que van a dar su soporte para el desarrollo y mejora de Google Chrome OS; así como el grupo de empresas de la Fundación Linux.

Irónicamente hace ahora una semana aparecía una nueva actualización de seguridad del navegador Google Chrome con solución a varios bugs.

Google Chrome S.O. pensado originalmente para netbooks, podría estar listo para el próximo año 2010

Popularity: 1% [?]

Fotos de Eventos

Linux Latin AmericaLinux Latin AmericaLinux Latin AmericaLinux Latin AmericaLinux Latin AmericaLinux Latin AmericaLinux Latin AmericaLinux Latin America