Resulta interesante que las empresas se esten empeñando a utilizar y no subutilizar el hardware.
Sin embargo, considero que hemos llegado a un nivel de atrasado de software y a un nivel de avance de hardware que se hace necesario rediseñar de cero los sistemas operativos.
Tal vez integramente orientados a objetos, totalmente distribuidos... etc
De todas maneras estare probando esa libreria...
Thks
Bueno quiza lo mejor seria echar una hojeada a la pagina de intel, pero quiza seria bueno matizar el resumen. Si esta fuera una herramienta para la programación explicita de los threads de un procesador de generacion multi-hilo como los presentados, seguramente estaríamos hablando de una libreria con ciertas comunicaciones con el núcleo para su especialización.
Como no es el caso, podemos catalogar esta herramienta como otra "mas" de las librerias de implementación de threads en la capa de usuario, pero con algunos conceptos nuevos de abstracción.
El problema de las aplicaciones y el uso de todas las CPUs no es un problema de hoy, es un problema que tiene algunos años, antes que tuvieramos en nuestras manos los economicos dual core existian - y existen- placas con varios procesadores.
por
pobrecito hablador
el Miércoles, 25 Julio de 2007, 18:43h
(#937974)
mangas verdes
yo más que el multi-threading preferiría que los programadores (los malos, o sea, la mayoría) aprendiesen a manejar mejor la memoria, que es donde más errores hay y donde más vergonzosos son. Conozco un caso de un programa de gestión hospitalaria que se cuelga si le das a cierto menú tras activar una casilla que pone 'introducir código manualmente' (por si no funciona el lector o por si cierta tarjeta no está adaptada). Además, es un programa que "sólo" funciona en W2K Server. Y luego te dicen que si lo puedes arreglar. ¡Cómo lo hago si yo soy de gestión y no tengo el código ni el programa tiene asistencia técnica porque la jodía empresa italiana que lo "desarrolló" quebró en el 2003!... (y esa película fue el primer día, luego vinieron más)
Definitivamente, hay algunos programas de gestión que te producen el mismo sudor frío que la peli esa de "la noche de los muertos vivientes". argghhhhh!!!
Y porqué no usan la GPLv3? Porque sencillamente les impide hacer 'tivoization' [wikipedia.org], con el trabajo de los demás.
Y ahora vienen con el rollo de la comunidad, no te jode, estos quieren que les hagan el trabajo gratis y luego no soltar ni prenda y tener trincado hard y soft.
Había oído hablar de de esta herramienta en la entrevista a Sanjiv Shah de OpenMP en thinking parallel [thinkingparallel.com], pero como él trabaja en Intel siempre parece más sospechoso tratándose de un producto comercial. Ahora que lo han liberado he estado echándole un vistazo y bueno, creo que tiene su ámbito de aplicación y que puede ser muy interesante para facilitar algunas tareas sin reinventar alguna rueda.
Por analizar un poco la librería, consta como de cuatro partes:
Algortimos para bucles paralelos:parallel_for, parallel_reduce, parallel_while. Me ha parecido de lo más interesante de la librería porque es muy fácil de implementar y te ahorra mucha gestión. Al algoritmo se le pasa un contenedor sobre el que operar y un functor y el lo procesa en paralelo automágicamente, aunque parece ser algo parametrizable.
Contenedores seguros a accesos concurrentes:concurrent_hash_map, concurrent_vector, concurrent_queue. Usan internamente los bloqueos de grano fino y estructuras de datos sin bloqueos [blogspot.com]. Que bien que no haya que hacerlo por uno mismo, tiene pinta de ser complicadillo y muy fácil hacerlo mal
Utilidades para gestión de la concurrencia: mutexes de diverso tipo (si, recursivos también [blogspot.com]), locks, operaciones atómicas
Un gestor de tareas: una ayuda para programar orientado a tareas, threads más ligeros que los del sistema.
Puede ayudar a hacer un poco más multiplataforma el código paralelizado en C++, aunque ya existen muchas librerías que lo hacen, como Boost.Thread [boost.org]. Supongo que estará bien usarlo cuando se necesita mucho rendimiento, una aproximación más sencilla no vale y paralelizarlo de este modo sale rápido y óptimo.
-- Aquí había una firma
Re:Un vistazo
de mig21
(Puntos:1)
Jueves, 26 Julio de 2007, 08:37h
Sobre el desarrollo de SO
(Puntos:3, Inspirado)¿ Seguro que lo tienes claro ?
(Puntos:5, Interesante)a buenas horas...
(Puntos:1, Interesante)yo más que el multi-threading preferiría que los programadores (los malos, o sea, la mayoría) aprendiesen a manejar mejor la memoria, que es donde más errores hay y donde más vergonzosos son. Conozco un caso de un programa de gestión hospitalaria que se cuelga si le das a cierto menú tras activar una casilla que pone 'introducir código manualmente' (por si no funciona el lector o por si cierta tarjeta no está adaptada). Además, es un programa que "sólo" funciona en W2K Server. Y luego te dicen que si lo puedes arreglar. ¡Cómo lo hago si yo soy de gestión y no tengo el código ni el programa tiene asistencia técnica porque la jodía empresa italiana que lo "desarrolló" quebró en el 2003!... (y esa película fue el primer día, luego vinieron más)
Definitivamente, hay algunos programas de gestión que te producen el mismo sudor frío que la peli esa de "la noche de los muertos vivientes". argghhhhh!!!
No te jode, no son listos ni ná estos de Inte
(Puntos:2)( http://barrapunto.com/ | Última bitácora: Viernes, 11 Febrero de 2005, 08:45h )
Eso, eso, los cocodrilos que se jodan!
Un vistazo
(Puntos:3, Interesante)( https://twitter.com/yapw | Última bitácora: Viernes, 13 Mayo de 2011, 21:21h )
Había oído hablar de de esta herramienta en la entrevista a Sanjiv Shah de OpenMP en thinking parallel [thinkingparallel.com], pero como él trabaja en Intel siempre parece más sospechoso tratándose de un producto comercial. Ahora que lo han liberado he estado echándole un vistazo y bueno, creo que tiene su ámbito de aplicación y que puede ser muy interesante para facilitar algunas tareas sin reinventar alguna rueda.
Por analizar un poco la librería, consta como de cuatro partes:
Desde que lo han hecho opensource le han asignado un domino propio, http://www.threadingbuildingblocks.org/ [threadingb...blocks.org] en el que hay bastante información. En particular el tutorial al que le he echado un vistazo es Intel® Threading Building Blocks: Tutorial [intel.com]
Por dar alguna nota no positiva... bueno, de momento solo soporta plataformas desde Intel Pentium 4, porteriores y compatibles, aunque en una de las FAQ del proyecto dicen que soportar todos los procesadores, sistemas operativos y compiladores es una las piedras angulares del proyecto [intel.com]. Veremos.
Puede ayudar a hacer un poco más multiplataforma el código paralelizado en C++, aunque ya existen muchas librerías que lo hacen, como Boost.Thread [boost.org]. Supongo que estará bien usarlo cuando se necesita mucho rendimiento, una aproximación más sencilla no vale y paralelizarlo de este modo sale rápido y óptimo.
Aquí había una firma