X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/e255a72d6624338db9bfdec23c5a34051660d348..db4671831d63eea2d1db93f576652e4097c423cd:/TODO diff --git a/TODO b/TODO index 44b4a4f9b1..0510f3c535 100644 --- a/TODO +++ b/TODO @@ -3,7 +3,6 @@ ### Document the fact that gras processes display the backtrace on sigusr and sigint -Document XBT_LOG_EXTERNAL_DEFAULT_CATEGORY Document host module /* FIXME: better place? */ @@ -14,14 +13,6 @@ Module renamings: - rename SWAG to RING? - Rename cursor to iterator -log.h still contains @name which break doxygen: -xbt/log.h:/** \name DEBUG -xbt/log.h:/** \name VERB -xbt/log.h:/** \name INFO -xbt/log.h:/** \name WARN -xbt/log.h:/** \name ERROR -xbt/log.h:/** \name CRITICAL - gras_socket_close should be blocking until all the data sent have been received by the other side (implemented with an ACK mechanism). @@ -48,11 +39,11 @@ received by the other side (implemented with an ACK mechanism). (errors, logs ; dynars, dicts, hooks, pools; config, rrdb) [portability layer] - * Mallocators and/or memory pool so that we can cleanly kill an actor + * maybe a memory pool so that we can cleanly kill an actor [errors/exception] - * Better split casual errors from programing errors. - The first ones should be repported to the user, the second should kill + * Better split casual errors from programming errors. + The first ones should be reported to the user, the second should kill the program (or, yet better, only the msg handler) * Allows the use of an error handler depending on the current module (ie, the same philosophy as log4c using GSL's error functions) @@ -62,17 +53,10 @@ received by the other side (implemented with an ACK mechanism). initializations, and more) * Allow each actor to have its own setting * a init/exit mecanism for logging appender - * Several appenders; fix the setting stuff to change the appender * more logging appenders (take those from Ralf in l2) -[dict] - * speed up the cursors, for example using the contexts when available - [modules] - * better formalisation of what modules are (amok deeply needs it) - configuration + init() + join() + exit() + leave() + dependencies - init and exit are run only once - join and leave are run for each process. + * Add configuration and dependencies to our module definition * allow to load them at runtime check in erlang how they upgrade them without downtime @@ -92,29 +76,11 @@ received by the other side (implemented with an ACK mechanism). examples, too [transport] - * Spawn threads handling the communication - - Data sending cannot be delegated if we want to be kept informed - (*easily*) of errors here. - - Actor execution flow shouldn't be interrupted - - It should be allowed to access (both in read and write access) - any data available (ie, referenced) from the actor without - requesting to check for a condition before. - (in other word, no mutex or assimilated) - - I know that enforcing those rules prevent the implementation of - really cleaver stuff. Keeping the stuff simple for the users is more - important to me than allowing them to do cleaver tricks. Black magic - should be done *within* gras to reach a good performance level. - - - Data receiving can be delegated (and should) - The first step here is a "simple" mailbox mecanism, with a fifo of - messages protected by semaphore. - The rest is rather straightforward too. - * use poll(2) instead of select(2) when available. (first need to check the advantage of doing so ;) Another idea we spoke about was to simulate this feature with a bunch of - threads blocked in a read(1) on each incomming socket. The latency is + threads blocked in a read(1) on each incoming socket. The latency is reduced by the cost of a syscall, but the more I think about it, the less I find the idea adapted to our context. @@ -139,13 +105,6 @@ received by the other side (implemented with an ACK mechanism). Depends on the previous item; difficult to achieve with firewalls [datadesc] - * Implement gras_datadesc_cpy to speedup things in the simulator - (and allow to have several "actors" within the same unix process). - For now, we mimick closely the RL even in SG. It was easier to do - since the datadesc layer is unchanged, but it is not needed and - hinders performance. - gras_datadesc_cpy needs to provide the size of the corresponding messages, so - that we can report it into the simulator. * Add a XML wire protocol alongside to the binary one (for SOAP/HTTP) * cbps: - Error handling @@ -160,7 +119,8 @@ received by the other side (implemented with an ACK mechanism). * Parsing macro - Cleanup the code (bison?) - Factorize code in union/struct field adding - - Handle typedefs (needs love from DataDesc/) + - Handle typedefs (gras_datatype_copy can be usefull, but only if + main type is already defined) - Handle unions with annotate - Handle enum - Handle long long and long double @@ -210,10 +170,18 @@ received by the other side (implemented with an ACK mechanism). ****** [bandwidth] - * finish this module (still missing the saturate part) * add a version guessing the appropriate datasizes automatically [other modules] - * provide a way to retrieve the host load as in NWS * log control, management, dynamic token ring * a way using SSH to ask a remote host to open a socket back on me + +* +* SURF +****** + +[maxmin] + * select portion of the system that changed instead of recomputing + * the whole system solution at each action change + +