X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/197a54d5359fdf8f18a0cc363dad7779c0e8a820..2d4f44983b405f88e6320243ef5781d0d654618c:/TODO diff --git a/TODO b/TODO index 10c40b00cd..512068f96f 100644 --- a/TODO +++ b/TODO @@ -1,68 +1,78 @@ +- a way to get the network proximity (needed by Pastry, at least) + +- pull method of source diffusion in graspe-slave + +- Use a xbt_set for gras_procdata_t->libdata instead of a dict + so that the search can be linear. + [sorry for the parts in french :] ### -### Avant 0.5 +### Very soon ### - tcp->incoming_socks - sock specific tcp (buffsize) inutile + sock specific tcp (buffsize) useless ### -### Avant 1.0 +### Soon ### -- renomages - gras_os_time - gras_os_sleep - gras_os_getload +- gras_os_getload -- gras_datadesc_import_nws +- gras_datadesc_import_nws? -- rawsock - Verifier que les messages vont pas sur des sock raw +- meassock + Check that messages don't go on meas socks + Implement it -- Documentation (en particulier DD et Msg) +- Implement gras_datadesc_cpy to speedup things in the simulator + For now, we mimick closely the RL when on simulator, which is not needed. + (this was easier to do). + gras_datadesc_cpy needs to provide the size of the corresponding messages, so + that we can report it into the simulator. -- gras_datadesc_cpy -> donne la taille prise pour donner un poids aux messages +- a init/exit mecanism for logging appender +- more logging appenders -- callback en reception ?? (remettre les pointeurs sur fonction etc) +- when a send failed because the socket was closed on the other side, + try to reopen it seamlessly. Needs exceptions or another way to + differentiate between the several system_error. +- cache accepted sockets and close the old ones after a while. + Depends on the previous item. -- Virer cat ignored - gras_ddt_new_ignored : Pas portable (taille) => virer cat? - Necessaire aux pointeurs sur fonction? Renomer 'void' ### -### Apres +### A bit later ### - Adaptative timeout -- datadesc_set_cste: Donne la valeur par defaut en reception - plus de transfert, ce qui est utile pour les pointeurs sur fct +- datadesc_set_cste: give the value by default when receiving. + It's not transfered anymore, which is good for functions pointer. ============================================================================ * while (1) { fork; exec the child, wait in father } -* message forwarding - core ok (errors, logs ; dynars, dicts, hooks, pools; config, rrdb) - virtualize (linux, solaris, SG) & conditions - binary representation: any type, SNWF (Sender Native Wire Format) - - modules (logs, manage, token ring, bw) + - modules (log control, manage, token ring, bw) - cleanups, documentation [autoconf] - Check in autoconf that no datatype is bigger than 64, or dynar_map will - get into trouble... + Check the gcc version on powerpc. We disabled -floop-optimize on powerpc, + but versions above 3.4.0 should be ok. + The ucontext usability test is too light. It returns success on IRIX, but + shouldn't since ucontext are broken for us there. [portability layer] - Dynar of type, such as ref of type - Generate convertors in assembler ? Mallocators [Messaging] Message forwarding Message priority - Message declarations in a tree manner + Message declarations in a tree manner (such as log channels) [errors] Better split casual errors from programing errors. @@ -81,7 +91,6 @@ Allow each process in simulation to have its own setting [dict] - dichotomie in search speed up the cursors, for example using the contexts when available fix multi levels dicts @@ -172,63 +181,42 @@ selects sur un pool {leur socket x un pipe fait pour} Quand qqch arrive sur le pipe, c'est le signal du suicide. -[Conversions inter-architectures] +[Inter-arch conversions] Convert in the same buffer when size increase - Exchange structures in one shoot. + Exchange (on net) structures in one shoot when possible. Port to really exotic platforms (Cray is not IEEE ;) - Generate the convertion functions in assembly, since we have a plenty of - time to waste. [XML] - Do what is written in the paper - -[Macro parseuse] - Gerer les typedefs (necessite de l'aide de grassouillet) - Gerer les pointeurs. - Faut des annotations pour dire si c'est : - - un AZT - - un tableau dont la longueur est ailleurs dans la struct - - une ref - Ca peut se faire soit avec des commentaires, soit avec des macros se - reecrivant a rien dans la vraie vie, et parsee. Mais le risque est que - ces macros soient reecrites avant d'etre passee a mon bordel, selon les - cpp. - Gerer les unions => specifier des annotations, mais j'y crois pas - Gerer les enum - Gerer les long long - Gerer les types struct, union et enum anonymes au milieu d'un autre bloc de - donnees. - Verifier que "char"="signed char" sur toutes les archis + Do what is written in the paper (multiplex on incoming HTTP) + +[DataDesc and Parsing macro] + Handle typedefs (needs love from DataDesc/) + Handle unions with annotate + Handle enum + Handle long long and long double + Forbid "char", allow "signed char" and "unsigned char", or user code won't be + portable to ARM, at least. + Handle struct/union/enum embeeded within another container + (needs modifications in DataDesc, too) - Renomer gs_parse_tok_num en gs_parse_token Check short a, b; Check short *** Check struct { struct { int a } b; } -[Grassouillet] - Gerer les typedefs pour aliaser un type sur un autre - Merger gs_type_union_append_field et gs_type_struc_append_field si possible. - Gerer les enum ? - gs_type_copy/gs_type_free - A quoi sert le champ name de gs_type_struct_append_field ? - Ca plante bizarement si on met une structure n'existant pas dans le - message (a l'usage) - gs_type_dump, nardin, comment voir ce qui se passe sinon ?? + Factorize code in union/struct field adding -[Autres] - Faire toutes les modifs aux Utils listees plus haut - Simplifier l'envoi de dynar et dico - Mettre les mutex et semaphores dans les dynar directement - Tenter (politiquement) le passage a GPL, pour voler du code. +[Other] + Allow [homogeneous] dico to be sent + Make GRAS thread safe by mutexing what needs to be ************ * La suite * ************ GRAS double (ou encore "GRAS too" ou "too GRAS"): - - Priorite des messages - - Outils de visu pour ce qui se passe dans le simulo - - Outils de visu/deployement/management pour RL + - Message prioritization + - Visualisation tool to see what happens in the simulator (Paje ?) + - Tool to visualize/deploy and manage in RL GRAS (très): - outils mathematiques pour dire des choses sur la validite du protocole