-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Labels
core:rustboard//tensorboard/data/server/...//tensorboard/data/server/...
Description
Feature tasks
If you’re interested, let me know, and I’ll assess whether it’s a good idea and
provide guidance if appropriate.
Small-ish
- @bileschi: Plugin listing (rust: implement
ListPluginsRPC #4487)- touches: server
- straightforward; good starter task
- @wchargin: Data location and experiment metadata (rust: implement data location #4751)
- touches: server, Python data provider, RPC protos
- pretty straightforward; good starter task
- @wchargin: Make CRC checking optional (rust: make CRC checking optional #4573)
- touches: core, CLI
- straightforward; good starter task
- @nfelt: Online commits (commit data periodically while runs are loading) (rust: make RunLoader commit periodically while loading a large run #4604)
- touches: core only
- fairly straightforward; good starter task
- @psybuzz: Samples-per-plugin (Plumb --samples_per_plugin to Rust data server #4689)
- touches: core, CLI, Python ingester
- probably pretty straightforward? could be a good starter task
- optional extra: support unbounded reservoirs (rust: support unbounded reservoirs #4754)
Involved
- @nfelt: Tensors core (rust: implement tensor RPCs and client #4726)
- touches: core, server, Python data provider
- @nfelt: Tensors data compat
- @wchargin: Blob sequences (rust: implement blob sequence RPCs and client #4563, et al.)
- touches: core, server, Python data provider
- needs generic blob sequence support plus compat for images,
audio, graphs - expect some moderately tricky stuff on the server since
ReadBlobis a server-streaming RPC
- @wchargin: Blob data compat
- images (rust: support images and generic blob sequences #4564)
- audio (rust: support audio #4566)
- graphs (rust: load graphs into memory as blob sequences #4544)
- graphs sub-plugins (Keras, etc.) (rust: support tagged run metadata graphs #4568, rust: support graph sub-plugins #4569)
- @wchargin: Parallelize across runs (rust: load runs in parallel #4634)
- Optimize run-tag filters over small input sets
- i.e.: iterate over the filter, not the map
- touches: server only
- will be harder than it sounds :-)
- mostly for learning purposes; will be faster, but won’t matter
in practice
- Reload-multifile
- touches: core, CLI
- note: current logic does always read from all files; it just
never marks old files as dead
These are mostly for feature parity. There are further ideas for new
features—indexing, deferred blob loading, etc.—but let’s hold off on
those.
Infra tasks
(I plan to take care of these.)
- Filesystems (rust: extract
Logdirtrait for other filesystems #4636)- touches: core, CLI
- Pull
main.rsintorustboard_core::cli- dovetails with filesystems: bring your own entry point
- Pip packaging
- set up package structure and integrate with TensorBoard
- release Pip package (pre-release is okay)
- add Pip dependency from
tensorboardtotensorboard-data-server(pip: depend ontensorboard-data-server#4676)
- Cross-platform builds
- trivial to cross-compile to pc-windows-gnu, less so to pc-windows-msvc
- osxcross?
- just build ’em all on GitHub Actions? has VMs for all relevant
platforms
- Benchmarks
- touches: core, build
- status: have a starting point; can expand as needed
Other tasks that I plan to investigate:
- Graph plugin parity (graph: use data provider API exclusively #4473, et al.)
- touches: Python graph plugin, both data_compat
- profile data, non-run graphs with data provider
- Projector plugin parity (projector: read run names from data provider #4494, et al.)
- touches: Python projector plugin
- just needs to work without multiplexer; can still hit local disk
rather than actually using the data provider
- Mesh plugin parity (mesh: add generic data support #4775)
- touches: Python mesh plugin
- just needs to rewire multiplexer to data provider, using tensors
(see discussion on rust: implement data_compat.rs basic tensor support #4734)
- Custom scalars plugin parity (custom_scalar: add generic data support #4774)
- touches: Python custom scalars plugin, one-line changes to both datacompats
- DebuggerV2 well-behavedness (debugger_v2: start multiplexer lazily #4659)
- needs to not hammer GCS
- not strictly RustBoard, but stops
--load_fastfrom being fast
Metadata
Metadata
Assignees
Labels
core:rustboard//tensorboard/data/server/...//tensorboard/data/server/...