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_system * MALP_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: