= Paralelización en TOL = 1. '''!TolOmp: ''' La potencia de los procesadores individuales empieza a tocar techo por lo que cada vez se fabrican computadoras con más CPU's y para sacarles partido es preciso implementar mecanismos de '''paralelización en memoria compartida''' para lo cual se introducirá el estándar '''Open MP''' en los ciclos de bajo nivel más usados del código C++ de TOL (lo que se vea facil, sin meterse en mucho lío). 1. Kernel: parser, scanner, grammar 1. Set: !EvalSet, For, While, Group, !BinGroup, Classify, Sort, ... 1. !TimeSet: Especialmente los mecanismos de caché pueden mejorar mucho 1. Serie: Los mecanismos de caché y estadísticos 1. Matrix: requiere tratamiento específico en el siguiente parágrafo 1. '''!TolMpi''': Cuando las dimensiones son enormes sólo es posible tratar el problema utilizando técnicas de '''paralelización en memoria distribuida''' que deben usarse a nivel de usuario TOL para lo cual se introducirá el estándar '''MPI '''para hacer el trabajo lo más sencillo posible para el analista. Se recomienda revisar la implementación de [http://www.stats.uwo.ca/faculty/yu/Rmpi/ Rmpi] ([http://ace.acadiau.ca/math/ACMMaC/Rmpi/ tutorial Rmpi] ) 1. '''!TolServer: '''como solución de cálculo distribuido para soluciones paralelas de "topología simple" y bajo coste de manteniemto. Es una alternativa a MPI en la que el coste de la tarea supera al overhead y la granularidad de comunicación entre procesos. 1. '''!TolSerial: '''La serializacion de objetos es necesaria para la comunicación entre procesos distribuidos, tanto para !TolMpi como !TolServer. 1. Funciones built-in TOL escritas en C++ para el bloqueo (FLock), desbloqueo (FUnlock), consulta de bloqueo (FIsLocked) y espera a desbloqueo (FWaitUnlock) para que el usuario TOL las pueda usar cuando existe riesgo de acceso simultáneo con pérdida de datos (http://en.wikipedia.org/wiki/File_locking). 1. Álgebra matrices en paralelo: Existen varios paquetes de ágebra lineal que soportan trabajo en paralelo en memoria distribuida y compartida y que habría que evaluar. 1. PBLAS-ScaLAPACK dan paralelización MPI para el caso denso