por
pobrecito hablador
el Martes, 04 Febrero de 2014, 20:13h
(#1354437)
Un libro moderno sobre concurrencia no puede dejar al lector pensando que todo funciona como si los hilos se turnaran, intercalando instrucciones de uno y otro hilo (modelo de memoria consistente con ejecución secuencial, seq-cst). Esto no es así en ningún sistema SMP moderno, ni siquiera en x86.
Cualquier libro moderno sobre concurrencia debería hablar de las relaciones sucede-antes-de (happens-before) y sincroniza-con (synchronizes-with). No sólo por que las últimas especificaciones de algunos lenguajes (Java, C++11, C11,...) utilicen esas relaciones, sino porque es un modelo matemático y claro de pensar en lo que sucede en un sistema concurrente.
Con respecto a tiempo real, aunque no es mi especialidad, la lección más importante que se puede enseñar sobre tiempo real, es que lo más importante es el determinismo, de forma que si tienes dos formas de hacer algo, A y B, y A es lenta pero siempre tarda lo mismo, mientras que B es más rápida casi siempre, pero a veces tarda lo mismo que A, A es preferible. En tiempo real no se quieren sorpresas. Esto es así hasta tal punto, que muchos microprocesadores incluyen soporte para bloquear entradas de caché y de TLB: aunque un algoritmo LRU fuera más eficiente, es mucho más importante el determinismo.
Así que coincido con el comentario al que respondes: a los autores les faltan conocimientos reales sobre los temas que tratan.
Re:Poca experiencia real
(Puntos:0)Cualquier libro moderno sobre concurrencia debería hablar de las relaciones sucede-antes-de (happens-before) y sincroniza-con (synchronizes-with). No sólo por que las últimas especificaciones de algunos lenguajes (Java, C++11, C11,
Con respecto a tiempo real, aunque no es mi especialidad, la lección más importante que se puede enseñar sobre tiempo real, es que lo más importante es el determinismo, de forma que si tienes dos formas de hacer algo, A y B, y A es lenta pero siempre tarda lo mismo, mientras que B es más rápida casi siempre, pero a veces tarda lo mismo que A, A es preferible. En tiempo real no se quieren sorpresas. Esto es así hasta tal punto, que muchos microprocesadores incluyen soporte para bloquear entradas de caché y de TLB: aunque un algoritmo LRU fuera más eficiente, es mucho más importante el determinismo.
Así que coincido con el comentario al que respondes: a los autores les faltan conocimientos reales sobre los temas que tratan.