1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 #ifndef MCA_SSTORE_STAGE_EXPORT_H
19 #define MCA_SSTORE_STAGE_EXPORT_H
20
21 #include "orte_config.h"
22
23 #include "orte/mca/mca.h"
24
25 #include "orte/mca/sstore/sstore.h"
26
27 BEGIN_C_DECLS
28
29 typedef uint8_t orte_sstore_stage_cmd_flag_t;
30 #define ORTE_SSTORE_STAGE_CMD OPAL_UINT8
31 #define ORTE_SSTORE_STAGE_PULL 1
32 #define ORTE_SSTORE_STAGE_PUSH 2
33 #define ORTE_SSTORE_STAGE_REMOVE 3
34 #define ORTE_SSTORE_STAGE_DONE 4
35
36 #define ORTE_SSTORE_LOCAL_SNAPSHOT_DIR_NAME ("openmpi-local-snapshot")
37 #define ORTE_SSTORE_LOCAL_SNAPSHOT_STAGE_DIR_NAME ("stage")
38 #define ORTE_SSTORE_LOCAL_SNAPSHOT_RESTART_DIR_NAME ("restart")
39 #define ORTE_SSTORE_LOCAL_SNAPSHOT_CACHE_DIR_NAME ("cache")
40
41
42
43
44 struct orte_sstore_stage_component_t {
45
46 orte_sstore_base_component_t super;
47 };
48 typedef struct orte_sstore_stage_component_t orte_sstore_stage_component_t;
49 ORTE_MODULE_DECLSPEC extern orte_sstore_stage_component_t mca_sstore_stage_component;
50
51 extern char * orte_sstore_stage_local_snapshot_dir;
52 extern bool orte_sstore_stage_global_is_shared;
53 extern bool orte_sstore_stage_skip_filem;
54 extern bool orte_sstore_stage_enabled_caching;
55 extern bool orte_sstore_stage_enabled_compression;
56 extern int orte_sstore_stage_compress_delay;
57 extern int orte_sstore_stage_progress_meter;
58
59 int orte_sstore_stage_component_query(mca_base_module_t **module, int *priority);
60
61
62
63
64 int orte_sstore_stage_module_init(void);
65 int orte_sstore_stage_module_finalize(void);
66
67 int orte_sstore_stage_request_checkpoint_handle(orte_sstore_base_handle_t *handle, int seq, orte_jobid_t jobid);
68 int orte_sstore_stage_request_restart_handle(orte_sstore_base_handle_t *handle, char *basedir, char *ref, int seq,
69 orte_sstore_base_global_snapshot_info_t *snapshot);
70 int orte_sstore_stage_request_global_snapshot_data(orte_sstore_base_handle_t *handle,
71 orte_sstore_base_global_snapshot_info_t *snapshot);
72 int orte_sstore_stage_register(orte_sstore_base_handle_t handle);
73
74 int orte_sstore_stage_get_attr(orte_sstore_base_handle_t handle, orte_sstore_base_key_t key, char **value);
75 int orte_sstore_stage_set_attr(orte_sstore_base_handle_t handle, orte_sstore_base_key_t key, char *value);
76
77 int orte_sstore_stage_sync(orte_sstore_base_handle_t handle);
78 int orte_sstore_stage_remove(orte_sstore_base_handle_t handle);
79
80 int orte_sstore_stage_pack(orte_process_name_t* peer, opal_buffer_t* buffer, orte_sstore_base_handle_t handle);
81 int orte_sstore_stage_unpack(orte_process_name_t* peer, opal_buffer_t* buffer, orte_sstore_base_handle_t *handle);
82
83 int orte_sstore_stage_fetch_app_deps(orte_app_context_t *app);
84 int orte_sstore_stage_wait_all_deps(void);
85
86
87
88
89 int orte_sstore_stage_global_module_init(void);
90 int orte_sstore_stage_global_module_finalize(void);
91 int orte_sstore_stage_global_request_checkpoint_handle(orte_sstore_base_handle_t *handle, int seq, orte_jobid_t jobid);
92 int orte_sstore_stage_global_request_global_snapshot_data(orte_sstore_base_handle_t *handle,
93 orte_sstore_base_global_snapshot_info_t *snapshot);
94 int orte_sstore_stage_global_register(orte_sstore_base_handle_t handle);
95 int orte_sstore_stage_global_get_attr(orte_sstore_base_handle_t handle, orte_sstore_base_key_t key, char **value);
96 int orte_sstore_stage_global_set_attr(orte_sstore_base_handle_t handle, orte_sstore_base_key_t key, char *value);
97 int orte_sstore_stage_global_sync(orte_sstore_base_handle_t handle);
98 int orte_sstore_stage_global_remove(orte_sstore_base_handle_t handle);
99 int orte_sstore_stage_global_pack(orte_process_name_t* peer, opal_buffer_t* buffer, orte_sstore_base_handle_t handle);
100 int orte_sstore_stage_global_unpack(orte_process_name_t* peer, opal_buffer_t* buffer, orte_sstore_base_handle_t *handle);
101
102
103
104
105 int orte_sstore_stage_local_module_init(void);
106 int orte_sstore_stage_local_module_finalize(void);
107 int orte_sstore_stage_local_request_checkpoint_handle(orte_sstore_base_handle_t *handle, int seq, orte_jobid_t jobid);
108 int orte_sstore_stage_local_register(orte_sstore_base_handle_t handle);
109 int orte_sstore_stage_local_get_attr(orte_sstore_base_handle_t handle, orte_sstore_base_key_t key, char **value);
110 int orte_sstore_stage_local_set_attr(orte_sstore_base_handle_t handle, orte_sstore_base_key_t key, char *value);
111 int orte_sstore_stage_local_sync(orte_sstore_base_handle_t handle);
112 int orte_sstore_stage_local_remove(orte_sstore_base_handle_t handle);
113 int orte_sstore_stage_local_pack(orte_process_name_t* peer, opal_buffer_t* buffer, orte_sstore_base_handle_t handle);
114 int orte_sstore_stage_local_unpack(orte_process_name_t* peer, opal_buffer_t* buffer, orte_sstore_base_handle_t *handle);
115 int orte_sstore_stage_local_fetch_app_deps(orte_app_context_t *app);
116 int orte_sstore_stage_local_wait_all_deps(void);
117
118 void orte_sstore_stage_local_process_cmd(int fd,
119 short event,
120 void *cbdata);
121 int orte_sstore_stage_local_process_cmd_action(orte_process_name_t *sender,
122 orte_sstore_stage_cmd_flag_t command,
123 orte_sstore_base_handle_t loc_id,
124 opal_buffer_t* buffer);
125
126
127
128 int orte_sstore_stage_app_module_init(void);
129 int orte_sstore_stage_app_module_finalize(void);
130 int orte_sstore_stage_app_request_checkpoint_handle(orte_sstore_base_handle_t *handle, int seq, orte_jobid_t jobid);
131 int orte_sstore_stage_app_register(orte_sstore_base_handle_t handle);
132 int orte_sstore_stage_app_get_attr(orte_sstore_base_handle_t handle, orte_sstore_base_key_t key, char **value);
133 int orte_sstore_stage_app_set_attr(orte_sstore_base_handle_t handle, orte_sstore_base_key_t key, char *value);
134 int orte_sstore_stage_app_sync(orte_sstore_base_handle_t handle);
135 int orte_sstore_stage_app_remove(orte_sstore_base_handle_t handle);
136 int orte_sstore_stage_app_pack(orte_process_name_t* peer, opal_buffer_t* buffer, orte_sstore_base_handle_t handle);
137 int orte_sstore_stage_app_unpack(orte_process_name_t* peer, opal_buffer_t* buffer, orte_sstore_base_handle_t *handle);
138
139
140
141
142
143 END_C_DECLS
144
145 #endif