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: Gathering Curricula and User Preferences to Maximize the Participation of Underrepresented Students in Undergraduate Engineering
Overview — The focus of this project is to broadening participation of women and minorities in engineering programs. The characteristics of engineering curricula that effectively attract and retain underrepresented groups are not currently well understood. Computational analysis and visualization will allow us to investigate user preferences for these characteristics. This research will also help us understand preferences of students within engineering programs and beyond. The typology and recommendations generated from this research will provide guidance to instructors, researchers, and curriculum developers on designing more inclusive engineering curriculum.
Summary of Activities — The tasks of this project include the development of an open-source toolbox for data capture and analysis of national engineering curriculum. The toolbox will provide core tools for automating the process of data gathering via web crawls (e.g., Scrapy), as well as mechanisms to enable data mining, machine learning, and analytics. More specifically, we target the analysis of engineering curriculum contents (e.g., syllabus) to identify relations across similar courses developed as part of the engineering curriculum.
Required Skills: Python, Git
Desired Skills: Scrapy, Panda, Numpy, scikit-learn, NLTK
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