Jump to: navigation, search

Difference between revisions of "Storlets/Wishlist"

(Features)
(Engine)
 
(One intermediate revision by the same user not shown)
Line 4: Line 4:
  
 
= Engine =
 
= Engine =
* Add ability to control resources. See initial design thoughts [here|https://etherpad.openstack.org/p/swift-hackathon-feb-2016-storlets]
+
* Add ability to control resources. See initial design thoughts [here|https://etherpad.openstack.org/p/swift-hackathon-feb-2016-storlets]
* Move storlets infra from docker to a mounted directory
+
* Add resource monitoring. This requires:
* port storlets installation to devstack
+
** "Per Storlet Daemons" to log to host syslog.
* Long running Storlets
+
** Log CPU utilization per invocation
* Allow swift user to run docker commands, thus getting rid of the "c" code for managing docker
+
** Log memory consumption per invocation
* Use user namespaces to get rid of 777 on daemon factory pipe permission  
+
*** In python this can be done easily
* Replace 14.04 in s2aio with 16.04 and get rid of jre8 installation
+
*** In Java we first need to move to a process pool. Which in turn requires more control over JVM resources.
* Add timeout to Java SBUS (as suggested for python in https://review.openstack.org/#/c/410296/). A great way to garbadge collect unused containers and storlet daemon
+
* Move storlets infra from docker to a mounted directory
 +
* port storlets installation to devstack
 +
* Long running Storlets
 +
* Allow swift user to run docker commands, thus getting rid of the "c" code for managing docker
 +
* Use user namespaces to get rid of 777 on daemon factory pipe permission  
 +
* Replace 14.04 in s2aio with 16.04 and get rid of jre8 installation
 +
* Add timeout to Java SBUS (as suggested for python in https://review.openstack.org/#/c/410296/). A great way to garbadge collect unused containers and storlet daemon
  
 
= Future Thoughts =
 
= Future Thoughts =
* Look at seccomp as either augmentation to Docker gateway or a new gateway for running storlets (Idea coming from Saggi)
+
* Look at seccomp as either augmentation to Docker gateway or a new gateway for running storlets (Idea coming from Saggi)
* Look at enabling a synchronous Lambda independent from objects: Run a function on provided data and get back answer (Idea coming from Doron)
+
* Look at enabling a synchronous Lambda independent from objects: Run a function on provided data and get back answer (Idea coming from Doron)

Latest revision as of 09:30, 16 December 2016

Echo System

  • Docker all in one
  • Develop an Eclipse plugin that would deploy the storlets straight to docker all in one for testing

Engine

  • Add ability to control resources. See initial design thoughts [here|https://etherpad.openstack.org/p/swift-hackathon-feb-2016-storlets]
  • Add resource monitoring. This requires:
    • "Per Storlet Daemons" to log to host syslog.
    • Log CPU utilization per invocation
    • Log memory consumption per invocation
      • In python this can be done easily
      • In Java we first need to move to a process pool. Which in turn requires more control over JVM resources.
  • Move storlets infra from docker to a mounted directory
  • port storlets installation to devstack
  • Long running Storlets
  • Allow swift user to run docker commands, thus getting rid of the "c" code for managing docker
  • Use user namespaces to get rid of 777 on daemon factory pipe permission
  • Replace 14.04 in s2aio with 16.04 and get rid of jre8 installation
  • Add timeout to Java SBUS (as suggested for python in https://review.openstack.org/#/c/410296/). A great way to garbadge collect unused containers and storlet daemon

Future Thoughts

  • Look at seccomp as either augmentation to Docker gateway or a new gateway for running storlets (Idea coming from Saggi)
  • Look at enabling a synchronous Lambda independent from objects: Run a function on provided data and get back answer (Idea coming from Doron)