X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6511b78ff810ead55a110d42b01a08255a55b56d..88e99e0a899f7db13b4a270be4b1953b5e059f1f:/cruft/doc/tmpl/gras-unused.sgml diff --git a/cruft/doc/tmpl/gras-unused.sgml b/cruft/doc/tmpl/gras-unused.sgml index 4bd27dcd56..e14b0e6cfd 100644 --- a/cruft/doc/tmpl/gras-unused.sgml +++ b/cruft/doc/tmpl/gras-unused.sgml @@ -176,6 +176,66 @@ Handling sockets Sockets API + + + + + + + + + + + + + + + + + +comm_callbacks + + + + + + + + + + + + + + + + + + + +comm_cb + + + + + + + + + + + + + + + +Advanced ways to describe data (for experts) + + + +Advanced Data description + + @@ -236,6 +296,26 @@ config Data description callbacks persistant state + + + + + + + + + + + + + + + + + +Implementation of data description + + @@ -368,6 +448,125 @@ Overview gras + + + + + + + + + + + + + + + + + +gras_private + + + + + + + + + + + + + + + +Implementation of GRAS suited for real life. + + + +RL + + + + + SimGrid was designed to ease the comparison of algorithms and + heuristics. That way, a lot of complicated notion from the system layer + were volontary left off. For example, migrating a process from an host to + another is as easy as: MSG_process_change_host(process, new_host). + + + + No need to tell that performing this operation on real platform is really + harder. This simplification is a very good thing when you want to rapidly + prototype code, but makes things somehow more complicated in GRAS since + we want to have a realistic API, since it have to be implemented in + reality also. + + + + The best example of complexity in GRAS_SG induced by simplicity in + SimGrid is the sockets handling. There is no "socket" in SG, but only + m_channel_t. In contrary to sockets from RL, no special treatment is + needed for a process before writing or reading on/from a channel. So, a + given channel can be pooled by more than one process. Likewise, you can + send data to a channel that nobody is actually listening to. + + + + The SG implementation of GRAS repport as an error the fact that nobody is + listening to the socket when trying to open a socket, or send stuff using + a previously openned socket. That way, the SG version can be used to + debug all syncronization issues. For that, we store mainly the PID of + both the sender and the receiver in the socket structure, and then + resolve PID->process at the lastest moment. This search is a bit + expensive, but as long as there is no real garbage collection in SG, with + the information "dead process" within the structure, it's the only + solution to make sure that we won't dereference pointers to an old freed + structure when the process on the other side of the structure did finish + since the creation of the socket. + + + + As said in the overview, the processes can declare to hear on several + sockets, but all incoming messages are handled by the same loop. So, we + can use only one channel per process, and use a table on each host to + determine to which process a message should be delivered depending on the + socket number provided by the sender. + + + + + +RL, the implementation suited for real life. + + + + + + +Implementation of GRAS on top of the simulator. + + + +SG + + @@ -807,6 +1006,20 @@ Sockets @a4: @a5: + + + + + +@c: +@f: +@a1: +@a2: +@a3: +@a4: +@a5: +@a6: + @@ -827,6 +1040,17 @@ Sockets @waitForPeer: @Returns: + + + + + +@destination: +@source: +@description: +@length: +@sourceFormat: + @@ -872,6 +1096,29 @@ Sockets @STRUCT_TYPE: @LAST_TYPE: + + + + + +@whatType: +@Returns: + + + + + + +@Returns: + + + + + + +@whatType: +@Returns: + @@ -981,6 +1228,27 @@ Sockets + + + + + +@destination: +@source: +@whatType: +@repetitions: +@sourceFormat: + + + + + + +@whatType: +@repetitions: +@format: +@Returns: + @@ -1204,6 +1472,17 @@ Sockets @sd: @Returns: + + + + + +@destination: +@source: +@whatType: +@repetitions: +@format: + @@ -1221,6 +1500,12 @@ Sockets @repetitions: @offset: + + + + + + @@ -1269,6 +1554,19 @@ Sockets + + + + + +@f: +@a1: +@a2: +@a3: +@a4: +@a5: +@a6: + @@ -1424,6 +1722,16 @@ Sockets @Varargs: @Returns: + + + + + +@msg: +@timeout: +@Returns: +@sd: + @@ -1585,6 +1893,328 @@ Sockets @c: @data: + + + + + +@name: +@elm_type: +@size: +@code: + + + + + + +@name: +@element_type: +@fixed_size: +@dynamic_size: +@post: +@code: +@Returns: + + + + + + +@name: +@referenced_type: +@discriminant: +@post: +@code: +@Returns: + + + + + + +@name: +@discriminant: +@code: + + + + + + +@struct_code: +@field_name: +@field_type_code: + + + + + + +@struct_code: +@field_name: +@field_code: +@pre_cb: +@post_cb: +@Returns: + + + + + + +@struct_code: +@field_name: +@field_type_name: + + + + + + +@struct_code: +@field_name: +@field_type_name: +@pre_cb: +@post_cb: +@Returns: + + + + + + +@name: +@pre_cb: +@post_cb: +@code: +@Returns: + + + + + + +@union_code: +@field_name: +@field_type_code: + + + + + + +@union_code: +@field_name: +@field_code: +@pre_cb: +@post_cb: +@Returns: + + + + + + +@union_code: +@field_name: +@field_type_name: + + + + + + +@union_code: +@field_name: +@field_type_name: +@pre_cb: +@post_cb: +@Returns: + + + + + + +@name: +@field_count: +@post: +@code: +@Returns: + + + + + + +@name: +@desc: +@howmany: +@code: +@Returns: +@dst: + + + + + + +@name: +@Cdefinition: +@dst: +@Returns: +@code: +@def: + + + + + + +@type: + + + + + + +@code: +@type: +@Returns: + + + + + + +@name: +@type: +@Returns: + + + + + + +@name: +@element_type: +@fixed_size: +@dynamic_size: +@post: +@dst: +@Returns: + + + + + + +@name: +@desc: +@howmany: +@dst: +@Returns: + + + + + + +@name: +@default_value: +@free_func: +@size: +@alignment: +@post: +@dst: +@Returns: + + + + + + +@name: +@C_definition: +@dst: +@Returns: + + + + + + +@name: +@referenced_type: +@discriminant: +@post: +@dst: +@Returns: + + + + + + +@name: +@type: +@Returns: + + + + + + +@name: +@pre: +@post: +@dst: +@Returns: + + + + + + +@struct_type: +@name: +@field_type: +@pre: +@post: +@Returns: + + + + + + +@name: +@field_count: +@post: +@dst: +@Returns: + + + + + + +@union_type: +@name: +@field_type: +@pre: +@post: +@Returns: + + + + + + +@type: +@Returns: + @@ -1635,6 +2265,43 @@ Sockets @cat: @thresholdPriority: + + + + + +@sd: +@size: + + + + + + +@msg: + + + + + + +@msgId: +@free_data_on_free: +@seqCount: +@Varargs: +@Returns: + + + + + + +@msgId: +@name: +@sequence_count: +@Varargs: +@Returns: + @@ -1679,14 +2346,6 @@ Sockets @sock: @Returns: - - - - - -@sd: -@Returns: -