X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ff021a73f0cd26b2f27ca729783aa486393f9b3a..d9af359d50c749f3eafaf037ee58f1ba0c4bf8dd:/TODO diff --git a/TODO b/TODO index 15ca38de3a..d94b4161c0 100644 --- a/TODO +++ b/TODO @@ -1,30 +1,64 @@ -* Use of data on the stack as argument to MsgNew does not work -* Warn when using a server socket to write, or a client one to poll +[sorry for the parts in french :] + +### +### Avant 0.5 +### + +- tcp->incoming_socks + sock specific tcp (buffsize) inutile + +### +### Avant 1.0 +### + +- gras_os_getload + +- gras_datadesc_import_nws + +- rawsock + Verifier que les messages vont pas sur des sock raw + +- Documentation (en particulier DD et Msg) + +- gras_datadesc_cpy -> donne la taille prise pour donner un poids aux messages + +- callback en reception ?? (remettre les pointeurs sur fonction etc) + +- Virer cat ignored + gras_ddt_new_ignored : Pas portable (taille) => virer cat? + Necessaire aux pointeurs sur fonction? Renomer 'void' + +### +### Apres +### + +- Adaptative timeout +- datadesc_set_cste: Donne la valeur par defaut en reception + plus de transfert, ce qui est utile pour les pointeurs sur fct + +============================================================================ * 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 [autoconf] Check in autoconf that no datatype is bigger than 64, or dynar_map will get into trouble... [portability layer] - Make a script to test how the padding bytes are on the current arch, and - constitute a bestiary. - Use Arnaud's structure parser in a macro Dynar of type, such as ref of type - Generate convertors in assembler ? Mallocators [Messaging] Message forwarding Message priority - Messages in a tree manner + Message declarations in a tree manner -[network drivers] - Interface: open_server, open_client, read, write, flush, close - Implementations: TCP, SG (more after my PhD). - [errors] Better split casual errors from programing errors. The first ones should be repported to the user, the second should kill @@ -36,39 +70,26 @@ - libgpg-error [logs] - Parse argv (check leonie and tbx_arg_iterator in tbx_parameter.h) Several appenders; fix the setting stuff to change the appender Hijack message from a given category to another for a while (to mask - initializations) + initializations, and more) + Allow each process in simulation to have its own setting [dict] - Make a real container for the dict, so that the free function may be given - only once for the whole tree (would help to send dicts). dichotomie in search speed up the cursors, for example using the contexts when available fix multi levels dicts +[datadesc] + Error handling in cbps + Regression tests of cbps + +[testsuite] + use logging, not printf + ********* * GRAS1 * Integrer grassouillet a gras; multiplexage XML; module de comm ********* -[type_bag SG] - un peu comme les type_bag RL, mais sans tenir compte d'incoming ni - outcoming. - La finesse est de simuler la taille des envois sans les faire - On peut aussi imaginer une version faisant ces envois effectivement, qui - serait un peu plus lente, mais permettant de debugger cette partie de - grassouillet - -[pilotes reseaux de sous grassouillet] - TCP: utilise le fd. rien a faire. - SG: Le send fait le boulot de malloc du recv de fd, et les rempli comme le - send de fd. - BLOC: Un nouveau truc, qui envoi des trames les unes derriere les autres, - un write copie dans un buffer qui, quand il est plein, part sur la socket - avec sa taille devant, et son CRC derriere. - C'est le prix a payer pour ne plus mourrir si vite en cas de transmission - pourrie (mais ca resoud tjs pas le pb du code malicieux) - Possibilite de compresser les buffers avant l'envoi.. [simuler le select sur les sockets avec des threads] Le plan, c'est qu'a l'ouverture d'une socket server, on cree un thread @@ -150,33 +171,16 @@ 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 + Convert in the same buffer when size increase + Exchange structures in one shoot. + Port to really exotic platforms (Cray is not IEEE ;) [XML] - Tout comme c'est dit dans les articles + 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 unions => specifier des annotations Gerer les enum Gerer les long long Gerer les types struct, union et enum anonymes au milieu d'un autre bloc de @@ -191,20 +195,11 @@ [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 ?? [Autres] - Simplifier l'API pour virer les sequences - Faire le parseur automatique de structures 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. ************