cde run any linux application on demand without
play

CDE: Run Any Linux Application On-Demand Without Installation - PowerPoint PPT Presentation

CDE: Run Any Linux Application On-Demand Without Installation Philip Guo pg@cs.stanford.edu http://www.pgbovine.net/cde.html Problem Its hard to package up your software so that other people can reliably run it Problem Its hard to


  1. CDE: Run Any Linux Application On-Demand Without Installation Philip Guo pg@cs.stanford.edu http://www.pgbovine.net/cde.html

  2. Problem It’s hard to package up your software so that other people can reliably run it …

  3. Problem It’s hard to package up your software so that other people can reliably run it … … and it can be hard to install and run other people’s software …

  4. Problem It’s hard to package up your software so that other people can reliably run it … … and it can be hard to install and run other people’s software … … especially on Linux

  5. Example: Scientists and Sysadmins Alice’s ¡computer ¡ Bob’s ¡computer ¡ ERROR: ¡Cannot ¡find ¡ py-­‑weather.so ¡ cd /home/alice/cool-experiment/ cd /home/bob/cool-experiment/ python weather_sim.py tokyo.dat python weather_sim.py tokyo.dat

  6. Sysadmin woes Bob’s ¡computer ¡ ERROR: ¡Cannot ¡find ¡ Difficult to install py-­‑weather.so ¡ custom versions of Python and 3 rd -party extension libs on university machines cd /home/bob/cool-experiment/ python weather_sim.py tokyo.dat

  7. CDE: Automatic packaging of C ode, D ata, and E nvironment 1. ¡Create ¡package ¡on ¡ 2. ¡Transfer ¡package ¡ 3. ¡Execute ¡so5ware ¡from ¡ your ¡Linux ¡computer ¡ within ¡package ¡on ¡any ¡ A ¡package ¡is ¡simply ¡a ¡ modern ¡Linux ¡computer ¡ Prepend ¡any ¡set ¡of ¡ directory ¡of ¡files ¡ commands ¡with ¡‘ cde ’, ¡ (~10MB ¡– ¡500MB), ¡so ¡ Prepend ¡those ¡same ¡ and ¡CDE ¡runs ¡them ¡and ¡ it ¡can ¡be ¡transferred ¡ commands ¡with ¡‘ cde-­‑exec ’, ¡ automaNcally ¡packages ¡ via ¡USB ¡sNck, ¡DVD, ¡or ¡ and ¡CDE ¡runs ¡them ¡naNvely ¡ up ¡their ¡dependencies ¡ over ¡the ¡Internet ¡ without ¡any ¡installaNon ¡

  8. 1. CDE overview 2. Seamless execution 3. Run any app on-demand

  9. Alice’s ¡computer ¡ execute ¡and ¡ copy ¡files ¡into ¡ cde-­‑package/ ¡ cd /home/alice/cool-experiment/ cde cde python weather_sim.py tokyo.dat

  10. Alice’s ¡computer ¡ Bob’s ¡computer ¡ cde cde-exec -exec python weather_sim.py tokyo.dat

  11. Bob’s ¡computer ¡ Bob no longer needs to bother his university sysadmins! cde cde-exec -exec python weather_sim.py tokyo.dat

  12. Creating a package with cde cde ptrace ¡ cde ¡ monitored ¡process ¡ open(“/lib/libc.so.6”) ������� ������ ������ ��������� ��� kernel ¡ ���������������������� Timeline ¡ copy /lib/libc.so.6 into cde-package/

  13. Executing a package with cde cde-exec -exec ptrace ¡ cde-­‑exec ¡ monitored ¡process ¡ open(“/lib/libc.so.6”) ������� ������ ������ ��������� ������������ �������� kernel ¡ ����������������������� Timeline ¡ open(“/home/bob/cde-package/cde-root/lib/libc.so.6”)

  14. Package portability 2006 ¡ 2007 ¡ 2008 ¡ 2009 ¡ 2010 ¡ 2011 ¡ 16 diverse CDE packages can execute on popular distros with no installation or configuration . Requires user-kernel ABI to be compatible

  15. Run-time slowdowns Proportional to #syscalls / sec. • SPEC CPU2006 benchmarks: 0% - 4% • Batch file processing apps: 2% - 28% • GUI apps: slower start-up

  16. 1. CDE overview 2. Seamless execution 3. Run any app on-demand

  17. Seamless execution Bob’s ¡computer ¡ cde cde-exec python <Alice’s scripts> / -exec python <Alice’s scripts> /var/log/httpd/access_log var/log/httpd/access_log /home/bob/cde-package/cde-root /usr/bin/python /usr/bin/python /home/bob/cde-package/cde-root /usr/lib/logutils.so /usr/lib/logutils.so /home/bob/cde-package/cde-root /var/log/httpd/access_log /var/log/httpd/access_log /var/log/httpd/access_log var/log/httpd/access_log

  18. 1. CDE overview 2. Seamless execution 3. Run any app on-demand

  19. Run any app on-demand Sysadmins maintain a cloud distro farm Users stream selected apps on-demand

  20. CDE streaming mode Alice’s ¡computer ¡ Alice wants to run Eclipse without installing it on her machine <mount cloud distro containing Eclipse> cde-exec –s eclipse

  21. CDE streaming mode Alice’s ¡computer ¡ Instead of delivering a package, have users connect to your server and stream your apps on-demand. Solves the package incompleteness problem!

  22. End Linux distro holy wars! Distro farm houses all versions of all package management systems Users have convenience and freedom to choose from the best of ALL packages on ALL distros!

  23. CDE: Automatic packaging of C ode, D ata, and E nvironment ~4000 downloads so far � (Google for “ cde linux ”) � Real-world use cases: � Sharing prototype software � Deploying custom web app stacks � Reproducing research experiments � Running new software on older distros � Deploying computations to cluster/cloud �

Recommend


More recommend