Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LFX Workspace: Zlib Plugin Support #2546

Closed
5 of 8 tasks
NeelDigonto opened this issue May 31, 2023 · 0 comments
Closed
5 of 8 tasks

LFX Workspace: Zlib Plugin Support #2546

NeelDigonto opened this issue May 31, 2023 · 0 comments
Labels
LFX Mentorship Tasks for LFX Mentorship participants

Comments

@NeelDigonto
Copy link
Contributor

NeelDigonto commented May 31, 2023

Motivation

Read: feat: a zlib plugin

The zlib is required for compiling and running many existing C / C++ / Rust apps in Wasm. Most noticeably, it is required for the Python port to Wasm. The VMWare Wasm Labs team is using a zlib port from Singlestore in their Python Wasm runtime.

In WasmEdge, we could support the zlib host functions through our plug-in system. This way, any existing zlib apps can be compiled to Wasm and run inside WasmEdge. The immediate benefits of this approach are three folds:

  • By using native zlib libraries, we could improve the performance of zlib apps in wasm, especially in the interpreter mode.
  • It is significantly easier for developers to just compile their programs to wasm, as opposed to having to compile zlib itself to wasm and then link with their apps.
  • There is no need for developers to register host functions for zlib in their apps. The plug-in does it from inside WasmEdge.

Since we are supporting zlib from within WasmEdge, we are not introducing another host app to wrap around WasmEdge. WasmEdge remains the "container" of the app. The zlib apps would be able to seamlessly run in WasmEdge embedded in Docker Desktop, Kubernetes, containerd, OpenShift, and other container tools.

Details

Implementation Detail Plan

References

Milestones

  • M1 [Jun 1 - Jun 7] POC(C++) + Planning + Buffer Time
  • M2 [Jun 8 - Jun 14] Basic Zlib Support(C++/Rust) + Container
  • M3 [Jun 14 - Jun 30] Wasm Embed Python + E2E Test
  • M4 [Jul 1 - Jul 31] Full Zlib Api Compatibility
  • M5 [Aug 1 - Aug 7] Hardening
  • M6 [Aug 8 - Aug 14] Usability
  • M7 [Aug 15 - Aug 21] Exposure
  • ~~ [Aug 22 - Aug 28] Spare Week

#2562

@NeelDigonto NeelDigonto changed the title #asd LFX Workspace: Zlib Plugin Support May 31, 2023
@hydai hydai added the LFX Mentorship Tasks for LFX Mentorship participants label Sep 18, 2023
@hydai hydai closed this as completed Jun 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
LFX Mentorship Tasks for LFX Mentorship participants
Projects
None yet
Development

No branches or pull requests

2 participants