PPL Logo

libs/ck-libs/liveViz3d/lv3d0_server.C File Reference

Go to the source code of this file.

Data Structures

class  LV3D0_ViewMsg
 This message is used to pack up and ship views from where they're computed to the master processor, where they're accumulated for CCS transport to the client. More...
class  CkViewPrioHolder
 Holds a view in the priority heap. More...
class  CkViewPrioSorter
 Stores a set of view messages:
  • Sorts outgoing views by priority.
More...
class  LV3D0_ClientManager
 Generic superclass for client managers. More...
class  LV3D0_ClientManager_toMaster
 A LV3D0_ClientManager that buffers up outgoing views for delivery to the master processor. More...
class  LV3D0_ClientManager_toClient
 A LV3D0_ClientManager buffers up outgoing views before they're requested by, and sent off to, a client. More...
class  LV3D0_Manager
 The LV3D0_Manager group stores up outgoing views before they're sent off to clients. More...
struct  savedViewRecord
class  LV3D_PerfManager
struct  lv3d_qdState

Functions

void _registerlv3d1 (void)
void _registerliveViz (void)
static void toMaster_fillBucket (void *ptr, double timer)
 Called every 10ms via CcdPERIODIC_10ms.
 CkpvStaticDeclare (FILE *, LV3D_save_views)
 Destination to write incoming views to, or 0 if none (the normal case).
static void LV3D_save_init (void)
static void LV3D_save_start (void)
static int LV3D_save_view (LV3D0_ViewMsg *v)
static void LV3D_save_finish (void)
void LV3D0_Deposit (CkView *v, int clientID)
 Send this view back to this client.
static void printStats (void *rednMsg)
 Reduction handler, used to print statistics.
static void perfmanager_stats_idle (void *ptr, double timer)
 Ccd idle handler: notifies stats collection of our idleness.
void LV3D0_setup (char *msg)
 "lv3d_setup" CCS handler: Request a new clientID and universe.
void LV3D0_newViewpoint (char *msg)
 "lv3d_newViewpoint" CCS handler: Sent by the client when his viewpoint changes, to request updated views of the objects.
void LV3D0_getViews (char *msg)
 "lv3d_getViews" CCS handler: Sent by the client to request the actual images of any updated object views.
static void qdDoneFn (void *param, void *msg)
static void emptyDoneFn (void *param, void *msg)
void LV3D0_qd (char *msg)
void LV3D0_flush (char *msg)
 "lv3d_flush" CCS handler: Throw away views for this client.
void LV3D0_startbalance (char *msg)
void LV3D0_endbalance (char *msg)
void LV3D0_quit (char *msg)
void LV3D0_zero (char *msg)
 lv3d_zero CCS handler: clear all collected statistics
void LV3D0_stats (char *msg)
 lv3d_stats CCS handler: sum and print all collected statistics, then zero
void LV3D0_trace (char *msg)
 lv3d_trace CCS handler: turn on tracing
void LV3D0_throttle0 (char *msg)
void LV3D0_throttle1 (char *msg)
void LV3D0_Init (LV3D_Universe *clientUniverse, LV3D_ServerMgr *mgr)
 Register for libsixty redraw requests.
void LV3D0_ProcInit (void)
 Per-processor initialization routine:.
void LV3D0_NodeInit (void)

Variables

static CProxy_LV3D0_Manager mgrProxy
static int LV3D_dosave_views = 0
 Write views to file (not network).
static int LV3D_disable_ship_prio = 0
 Set priorities to zero.
static int LV3D_disable_ship_replace = 0
 Don't replace old images from same impostor.
static int LV3D_disable_ship_throttle = 0
 Don't send a limited number at once.
static int LV3D_disable_ship = 0
 Throw away images, don't ship any.
int LV3D0_toMaster_bytesPer = 100*1024
 Communication parameter: number of bytes to send per 10ms window.
int LV3D0_toMaster_bytesMax = 2*LV3D0_toMaster_bytesPer
 Communication parameter: maximum number of bytes to store in bucket.
static stats::op_t op_master_count = stats::count_op("master.count","Number of final master impostors","count")
static stats::op_t op_master_bytes = stats::count_op("master.bytes","Number of final master bytes","bytes")
static stats::op_t op_master_pixels = stats::count_op("master.pixels","Number of final master pixels","pixels")
int LV3D0_toClient_bytesPer = 100*1024
 Communication parameter: maximum number of bytes to send per client request.
static stats::op_t op_client_pack = stats::time_op("client.pack","Time spent packing final client impostors")
static stats::op_t op_client_count = stats::count_op("client.count","Number of final client impostors","count")
static stats::op_t op_client_bytes = stats::count_op("client.bytes","Number of final client bytes","bytes")
static stats::op_t op_client_pixels = stats::count_op("client.pixels","Final client impostor pixels","pixels")
static stats::op_t op_deposit_views = stats::count_op("deposit.views","CkView count","CkViews")
static stats::op_t op_deposit_bytes = stats::count_op("deposit.bytes","CkView sizes","bytes")
static stats::op_t op_deposit_pixels = stats::count_op("deposit.pixels","CkView pixels","pixels")
static double LV3D_save_viewStart = 0
 Time at view start.
static char * LV3D_copy_view_src = 0
static char * LV3D_copy_view_dest = 0
static stats::op_t op_save = stats::time_op("save.time","Time spent saving views to disk")
static stats::op_t op_pes = stats::count_op("cmi.pes","Processors","pes")
static stats::op_t op_time = stats::time_op("cmi.time","Elapsed wall-clock time")
static stats::op_t op_unknown = stats::time_op("cmi.unknown","Unaccounted-for time")
static stats::op_t op_idle = stats::time_op("cmi.idle","Time spent waiting for data")
static CcsDelayedReply statsReply
static LV3D_UniversetheUniverse = 0
static LV3D_ServerMgrtheMgr = 0
static CProxy_LV3D_PerfManager perfMgr
static stats::op_t op_view_count = stats::count_op("client.views","New viewpoints","Views")


Function Documentation

void _registerlv3d1 ( void   ) 

void _registerliveViz ( void   ) 

static void toMaster_fillBucket ( void *  ptr,
double  timer 
) [static]

Called every 10ms via CcdPERIODIC_10ms.

Definition at line 249 of file lv3d0_server.C.

References LV3D0_ClientManager_toMaster::fillBucket(), and p.

Referenced by LV3D0_ClientManager_toMaster::LV3D0_ClientManager_toMaster().

Here is the call graph for this function:

Here is the caller graph for this function:

CkpvStaticDeclare ( FILE *  ,
LV3D_save_views   
)

Destination to write incoming views to, or 0 if none (the normal case).

static void LV3D_save_init ( void   )  [static]

Definition at line 434 of file lv3d0_server.C.

References Converse::CkMyPe(), CmiAbort(), fName, and LV3D_copy_view_src.

Referenced by LV3D_save_start().

Here is the call graph for this function:

Here is the caller graph for this function:

static void LV3D_save_start ( void   )  [static]

Definition at line 448 of file lv3d0_server.C.

References LV3D_dosave_views, LV3D_save_init(), and LV3D_save_viewStart.

Referenced by LV3D_PerfManager::zero().

Here is the call graph for this function:

Here is the caller graph for this function:

static int LV3D_save_view ( LV3D0_ViewMsg v  )  [static]

Definition at line 465 of file lv3d0_server.C.

References buf, CmiAbort(), LV3D_dosave_views, LV3D_save_viewStart, p, PUP_toNetwork_pack::size(), savedViewRecord::t, LV3D0_ViewMsg::view, LV3D0_ViewMsg::view_size, and savedViewRecord::view_size.

Referenced by LV3D0_Deposit().

Here is the call graph for this function:

Here is the caller graph for this function:

static void LV3D_save_finish ( void   )  [static]

Definition at line 482 of file lv3d0_server.C.

References Converse::CkMyPe(), LV3D_copy_view_dest, LV3D_copy_view_src, and LV3D_dosave_views.

Referenced by LV3D_PerfManager::collect().

Here is the call graph for this function:

Here is the caller graph for this function:

void LV3D0_Deposit ( CkView v,
int  clientID 
)

Send this view back to this client.

Send this view from the server to this client.

You must set the view's id and prio fields.

Definition at line 503 of file lv3d0_server.C.

References stats::stats::add(), LV3D0_ViewMsg::clientID, stats::get(), LV3D_disable_ship, LV3D_save_view(), mgrProxy, LV3D0_ViewMsg::new_(), CkView::pixels, PUP::s, and LV3D0_ViewMsg::view_size.

Referenced by impl_LV3D_Array::render().

Here is the call graph for this function:

Here is the caller graph for this function:

static void printStats ( void *  rednMsg  )  [static]

Reduction handler, used to print statistics.

Definition at line 527 of file lv3d0_server.C.

References buf, CcsSendDelayedReply(), Converse::CkMyPe(), Converse::CkNumPes(), free(), stats::stats::get(), CkReductionMsg::getData(), len, PUP::m, malloc(), stats::stats::print(), PUP::s, and Ck::IO::write().

Referenced by LV3D_PerfManager::collect(), and print().

Here is the call graph for this function:

Here is the caller graph for this function:

static void perfmanager_stats_idle ( void *  ptr,
double  timer 
) [static]

Ccd idle handler: notifies stats collection of our idleness.

Definition at line 566 of file lv3d0_server.C.

References stats::swap().

Referenced by LV3D_PerfManager::LV3D_PerfManager().

Here is the call graph for this function:

Here is the caller graph for this function:

void LV3D0_setup ( char *  msg  ) 

"lv3d_setup" CCS handler: Request a new clientID and universe.

Outgoing request is empty. Response is a 1-int clientID followed by a PUP::able universe.

Definition at line 637 of file lv3d0_server.C.

References buf, CcsSendReply(), CmiFree(), CmiPrintf(), mgrProxy, LV3D_ServerMgr::newClient(), and PUP_toNetwork_sizer::size().

Referenced by LV3D0_Init().

Here is the call graph for this function:

Here is the caller graph for this function:

void LV3D0_newViewpoint ( char *  msg  ) 

"lv3d_newViewpoint" CCS handler: Sent by the client when his viewpoint changes, to request updated views of the objects.

Outgoing request is an integer clientID, frameID, and a CkViewpoint. There is no response.

Definition at line 665 of file lv3d0_server.C.

References LV3D_ViewpointMsg::clientID, LV3D_ViewpointMsg::frameID, stats::get(), PUP::m, LV3D_ServerMgr::newViewpoint(), p, CkViewpoint::pup(), and LV3D_ViewpointMsg::viewpoint.

Referenced by LV3D0_Init().

Here is the call graph for this function:

Here is the caller graph for this function:

void LV3D0_getViews ( char *  msg  ) 

"lv3d_getViews" CCS handler: Sent by the client to request the actual images of any updated object views.

These come in via LV3D0_Deposit.

Outgoing request is a single integer, the client ID Incoming response is a set of updated CkViews: int n; p|n; for (int i=0;i<n;i++) p|view[i];

Definition at line 686 of file lv3d0_server.C.

References CmiFree(), mgrProxy, and p.

Referenced by LV3D0_Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void qdDoneFn ( void *  param,
void *  msg 
) [static]

Definition at line 718 of file lv3d0_server.C.

References lv3d_qdState::clientID, emptyDoneFn(), mgrProxy, and PUP::s.

Referenced by LV3D0_qd().

Here is the call graph for this function:

Here is the caller graph for this function:

static void emptyDoneFn ( void *  param,
void *  msg 
) [static]

Definition at line 724 of file lv3d0_server.C.

References CcsSendDelayedReply(), lv3d_qdState::reply, and PUP::s.

Referenced by qdDoneFn().

Here is the call graph for this function:

Here is the caller graph for this function:

void LV3D0_qd ( char *  msg  ) 

Definition at line 708 of file lv3d0_server.C.

References cb, CcsDelayReply(), CkStartQD(), lv3d_qdState::clientID, CmiFree(), p, qdDoneFn(), lv3d_qdState::reply, and PUP::s.

Referenced by LV3D0_endbalance(), and LV3D0_Init().

Here is the call graph for this function:

Here is the caller graph for this function:

void LV3D0_flush ( char *  msg  ) 

"lv3d_flush" CCS handler: Throw away views for this client.

Outgoing request a 1-int clientID.

Definition at line 737 of file lv3d0_server.C.

References CmiFree(), LV3D_ServerMgr::newClient(), and p.

Referenced by LV3D0_Init().

Here is the call graph for this function:

Here is the caller graph for this function:

void LV3D0_startbalance ( char *  msg  ) 

Definition at line 750 of file lv3d0_server.C.

References CmiFree().

Referenced by LV3D0_Init().

Here is the call graph for this function:

Here is the caller graph for this function:

void LV3D0_endbalance ( char *  msg  ) 

Definition at line 761 of file lv3d0_server.C.

References LV3D_ServerMgr::doBalance(), and LV3D0_qd().

Referenced by LV3D0_Init().

Here is the call graph for this function:

Here is the caller graph for this function:

void LV3D0_quit ( char *  msg  ) 

Definition at line 773 of file lv3d0_server.C.

References CcsSendReply(), CkExit(), and CmiFree().

Referenced by LV3D0_Init().

Here is the call graph for this function:

Here is the caller graph for this function:

void LV3D0_zero ( char *  msg  ) 

lv3d_zero CCS handler: clear all collected statistics

Definition at line 781 of file lv3d0_server.C.

References CmiFree().

Referenced by LV3D0_Init().

Here is the call graph for this function:

Here is the caller graph for this function:

void LV3D0_stats ( char *  msg  ) 

lv3d_stats CCS handler: sum and print all collected statistics, then zero

Definition at line 788 of file lv3d0_server.C.

References CcsDelayReply(), and CmiFree().

Referenced by LV3D0_Init().

Here is the call graph for this function:

Here is the caller graph for this function:

void LV3D0_trace ( char *  msg  ) 

lv3d_trace CCS handler: turn on tracing

Definition at line 796 of file lv3d0_server.C.

References CmiFree().

Referenced by LV3D0_Init().

Here is the call graph for this function:

Here is the caller graph for this function:

void LV3D0_throttle0 ( char *  msg  ) 

Definition at line 802 of file lv3d0_server.C.

References CmiFree().

Referenced by LV3D0_Init().

Here is the call graph for this function:

Here is the caller graph for this function:

void LV3D0_throttle1 ( char *  msg  ) 

Definition at line 803 of file lv3d0_server.C.

References CmiFree().

Referenced by LV3D0_Init().

Here is the call graph for this function:

Here is the caller graph for this function:

void LV3D0_Init ( LV3D_Universe clientUniverse,
LV3D_ServerMgr mgr 
)

Register for libsixty redraw requests.

Set up to accept LiveViz3D requests.

This routine must be called exactly once on processor 0.

Definition at line 809 of file lv3d0_server.C.

References CcsRegisterHandler(), LV3D0_endbalance(), LV3D0_flush(), LV3D0_getViews(), LV3D0_newViewpoint(), LV3D0_qd(), LV3D0_quit(), LV3D0_setup(), LV3D0_startbalance(), LV3D0_stats(), LV3D0_throttle0(), LV3D0_throttle1(), LV3D0_trace(), and LV3D0_zero().

Referenced by LV3D1_Init().

Here is the call graph for this function:

Here is the caller graph for this function:

void LV3D0_ProcInit ( void   ) 

Per-processor initialization routine:.

Definition at line 835 of file lv3d0_server.C.

References CkGetArgv(), Converse::CkNumPes(), CmiGetArgStringDesc(), LV3D0_toMaster_bytesMax, LV3D0_toMaster_bytesPer, LV3D_copy_view_dest, and LV3D_copy_view_src.

Here is the call graph for this function:

void LV3D0_NodeInit ( void   ) 

Definition at line 843 of file lv3d0_server.C.

References CkViewNodeInit().

Here is the call graph for this function:


Variable Documentation

CProxy_LV3D0_Manager mgrProxy [static]

int LV3D_dosave_views = 0 [static]

Write views to file (not network).

Definition at line 21 of file lv3d0_server.C.

Referenced by LV3D_save_finish(), LV3D_save_start(), and LV3D_save_view().

Set priorities to zero.

Definition at line 22 of file lv3d0_server.C.

Referenced by CkViewPrioSorter::add().

Don't replace old images from same impostor.

Definition at line 23 of file lv3d0_server.C.

Referenced by CkViewPrioSorter::add().

Don't send a limited number at once.

Definition at line 24 of file lv3d0_server.C.

Referenced by LV3D0_ClientManager_toMaster::progress(), LV3D0_ClientManager_toClient::sendReply(), and LV3D_PerfManager::throttle().

int LV3D_disable_ship = 0 [static]

Throw away images, don't ship any.

Definition at line 25 of file lv3d0_server.C.

Referenced by LV3D0_Deposit().

Communication parameter: number of bytes to send per 10ms window.

NOTE: this is reset in procInit, below.

Definition at line 190 of file lv3d0_server.C.

Referenced by LV3D0_ClientManager_toMaster::fillBucket(), and LV3D0_ProcInit().

Communication parameter: maximum number of bytes to store in bucket.

Definition at line 192 of file lv3d0_server.C.

Referenced by LV3D0_ClientManager_toMaster::fillBucket(), LV3D0_ClientManager_toMaster::LV3D0_ClientManager_toMaster(), LV3D0_ProcInit(), and LV3D0_ClientManager_toMaster::progress().

stats::op_t op_master_count = stats::count_op("master.count","Number of final master impostors","count") [static]

Definition at line 196 of file lv3d0_server.C.

stats::op_t op_master_bytes = stats::count_op("master.bytes","Number of final master bytes","bytes") [static]

Definition at line 197 of file lv3d0_server.C.

stats::op_t op_master_pixels = stats::count_op("master.pixels","Number of final master pixels","pixels") [static]

Definition at line 198 of file lv3d0_server.C.

Communication parameter: maximum number of bytes to send per client request.

Definition at line 256 of file lv3d0_server.C.

Referenced by LV3D0_ClientManager_toClient::sendReply().

stats::op_t op_client_pack = stats::time_op("client.pack","Time spent packing final client impostors") [static]

Definition at line 258 of file lv3d0_server.C.

stats::op_t op_client_count = stats::count_op("client.count","Number of final client impostors","count") [static]

Definition at line 259 of file lv3d0_server.C.

stats::op_t op_client_bytes = stats::count_op("client.bytes","Number of final client bytes","bytes") [static]

Definition at line 260 of file lv3d0_server.C.

stats::op_t op_client_pixels = stats::count_op("client.pixels","Final client impostor pixels","pixels") [static]

Definition at line 261 of file lv3d0_server.C.

stats::op_t op_deposit_views = stats::count_op("deposit.views","CkView count","CkViews") [static]

Definition at line 423 of file lv3d0_server.C.

stats::op_t op_deposit_bytes = stats::count_op("deposit.bytes","CkView sizes","bytes") [static]

Definition at line 424 of file lv3d0_server.C.

stats::op_t op_deposit_pixels = stats::count_op("deposit.pixels","CkView pixels","pixels") [static]

Definition at line 425 of file lv3d0_server.C.

double LV3D_save_viewStart = 0 [static]

Time at view start.

Definition at line 430 of file lv3d0_server.C.

Referenced by LV3D_save_start(), and LV3D_save_view().

char* LV3D_copy_view_src = 0 [static]

Definition at line 431 of file lv3d0_server.C.

Referenced by LV3D0_ProcInit(), LV3D_save_finish(), and LV3D_save_init().

char * LV3D_copy_view_dest = 0 [static]

Definition at line 431 of file lv3d0_server.C.

Referenced by LV3D0_ProcInit(), and LV3D_save_finish().

stats::op_t op_save = stats::time_op("save.time","Time spent saving views to disk") [static]

Definition at line 432 of file lv3d0_server.C.

stats::op_t op_pes = stats::count_op("cmi.pes","Processors","pes") [static]

Definition at line 518 of file lv3d0_server.C.

stats::op_t op_time = stats::time_op("cmi.time","Elapsed wall-clock time") [static]

Definition at line 519 of file lv3d0_server.C.

stats::op_t op_unknown = stats::time_op("cmi.unknown","Unaccounted-for time") [static]

Definition at line 520 of file lv3d0_server.C.

stats::op_t op_idle = stats::time_op("cmi.idle","Time spent waiting for data") [static]

Definition at line 521 of file lv3d0_server.C.

Definition at line 524 of file lv3d0_server.C.

LV3D_Universe* theUniverse = 0 [static]

Definition at line 624 of file lv3d0_server.C.

LV3D_ServerMgr* theMgr = 0 [static]

Definition at line 625 of file lv3d0_server.C.

CProxy_LV3D_PerfManager perfMgr [static]

Definition at line 626 of file lv3d0_server.C.

stats::op_t op_view_count = stats::count_op("client.views","New viewpoints","Views") [static]

Definition at line 655 of file lv3d0_server.C.


Generated on Mon Sep 21 08:07:46 2020 for Charm++ by  doxygen 1.5.5