Student projects

Here are the projects that currently are offered under MiG, if you have your own proposal then contact Brian Vinter.
Our SourceForge issue tracker may contain additional projects suitable for students, so feel free to ask if you find any projects of interest there.

The Project level should be read as:
  • Bachelor - Bachelors project
  • Graduate project - an ordinary project as part of the masters education
  • Masters project - the final masters thesis
Showing 22 items
ProposerProject levelProject descriptionAssigned studentFinal report
ProposerProject levelProject descriptionAssigned studentFinal report
Jonas Bardino Bachelor Personal MiG job monitor, file access and submission in MiG container    
Jonas Bardino Graduate project Support for directories in INPUT/OUTPUTFILES   
Jonas Bardino Graduate project switch miglib to use native xmlrpc or pickle interface instead of external curl: improves user scripts and migfs-fuse. Can be incorporated into a bigger MiGfs project.   
Jonas Bardino Bachelor Cell phone client using e.g. Java ME or Android   
Jonas Bardino Graduate project A generic notification server - a simple interface that can relay/send a message to Jabber/.../MSN and email. The public interface should be xmlrpc or JSON for ease of use and flexibility.   
Jonas Bardino Graduate project Runtime environment dependencies: implement support for hierarchical structures in runtime envs to allow e.g. PYTHON-2 to depend on any PYTHON-2.X runtime environment and e.g. SCIPY to depend on PYTHON-2, MATPLOTLIB and NUMPY. RPM or DEB dependencies may be used as inspiration.   
Jonas Bardino Graduate project User RSS feeds: create rss feeds of e.g. user job or file status changes. Feeds may not be available through standard rss readers due to cert access, but they will be available in browsers and from user widgets.   
Jonas Bardino Graduate project Widget development tools: better inline code editor (integrate e.g., widgets validator or other handy tools for developing more MiG widgets   
Jonas Bardino Graduate project Interactive ssh session jobs: reuse interactive vnc job framework to supply interactive ssh session jobs for e.g. testing or developing directly on target resources. Possibly in combination with AjaxTerm for optional web enabled ssh access.   
Jonas Bardino Graduate project User selectable widgets: we allow users to insert their own web widgets on all pages, but the provided examples are few and limited. More widgets could include: file search, file grep, mini editor, mini shell, quick docs, hello test job, daily stats, my resources monitor or other good ideas you may come up with   
Jonas Bardino Masters project Implementation of failover server relying on distributed shared file system: daemons and web handlers Jan Wiberg, Jonas Bardino  
Jonas Bardino Graduate MiG live CD: we already have sandboxes and a PS3 live CD, but we should have a corresponding MiG resource live CD/USB image for X86 platforms. Most of the infrastructure on the server side is already available in the ps3live framework, but it should be extended to a general version. The actual CD image should rely on a live CD build infrastructure from one of the big linux distros to make sure future upgrades will remain easy.   
Jonas Bardino graduate Edit job: Jobs in the queue should be possible to modify as long as it doesn't interfere with scheduling. A submit job like interface should be developed so that jobs waiting in the queue can be updated easily.   
Jonas Bardino graduate Live IO polish: Users can interact with their jobs using the Live I/O interfaces, but the interface on the resources is rather unpolished and inefficient. We need a simple API that jobs can use to signal Live IO and MQueue access without manually writing request files, and preferably also make the requests go directly to the server if possible instead of going through the frontend with added latency each time.   
Jonas Bardino Masters project Failover server using shared cloud or SAN storage: Basically a task overlapping the other failover server project, but with the focus on the failover parts *not* related to storage. I.e. the issues in relation to keeping one and only one MiG server always online both apache and daemon wise.   
Jonas Bardino Bachelor MiG storage brick: Minimal computers like the PogoPlug and others are getting really cheap and could easily work as external MiG storage bricks using the existing storage resource model. The small boxes will need a basic OS installation and a minimal interface to allow attaching one or more USB/...-disks and use them as storage resources on MiG. Extensions could include the possibility to share some of the attached disk space on the LAN.   
Jonas Bardino Graduate project File manager scalability/performance/polish: our file manager has a number of minor general issues and some problems with big file sets. Most notably with 100000+ directory entries javascript timeouts get frequent. This is a highly javascript/jquery heavy task, so it may require some prior experience in that area. Latest JQuery includes som possible scalability helpers that may be useful here.   
Jonas Bardino Graduate project Security review: We develop MiG with security in mind, but probably still didn't cover all attack vectors. It woud be nice with a complete security review or at least automated cheks. The latter could be done with the MiG ssl proxy project and tools like Skipfish or Ratproxy. Web security experience is required for this project.   
Jonas Bardino Bachelor Full ajaxification of MiG pages: Many of the individual pages are already ajax enabled, but the entire set of user pages should be changed into a single ajax web application without the need for complete page reloads. I.e. all links should be changed to only result in partial page updates.   
Jonas Bardino Bachelor or above Cloud storage as storage resource: We already support storage resources using sshfs to mount remote storage on the MiG server and expose it as VGrid dirs. We could easily extend this to cover cloud storage solutions that provide sshfs access. A more ambitious solution would implement a python module to cover multiple cloud storage solutions and just let sshfs be a simple special case. Storage providers known to provide sshfs access include, Rackspace Cloud Sites and Amazon EC2 (maybe S3 directly)   
Jonas Bardino Graduate project CPU scaling as in   
Jonas Bardino Graduate project Customizable Dashboard: A fully customizable Dashboard page with movable content widgets as mentioned in   
Showing 22 items