Are you a USC student and looking for research experience? I am currently looking for good students that want to conduct small research projects in the area of distributed systems, with emphasis in scientific workflows and computational simulation, and the development of web crawlers.
If you have interest in any of the research projects below, please contact me ( rafsilva@…). In addition, please visit the USC’s guidance for Directed Research students for additional information on how to proceed. Note that Directed Research is an unpaid position, but counts towards unit credits.
Projects for Spring 2019 term:
Project #1: Developing Visualization Graphs for a Workflow Management System Simulation Workbench
Overview — WRENCH provides a software framework that makes it possible to simulate large-scale hypothetical scenarios quickly and accurately on a single computer, obviating the need for expensive and time-consuming trial and error experiments. WRENCH enables scientists to make quick and informed choices when executing their workflows, software developers to implement more efficient software infrastructures to support workflows, and researchers to develop novel efficient algorithms to be embedded within these software infrastructures.
Summary of Activities — The student will develop graphs for WRENCH‘s dashboard for visualizing simulations. These graphs will allow WRENCH users to visualize the behavior of their simulations, as for example, Gantt charts of workflow executions, heat maps of platform utilization or energy usage, among others.
Desired Skills: D3.js, React, Angular
Project #2: Enabling Scientific Workflow executions via Jupyter Notebooks
Overview — The Jupyter Notebook is a web application that allows users to create and share documents that contain live code, equations, visualizations and explanatory text. Its flexible and portable format resulted in a rapidly adoption by the research community to share and interact with experiments. Jupyter Notebooks has a strong potential to reduce the gap between researchers and the complex knowledge required to run large-scale scientific workflows via a programmatic high-level interface to access/manage workflow capabilities.
Summary of Activities — The student will extend the Pegasus’ Python API for Jupyter to manage workflow executions (submission and monitoring), as well as collecting workflow performance information (e.g., statistics, errors, etc.).
Required Skills: Python, Git
Desired Skills: Jupyter, Unix
Project #3: Building tools to support research in Scientific Workflows
Overview — A significant amount of recent research in scientific workflows aims to develop new techniques, algorithms and systems that can overcome the challenges of efficient and robust execution of ever larger workflows on increasingly complex distributed infrastructures. Since the infrastructures, systems and applications are complex, and their behavior is difficult to reproduce using physical experiments, much of this research is based on simulation. Workflow execution traces and synthetic workflow generators are the main tools used by researchers to evaluate their novel algorithms and mechanisms. Although several trace archives are available for the community, there is a lack of a standard mechanism to represent them in a consistent manner.
Summary of Activities — The student will extend the tools available as part of the WorkflowHub project to parse Pegasus’ output logs, and create JSON trace files that will be made available online via GitHub. The student will also implement a Python version of a Workflow Generator (based on our previous work), that will also be made publicly available in the WorkflowHub project website.
Required Skills: Python, Git
Desired Skills: JSON, Unix