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:
| |
| 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 from the server 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) |
| Set up to accept LiveViz3D 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_Universe * | theUniverse = 0 |
| static LV3D_ServerMgr * | theMgr = 0 |
| static CProxy_LV3D_PerfManager | perfMgr |
| static stats::op_t | op_view_count = stats::count_op("client.views","New viewpoints","Views") |
| 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 p.
Referenced by LV3D0_ClientManager_toMaster::LV3D0_ClientManager_toMaster().
| 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(), and LV3D_copy_view_src.
Referenced by LV3D_save_start().
| 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().
| static int LV3D_save_view | ( | LV3D0_ViewMsg * | v | ) | [static] |
Definition at line 465 of file lv3d0_server.C.
References CmiAbort(), LV3D_dosave_views, LV3D_save_viewStart, op_save, p, malloc_chunk::size, savedViewRecord::t, LV3D0_ViewMsg::view, LV3D0_ViewMsg::view_size, and savedViewRecord::view_size.
Referenced by LV3D0_Deposit().
| 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().
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 LV3D0_ViewMsg::clientID, stats::get(), LV3D_disable_ship, LV3D_save_view(), mgrProxy, LV3D0_ViewMsg::new_(), op_deposit_bytes, op_deposit_pixels, op_deposit_views, CkView::pixels, s, and LV3D0_ViewMsg::view_size.
Referenced by impl_LV3D_Array::render().
| static void printStats | ( | void * | rednMsg | ) | [static] |
Reduction handler, used to print statistics.
Definition at line 527 of file lv3d0_server.C.
References CcsSendDelayedReply(), Converse::CkMyPe(), Converse::CkNumPes(), free(), CkReductionMsg::getData(), malloc(), op_time, printf(), s, and statsReply.
| 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 op_idle, and stats::swap().
Referenced by LV3D_PerfManager::LV3D_PerfManager().
| 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 CcsSendReply(), CmiFree(), CmiPrintf(), mgrProxy, LV3D_ServerMgr::newClient(), PUP_toNetwork_sizer::size(), theMgr, and theUniverse.
Referenced by LV3D0_Init().
| 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(), LV3D_ServerMgr::newViewpoint(), op_view_count, p, CkViewpoint::pup(), theMgr, and LV3D_ViewpointMsg::viewpoint.
Referenced by LV3D0_Init().
| 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().
| static void qdDoneFn | ( | void * | param, | |
| void * | msg | |||
| ) | [static] |
Definition at line 718 of file lv3d0_server.C.
References emptyDoneFn(), mgrProxy, and s.
Referenced by LV3D0_qd().
| static void emptyDoneFn | ( | void * | param, | |
| void * | msg | |||
| ) | [static] |
Definition at line 724 of file lv3d0_server.C.
References CcsSendDelayedReply(), and s.
Referenced by qdDoneFn().
| void LV3D0_qd | ( | char * | msg | ) |
Definition at line 708 of file lv3d0_server.C.
References CcsDelayReply(), CkStartQD(), CmiFree(), p, qdDoneFn(), and s.
Referenced by LV3D0_endbalance(), and LV3D0_Init().
| 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(), p, and theMgr.
Referenced by LV3D0_Init().
| void LV3D0_startbalance | ( | char * | msg | ) |
| void LV3D0_endbalance | ( | char * | msg | ) |
Definition at line 761 of file lv3d0_server.C.
References LV3D_ServerMgr::doBalance(), LV3D0_qd(), and theMgr.
Referenced by LV3D0_Init().
| void LV3D0_quit | ( | char * | msg | ) |
Definition at line 773 of file lv3d0_server.C.
References CcsSendReply(), CkExit(), and CmiFree().
Referenced by LV3D0_Init().
| 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().
| 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(), CmiFree(), and statsReply.
Referenced by LV3D0_Init().
| 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().
| void LV3D0_throttle0 | ( | char * | msg | ) |
| void LV3D0_throttle1 | ( | char * | msg | ) |
| void LV3D0_Init | ( | LV3D_Universe * | clientUniverse, | |
| LV3D_ServerMgr * | mgr | |||
| ) |
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(), LV3D0_zero(), theMgr, and theUniverse.
Referenced by LV3D1_Init().
| 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.
| void LV3D0_NodeInit | ( | void | ) |
CProxy_LV3D0_Manager mgrProxy [static] |
Definition at line 20 of file lv3d0_server.C.
Referenced by NormalLineArray::doFirstFFT(), NormalLineArray::doSecondFFT(), LV3D0_Deposit(), LV3D0_getViews(), LV3D0_Manager::LV3D0_Manager(), LV3D0_setup(), LV3D0_ClientManager_toMaster::progress(), and qdDoneFn().
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().
int LV3D_disable_ship_prio = 0 [static] |
Set priorities to zero.
Definition at line 22 of file lv3d0_server.C.
Referenced by CkViewPrioSorter::add().
int LV3D_disable_ship_replace = 0 [static] |
Don't replace old images from same impostor.
Definition at line 23 of file lv3d0_server.C.
Referenced by CkViewPrioSorter::add().
int LV3D_disable_ship_throttle = 0 [static] |
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().
| int LV3D0_toMaster_bytesPer = 100*1024 |
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.
Referenced by LV3D0_ClientManager_toMaster::progress().
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.
Referenced by LV3D0_ClientManager_toMaster::progress().
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.
Referenced by LV3D0_ClientManager_toMaster::progress().
| int LV3D0_toClient_bytesPer = 100*1024 |
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.
Referenced by LV3D0_ClientManager_toClient::sendReply().
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.
Referenced by LV3D0_ClientManager_toClient::sendReply().
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.
Referenced by LV3D0_ClientManager_toClient::sendReply().
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.
Referenced by LV3D0_ClientManager_toClient::sendReply().
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 [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] |
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] |
Definition at line 519 of file lv3d0_server.C.
Referenced by LV3D_PerfManager::collect(), and printStats().
stats::op_t op_unknown = stats::time_op("cmi.unknown","Unaccounted-for time") [static] |
Definition at line 520 of file lv3d0_server.C.
Referenced by LV3D_PerfManager::collect(), and LV3D_PerfManager::zero().
stats::op_t op_idle = stats::time_op("cmi.idle","Time spent waiting for data") [static] |
CcsDelayedReply statsReply [static] |
LV3D_Universe* theUniverse = 0 [static] |
Definition at line 624 of file lv3d0_server.C.
Referenced by LV3D0_Init(), LV3D0_setup(), and LV3D1_Init().
LV3D_ServerMgr* theMgr = 0 [static] |
Definition at line 625 of file lv3d0_server.C.
Referenced by LV3D0_endbalance(), LV3D0_flush(), LV3D0_Init(), LV3D0_newViewpoint(), and LV3D0_setup().
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] |
1.5.1