miércoles, 12 de agosto de 2009

Propicios días

Propicios días ciudadanos, ¿Algún quebranto?

Tenía que decirlo, me ha venido a la mente y no me habría quedado a gusto si no. El caso, ayer salí un ratejo, en el sitio al que voy los domingos, los martes hacen noche 80's, y lo petan (el lugar, se peta de gente, vaya). La musica, bueno, no estaba mal, pero prefiero los días que ponen oscureo.

Estos días tengo pocas cosas interesantes que contar, sobretodo poco interesantes para los que no os dediquéis a la informática (para los que si, leereis nombres y palabras que os deberían sonar de SO y AIC). Ando dándolo todo depurando un programilla, y me cago en los threads, en Lamport y en toda su familia. Nunca os dediquéis a la programación paralela, y lo que es aún más importante, jamás de los jamases os dediquéis a hacer herramientas para ayudar a la programación paralela. Es una locura. Me acabo de dar cuenta de algo curioso, programilla me lo subraya como mal escrito (vista vuestra avidez a la hora de encontrar mis fallos configure el diccionario en castellano xD), pero jamases no... El caso, descubrir condiciones de carrera, todos sabemos que es jodido, si supiéramos hacerlo la programación paralela no tendría ningún misterio. Pero la idea es que determinar relaciones de orden entre fragmentos de código debería ser sencillo, y no lo es.
Y luego está la de que si bloqueas un mutex, pero te quedas esperando en una variable condicional, liberas el mutex, y todo el que lo adquiera a continuación estará ordenado contigo, ocurrirá después, pero tu no has liberado explícitamente el mutex... y claro, cuando a ti te hagan el signal, sabrás que ocurres después tanto del que te ha mandado el signal, como de cualquiera que haya cogido el mutex desde que lo soltaste. Vamos que es una puta mierda todo U_U por suerte la reunión que tenía hoy se ha aplazado para el viernes lo cual me da unas horas más de frustrante pelea para presentar, me temo, nulos resultados.
Dijkstra, Lamport prestadme, si no vuestra sabiduría, vuestros secretos para mantener la cordura mientras se trabaja en estos temas. Al menos asumimos consistencia secuencial, si no ya me pego un tiro.
Al menos esta noche toca un poco de gotikeo ahí a echarse unos bailes. Cuidarse! ( ^_^)/''''

7 comentarios:

  1. claro, es que el mutex es el mutex y si lo sueltas y uego lo cogen y pufff madre mia que cosas pasan...xD

    ResponderEliminar
  2. Esa implementación es defectuosa, a todas luces. Si yo adquiero un mutex y luego me quedo esperando en una variable condicional, ¿cuál es el sentido de que ese mutex sea liberado? O no te he entendido (posible y probable), o se puede liar una muy gorda si te dejan seguir en la sección de exclusión mutua sin el mutex pillau.

    Es un gran consejo lo de no dedicarse a la programación paralela, aunque llega tarde para mi. Todavía recuerdo aquel verano que me pasé depurando un puto programita de un puñado de líneas. Casi me suicido.

    PD: No deja de ser irónico: "(vista vuestra avidez a la hora de encontrar mis fallos configure el diccionario en castellano xD)". Mira que cometer una falta ortográfica justo en la explicación de lo del diccionario. Y es que resulta que tanto "configure" como "configuré" son correctos en castellano, solo que tienen una semántica diferente. MUHUHUJUAJUAJUAJUA

    ResponderEliminar
  3. Claro, claro, el mutex y el signal...si, si, está clarísimo cómo solucionarlo...xD
    Espérate medio año a que haga SO y demás y ya te digo cómo xDDD
    Madre mía...

    ResponderEliminar
  4. ¿Esas palabras son de la peli Demolition man? No pensaba encontrarme con una frase de esa peli por aquí jeje

    Por cierto, me tomaré el consejo de la programación paralela al pie de la letra, ya tengo suficiente con lo secuencial jeje

    ResponderEliminar
  5. Jajaja, Conchi, yo tampoco esperaba que fueses tú quien reconociera la frase XD No me decepcionas, desde que entramos en el bar a tomar un hidromiel, pregunté que qué estaba sonando y me dijiste "La banda sonora de Harry Potter" con una cara de "Cómo puedes no saberlo" he sabido que tienes bastante geekismo dentro, aunque luches por reprimirlo.

    Amaya, si tienes mala suerte ya entenderás lo de los mutex xD y tú Ana sufrirás en SO con ello, no te preocupes.

    Javi, si recuerdas, en pthreads, para poder hacer un wait a una variable condicional tienes que pasarle un mutex como segundo argumento, el cual debes tener bloqueado antes. No tiene mucho sentido si piensas de manera teórica como debería funcionar, pero oye, alguien decidió que era una buena manera de implementarlo, y no voy a ser yo quien le contradiga. De chupar pollas sabremos más nosotras que somos putas, pero si ellos hicieron la librería POSIX así, será por algo

    ResponderEliminar
  6. Vamos a ver Rekai, es que como no te puedes saber la banda sonora de harry potter?????????????!!!!!!!!
    si me lo llegas a preguntar a mi te habria pegado xDD
    Cruzare los dedos por no entender nunca lo del mutex...

    ResponderEliminar
  7. Bueno, yo sigo con mi idea de que los conocimientos adquiridos durante la infancia no cuentan para determinar si uno es geek, freak o lo que sea.
    Además, como ves, lo raro es no conocer la banda sonora mencionada jeje
    Me sigo considerando una persona normal :p

    ResponderEliminar