ESDM
Middleware for Earth System Data
esdm-kdsa.h
1 /* This file is part of ESDM.
2  *
3  * This program is free software: you can redistribute it and/or modify
4  * it under the terms of the GNU Lesser General Public License as published by
5  * the Free Software Foundation, either version 3 of the License, or
6  * (at your option) any later version.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public License
14  * along with ESDM. If not, see <http://www.gnu.org/licenses/>.
15  */
16 #ifndef ESDM_BACKENDS_KDSA_H
17 #define ESDM_BACKENDS_KDSA_H
18 
19 #include <esdm-internal.h>
20 
21 #include <backends-data/generic-perf-model/lat-thr.h>
22 
23 /*
24 A module specification in the configuration file:
25 {
26 
27  "type": "KDSA",
28  "id": "p1",
29  "target": "This is the XPD connection string",
30  "max-threads-per-node" : 0,
31  "max-fragment-size" : 1048,
32  "accessibility" : "global"
33 }
34 As the KDSA plugin works asynchronously, no threads are needed inside ESDM.
35 
36 
37 Key design questions:
38  * How to keep track of free space for fragments using a block bitmap?
39  * How to update the block bitmap concurrently?
40  * Compare and swap function
41  * How to utilize the asynchronous interface from the XPD
42 */
43 
44 esdm_backend_t *kdsa_backend_init(esdm_config_backend_t *config);
45 
46 #endif
Internal ESDM functionality, not to be used by backends and plugins.
Definition: esdm-datatypes-internal.h:197
Definition: esdm-datatypes-internal.h:252