X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3abb242da989674a34e450a2efe079a29bf781c3..8d40d39f472cecd6791a4149b5e89d6d3a17d24d:/TODO diff --git a/TODO b/TODO index efb18b973a..e0f522c313 100644 --- a/TODO +++ b/TODO @@ -1,68 +1,70 @@ +- 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_datadesc_import_nws +- gras_os_getload -- rawsock - Verifier que les messages vont pas sur des sock raw +- gras_datadesc_import_nws? -- 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 -- 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 ### +- timeout the send/recv too - 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) - - cleanups, documentation + - modules (log control, manage, token ring, bw) [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. [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. @@ -79,9 +81,10 @@ Hijack message from a given category to another for a while (to mask initializations, and more) Allow each process in simulation to have its own setting +- a init/exit mecanism for logging appender +- more logging appenders [dict] - dichotomie in search speed up the cursors, for example using the contexts when available fix multi levels dicts @@ -172,69 +175,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] - Marquer les padding bytes explicitement aux structures (juste le sizeof - doit suffire) - Marquer les offsetof des fields explicitement a l'ajout. - Prevoir tous les encoding pour les types elementaires - [taille, sexe, signess[non, a un, a deux]] - plus les flotants, justifiant un traitement a part - Tester avec autoconf les encodings sur l'archi courante - Trouver un moyen de convertir un encoding en un autre (si possible par - blocs) - Generer ces convertors en assembleur a chaud, puisqu'on a rien de mieux a - foutre de notre temps +[Inter-arch conversions] + Convert in the same buffer when size increase + Exchange (on net) structures in one shoot when possible. + Port to really exotic platforms (Cray is not IEEE ;) [XML] - Tout comme c'est dit dans les articles - -[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