IntelliSys-Lab / RainbowCake-ASPLOS24

Apache License 2.0
22 stars 3 forks source link

HTTP handler (language runtime) #2

Closed huang-jl closed 1 month ago

huang-jl commented 1 month ago

Hello, when I am reading the code, I cannot find the implementation of http handler. As in the paper, it said:

Upon receiving an Init HTTP request, the container proxy first creates an Action folder under user home directory and installs user packages (import user code from database, activate libraries, and set environment variables) under it. We add a Clean HTTP handler to delete the Action directory and unset all user-defined environment variables.

I wonder where is the implementation of this http handler in this repository?

Looking forward to your reply, thanks!

hanfeiyu commented 1 month ago

The HTTP handlers are implemented in OpenWhisk's runtime proxy, which is embedded in all the runtime Docker images. These Docker images are pulled from Docker Hub during OpenWhisk setup and are publicly available.

For most runtime images, OpenWhisk will first build a golang-based runtime proxy that processes HTTP requests before compiling the language runtime itself. Here is an example of how OpenWhisk builds the proxy when compiling the Python 3.10 runtime.

The HTTP handlers described in the paper follow the style of the handlers in OpenWhisk's original runtime proxy. We are still working on sanitizing the runtime repos that build the Docker images and trying to make them public.

Feel free to reopen the issue if you have further questions.

huang-jl commented 1 month ago

Thanks for your quick reply!