Multi-ApplicationOnlineProfiling  2.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
MALP blackboard

Main component of the Parallel BlackBoard , and a core component of a Analyzer BlackBoard . More...

Data Structures

struct  Ks_cell
 The Knowledge system cell structure Structure containing an internal hash table and table of knowledge systems ( Knowledge system ) More...
 
struct  Key_cell
 The Key_cell structure Structure containing an internal hash table and table of key entries ( Key entry ) More...
 
struct  Name_cell
 The Name_cell structure Structure containing an internal hash table and table of cell names. More...
 
struct  MALP_blackboard
 The MALP_blackboard structure. More...
 

Macros

#define KS_COLL_AVOID   5
 Number of KS cells (Number of elements) More...
 
#define KEY_COLL_AVOID   5
 Number of column keys (Number of elements) More...
 
#define NAME_COLL_AVOID   5
 Number of column names (Number of elements) More...
 

Functions

void MALP_blackboard_init (struct MALP_blackboard *bb, uint32_t workers_count, void *context)
 MALP_blackboard initialisation. More...
 
static void MALP_blackboard_set_default_KS_handler (struct MALP_blackboard *bb, void(*default_handler)(struct MALP_blackboard *, uint64_t KS_id, struct Data_entry **, uint32_t, void *))
 sets MALP_blackboard's default Knowledge system handler More...
 
void MALP_blackboard_wait (struct MALP_blackboard *bb)
 MALP_blackboard_wait Function to call the wait function for the Pbb workers of a MALP blackboard. More...
 
void MALP_blackboard_release (struct MALP_blackboard *bb)
 MALP_blackboard release. More...
 
static uint32_t MALP_blackboard_cpu_count (struct MALP_blackboard *bb)
 Return the number of currently online processors for a MALP_blackboard. More...
 
int MALP_Blackboard_ks_present (struct MALP_blackboard *bb, uint64_t type)
 test if a knowledge system is available in a MALP_Blackboard Test if a knowledge system of a specific type, defined by its key, is available in a MALP_Blackboard More...
 
struct Knowledge_systemMALP_Blackboard_new_ks (struct MALP_blackboard *bb, uint64_t type, uint64_t *sensivities, uint32_t sensivities_count, void(*process)(struct MALP_blackboard *bb, struct Data_entry **de, uint32_t entry_count, void *arg), void *arg)
 Create a new Knowledge system while associating a key (used as an id and a type) and a handler (process) More...
 
void MALP_Blackboard_delete_ks (struct MALP_blackboard *bb, uint64_t type)
 MALP_Blackboard_delete_ks. More...
 
int MALP_Blackboard_submit_data (struct MALP_blackboard *bb, uint64_t key, void *payload, size_t payload_size)
 MALP_Blackboard_submit_data. More...
 
int MALP_Blackboard_submit_data_entry (struct MALP_blackboard *bb, struct Data_entry *de)
 MALP_Blackboard_submit_data_entry. More...
 
static int MALP_Blackboard_writable_data (struct Data_entry *de)
 MALP_Blackboard_writable_data. More...
 
static uint64_t MALP_Blackboard_pending (struct MALP_blackboard *bb)
 Returns the number of pebnding data block counter. More...
 
static void MALP_Blackboard_wait_pending (struct MALP_blackboard *bb, uint64_t value)
 MALP_Blackboard_wait_pending. More...
 
static uint64_t MALP_Blackboard_type_hash (uint64_t type)
 MALP_Blackboard_type_hash. More...
 
static uint64_t MALP_Blackboard_type_state_hash (uint64_t type, uint64_t state)
 MALP_Blackboard_type_state_hash. More...
 
static void MALP_Blackboard_add_pending (struct MALP_blackboard *bb)
 Increments the number of pending data block counter. More...
 
static void MALP_Blackboard_remove_pending (struct MALP_blackboard *bb)
 Decrements the number of pending data block counter. More...
 
int knowledge_system_test_func (void *pks, uint64_t key, void *arg)
 knowledge_system_test_func More...
 
int empty_knowledge_system_test_func (void *pks, uint64_t key, void *arg)
 empty_knowledge_system_test_func More...
 
int key_entry_test_func (void *pke, uint64_t key, void *arg)
 key_entry_test_func More...
 
int empty_key_entry_test_func (void *pke, uint64_t key, void *arg)
 empty_key_entry_test_func More...
 

Detailed Description

Main component of the Parallel BlackBoard , and a core component of a Analyzer BlackBoard .

This component contains structures and functions to manage Knowledge system , manage jobs (see Pbb workers ), load and use mapping libraries (libraries of handlers).

Macro Definition Documentation

#define KEY_COLL_AVOID   5

Number of column keys (Number of elements)

Definition at line 62 of file MALP_Blackboard.h.

#define KS_COLL_AVOID   5

Number of KS cells (Number of elements)

Definition at line 45 of file MALP_Blackboard.h.

#define NAME_COLL_AVOID   5

Number of column names (Number of elements)

Definition at line 78 of file MALP_Blackboard.h.

Function Documentation

int empty_key_entry_test_func ( void *  pke,
uint64_t  key,
void *  arg 
)

empty_key_entry_test_func

Parameters
pke
key
arg
Returns

Definition at line 109 of file MALP_Blackboard.c.

Here is the caller graph for this function:

int empty_knowledge_system_test_func ( void *  pks,
uint64_t  key,
void *  arg 
)

empty_knowledge_system_test_func

Parameters
pks
key
arg
Returns

Definition at line 88 of file MALP_Blackboard.c.

Here is the caller graph for this function:

int key_entry_test_func ( void *  pke,
uint64_t  key,
void *  arg 
)

key_entry_test_func

Parameters
pke
key
arg
Returns

Definition at line 99 of file MALP_Blackboard.c.

Here is the caller graph for this function:

int knowledge_system_test_func ( void *  pks,
uint64_t  key,
void *  arg 
)

knowledge_system_test_func

Parameters
pks
key
arg
Returns

Definition at line 78 of file MALP_Blackboard.c.

Here is the caller graph for this function:

static void MALP_Blackboard_add_pending ( struct MALP_blackboard bb)
inlinestatic

Increments the number of pending data block counter.

Parameters
bba pointer to the blacboard
Returns

Definition at line 311 of file MALP_Blackboard.h.

Here is the call graph for this function:

Here is the caller graph for this function:

static uint32_t MALP_blackboard_cpu_count ( struct MALP_blackboard bb)
inlinestatic

Return the number of currently online processors for a MALP_blackboard.

Parameters
bb
Returns
Number of currently online processors

Definition at line 156 of file MALP_Blackboard.h.

void MALP_Blackboard_delete_ks ( struct MALP_blackboard bb,
uint64_t  type 
)

MALP_Blackboard_delete_ks.

Parameters
bb
type

Definition at line 226 of file MALP_Blackboard.c.

Here is the call graph for this function:

void MALP_blackboard_init ( struct MALP_blackboard bb,
uint32_t  workers_count,
void *  context 
)

MALP_blackboard initialisation.

Parameters
bb
workers_count
context

Definition at line 23 of file MALP_Blackboard.c.

Here is the call graph for this function:

int MALP_Blackboard_ks_present ( struct MALP_blackboard bb,
uint64_t  type 
)

test if a knowledge system is available in a MALP_Blackboard Test if a knowledge system of a specific type, defined by its key, is available in a MALP_Blackboard

Parameters
bbBlackboard
typeKnowledge system key
Returns
1: Knowledge system type defined in a MALP_Blackboard, 0: Knowledge system type not defined

Definition at line 172 of file MALP_Blackboard.c.

Here is the call graph for this function:

struct Knowledge_system* MALP_Blackboard_new_ks ( struct MALP_blackboard bb,
uint64_t  type,
uint64_t *  sensivities,
uint32_t  sensivities_count,
void(*)(struct MALP_blackboard *bb, struct Data_entry **de, uint32_t entry_count, void *arg)  process,
void *  arg 
)

Create a new Knowledge system while associating a key (used as an id and a type) and a handler (process)

Parameters
bbBlackboard
typeKnowledge system key
sensivitieslist of sensivities (see Data Entry )
sensivities_countnumber of sensivities in the list
processHandler of a knowledge system
argList/handler for arguments

Definition at line 182 of file MALP_Blackboard.c.

Here is the call graph for this function:

static uint64_t MALP_Blackboard_pending ( struct MALP_blackboard bb)
inlinestatic

Returns the number of pebnding data block counter.

Parameters
bba pointer to the blacboard
Returns
Number of pending blocks in the BB

Definition at line 248 of file MALP_Blackboard.h.

Here is the call graph for this function:

Here is the caller graph for this function:

void MALP_blackboard_release ( struct MALP_blackboard bb)

MALP_blackboard release.

Parameters
bb

Definition at line 61 of file MALP_Blackboard.c.

Here is the call graph for this function:

static void MALP_Blackboard_remove_pending ( struct MALP_blackboard bb)
inlinestatic

Decrements the number of pending data block counter.

Parameters
bba pointer to the blacboard
Returns

Definition at line 325 of file MALP_Blackboard.h.

Here is the call graph for this function:

Here is the caller graph for this function:

static void MALP_blackboard_set_default_KS_handler ( struct MALP_blackboard bb,
void(*)(struct MALP_blackboard *, uint64_t KS_id, struct Data_entry **, uint32_t, void *)  default_handler 
)
inlinestatic

sets MALP_blackboard's default Knowledge system handler

Parameters
bbthe blackboard where to set the default handler
default_handlerthe new default handler

Definition at line 128 of file MALP_Blackboard.h.

int MALP_Blackboard_submit_data ( struct MALP_blackboard bb,
uint64_t  key,
void *  payload,
size_t  payload_size 
)

MALP_Blackboard_submit_data.

Parameters
bb
key
payload
payload_size
Returns

Definition at line 339 of file MALP_Blackboard.c.

Here is the call graph for this function:

int MALP_Blackboard_submit_data_entry ( struct MALP_blackboard bb,
struct Data_entry de 
)

MALP_Blackboard_submit_data_entry.

Parameters
bb
de
Returns

Definition at line 311 of file MALP_Blackboard.c.

Here is the call graph for this function:

static uint64_t MALP_Blackboard_type_hash ( uint64_t  type)
inlinestatic

MALP_Blackboard_type_hash.

Parameters
type
Returns

Definition at line 286 of file MALP_Blackboard.h.

Here is the call graph for this function:

static uint64_t MALP_Blackboard_type_state_hash ( uint64_t  type,
uint64_t  state 
)
inlinestatic

MALP_Blackboard_type_state_hash.

Parameters
type
state
Returns

Definition at line 298 of file MALP_Blackboard.h.

Here is the call graph for this function:

void MALP_blackboard_wait ( struct MALP_blackboard bb)

MALP_blackboard_wait Function to call the wait function for the Pbb workers of a MALP blackboard.

Parameters
bb

Definition at line 72 of file MALP_Blackboard.c.

Here is the call graph for this function:

static void MALP_Blackboard_wait_pending ( struct MALP_blackboard bb,
uint64_t  value 
)
inlinestatic

MALP_Blackboard_wait_pending.

Parameters
bb
value

Definition at line 266 of file MALP_Blackboard.h.

Here is the call graph for this function:

static int MALP_Blackboard_writable_data ( struct Data_entry de)
inlinestatic

MALP_Blackboard_writable_data.

Parameters
de
Returns

Definition at line 228 of file MALP_Blackboard.h.

Here is the call graph for this function: