Multithreading

Ya hemos comentado en alguna entrada anterior que la mayor parte de las técnicas de optimización de procesadores actuales se basan en intentar aprovechar al máximo los recursos hardware del procesador ejecutando diferentes instrucciones en paralelo (ILP o paralelismo a nivel de instrucción).

En ocasiones no es posible explotar el paralelismo a nivel de instrucción dentro de un proceso debido a las dependencias que existen entre unas instrucciones y otras y que impiden su ejecución paralela. Una posible solución es el multithreading, que permite explotar el paralelismo entre instrucciones que pertenecen a diferentes hilos de ejecución o threads, y que por lo tanto es menos probable que dependan unas de otras (TLP o paralelismo a nivel de thread).

A diferencia de la mayor parte de las técnicas de ILP, el multithreading involucra directamente al sistema operativo y al compilador. Si una aplicación no está compilada para ejecutarse en diferentes threads y/o el SO no soporta este tipo de ejecución, no nos valdrá de nada que el procesador incorpore esta técnica.

El multihtreading consiste en ejecutar al mismo tiempo dos o más threads de un programa, permitiendo que cada uno de estos threads sea planificado de la manera más conveniente en el procesador, es decir, aprovechando al máximo todos los recursos disponibles. Es equivalente a tener dos o más procesadores lógicos o virtuales en lugar de uno sólo.

Hasta ahora la técnica de multithreading más utilizada ha sido el SMT (Symmetric MultiThreading) o Hyperthreading, patentado por Intel. Consiste en permitir que se emitan en el mismo ciclo instrucciones que pertenecen a distintos hilos de ejecución o threads. De momento todas las implementaciones han permitido ejecutar simultáneamente instrucciones de 2 threads diferentes, lo que permite aprovechar recursos que de otra manera no se utilizarían.

Físicamente sólo se tiene un procesador, aunque virtualmente es como si se tuvieran dos. Para que os hagáis una idea, con dos threads (dos procesadores virtuales), se puede incrementar el rendimiento del procesador en un 25 ó 30%, obviamente no en un 100%, ya que casi todos los recursos hardware son únicos y se comparten entre los dos threads.
aa

Gestión eficiente de recursos energéticos (y III)

El material utilizado para redactar estas entradas ha sido proporcionado por la Ingeniería Consultora Enco, quien ha incorporado una línea de negocio dirigida a aportar soluciones para la gestión energética (encoEnergy).
m
Para más información acerca de las actividades desarrolladas por Enco en este ámbito, se adjuntas los datos de contacto:


http://www.encoweb.com/

Manuel Guil

-------------------------------------------------------
Entradas relacionadas:


Los requerimientos generales que debe cumplir un sistema de gestión energética son estos:

  • Herramientas de monitorización. Herramientas de monitorización, comparación y previsión por tipo de servicio.
  • Facilidad de configuración. Informes (reports) y paneles de indicadores (Cockpit).
  • Sistema intuitivo. Herramientas de análisis intuitivo para la mejora de la eficiencia.
  • Conversión de consumos. A gasto (euros) y a emisiones (CO2).
  • Escalabilidad. Facilidad de añadir nuevos dispositivos de medición, de crear nuevos reports, etc.
  • Capacidades de previsión. Realizar previsiones de consumos energéticos futuros.
  • Integración. Comunicación completa con sistemas existentes.


En cualquier caso, una organización no debe plantearse un proyecto de gestión eficiente de recursos enérgeticos a no ser que su factura mensual por concepto de consumo energético supere los 100.000€.

Además hay que tener en cuenta, que el ahorro esperado al realizar con éxito este tipo de proyectos se cuantifica entre un 5% y un 10% sobre la cuota defacturación inicial.

Este beneficio de tipo cuantitativo, se complementa con otros beneficios de caracter más cualitativo:

  • Conocimiento exácto de consumos.
  • Mejor asignación a centro de costes.
  • Imagen de la empresa si es posible comunicar que ha reducido emisiones.
  • Cumplimiento de normativas de calidad mediambiental.
  • Capacidad para informar a las ESCO (Energy Service Company) de la previsión de consumo energético.

m

Gestión eficiente de recursos energéticos (II)

El material utilizado para redactar estas entradas ha sido proporcionado por la Ingeniería Consultora Enco, quien ha incorporado una línea de negocio dirigida a aportar soluciones para la gestión energética (encoEnergy).

Para más información acerca de las actividades desarrolladas por Enco en este ámbito, se adjuntas los datos de contacto:



http://www.encoweb.com/
Manuel Guil
m.guil@encoweb.com
-------------------------------------------------------



Uno de los principales instrumentos utilizados para realizar una gestión eficiente de recursos energéticos es la utilización de sistemas de gestión energética.
m
Los sistemas de gestión energética son soluciones software que a partir de la supervisión, control y captura de información en tiempo real de diferentes dispositivos de campo (contadores, caudalímetros), asociados a la medición de fuentes energéticas (normalmente gas, electricidad, y conversiones de agua fría a agua caliente y viceceversa, generación de vapor, etc), permiten reducir los costes energéticos y minimizar las emisiones.
m
Esto se materializa en las siguientes ventajas:
  • Reducen y controlan los picos de demanda.
  • Reducen las emisiones de CO2.
  • Optimizan las condiciones con los suministradores de energía.
  • Realizan asignación de costes.
  • Ayudan a tomar decisiones.


Los sistemas de gestión energética deben incluir las siguientes funcionalidades:

  • Gestión de consumos. A través de informes predefinidos para los diferentes tipos de energías, el usuario puede conocer los consumos, analizarlos y visualizar los principales indicadores de gestión energética. Esta práctica es lo que se conoce como el alisamiento de la curva de consumo. El hecho de conocer los consumo históricos de energía, proporciona a la empresala posibilidad de realizar un consumo más estable, sin que se produzcan picos que penalizan la facturación total. Esta gestión también posibilita la asignación de costes energéticos a centros de costes.
  • Balance energético. Supervisión de la carga principal así como de las subáreas, control de la carga pasiva y activa, agregación de multi-instalación y control de picos en la demanda eléctrica de cada instalación.
  • Emisiones. Conversión de consumos a emisiones CO2.
  • Forecasting. Módulo básico para identificar tendencias o previsiones de consumos futuros. En este sentido, es básico contar con una solución que recoja todaesta información en tiempo real y sin extrapolaciones ni aproximaciones.
  • Billing y Costes. Verificación de la facturación , asignación de costes y simulación. Esta funcionalidad permite que las empresas corroboren que la facturaemitida por el proveedor de energía es correcta. En ocasiones existen desviaciones de hasta un 5%.Este módulo debe permtir la integración con tarifas (para permitir esta comparación). Estas tarifas generalmente están localizadas en el ERP de las organizaciones.

v


Reunión Técnica. Tecnología OPC.

El próximmo 4 de noviembre de 2009 la sección española de ISA organiza en Madrid (en la Facultad de Matemáticas de la Universidad Comlutense) una reunión técnica acerca de tecnología OPC. El día 5 se celebrará la misma reunión en Barcelona.

En esta reunión se analizará brevemente qué es OPC, sus especificaciones y los beneficios de su uso. En concreto, en la primera parte se tratarán los siguientes temas:
  • Requerimientos de estandarización en la conectividad industrial. Ejemplo practico de la solución OPC.
  • Presentación de las principales especificaciones existentes dentro del estándar OPC: OPC DA, OPC DHA, OPC A&E, OPC UA.
  • Beneficios obtenidos en la implementación de un estándar de conectividad en el entorno industrial.
En la segunda parte se realizará una mesa redonda y coloquio, con la participación de expertos en el tema (entre los que se encuentra Fernando Sevillano) y turnos de preguntas por parte de los asistentes.

La inscripción es gratuita:

http://www.isa-spain.org/actividad.asp?id=176
aa

La arquitectura hardware de Google

Ya hemos hablado en entradas anteriores de la buena relación coste/prestaciones de los sistemas de tipo cluster, y hemos comentado la posibilidad de diseñar arquitecturas realmente potentes incluso a partir de componentes obsoletos y completamente heterogéneos.

Como demostración para los "incrédulos", vamos a hablar hoy de la arquitectura que soporta el motor de búsqueda de Google, un cluster. Las consideraciones iniciales que los diseñadores de Google se hicieron estaban relacionadas con fiabilidad, la productividad y la relación precio/prestaciones. Debían conseguir una arquitectura con estas características que permitiera la ejecución de una aplicación programada en C/C++ y que se ejecuta sobre plataformas con Linux con replicación en como mínimo, tres puntos geográficos.

Para ello han construido un cluster a medida completamente heterogéneo y muy escalable. En cifras, cada tres meses se actualiza alguno de los componentes de los nodos de cómputo (procesador, memoria o disco) y entre un 2 y un 3% de los nodos son sustituidos cada año.

Los nodos de cómputo están agrupados en racks que contienen entre 40 y 80 nodos dcada uno. Hay cerca de 1000 racks en la actualidad, con nodos x86, desde Celeron a 533 MHz hasta biprocesadores Pentium IV. Cada nodo tiene enstre 256 MB y 1 GB de memoria DDR y 80 GB de capacidad de almacenamiento.

El cluster utiliza Gigabit Ethernet (cobre, cables de categoría 5) para la conexión entre los nodos, y los enlaces a Internet tienen un ancho de banda mayor (2 Gb/s en media).

Todos los nodos tienen instalado un sistema operativo Linux y herramientas a medida para instalación y actualización de software, para la monitorización (en media se reinician al día 20 nodos en remoto) y para la gestión del Google File System (GFS).

Como podéis observar no se ha realizado una inversión excesivamente alta en la plataforma hardware que soporta el sistema, sino que se aprovechan todo tipo de nodos de cómputo que todavía pueden servir en una arquitectura de este tipo aunque individualmente ya estén obsoletos. Sin embargo se ha conseguido un sistema independiente de fabricantes HW y SW, y que proporciona las prestaciones adecuadas para la ejecución de la aplicación.
aaa

Primer paso para la gestión de riesgos corporativos

Ya hemos introducido el concepto de ERM en entradas anteriores desde un punto de vista general.

Si nos interesa ponernos manos a la obra, existen diferentes metodologías, mejores prácticas y normativas que nos ayudan a afrontar la gestión de riesgos de una manera sistemática. Y casi todas ellas coindicen en comenzar por una primera fase de Identificación de riesgos.

El primer paso para la gestión de riesgos corporativos debe ser siempre realizar un inventario con todos los riesgos posibles. Y a ser posible, crear una base de datos de riesgos que sirva como base para toda la estrategia ERM de la organización.

Para realizar esta identificación se pueden utilizar diversos métodos:
  • Estadísticas e históricos del pasado.
  • Opiniones de expertos.
  • Experimentos, pilotos.
  • Simulaciones.
  • Análisis técnicos.
  • Brainstorming, cuestionarios.
  • Lecciones aprendidas.
  • Herramientas BPM (Business Process Management).
Y si ya sabemos cómo podemos identificar riesgos, la siguiente pregunta sería ¿dónde los buscamos?. Si intentamos comenzar por una clasificación universal, que no dependa de nuestro sector de actividad, una estrategia ERM completa debería tener en cuenta los siguientes riesgos:
  • Externos: Económicos, Medioambientales, Políticos, Legales, de Mercado y Sociales.
  • Internos: Financieros, Operacionales y Tecnológicos.
Pensando en estas categorías, ¿cuáles serían los más importantes para vuestra empresa?. ¿Por dónde empezar con la gestión de riesgos en una primera aproximación?.
ss

Introducción a Cloud Computing

Este concepto es cada vez más conocido, ya que se trata de un modelo de computación que permite a las organizaciones ahorrarse inversiones en aplicaciones, sistemas e incluso personal.

La idea principal es sencilla: que los clientes puedan acceder a recursos software y hardware ofrecidos como servicios a través de Internet. Ya en los años 90 Sun intentó comercializar clientes "finos" que utilizaran recursos ofrecidos a través de la red para realizar la mayor parte de las tareas.

Pero no ha sido hasta estos últimos años, con la madurez de las arquitecturas orientadas a servicios (SOA), cuando este modelo de computación se ha comenzado a ver como una realidad.

Normalmente se distinguen tres categorías de sistemas Cloud:
  • Software as a Service (SaaS): En este caso el cliente paga por la utilización de un software, y tanto el código de la aplicación como los datos se almacenan en remoto. Esta es la categoría más extendida hoy en día, todos conocemos casos de organizaciones que utilizan Google Docs o algún CRM que no reside en los sistemas de la propia compañía.
  • Platform as a Service (PaaS): En este categoría se permite que los clientes desarrollen sus propias aplicaciones y que se ejecuten en plataformas remotas. Por ejemplo, Google Ap Engine permite a los desarrolladores que programen aplicaciones para que puedan ejecutarse en sistemas proporcionados por el propio Google.
  • Infrastructure as a Service (IaaS): Esta última categoría es muy similar a la anterior, ya que el cliente desarrolla su propia aplicación, pero en este caso, el software se ejecuta sobre máquinas virtuales remotas, que es por lo que paga el cliente.
Estos modelos de computación presentan muchas ventajas en cuanto a ahorro de costes, pero también introducen nuevos riesgos en el funcionamiento cotidiano de las organizaciones, especialmente en lo que se refiere a la seguridad de la información.

Cada vez más código y datos residen en un conjunto más reducido de recursos hardware, que por lo tanto, se convierten en objetivos muy tentadores para posibles atacantes. De hecho, multitud de compañías y de agencias gubernamentaes han anunciado que no se plantean utilizar Cloud Compunting a corto plazo, a pesar de sus evidentes ventajas (sobre todo PaaS e IaaS), porque la utilización de este modelo implicaría incrementar enormemente sus riesgos corporativos. Ya hablaremos de la seguridad en este tipo de computación en futuras entradas.
aa
aa

Evento. Mesa de innovación PymeInnova.

Mañana, miércoles 7 de Octubre del 2009, se celebra en el hotel NH Las Rozas una nueva mesa de innovación organizada por el IMADE dentro del programa PymeInnova.

Será entre las 18.30 y las 20.30 y tratará acerca de la Gestión del Riesgo en la Empresa. En este caso yo misma seré la ponente, ya sabéis que es un tema que nos interesa especialmente en RedIndustria.

Espero que la información sea de vuestro interés. Un saludo a todos.
aaa

Gestión eficiente de recursos energéticos (I)

La gestión eficiente de los recursos energéticos inherentes a una organización se está convirtiendo en una práctica habitual dentro del entorno empresarial con el fin de alcanzar los objetivos operativos y estratégicos establecidos.

Durante varias entradas se analizará el alcance, metodologías, objetivos y herramientas disponibles en el mercado para llevar a cabo esta gestión.

El material utilizado para redactar estas entradas ha sido proporcionado por la Ingeniería Consultora Enco, quien ha incorporado una línea de negocio dirigida a aportar soluciones para la gestión energética (encoEnergy).

Para más información acerca de las actividades desarrolladas por Enco en este ámbito, se adjuntas los datos de contacto:

http://www.encoweb.com/

Manuel Guil

m.guil@encoweb.com


-------------------------------------------------------
La Gestión energética es el proceso de medir, controlar y optimizar los flujos energéticos (electricidad, gas, agua, vapor,…) en un edificio u organización , tanto en el sector privado como en el sector público. El ciclo asociado a la gestión energética se compone de cuatro fases:
m
1. Medir los consumos energéticos y recopilar datos de forma automática (conectándose a los contadores, circutores y demás dispositivos e intrumentos de medición).
2. Identificar ahorros, analizando los datos de consumo recogidos acerca de hábitos de consumo, gestión de equipos (p.e. iluminación) y factores constructivos (p.e. aislamiento).
3. Actuar, priorizando y ejecutando las acciones identificadas.
4. Retroalimentación, analizando los datos de consumo para determinar si las acciones realizadas han sido efectivas.
m
Se pueden distinguir dos tipos diferentes de objetivos vinculados a la gestión energética: globales y específicos.
m
Entre los globales destacan:
-El de reducir los daños causados al planeta por las sobreexplotación de recursos.
-El de mitigar la dependencia de combustibles fósiles que cada vez son mas limitados.

Entre los específicos se encuentra:
-El de reducir costes en un entorno creciente de precios.
-El de reducir emisiones de CO2 y consiguientes daños medioambientales que éstas causan, incrementando la sostenibilidad.
-El de reducir riesgos controlando, estabilizando y disminuyendo la demanda de energía es posible obtener mejores precios de suministro al estabilizar el consumo y hacerlo más predictible.
m
Estos proyectos están apoyados por diferentes instituciones europeas como:
-European Commission Energy - Energy Efficiency- http://ec.europa.eu/energy/efficiency/index_en.htm.
-2009 Intelligent Energy - Europe work programme.
m