Si, hay versiones gratuitas. 2011/6/24 Guillermo Schwarz <[email protected]>: > Andres, > Yo nunca. No sé si hay una versión gratuita. > Saludos, > Guillermo. > > 2011/6/24 Andres Valloud <[email protected]> >> >> Usaste GemStone? >> >> 2011/6/24 Guillermo Schwarz <[email protected]>: >> > Hernán, >> > Está bueno, creo que no es factible solucionarlo en Smalltalk dado como >> > se >> > manejan las tareas. >> > En Java, cuando habìan GreenThreads en vez de threads del sistema >> > operativo >> > pasaba lo mismo y lo resolvieron justamente usando threads del sistema >> > operativo. >> > Lo que encuentro interesante del asunto es que el modelo de programación >> > en >> > Smalltalk es lineal, como si los threads/tareas no existieran, a >> > excepción >> > del "yield" ocasional que dice "ahora sí me pueden interrumpir". Otro >> > modelo >> > similar pero sin yield es el de los EJBs. Lo interesante es que en el >> > mnundo >> > J2EE se prohibe el uso de threads y de sincronización, sin embargo por >> > debajo todo corre con threads, de modo que se podrìa decir que un >> > programador de EJBs es un progrmador de Smalltalk que actúa de manera >> > completamente ignorante de que por debajo todo ejecuta en paralelo, y >> > eso es >> > posible porque no puede ocupar un singleton (que serìa la memoria >> > compartida), ni ocupar synchronized ni nada de eso, sino que todo debe >> > pasar >> > por la base de datos. >> > Ahora bien, la base de datos es un sistema más. Si lo tienes programado >> > por >> > ejemplo en H2, todo sigue estando en Java y ejecutando en threads, de >> > modo >> > que ¿còmo se resuelven los temas de sincronización? Lo ùnco que has >> > hecho es >> > trasladar el problema del espacio Java de los EJBs al espacio de las >> > transacciones en BD, pero sigue siendo el mismo problema y sigue siendo >> > un >> > problema a resolver en Java... y está resuelto. ¿Cómo lo hace entonces? >> > Entonces te encuentras con que en el mundo de las BD este tema tiene 2 >> > modos >> > de resolución: >> > 1. El sistema típico que pasan introducción a las BD en la U en el que >> > se >> > bloquean los registros de las tablas y en caso de deadlock se mata una >> > transacción y luego se rehace, o bien se establece un orden por tabla y >> > por >> > registro para tomar locks y evitar los deadlocks. >> > 2. El sistema que no es tan típico pero que es más eficiente, conocido >> > como >> > versionamiento de registros o lock free synchronization, en los que se >> > minimiza el uso de locks (en el tiempo y en el espacio), de modo que >> > casi >> > nunca se topan 2 locks y cuando se topan, se sigue la misma estrategia >> > del >> > punto 1. >> > De ahí tengo la intuición que debería poder hacerse algo parecido en >> > Smalltalk, sòlo que deberìa ser necesario construir un modelo de >> > programación similar a EJB SLSB (Stateless Session Beans) en la que el >> > estado se maneje en una BD necesariamente, y luego esa BD sea >> > implementada >> > de nuevo en Smalltalk con transacciones con lock free synchronization. >> > La experiencia que he tenido con los EJBs es que si los haces funcionar >> > así >> > funcionan rapidísimo y es muy escalable, quizás no tanto como Terracotta >> > (acá hablan de 80 mil transacciones por >> > >> > segundo http://www.theserverside.com/news/1364132/Terracottas-Scalability-Story), >> > pero sigue siendo impresionante. >> > Saludos, >> > Guillermo. >> > 2011/6/24 Hernan Wilkinson <[email protected]> >> >> >> >> Cuando se graba la imagen, como en todo smalltalk común, la misma se >> >> freeza. Pero uno de los grandes problemas que tuvieron que resolver los >> >> chicos fue el tema de la circularidad... o sea, como grabar los objetos >> >> que >> >> graban? :-) >> >> >> >> 2011/6/24 Guillermo Schwarz <[email protected]> >> >>> >> >>> Hernán, >> >>> Què interesante. La ùnica duda que me surgió es si al hacerlo sìncrono >> >>> significa que la imagen Smalltalk queda suspendida hasta que se >> >>> resuelve o >> >>> bien que otros threads de la misma imagen pueden seguir ejecutando >> >>> mientras >> >>> tanto. Todo esto lo pregunto porque resolver un acceso a disco con la >> >>> tecnología actual (sin SSD) es del orden de entre 10 y 100 veces más >> >>> caro >> >>> que un acceso a RAM. >> >>> Saludos, >> >>> Guillermo. >> >>> >> >>> 2011/6/24 Hernan Wilkinson <[email protected]> >> >>>> >> >>>> por si les interesa... >> >>>> >> >>>> ---------- Forwarded message ---------- >> >>>> From: Hernan Wilkinson <[email protected]> >> >>>> Date: 2011/6/24 >> >>>> Subject: Defensa de Tesis de Licenciatura - Persistencia en SqueakNOS >> >>>> To: docentes <[email protected]>, alumnos <[email protected]> >> >>>> >> >>>> >> >>>> Defensa de Tesis de Licenciatura >> >>>> Aula 2, Pab I, 1ro de Julio de 2011, de 17hrs. a 18hrs. >> >>>> Título: Persistencia en SqueakNOS >> >>>> Alumnos: Guido Chari y Javier Pimás >> >>>> Directores: Hernán Wilkinson y Gerardo Richiarte >> >>>> Jurado: Máximo Prieto y Gabriela Arevalo. >> >>>> Resumen: >> >>>> SqueakNOS es una reificación de los conceptos de "Computadora" y de >> >>>> "Sistema Operativo" dentro del dialecto Squeak del lenguaje de >> >>>> programación >> >>>> Smalltalk. >> >>>> La filosofía de SqueakNOS establece que el desarrollo del mismo debe >> >>>> hacerse completamente en Smalltalk, utilizando código de bajo nivel >> >>>> únicamente en los casos en que no sea posible utilizar Smalltalk o >> >>>> que el >> >>>> deterioro de rendimiento sea extremadamente ostensible. >> >>>> El proyecto es un trabajo aún en desarrollo, y como tal, varias >> >>>> funcionalidades comunes a los Sistemas Operativos no han >> >>>> sido implementadas >> >>>> aún debido a su complejidad. Es por ello que esta investigación se >> >>>> centra en >> >>>> analizar varios interrogantes relacionados con la persistencia de los >> >>>> objetos, interrogantes que se presentan al momento de querer grabar >> >>>> el grafo >> >>>> de objetos que representa el modelo desarrollado. >> >>>> Para poder responder estos interrogantes, se desarrolló un >> >>>> controlador >> >>>> de discos ATA y un modelo de filesystem FAT32 completamente en >> >>>> Smalltalk, lo >> >>>> que brinda compatibilidad con otros sistemas operativos y con >> >>>> el entorno >> >>>> Squeak genérico. Así por ejemplo, se logra acceder al código fuente >> >>>> de los >> >>>> métodos y se avanza hacia el grabado de la imagen, característica que >> >>>> aún no >> >>>> estaba disponible en el sistema. >> >>>> Luego, se desarrolló una técnica de persistencia cuyo objetivo >> >>>> principal >> >>>> era la simplicidad y su principal desventaja el requerir una >> >>>> utilización >> >>>> importante y de manera ineficaz de memoria. A pesar de sus >> >>>> desventajas, fue >> >>>> el primer paso para lograr la atomicidad necesaria para grabar los >> >>>> objetos >> >>>> mientras estos estaban siendo modificados. >> >>>> Finalmente, se implementó un esquema de manejo de memoria basado en >> >>>> paginación, modificando el mecanismo de manejo de interrupciones >> >>>> original de >> >>>> SqueakNos para que pudiera funcionar en forma sincrónica, requisito >> >>>> indispensable para resolver los fallos de página. Esta solución >> >>>> permitió resolver los fallos de página completamente desde >> >>>> Smalltalk, lo >> >>>> cual dio lugar a la experimentación y al desarrollo de formas >> >>>> novedosas de >> >>>> utilización del mismo. Gracias a esto, resultó posible por ejemplo, >> >>>> implementar una técnica alternativa de persistencia de la imagen, que >> >>>> utiliza mucha menos memoria que la original debido a la asistencia >> >>>> del >> >>>> mecanismo de paginación y la utilización de la técnica de copy on >> >>>> write. >> >>>> Por último, se analizan aspectos relacionados con la manera de >> >>>> trabajar >> >>>> en este tipo de entornos y plataformas, sus ventajas, sus >> >>>> dificultades y >> >>>> complicaciones. >> >>>> >> >>>> >> >>>> >> >>>> >> >>>> >> >>>> -- >> >>>> Hernán Wilkinson >> >>>> Agile Software Development, Teaching & Coaching >> >>>> Mobile: +54 - 911 - 4470 - 7207 >> >>>> email: [email protected] >> >>>> site: http://www.10Pines.com >> >>>> >> >>>> -- >> >>>> To post to this group, send email to [email protected] >> >>>> To unsubscribe from this group, send email to >> >>>> [email protected] >> >>>> >> >>>> http://www.clubSmalltalk.org >> >>> >> >>> >> >>> -- >> >>> Saludos cordiales, >> >>> >> >>> Guillermo Schwarz >> >>> Sun Certified Enterprise Architect >> >>> >> >>> -- >> >>> To post to this group, send email to [email protected] >> >>> To unsubscribe from this group, send email to >> >>> [email protected] >> >>> >> >>> http://www.clubSmalltalk.org >> >> >> >> >> >> -- >> >> Hernán Wilkinson >> >> Agile Software Development, Teaching & Coaching >> >> Mobile: +54 - 911 - 4470 - 7207 >> >> email: [email protected] >> >> site: http://www.10Pines.com >> >> Address: Paraguay 523, Floor 7 N, Buenos Aires, Argentina >> >> >> >> -- >> >> To post to this group, send email to [email protected] >> >> To unsubscribe from this group, send email to >> >> [email protected] >> >> >> >> http://www.clubSmalltalk.org >> > >> > >> > -- >> > Saludos cordiales, >> > >> > Guillermo Schwarz >> > Sun Certified Enterprise Architect >> > >> > -- >> > To post to this group, send email to [email protected] >> > To unsubscribe from this group, send email to >> > [email protected] >> > >> > http://www.clubSmalltalk.org >> >> -- >> To post to this group, send email to [email protected] >> To unsubscribe from this group, send email to >> [email protected] >> >> http://www.clubSmalltalk.org > > > -- > Saludos cordiales, > > Guillermo Schwarz > Sun Certified Enterprise Architect > > -- > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > > http://www.clubSmalltalk.org
-- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] http://www.clubSmalltalk.org
