miércoles, 25 de febrero de 2015

Programación sobre Arquitecturas de Altas Prestaciones (PAAP)


Actualmente el sistema de cómputo más potente del mundo cuenta con con la no despreciable cifra de 3'120.000 núcleos (a noviembre de 2014 según top500.org) y realiza 33,862.7 TFlops, es decir, más de 33 billones de operaciones por segundo, lo cual se hace difícil de imaginar teniendo en cuenta que un computador de casa puede llegar a los míseros 8 núcleos de procesamiento. Este gran computador en realidad no es solo un computador, sino que más bien es lo que se puede conocer como un clúster (racimo) de computadores.
Pronóstico del clima, ejecución de complejas ecuaciones físicas, simulaciones del universo, simulación de mareas, entre otras necesidades científicas eran los principales clientes o usuarios de sistemas con un gran poder de cálculo. Pues bien, los centros científicos de estas áreas han dejado de ser los únicos que requieren grandes y complejos sistemas de calculo; millones de operaciones de compra y venta en los mercados financieros para los bancos, análisis de comportamientos de masas, mediante el descubrimiento de patrones en grandes volúmenes de información, para entidades de seguridad nacional, entre otros, son solo algunos de los nuevos retos que se presentan a los ingenieros que construyen sistemas de información.


Por otra parte, día con día empresas dedicadas o no al desarrollo de software construyen sistemas de información o programas de diferente tipo. La mayoría de los programas construidos se podría decir que funcionan bien. Sin embargo, el hecho de que cumplan con el objetivo funcional no significa que lo hagan de la manera más óptima.

El hecho de que el Hardware de cómputo se cada vez más barato ha llevado a que muchos sistemas e ingenieros hayan perdido el enfoque de construcción de sistemas óptimos, para reemplazar la optimización de los mismos por fuerza bruta, es decir, mucho poder de calculo.

El enfoque de IDCI para PAAP abarca tanto el uso de hardware muy potente con el diseño de algoritmos altamente eficientes tanto en el uso de procesador como en el uso de memoria, aplicado al desarrollo de sistemas que requieren un gran número de cálculos y una respuesta en tiempos muy corto.




jueves, 6 de noviembre de 2014

Software Sobre Nuevas Tecnologías (SNT)

Cuando se habla de nuevas tecnologías siempre se puede caer en el atraso, principalmente porque el desarrollo tecnológico es tan rápido, que seguir su ritmo no es fácil. Sin embargo, nadie mejor para ir a la par con el desarrollo tecnológico que un estudiante de carreras como ingeniería de sistemas.
Image courtesy of stockimages - FreeDigitalPhotos.net

IDCI usa esta idea como fundamento para desarrollar en los alumnos de ultimo año de carrera, habilidades de investigación y se apropien de conocimientos que serán de gran utilidad en su futuro próximo como profesional. IDCI apoya a los estudiantes a desarrollar sus proyectos de fin de carrera, orientándolos en el desarrollo de proyectos de interés particular para ellos y que se enfocan en el uso de nuevas tecnologías.

Un ejemplo de ello es la propuesta de la transformación de la plataforma de la universidad de Cundinamarca; que tanto alumnos como profesores usan para diversas labores administrativas, para hacerla accesible de forma natural y cómoda sobre dispositivo móviles.






domingo, 19 de octubre de 2014

Software que Hace Software (SHS)

De igual manera que la revolución industrial optimizó la forma en que la industria hasta entonces hacia las cosas, la tecnología ha acelerado la forma en que nuestra sociedad maneja la información.


Imagen de: http://img.xatakaciencia.com/

En las últimas décadas se han construido innumerables sistemas de información. Software para manejo el manejo de la contabilidad de una empresa, para transacciones bancarias, tiendas en línea, sistemas médicos y un gran etc., sin embargo, para todo aquel que haya estado involucrado en el desarrollo de un sistema de información habrá notado que con el tiempo el trabajo se puede tornar repetitivo aunque con sutiles diferencias, y justamente las diferencias pueden causar un gran impacto en la construcción del mismo.En muchas ocasiones las diferencias que hay entre un sistema de información y otro parte de las personas que lo realizaron, mas que de los sistemas mismos.

Aun las empresas con mayor experiencia y madurez en la construcción del software, pueden caer en el desarrollo de varios sistemas que son tan parecidos en sus capacidades que bien podrían tomar cualquiera de ellos y hacer algunas adaptaciones para cumplir con las necesidades de otro, y sin embargo, cada uno de ellos es construido, en muchos casos, en su totalidad.



Construir un sistema de información desde cero, normalmente, implica el tener que validar mediante pruebas de calidad de software, todas y cada una de sus características, o bien arriesgarse a que todo funcionará bien, cosa que en muchos se hace.

Debido a lo ya mencionado, el grupo IDCI propone cambiar el enfoque utilizado para la construcción de sistemas de información y, de la misma manera en que las personas construyen robots para que sean ellos los que hagan los vehículos en una planta ensambladora; construir nosotros, basados en el uso de herramientas ya existentes, programas de computador que creen como en una planta de montaje en serie, sistemas de información.



La planta de montaje en serie solo es posible si recurrimos al título de nuestro grupo, Desarrollo de Componentes Informáticos, ya que solo así se podrán tener piezas ensamblables y desmontables sin que un sistema entero pierda su integridad y consistencia.