Guest User

Untitled

a guest
Dec 19th, 2017
1,238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.22 KB | None | 0 0
  1. CS349D Project Ideas
  2. The following is a list of potential topics and ideas for your CS349d project. These are starting points that will require further development. Please reach out to the instructors for futher information.
  3.  
  4. Serverless Computing
  5. This is a great time to explore opportunities in serverless computing. The following ideas explore new directions in this area with some building on top of recent research at Stanford.
  6.  
  7. Applications for serverless computing: We recently developed an abstraction that can potentially support a wide range of computation on a serverless platform. The goal of this project is to port important apps on this abstraction and draw insights about its efficacy of the abstraction and the design of the serverless infrastructure. Applications of interest include MapReduce, Spark, and visual analytics workloads.
  8. A portable serverless abstraction: We recently developed an abstraction that can potentially support a wide range of computation on a serverless platform. Its original implementation is for the Amazon Lambda platform. The goal of this project is to port it to open source serverless platforms like OpenWhisk. In addition to improving portability, the new system can be the basis of an full, open source stack for serverless computing.
  9. Ephemeral storage: Serverless computing can use existing storage and database services for long term data (e.g., input and output). However, there is also a need for a new type of storage system for temporary data, one that matches the scaling, speed, and cost properties of serverless computation. This storage system can potential use slack DRAM or Flash capacity across a datacenter. The goal of this project is to explore APIs and design options and implementat a prototype system on an existing cloud services.
  10. Scheduling and locality optimizations: Current serverless platforms incur significant overheads for remote access to code and data. The goal of this project is to design and implement optimizations that enhance locality (e.g., send a function to a machine close to the data) or hide latency (e.g., prefetch data).
  11. Serveless for high throughput serving systems: Serverless computing is quite popular with low volume serving applications. For high volume serving application (e.g., websearch), people still use traditional server designs. Can we design a serverless system that can execute efficiently the same code both at low and high volume scenarios?
  12. Serverless for accelerators: Does it make sense to extend the serverless platforms for GPUs, FPGAs, and other accelerators? If yes, how does the system look like?
  13. The economics of serverless: How should one charge for server less? Alternatively, given the economics and the usage characteristics, how should one set the thresholds for constraints (e.g., up to 500 MB disk)?
  14. Laptop extension: imagine that you mostly store data in a Dropbox-like distributed file system on your laptop, so it’s also in the cloud. Could you offload tasks such as software builds, video encoding or image rendering to lambda functions or VMs in the cloud?
  15.  
  16. Cloud Infrastructure
  17. ML for cloud management: Machine learning can be quite useful for cluster management as well. For example, we can use ML to find good signals for better job placement, e.g., network interference or other performance measurements, and build a system that automates cluster management tasks based on these signals.
  18. Operating system for the cloud: can we build an operating system that supports thousands of Lambda functions or thousands of threads per machine?
  19. Rethinking containers and migration: Many companies develop cloud services on containers. These containers communicate with other services over APIs, in most cases storage or DBs, that are also remote. The typical approach to dealing with SLO violations in this environment is to kill the container and restart it someplace else. Can container migration help get the best of both worlds: the simplicity of containers and the migration flexibility of VMs? Is current migration technology sufficient (CRIU)? Alternatively, can we build on something like KVM to build a container system that supports safe migratable processes, use a userspace networking stack running in the same address space and provide basic filesystem abstractions that target a remote storage system? The Intel Clear Containers project may be a good starting point.
  20.  
  21. Machine Learning
  22. Fault tolerant and elastic deep learning: with constructs such as the spot market available in public clouds, the static network topologies in current distributed deep learning frameworks may not be optimal. How can we make these frameworks tolerate elasticity how much do we gain from it?
  23. Attacking cloud ML APIs: several papers have shown that for systems that offer ML inference as a service (using a private model from the provider), it’s possible to recover the model after a few requests (e.g., suppose that it was k-dimensional a linear model — you just need k requests). Can you do this for deep learning models?
  24.  
  25. Security
  26. Can you design a programming model that automatically makes sure a cloud application follows an industry regulation such as HIPAA? Ideally this would look very close to existing programming models (e.g. Lambda or Node.JS) but do this automatically.
Advertisement
Add Comment
Please, Sign In to add comment