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 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_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 LV3D0_ClientManager_toMaster::fillBucket(), and 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(), fName, 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 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().
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 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().
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().
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().
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().
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().
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 lv3d_qdState::clientID, emptyDoneFn(), mgrProxy, and PUP::s.
Referenced by LV3D0_qd().
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().
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().
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().
void LV3D0_startbalance | ( | char * | msg | ) |
Definition at line 750 of file lv3d0_server.C.
References CmiFree().
Referenced by LV3D0_Init().
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().
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(), and CmiFree().
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 | ) |
Definition at line 802 of file lv3d0_server.C.
References CmiFree().
Referenced by LV3D0_Init().
void LV3D0_throttle1 | ( | char * | msg | ) |
Definition at line 803 of file lv3d0_server.C.
References CmiFree().
Referenced by LV3D0_Init().
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().
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 | ) |
Definition at line 843 of file lv3d0_server.C.
References CkViewNodeInit().
CProxy_LV3D0_Manager mgrProxy [static] |
Definition at line 20 of file lv3d0_server.C.
Referenced by 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.
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.
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.
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.
CcsDelayedReply statsReply [static] |
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.