Send meta data to backup server and backup server will use this meta data to read shared-memory tensor. Parameters ---------- name : str data name dtype : str data type string shape : tuple of int data shape policy_str : str partition-poli
| 515 | |
| 516 | |
| 517 | class SendMetaToBackupRequest(rpc.Request): |
| 518 | """Send meta data to backup server and backup server |
| 519 | will use this meta data to read shared-memory tensor. |
| 520 | |
| 521 | Parameters |
| 522 | ---------- |
| 523 | name : str |
| 524 | data name |
| 525 | dtype : str |
| 526 | data type string |
| 527 | shape : tuple of int |
| 528 | data shape |
| 529 | policy_str : str |
| 530 | partition-policy string, e.g., 'edge' or 'node'. |
| 531 | pull_handler : callable |
| 532 | The callback function when data is pulled from kvstore. |
| 533 | push_handler : callable |
| 534 | The callback function when data is pushed to kvstore. |
| 535 | """ |
| 536 | |
| 537 | def __init__( |
| 538 | self, name, dtype, shape, policy_str, pull_handler, push_handler |
| 539 | ): |
| 540 | self.name = name |
| 541 | self.dtype = dtype |
| 542 | self.shape = shape |
| 543 | self.policy_str = policy_str |
| 544 | self.pull_handler = pull_handler |
| 545 | self.push_handler = push_handler |
| 546 | |
| 547 | def __getstate__(self): |
| 548 | return ( |
| 549 | self.name, |
| 550 | self.dtype, |
| 551 | self.shape, |
| 552 | self.policy_str, |
| 553 | self.pull_handler, |
| 554 | self.push_handler, |
| 555 | ) |
| 556 | |
| 557 | def __setstate__(self, state): |
| 558 | ( |
| 559 | self.name, |
| 560 | self.dtype, |
| 561 | self.shape, |
| 562 | self.policy_str, |
| 563 | self.pull_handler, |
| 564 | self.push_handler, |
| 565 | ) = state |
| 566 | |
| 567 | def process_request(self, server_state): |
| 568 | kv_store = server_state.kv_store |
| 569 | assert kv_store.is_backup_server() |
| 570 | if self.name not in kv_store.data_store: |
| 571 | shared_data = empty_shared_mem( |
| 572 | self.name + "-kvdata-", False, self.shape, self.dtype |
| 573 | ) |
| 574 | dlpack = shared_data.to_dlpack() |
no outgoing calls
no test coverage detected